GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com β€” GitHub - skjha1/Data-Structure-Algorithm-Programs: This Repo consists of Data structures and Algorithms

BranchesTags
Open more actions menu

Latest commit

 

History

682 Commits
682 Commits

Folders and files

NameName
Last commit message
Last commit date
Array
Array
 
 
Graph/Basic
Graph/Basic
 
 
Hashing Techniques/Basics
Hashing Techniques/Basics
 
 
Heap
Heap
 
 
LinkedList
LinkedList
 
 
Matrix
Matrix
 
 
Problems/Memory Allocation
Problems/Memory Allocation
 
 
Queue
Queue
 
 
Recursion
Recursion
 
 
Sorting Technique
Sorting Technique
 
 
Stack
Stack
 
 
String
String
 
 
Tree
Tree
 
 
src
src
 
 
README.md
README.md
 
 
_config.yml
_config.yml
 
 

Repository files navigation

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.

  • VIDEO

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 [:blue_book:] 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

  • 01 Head Recursion
  • 02 Tail Recursion
  • 03 Global variable recursion
  • 04 Static variable reciursion
  • 05 Tree recursion
  • 06 Nested recursion
  • 07 Sum of n number using recursion
  • 08 Sum Of given number using loop
  • 09 Power using recursion
  • 10 Taylor Series using Static variables
  • 11 Taylor Series honers rule
  • 12 Taylor Series Iterative
  • 13 Indirect Recursion
  • 14 Fibbonaci series using loop and recursion
  • 15 Fibbonacci using Memoization
  • 16 nCr formula
  • 17 Tower of Hanoi

* πŸ“˜ ArrayπŸ“˜

  • 01 Static and dynamic array
  • 02 Increasing size of array in heap
  • 03 Creating 2D array & Accessing
  • 04 Array ADT1πŸ“˜
  • 05 inserting an element)πŸ“˜
  • 06 Deleting elementπŸ“˜
  • 07 Linear searchπŸ“˜
  • 08 Improving Linear searchπŸ“˜
  • 09 Binary Search Using RecursionπŸ“˜
  • 10 Binary Search using loopπŸ“˜
  • 11 Get Set max min sum avg)πŸ“˜ && πŸ“˜
  • 12 Reverse and ShiftπŸ“˜
  • 13 IsSortedπŸ“˜
  • 14 Mergeing 2 Array
  • 15 InsertSortπŸ“˜
  • 16 Set Operation (Union,Intersec,diff)
  • 17 Insertion and Deletion
  • 18 Menu Based problem
  • 19 Single Missing Element in Sorted Array
  • 20 Single Missing Value in a sorted array M2
  • 21 Multiple Missing Elements in Sorted Array
  • 22 Missing elements in Unsorted Array (HASH TABLE)
  • 23 Finding Duplicate in Soorted Array
  • 24 Counting Duplicate Elements In Sorted M2
  • 25 Counting Duplicate elements using hash table (SA)
  • 26 Counting Duplicate elements using hash table (USA)
  • 27 Finding Duplicate in Unsoorted Array
  • 28 Find a pair with sum k
  • 29 Find a pair with sum k in unsorted
  • 30 Find a pair with sum k using Hashing
  • 31 Finding max & min in single scan
    • Problems on array

* πŸ“˜ String

  • 01 Length of string
  • 02 Upper to Lower
  • 03 lower to upper
  • 04 Upper to Lower & Lower to upper
  • 05 Vowel & Counstant count
  • 06 Word Count
  • 07 Reverse the string

* πŸ“˜ Linkedlist

  • 01 Display LL
  • 02 Display LL Using Recursion
  • 03 Count and sum of LL
  • 04 Printing max element
  • 05 Searching Element
  • 06 Searching Elements using Recursion & Move to 1st
  • 07 Insertion in linkedlist
  • 08 Insert in sorted
  • 09 All in one 1 to 8
  • 10 project sll
  • 11 Delete from ll.
  • 12 Remove duplicate
  • 13 Reversing Using Array
  • 14 Reversing by Sliding Links
  • 15 Reversing using Recursion
  • 16 Concatenate linkedlist
  • 17 Merge LL
  • 18 Liner Singly Linked List in Single Project
  • 19 Display Circular LL using Loop & Recursion
  • 20 Insert in Circular LL
  • 21 Delete from cll from pos
  • 22 Delete an element in CLL from pos
  • 23 Create,Display,count DLL
  • 24 Insert at any pos in dll
  • 25 Delete from any pos from DLL
  • 26 Reverse DLL
  • 27 Middle of Linkedlist
  • 28 Polynomial of Linkedlist
    • Problems on LL

* πŸ“˜ Stack

  • 01 Operation on stack
  • 02 Stack using linkedlist
  • 03 Parenthesis Balance
  • 04 Infix to postfixπŸ“˜
  • 05 infix to postfix considering Parenthesis and Associativity using Stack
  • 06 Evaluation of postfix expression

* πŸ“˜ Queue

  • 01 Queue using array enqueue & dequeue πŸ“˜
  • 02 C++ Queue using Array
  • 03 Circular Queue using ArrayπŸ“˜
  • 04 C++ Circular Queue
  • 05 Queue using LinkedlistπŸ“˜
  • 06 DEQueue using Array
  • 07 Queue using two stackπŸ“˜

* πŸ“˜ Tree

  • 01 Traversal of tree
  • 02 Iterative and recursive traversal of tree
  • 03 Traversal of Tree
  • 04 Level Order Traversal
  • 05 Count and Height of tree
  • 06 Recursive Count and height of tree
  • 07 Sum of tree
  • 08 D1,D2,D0(leaf node) count
  • 09 Leaf,D1,D2 node count

* πŸ“˜ Binary Search Tree

  • 01 BST Insert Inorder & Search
  • 02 BST Insert,Inorder&Search(cpp)
  • 03 Insert in BST
  • 04 Recursive Insert in BST
  • 05 Delete from BST (Height,InPre,InSucc)
  • 06 BST Project

* πŸ“˜ AVL Tree

  • 01 Rotations in AVL(LL,LR)
  • 02 Rotation in AVL
  • 03 Delete From AVL
    • Problems on Tree

* πŸ“˜ Graph

  • 01 BFS
  • 02 DFS
  • 03 PrimMinSpanningTreeFunction
  • 04 KrushalsMinCostSpanningTreeFunction
  • 05 DepthFirstSearchUsingRecursion
  • 06 BreadthFirstSearchUsingSTLQueue

* πŸ“˜ Heap

  • 01 InsertionHeap
  • 02 CreateHeapUsingSTLVector
  • 03 Insert in Heap
  • 04 Delete element from Heap
  • 05 Heap sort
  • 06 HeapifyFunctionFasterMethodtoCreateHeap

* πŸ“˜ Sorting Techniques

  • 01 Bubble Sort
  • 02 Insertionsort
  • 03 Selection Sort
  • 04 Mergesort
  • 05 Iterative Mergesort
  • 06 Nested recursion
  • 07 RecursiveMergeSort
  • 08 Count sort
  • 09 BinSort Based on LL
  • 10 RadixSort Using LL
  • 11 Shellsort

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πŸ“˜

  • Merge SortπŸ“˜
  • Quick Sort
  • Binary Search (logn)πŸ“˜
  • Closest Pair of Points | O(nlogn)
  • Strassen’s Matrix Multiplication
  • Maximul Subarray
  • Integer Multiplication
  • Karatsuba Algorithm for Fast Mul

πŸ“˜ Sliding Window technique

  • Maximum Sum Subarray of size KπŸ“˜
  • First negative integer in every window of size kπŸ“˜

πŸ“˜ Dynamic Programming

  • 01 Fibonacci Series
  • 02 Knapsack RecursionπŸ“˜
  • 03 Knapsack MemoizationπŸ“˜ - Applications of Knapsack Problem 1. Resourse allocation with financial constraints 2. Construction and Scoring of Heterogenous test 3. Selection of capital investments
  • 04 Knapsack Bottom-Up(DP)πŸ“˜
  • 05 Subset sum(Knapsack Variation)πŸ“˜
  • 06 Equal sum partition(subset sum & Knapsack Variation)πŸ“˜
  • 07 Count of Subsets with given Sum(subset sum & Knapsack Variation)πŸ“˜
  • 08 Minimum subset sum differenceπŸ“˜
  • 09 Count the number of subset with given differenceπŸ“˜
  • 10 Target sum(Leetcode)πŸ“˜
  • 11 Unbounded KnapsackπŸ“˜
  • 12 Rod cutting problem(Unbounded Knapsack)πŸ“˜
  • 13 Coin change problem : maximum no of waysπŸ“˜
  • 14 Coin change problem: Minimum number of coinπŸ“˜
  • 15 Longest Common Subsequence RecursiveπŸ“˜
  • 16 Longest Common Subsequence Top down (Memoization)πŸ“˜
  • 17 Longest Common Subsequence Bottom Up(DP)πŸ“˜
  • 18 Longest Common SubstringπŸ“˜
  • 19 Print Longest Common SubsequenceπŸ“˜
  • 20 Shortest Common SupersequenceπŸ“˜
  • 21 Minimum insertion & deletion to convert a to bπŸ“˜
  • 22 Longest Palindromic SubsequenceπŸ“˜
  • 23 Minimum number of deletions to make a string palindromeπŸ“˜
  • 24 Print Shortest Common SupersequenceπŸ“˜
  • 25 Longest repeating subsequenceπŸ“˜
  • 26 Sequence pattern matchingπŸ“˜
  • 27 Minimum Number of insertion to make a string palindromeπŸ“˜
  • 28 Matrix Chain Multiplication RecursiveπŸ“˜
  • 29 Matrix Chain Multiplication Top Down (Memoization)πŸ“˜
  • 30 Palindrome Partitioning RecursiveπŸ“˜
  • 31 Palindrome Partitioning MemoizationπŸ“˜
  • 32 Palindrome Partitioning Memoized optimizationπŸ“˜
  • 33 Evaluate Expression to true RecursiveπŸ“˜
  • 34 Evaluate expression to true memoization using mapπŸ“˜
  • 35 Evaluate expression to true memoization using 3d arrayπŸ“˜
  • 36 Scramble string recursiveπŸ“˜
  • 37 Scramble string Top DownπŸ“˜
  • 38 Egg dropping problem recursiveπŸ“˜
  • 39 Egg dropping problem Top Down(memoization)πŸ“˜
  • 40 Egg dropping problem memoization optimizationπŸ“˜
  • 41 Dynamic programming on trees SyntaxπŸ“˜
  • 42 Diameter of binary treeπŸ“˜
  • 43 Max path sum from any node to anyπŸ“˜
  • 44 Max path sum from leaf to leafπŸ“˜

About

This Repo consists of Data structures and Algorithms

skjha1.github.io/Data-Structure-Algorithm-Programs/

Topics

algorithmarraybit-manipulationcountcracking-the-coding-interviewgreedyhashingheaplinked-listmaster-theoremqueuerecursionsearching-algorithmssortsortingstackstringsumtime-complexitytree

Resources

Readme
Activity

Stars

669 stars

Watchers

8 watching

Forks

253 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 β€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Γ—600. No cookies required.