{"id":15563277,"url":"https://github.com/saddamarbaa/data-structures-and-algorithms","last_synced_at":"2025-04-23T23:15:58.963Z","repository":{"id":133757241,"uuid":"275856296","full_name":"saddamarbaa/data-structures-and-algorithms","owner":"saddamarbaa","description":"==\u003e I made this repository to post  my code and document my progress while Learning data structures and algorithms concepts in this repository, I covered the complete data structures and algorithms","archived":false,"fork":false,"pushed_at":"2025-04-05T17:40:22.000Z","size":1398,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T23:15:52.697Z","etag":null,"topics":["array","binary-tree","c","graph","hash-tables","java","javascript","leetcode","python","typescript"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saddamarbaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-06-29T15:32:40.000Z","updated_at":"2025-04-11T04:22:17.000Z","dependencies_parsed_at":"2023-12-26T03:29:08.695Z","dependency_job_id":"ce54f898-e8ed-4dce-b77c-35e6a49283bf","html_url":"https://github.com/saddamarbaa/data-structures-and-algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saddamarbaa%2Fdata-structures-and-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saddamarbaa%2Fdata-structures-and-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saddamarbaa%2Fdata-structures-and-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saddamarbaa%2Fdata-structures-and-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saddamarbaa","download_url":"https://codeload.github.com/saddamarbaa/data-structures-and-algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250528900,"owners_count":21445519,"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","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":["array","binary-tree","c","graph","hash-tables","java","javascript","leetcode","python","typescript"],"created_at":"2024-10-02T16:20:55.475Z","updated_at":"2025-04-23T23:15:58.792Z","avatar_url":"https://github.com/saddamarbaa.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  Data Structures \u0026 Algorithms\n\nI made this repository to post my code and document my progress while Learning Data Structures and Algorithms Concepts\n\n## Recommended Books for the  Course and Reference Source\n\n1. Introduction to Algorithms, 3rd Edition by thomas h. cormen\n\n2. Introduction to Algorithms, 2rd Edition by thomas h. cormen\n\n3. Data Structures Through C In Depth By. Sk Srivastava\n\n\n#  Data Structures AND Algorithms Include\n\n# DSA Introduction\n\nAsymptotic Analysis\n\nAsymptotic Notations\n\nTheta Notation (Θ-notation)\n\nBig-O Notation (O-notation)\n\nOmega Notation (Ω-notation)\n\nMaster Theorem\n\nDivide and Conquer Algorithm\n\n# Arrays Data Structure\n\nA one-dimensional array (or single dimension array)\n\nTwo-dimensional Arrays\n\nMulti-dimensional  Arrays\n\n\n\n# Linked List Data Structure\n\n\nSingly Linked List\n\nDoubly Linked List\n\nCircular linked list\n\nDoubly Circular Linked List \n\n\n\n# Stack Data Structure\n\nStack Data Structure Array Implementation \n\nStack Data Structure linked list Implementation\n\n\n# Infix Prefix \u0026 Postfix Expressions in Data Structures \n\n\nInfix to Postfix Expression using STACK Data Structure\n\nInfix to Prefix  Expression using Stack Data Structure\n\nPretfix to Infix Expression using STACK Data Structure\n\nPostfix to Prefix Expression using STACK Data Structure \n\nPrefix to Postfix Expression using STACK Data Structure \n\n\n# Queue Data Structure\n\n\nQueue Data Structure Array Implementation (FIFO)\n\n\nQueue Data Structure linked list Implementation(FIFO)\n\n\nQueue Data Structure Stack Implementation (FIFO)\n\n\nCircular Queue Data Structure Array Implementation\n\nCircular Queue Data Structure linkedlist Implementation\n\n\nDeque (Double Ended Queue)\n\nDouble Ended Queue Circular Array Implementation\n\n\n\n# Priority Queue\n\n\nA priority Queue Implementation Using A Min-Heap\n\n\nA priority Queue Implementation Using A Max-Heap\n\n\n# Disjoint Set Union\n\nPath compression\nUnion by Rank\n\n\n# Sorting Algorithms\n\nBubble Sort Algorithm\n\nSelection Sort Algorithm\n\nInsertion Sort Algorithm\n\nMerge Sort Algorithm\n\nQuicksort Algorithm\n\nCounting Sort Algorithm\n\nRadix Sort Algorithm\n\nBucket Sort Algorithm\n\nShell Sort Algorithm\n\nHeap Sort Algorithm\n\nA Min-Heap Sort Algorithm\n\nA Max-Heap Sort Algorithm\n\nGraph Topological Sort \n\n\n# TODO ON (Sorting Algorithms)\n\nBitonic Sort\nCocktail Sort\nCycle Sort\nGnome Sort\nLSDRadix Sort Algorithm\nPostman Sort\nTim-sort\npigeonhole-sort\nCOMB SORT\n\n\n# Searching Algorithms\n\nLinear Search\n\nBinary Search\n\n\n# Hashing\n\n Direct Address Table\n \n Hash Table and Hash Function Array Implementation\n \n Hash Tables Separate Chaining With Doubly Linked Lists\n \n Hash Table Separate Chaining With Singly Linked Lists\n \n Hash Table with Chaining (Dictionary Speller Checker )\n \n Hash Table Implementation with Linear Probing (Hashing)\n \n Hash Table Implementation with Quadratic Probing\n \n Hash Table Implementation with Double Hashing\n \n \n # TODO ON (Hashing)\n \n Cryptographic Hashing\n\n\n#  Tree Based Data Structure(1)\n\n\n# Tree Data Structure\n\nTree Traversal - inorder, preorder and postorder\n\nBinary Tree\n\nFull Binary Tree\n\nPerfect Binary Tree\n\nComplete Binary Tree\n\nBalanced Binary Tree\n\nBinary Search Tree(BST)\n\nAVL Tree\n\n\n#  Tree Based Data Structure(2)\n\n# Red-Black Tree\n\nInsertion in a Red-Black Tree\n\nDeletion From a Red-Black Tree\n\n\n# Splay Tree\n\nInsertion in Splay Tree\n\nDeletion From Splay Tree (Top Down Splaying)\n\nDeletion From Splay Tree (Bottom-up Splaying)\n\n\n# B-tree\n\n\nInsertion into a B-tree(CODE TODO)\n\nDeletion from a B-tree (CODE TODO)\n\n# B+ Tree\n\nInsertion on a B+ Tree (CODE TODO)\n\nInsertion on a B+ Tree (CODE TODO)\n\n\n\n# Graph Based Data Structure\n\nGraph Data Stucture\n\nGraph Adjacency list Representation \n\nGraph Adjacency Matrix Representation \n\nDepth First Search Implementation (DFS Algorithm)\n\nBreadth first Search Implementation (BFS Algorithm)\n\nSpanning Tree and Minimum Spanning Tree\n\n Topological Sorting\n \n Types of edges in DFS | Edge classification \n\nStrongly Connected Components (CODE TODO)\n\n\n# TODO ON (Graph Based Data Structure)\n\nBellman Ford's Algorithm\n\nDetect Cycle in Directed Graph\n\nDetect Cycle in Undirected Graph\n\n\n\n# Greedy Algorithms\n\nKruskal's Algorithm\n\nPrim's Algorithm\n\n# TODO ON (Greedy Algorithms)\n\nFord-Fulkerson Algorithm\n\nDijkstra's Algorithm\n\nHuffman Coding\n\n\n\n# Dynamic Programming\n\nCoin Change Problem Number\nCoin Change Problem: Minimum number of coins Dynamic Programming\n\n\n# TODO ON (Dynamic Programming)\n\nFloyd-Warshall Algorithm\n\nLongest Common Subsequence\n\nTraveling Salesman Problem using Dynamic Programming\n\n0/1 knapsack problem-Dynamic Programming\n\nFractional Knapsack Problem using Greedy Method\n\nSubset Sum Problem using Dynamic Programming\n\n\n# Algorithms  TODO \n\nBacktracking Algorithm\n\n\nRabin-Karp Algorithm\n\n\n\n\n# Algorithms Specialization Offered By Princeton University on coursera\n\nAlgorithms, Part I\n\nhttps://www.coursera.org/learn/algorithms-part1\n\n\n\nAlgorithms, Part II\n\nhttps://www.coursera.org/learn/algorithms-part2\n\n\n\n# Algorithms Specialization Offered By Stanford University on coursera\n\nhttps://www.coursera.org/specializations/algorithms\n\nDivide and Conquer, Sorting and Searching, and Randomized Algorithms\n\nhttps://www.coursera.org/learn/algorithms-divide-conquer\n\nGraph Search, Shortest Paths, and Data Structures\n\nhttps://www.coursera.org/learn/algorithms-graphs-data-structures\n\n\nGreedy Algorithms, Minimum Spanning Trees, and Dynamic Programming\n\nhttps://www.coursera.org/learn/algorithms-greedy\n\n\nShortest Paths Revisited, NP-Complete Problems and What To Do About Them\n\nhttps://www.coursera.org/learn/algorithms-npcomplete\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaddamarbaa%2Fdata-structures-and-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaddamarbaa%2Fdata-structures-and-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaddamarbaa%2Fdata-structures-and-algorithms/lists"}