Data Structure Algorithm Programs

This Repo consists of Data structures and Algorithms

331
184
C++

LOC Stars Badge
Forks Badge
LanguageΒ 
UpdateΒ 
ProgressΒ 
Visitors

πŸ“šData Structures

Before dive into this repo you should know why do we need these concepts. What is Role of DSA in your real life??

Before getting into this repo lets understand the Importance of Problem solving and DSA in coming 10 to 20 years click below video to understand more.

Let’s connect on discord for Technical and DSA related Discussion: DisCord

β€œ For solving any real-world problem with programming approach we need to follow some steps & strategy. The collection of that steps is Algorithm, whereas a data structure is a way to store and organize data during solving that problem or constructing any software so that it can be used efficiently in terms of time and space, this way Data structure & Algorithms always allow us to write efficient and optimized computer programs.”

  • STL is standard template library, It is most powerful & useful while doing competitive coding questions Read More.

  • Problems on Data structure & Algorithms (Competitive coding) Click Here to get into problems section…

  • NOTE : Click on [πŸ“˜] for getting hand written notes on particular topic.

Show some  β€οΈ  by starring this repository! It will push me to give more percentage of efforts.

Data Structures

Topics Of Data-structure & Algorithms and Related ProgramsπŸ”­πŸ”­

  1. Recursion
  2. Array
  3. String
  4. LinkedList
  5. Stack
  6. Queue
  7. Tree
  8. Binary Search Tree
  9. AVL Trees
  10. Graph
  11. Heap
  12. Sorting Techniques
  13. Divide & Conquer
  14. Sliding Window
  15. Dynamic Programming

πŸ“˜ Recursion

* πŸ“˜ ArrayπŸ“˜

* πŸ“˜ String

* πŸ“˜ Linkedlist

* πŸ“˜ Stack

* πŸ“˜ Queue

* πŸ“˜ Tree

* πŸ“˜ Binary Search Tree

* πŸ“˜ AVL Tree

* πŸ“˜ Graph

* πŸ“˜ Heap

* πŸ“˜ Sorting Techniques

Big-O complexities of common Data structure & Algorithm





Graph Algorithm

πŸ“šAlgorithms

Algorithms

In software development we have two phases:-

  • Design

  • Implementation

  • For designing any kind of software we should have a blueprint for that, i.e we can not develop any software on hit and trial basis.

  • Algorithm:- Algorithm is step by step procedure do solve any kind of computational problem & It is the core of computer science.

  • There is certain point about algorithm:-

  • Algorithm is written at design time.

  • For writing any effective one should have Proper domain Knowledge.

  • Algorithm is language independent.

  • And it is independent of Hardware & OS.

  • We are doing priori analysis when writing algorithms.

  • Mainly we are considering Time & Space function. Rather than that we are checking for Network Consumption/Data Transfer, Power consumption and Consumption of CPU Register.

  • characteristics of Algorithm :-

    1. Input
    1. Output
    1. Definiteness(Every Statement should be clear and understandable)
    1. Finiteness(Algorithm must terminate at some time)
    1. Effectiveness(Don’t write unnecessary steps)
    1. Independent(It can be implemented in any programming language)

* πŸ“˜ Time Complexity and Problems

* πŸ“˜ Divide & ConquerπŸ“˜

πŸ“˜ Sliding Window technique

πŸ“˜ Dynamic Programming