{"id":21323399,"url":"https://github.com/quang-pham-dev/ds-a","last_synced_at":"2026-01-24T10:35:11.242Z","repository":{"id":257735578,"uuid":"854049953","full_name":"quang-pham-dev/ds-a","owner":"quang-pham-dev","description":"[WIP] The repository for revising and practicing data structures and algorithms. [TODO] move to practice with python","archived":false,"fork":false,"pushed_at":"2024-10-08T09:43:22.000Z","size":23,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T18:11:48.113Z","etag":null,"topics":["algorithms","big-o","data-structures","hash-table","javascript","leetcode-solutions","linked-list","stack-queue","tree"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/quang-pham-dev.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}},"created_at":"2024-09-08T09:17:14.000Z","updated_at":"2025-01-13T01:30:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"94571760-41e8-4345-baef-1081d72cd607","html_url":"https://github.com/quang-pham-dev/ds-a","commit_stats":null,"previous_names":["quang-pham-dev/dsa"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/quang-pham-dev/ds-a","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quang-pham-dev%2Fds-a","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quang-pham-dev%2Fds-a/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quang-pham-dev%2Fds-a/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quang-pham-dev%2Fds-a/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quang-pham-dev","download_url":"https://codeload.github.com/quang-pham-dev/ds-a/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quang-pham-dev%2Fds-a/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28725374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["algorithms","big-o","data-structures","hash-table","javascript","leetcode-solutions","linked-list","stack-queue","tree"],"created_at":"2024-11-21T20:23:46.653Z","updated_at":"2026-01-24T10:35:11.227Z","avatar_url":"https://github.com/quang-pham-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Structures and Algorithms\n\n## 1. Data Structures\n\nData structures are ways of organizing and storing data so that it can be accessed and modified efficiently. Here are some common data structures:\n\n- **Array**: A collection of elements of the same type stored in contiguous memory locations. Example: `[1, 2, 3, 4]`.\n- **Linked List**: A sequence of elements where each element (node) contains a value and a reference to the next node.\n- **Stack**: A data structure that follows the Last In, First Out (LIFO) principle. Example: managing function calls.\n- **Queue**: A data structure that follows the First In, First Out (FIFO) principle. Example: processing tasks in order of arrival.\n- **Hash Table**: A data structure that stores data in key-value pairs, allowing for fast data retrieval based on a key.\n- **Tree**: A hierarchical data structure with a root node and child nodes. Examples include binary trees and binary search trees.\n- **Graph**: A collection of nodes (vertices) and edges connecting pairs of nodes.\n\n### Additional Data Structures\n\n- Binary Search Trees\n- Heaps\n- Tries\n- Union Find\n\n## 2. Algorithms\n\nAlgorithms are step-by-step procedures or formulas for solving problems. Here are some common algorithms:\n\n- **Sorting Algorithms**: Techniques for arranging data in a particular order. Examples include Quick Sort, Merge Sort, and Bubble Sort.\n- **Searching Algorithms**: Techniques for finding specific data. Examples include Binary Search and Linear Search.\n- **Graph Algorithms**: Techniques for working with graphs, such as Dijkstra's Algorithm for finding the shortest path.\n\n### Additional Algorithms\n\n- Bit Manipulation\n- Tree Traversal (InOrder, PreOrder, PostOrder)\n- Depth First Search\n- Breadth First Search\n- Topological Sort\n- Minimum Spanning Tree\n- Recursion\n- Dynamic Programming\n- Greedy Algorithms\n- Backtracking\n\n## 3. Complexity Analysis\n\nComplexity analysis helps evaluate the efficiency of an algorithm in terms of time and space.\n\n### Time Complexity\n\nMeasures the amount of time an algorithm takes to complete, often expressed using Big O notation (O-notation). Common time complexities include:\n\n- O(1): Constant time\n- O(n): Linear time\n- O(log n): Logarithmic time\n- O(n^2): Quadratic time\n\n### Space Complexity\n\nMeasures the amount of memory an algorithm requires. Also expressed using Big O notation.\n\n## Examples\n\n1. Searching in an Array:\n   - Linear Search: O(n)\n   - Binary Search: O(log n)\n\n2. Sorting an Array:\n   - Bubble Sort: O(n^2)\n   - Merge Sort: O(n log n)\n\n## Problem Solving Techniques\n\n- Two Pointers\n- Sliding Window\n- Prefix Sum\n- Fast and Slow Pointers\n- Divide and Conquer\n- Greedy\n- Recursion\n- Backtracking\n- Dynamic Programming\n- Top 'K' Elements\n\n## Key Concepts\n\n- Big O Notation\n- Time Complexity\n- Space Complexity\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquang-pham-dev%2Fds-a","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquang-pham-dev%2Fds-a","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquang-pham-dev%2Fds-a/lists"}