{"id":26647613,"url":"https://github.com/ikushum/lets-do-datastructure-and-algorithm","last_synced_at":"2025-10-28T06:37:25.313Z","repository":{"id":129448107,"uuid":"115910546","full_name":"ikushum/Lets-do-DataStructure-and-Algorithm","owner":"ikushum","description":"A list of Data Structures and Algorithms, their implementations and resources to learn.","archived":false,"fork":false,"pushed_at":"2018-02-02T14:29:47.000Z","size":30,"stargazers_count":6,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-04T13:57:59.669Z","etag":null,"topics":["algorithm","data-structures","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ikushum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-01-01T09:37:48.000Z","updated_at":"2020-08-21T13:58:00.000Z","dependencies_parsed_at":"2023-07-30T07:01:23.256Z","dependency_job_id":null,"html_url":"https://github.com/ikushum/Lets-do-DataStructure-and-Algorithm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ikushum/Lets-do-DataStructure-and-Algorithm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikushum%2FLets-do-DataStructure-and-Algorithm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikushum%2FLets-do-DataStructure-and-Algorithm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikushum%2FLets-do-DataStructure-and-Algorithm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikushum%2FLets-do-DataStructure-and-Algorithm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ikushum","download_url":"https://codeload.github.com/ikushum/Lets-do-DataStructure-and-Algorithm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikushum%2FLets-do-DataStructure-and-Algorithm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281397339,"owners_count":26493908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","data-structures","python"],"created_at":"2025-03-24T23:54:03.672Z","updated_at":"2025-10-28T06:37:25.297Z","avatar_url":"https://github.com/ikushum.png","language":"Python","readme":"## Algorithm \u0026 Data Structures\n\n\u003e Yay! Its the first day of 2018.\n\nI have compiled together a comprehensive list of standard Algorithm and Data Structures below. As a new year resolution, my goal will be to implement all of these using python. Furthermore, as I go deeper down the list, I will be adding links to article and video resources, that I used to understand these concepts. \n\n### Algorithmic complexity / Big-O / Asymptotic analysis\nBefore even getting started implementing these algorithms, its important to know about these topics :  \n- [HackerRank - Big O (video)](https://www.youtube.com/watch?v=v4cd1O4zkGw\u0026t=3s)  \n- [Harvard CS50 - Asymptotic Notation (video)](https://www.youtube.com/watch?v=iOq5kSKqeR4)\n\n### Data Structures (basic)\n\n- Stacks\n  - [Tutorials Point - Stack](https://www.tutorialspoint.com/data_structures_algorithms/stack_algorithm.htm)\n  - [HackerRank - Stacks and Queues introduction (video)](https://www.youtube.com/watch?v=wjI1WNcIntg)\n  - [Harvard CS50 - Implementation of Stack (video)](https://www.youtube.com/watch?v=hVsNqhEthOk)\n  - [My Code School - Array Implementation of Stack (video) ](https://www.youtube.com/watch?v=F1F2imiOJfk)\n  - [Array Implementation of Stack (code)](Data_Structures_(basic)/stack.py)\n- Queues\n  - [Tutorials Point - Queue](https://www.tutorialspoint.com/data_structures_algorithms/dsa_queue.htm)\n  - [Programiz - Circular Queue](https://www.programiz.com/dsa/circular-queue)\n  - [My Code School - Array Implementation of Circular/Normal Queue (video)](https://www.youtube.com/watch?v=okr-XE8yTO8\u0026t=389s)\n  - [Array Implementation of Queue (code)](Data_Structures_(basic)/queue.py)\n  - [Array Implementation of Circular Queue (code)](Data_Structures_(basic)/circular_queue.py)\n- Linked Lists\n  - [Tutorials Point - Singly Linked List](https://www.tutorialspoint.com/data_structures_algorithms/linked_list_algorithms.htm)\n  - [Tutorials Point - Doubly Linked List](https://www.tutorialspoint.com/data_structures_algorithms/doubly_linked_list_algorithm.htm) \n  - [HackerRank - Singly Linked List (video)](https://www.youtube.com/watch?v=njTh_OwMljA\u0026t=307s)\n  - [Derek Banas - Singly Linked List (video)](https://www.youtube.com/watch?v=195KUinjBpU)\n  - [My Code School - Doubly Linked List introduction (video)](https://www.youtube.com/watch?v=JdQeNxWCguQ)\n  - [Harvard CS50 - Doubly Linked List (video)](https://www.youtube.com/watch?v=FHMPswJDCvU\u0026t=463s)\n  - [Singly Linked List (code)](Data_Structures_(basic)/singly_linked_list.py)\n  - [Doubly Linked List (code)](Data_Structures_(basic)/doubly_linked_list.py)\n- Binary Search Tree\n  - [GeeksforGeeks - BST Insertion and Search](https://www.geeksforgeeks.org/binary-search-tree-set-1-search-and-insertion/)\n  - [GeeksforGeeks - BST Deletion](https://www.geeksforgeeks.org/binary-search-tree-set-2-delete/) \n  - [HackerRank - Tree/Binary-Search-Tree Introduction (video)](https://www.youtube.com/watch?v=oSWTXtMglKE)\n  - [Joe James - BST Insertion, Search and Traversal (video)](https://www.youtube.com/watch?v=YlgPi75hIBc\u0026t=358s)\n  - [MyCodeSchool - BST Deletion (video)](https://www.youtube.com/watch?v=gcULXE7ViZw\u0026t=864s)\n  - [BST implementation (code)](Data_Structures_(basic)/binary_search_tree.py)\n- Heap (Binary Heap) / Priority Queue\n  - [Hacker Earth - Heaps/PriorityQueues](https://www.hackerearth.com/practice/data-structures/trees/heapspriority-queues/tutorial/)\n  - [Cacti Council - Heaps/PriorityQueues Introduction (video)](https://www.youtube.com/watch?v=qXdt1AHMB2o\u0026t=637s)\n  - [HackerRank - Heaps/PriorityQueues Implementation (video)](https://www.youtube.com/watch?v=t0Cq6tVNRBA\u0026t=305s)\n  - [Heap (code)](Data_Structures_(basic)/heap.py)\n  - [Priority Queue (code)](Data_Structures_(basic)/priority_queue.py)\n\n### Data Structures (advanced)\n\n- Trie/PrefixTree\n  - [GeeksForGeeks - Trie (Insert and Search) ](https://www.geeksforgeeks.org/trie-insert-and-search/)\n  - [HackerRank - Trie Introduction (video)](https://www.youtube.com/watch?v=zIjfhVPRZCg\u0026t=162s)\n  - [PersistentProgramming - Trie Implementation (video)](https://www.youtube.com/watch?v=Xt2ouYSxWkw)\n  - [Trie (code)](Data_Structures_(advanced)/trie.py)\n- Segment trees\n  - [HackerEarth - Segment Tree)](https://www.hackerearth.com/practice/notes/segment-tree-and-lazy-propagation/)\n  - [Algorithms Live - Segment Tree](https://www.youtube.com/watch?v=Tr-xEGoByFQ\u0026t=1691s)\n  - [Segment Tree (code)](Data_Structures_(advanced)/segment_tree.py)\n- Fenwick tree or Binary indexed tree(BIT)\n- Disjoint data structures\n\n### Sorting Algorithms\n\n- Selection\n- Insertion\n- Heapsort\n- Quicksort\n- Merge sort\n\n### Graph Algorithms\n\n- Breadth first search (BFS)\n- Depth first search(DFS)\n- Strongly connected components (SCC)\n- Minimum spanning tree(MST)\n- Topological sort\n\n### Search Techniques\n\n- Linear search\n- Binary search\n- Ternary search\n- Hash Table\n- Meet in the middle\n- Interpolation Search\n\n### Dynamic programming\n\n- Fibonacci Number Series\n- Rod Cutting \n- Knapsack \n- Tower of Hanoi\n- Dijkstra\n- Floyd-Warshallx\n- Matrix chain multiplication\n\n### Number theory\n\n- Modular arithmetic\n- Fermat’s theorem\n- Chinese remainder theorem(CRT)\n- Euclidean method for GCD\n- Logarithmic Exponentiation\n- Sieve of Eratosthenes\n- Euler's totient function\n\n### Greedy Algorithm\n\n- Activity Selection Problem\n- Huffman Coding\n- Job Sequencing Problem\n\n### Computational geometry\n\n- Graham-Scan for convex hull\n- Line sweep\n\n### Game theory\n\n- Nim game\n- Grundy numbers\n- Sprague-Grundy theorem.\n\n### Strings\n\n- Knuth Morris Pratt (KMP)\n- Z algorithm\n- Suffix arrays/Suffix trees\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikushum%2Flets-do-datastructure-and-algorithm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikushum%2Flets-do-datastructure-and-algorithm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikushum%2Flets-do-datastructure-and-algorithm/lists"}