{"id":17508156,"url":"https://github.com/ngocanhjr/data-structure-tmt","last_synced_at":"2025-03-05T13:32:13.216Z","repository":{"id":253431133,"uuid":"843484111","full_name":"Ngocanhjr/Data-structure-TMT","owner":"Ngocanhjr","description":"CTUer","archived":false,"fork":false,"pushed_at":"2024-10-16T19:07:41.000Z","size":14601,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-18T17:49:01.838Z","etag":null,"topics":["c","cplusplus","java"],"latest_commit_sha":null,"homepage":"","language":"C","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/Ngocanhjr.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-08-16T16:05:29.000Z","updated_at":"2024-10-16T19:07:44.000Z","dependencies_parsed_at":"2024-08-16T17:45:16.470Z","dependency_job_id":"7eba2d75-37ff-4809-89b2-b4d000fbe0ca","html_url":"https://github.com/Ngocanhjr/Data-structure-TMT","commit_stats":null,"previous_names":["ngocanhjr/data-structure-tmt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ngocanhjr%2FData-structure-TMT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ngocanhjr%2FData-structure-TMT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ngocanhjr%2FData-structure-TMT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ngocanhjr%2FData-structure-TMT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ngocanhjr","download_url":"https://codeload.github.com/Ngocanhjr/Data-structure-TMT/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":220676185,"owners_count":16686272,"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":["c","cplusplus","java"],"created_at":"2024-10-20T04:12:34.403Z","updated_at":"2024-10-20T04:12:35.492Z","avatar_url":"https://github.com/Ngocanhjr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⭐️ Course Contents ⭐️\n**Arrays vs Linked Lists**\n- [x] ⌨ Linked List - Implementation in C/C++\n- [x] ⌨ Linked List in C/C++ - Inserting a node at beginning\n- [x] ⌨ Linked List in C/C++ - Insert a node at nth position\n- [x] ⌨ Linked List in C/C++ - Delete a node at beginning\n- [ ] ⌨ Update Delete a node at beginning using nead and tail\n- [x] ⌨ Linked List in C/C++ - Delete a node at nth position\n- [x] ⌨ Reverse a linked list - Iterative method\n- [x] ⌨ Print elements of a linked list in forward and reverse order using recursion\n- [ ] ⌨ Reverse a linked list using recursion (Update)\n- [ ] ⌨ Circular Linked List\n\n**Doubly Linked List**\n- [ ] ⌨ Doubly Linked List - Implementation in C/C++\n\n**Stack**\n- [ ] ⌨ Array implementation of stacks\n- [ ] ⌨ Linked List implementation of stacks\n- [ ] ⌨ Reverse a string or linked list using stack.\n- [ ] ⌨ Check for balanced parentheses using stack\n- [ ] ⌨ Infix, Prefix and Postfix\n- [ ] ⌨ Evaluation of Prefix and Postfix expressions using stack\n- [ ] ⌨ Infix to Postfix using stack\n\n**Queues**\n- [ ] ⌨ Array implementation of Queue\n- [ ] ⌨ Linked List implementation of Queue\n\n**Trees**\n- [ ] ⌨ Binary Tree\n- [ ] ⌨ Binary Search Tree\n- [ ] ⌨ Binary search tree - Implementation in C/C++\n- [ ] ⌨ BST implementation - memory allocation in stack and heap\n- [ ] ⌨ Find min and max element in a binary search tree\n- [ ] ⌨ Find height of a binary tree\n- [ ] ⌨ Binary tree traversal - breadth-first and depth-first strategies\n- [ ] ⌨ Binary tree: Level Order Traversal\n- [ ] ⌨ Binary tree traversal: Preorder, Inorder, Postorder\n- [ ] ⌨ Check if a binary tree is binary search tree or not\n- [ ] ⌨ Delete a node from Binary Search Tree\n- [ ] ⌨ Inorder Successor in a binary search tree\n\n**Graphs**\n- [ ] ⌨ Properties of Graphs\n- [ ] ⌨ Graph Representation part 01 - Edge List\n- [ ] ⌨ Graph Representation part 02 - Adjacency Matrix\n- [ ] ⌨ Graph Representation part 03 - Adjacency List\n\n[FreeCodeCamp - Data Structures - Full Course Using C and C++](https://www.youtube.com/watch?v=B31LgI4Y4DQ)\n\n# sort\nVới kích thước dữ liệu đầu vào nhỏ(3000) nhìn chung tốc độ chênh lệch của các thuật toán là không rõ để nhận thấy.\n\nVới mảng đã được sắp xếp, thì Bubble Sort và Shaker Sort cho tốc độ nhanh nhất do chi phí để biết được đây là mảng có thứ tự của 2 thuật toán trên là O(n).\n\nVới mảng gần như đã được sắp xếp thì Insertion Sort và Binary Insertion Sort là những sự lựa chọn tốt nhất do số phép hoán đổi phải thực hiện ít.\n\nSelection Sort cho tốc độ khá chậm trong đa số trường hợp do độ phức tạp luôn là O(n2), do đó Selection Sort chỉ nên dùng cho các trường hợp số lượng phần tử cần sắp xếp không quá nhiều.\n\nVới mảng gần như đã được sắp xếp thì Shaker Sort cho tốc độ nhanh hơn đáng kể so với Bubble Sort, do thu hẹp được khoảng phải duyệt tiếp theo sau khi duyệt.\n\nShell Sort, Heap Sort, Merge Sort và Quick Sort có tốc độ ổn định xuyên suốt cả 4 loại dữ liệu đầu vào.\n\nFlash Sort(được phát minh bởi Karl-Dietrich Neubert vào năm 1998) là một thuật toán cho tốc độ nhanh(thậm chí nhanh hơn cả Quick Sort) và tiêu tốn rất ít bộ nhớ, tuy nhiên cách thức xây dựng thuật toán trên khá phức tạp mà nếu có dịp mình sẽ có một bài viết riêng để nói về thuật toán này.\n\nCounting Sort và Radix Sort là những thuật toán cho tốc độ nhanh, tuy nhiên cần đánh đổi bằng cách sử dụng thêm bộ nhớ.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngocanhjr%2Fdata-structure-tmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngocanhjr%2Fdata-structure-tmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngocanhjr%2Fdata-structure-tmt/lists"}