Skip to content

One stop for all C++ concepts and problems from Contests held in various platforms. This repo targets the major concepts that are consistently asked by top investment banking firms for their SWE Internship roles.

License

Notifications You must be signed in to change notification settings

Soumya007-developer/Kickstart-to-Competitive-Programming

Repository files navigation

Kickstart-to-Competitive-Programming for SWE( National & International ) Internships 2021

One stop for all mathematical , geometrical and their applications in problem-solving and understanding of the algorithms.This repository will also cover major concepts of C++ for getting a good grasp.

Added till Programming Fundamentals-1.

Contributing

Please kindly follow Contribution.md to get started.

You can also contribute by sharing!

What we will cover?

  1. Introduction to why algorithms are important and why they are important part in all major contests worldwide.
  2. Big-O, Big-theta, Big-Ohmega Notations this includes time complexity and space complexity and also way to avoid tle error in program.
  3. Problem format
    • Problem statement
    • Input
    • Output
    • Estimating if a problem will run on our coding style
    • Estimated complexity we require to build solution
  4. The approach for problem solving will strictly follow the following order:
    • Platforms
      • GeeksForGeeks (For previous year questions from various SWE Internships)
      • Hackerrank & Hackerblocks
      • Codechef
      • ICPC Contests and prev. years US Olympiad problems(For better grasp on algoritms)
      • Coderforces(Div3>Div2..)
  5. Algorithm paradigms
    • Brute force
    • Divide and Conquer
    • Greedy
    • Dynamic Programming(VVV Important for all major SWE Internsips)
  6. Data Structures and their algorithms
    • Arrays
    • Strings
      • Basic String Searching
      • Knuth Morris Pratt Algorithm
      • Z-Algorithm*
      • Manachar's Algorithm*
    • Trees
      • Traversal (DFS and BFS)
      • Binary Seach Tree
      • AVL and Red-Black tree
      • Heaps
        • Priority Queue
        • Heap Sort
        • Construction time of a heap
    • Graphs
      • Construction using adjacency list
      • Traversal DFS
      • Disjoint Set Unions
      • Minimum Spanning Trees using Kruskal and Prims Algorithm
      • Minimum Distance Algorithms using Floyd-Warshall, Bellman-Ford and Dijkstra
      • Maximum Flow Algorithms*
      • Topological Sort*
      • Will See if more needs to be done
    • Hashing
      • What is hashing.
      • Unneccessary theory but kinda important
    • Segment Tree
      • Basic
      • Lazy propogation*
      • Persistant*
      • Fenwick Binary Tree
    • Stack
      • A simple introduction
      • Few important stack questions
    • Queue
      • Will be done before BFS traversal
    • Trie
  7. Mathematics
    • Cominatorics
    • Euclid's GCD
    • Mobius function
    • Prime Numbers
    • Sieve of Eratosthene
    • Golbach Conjecture
    • Will add on as I remember...
  8. Standard Template Library for C++ coders
    • Vectors
    • Set
    • Multiset
    • Maps
    • Unordered Maps
    • Queue
    • Priority Queue
    • Stack
    • Deque
    • Important STL Functions
  9. Important Algorithms that needs to be covered as well
    • Sorting
      • Quick Sort
      • Counting Sort
      • Radix Sort
    • Binary Search
    • Linear Search
    • Kadane's Algorithm -Greedy algorithm

About

One stop for all C++ concepts and problems from Contests held in various platforms. This repo targets the major concepts that are consistently asked by top investment banking firms for their SWE Internship roles.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages