dijorajsenroy / dsa-python

Codes, and materials for Data Structures and Algorithms, and important interview problems from competitive coding platforms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Placement and Interview Questions

My codes, and materials for Data Structures and Algorithms, and important interview problems from competitive coding platforms. Main resource is Geeks for geeks for theory and questions are from GFG, Hackerrank and Leetcode, do contribute and add important questions and solutions accordingly, best of luck for interviews!

In the Repository:

  1. Math Problems and Bit Manipulation
  2. Classic Recursion Problems
  3. Array and Matrix Problems
  4. String Manipulation Problems
  5. Searching and Sorting Problems
  6. Hashing Technique Problems

Contribution Guideline:

The files are all in .py files, all codes are python implementations in form of functions. To describe what the function does please add a docstring above it, briefly describing the implementation of the algorithm. If the algorithm is taken from a particular source, like Hackerrank or Leetcode, mention that as well.

  • Cpp

    • Contains different data structures and algorithms implemented in C++. Contents are as per the name of the file.
  • Math and Bits

    • For popular named algorithms add the code in Useful_Named_Algorithms.py.
    • For Bit Maniplation problems add the code in Bit_Manipulation.py.
    • For general math problems add the code in Math_Problems.py.
  • Recursion

    • For recursion problems there are three files for easy, intermediate and classic problems. Add the code accordingly.
  • Arrays and Matrices

    • For introductory problems on 1D array add the code to Array_Basic_Problems.py.
    • For intermediate problems on 1D array add the code to Array_Intermediate_Problems.py.
    • For Matrix algorithms add the code to Matrix_Problems.py.
    • For popular CP problems add the code to Important_Problems_1.py.
  • Strings

    • File containing common problems and algorithms, Important_Problems_1.py.
    • For Pattern Matching algorithms add the code to Pattern_Matching.py
  • Searching and Sorting

    • Searching algorithms and problems are in Searching_Algorithms.py
    • Selection, Insertion, Bubble, Merge and Quick Sort algorithms are in Sorting_Algorithms_1.py
    • Cycle, Heap, Counting, Radix and Bucket Sort algorithms are in Sorting_Algorithms_2.py
    • Common Sorting problems are in Sorting_Problems.py
    • Common Searching problems are in Searching_Problems.py
  • Linked Lists

    • Single_Linked_List.py contains the implementation and operations on Single Linked List.
    • Double_Linked_List.py contains the implementation and operations on Double Linked List.
    • Linked_List_Problems.py contain important problems on both Linked Lists.
    • Circular_Linked_List.py contains the implementation of Circular Linked List.
  • Stacks and Queues

    • Array_Implementation.py Contain the Stack and Queue Implementations and Types
    • Stack_Problems.py and Queue_Problems.py contain the respective problems
    • LL_Implementation.py contains the implementation of Stack and Queue using Linked List
  • Trees

  • Hashing and Heaps (To be updated)

    • Problems are contained in Hashing_Problems.py
    • Heap data structure is explained in Heap.py
    • Heap problems are there in Heap_Problems.py

About

Codes, and materials for Data Structures and Algorithms, and important interview problems from competitive coding platforms


Languages

Language:Python 92.0%Language:C++ 8.0%