Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hoangtien2k3/data-structure-and-algorithm
Data Structure and Algorithms such as Array, Pointer, Structure, Linked List, Stack, Queue, Graph, Searching, Sorting, Programs, etc.
https://github.com/hoangtien2k3/data-structure-and-algorithm
algorithm algorithms data-structures java sorting-algorithms
Last synced: 6 days ago
JSON representation
Data Structure and Algorithms such as Array, Pointer, Structure, Linked List, Stack, Queue, Graph, Searching, Sorting, Programs, etc.
- Host: GitHub
- URL: https://github.com/hoangtien2k3/data-structure-and-algorithm
- Owner: hoangtien2k3
- License: mit
- Created: 2023-01-16T09:44:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-21T03:12:29.000Z (9 months ago)
- Last Synced: 2024-03-16T11:29:26.648Z (8 months ago)
- Topics: algorithm, algorithms, data-structures, java, sorting-algorithms
- Language: C++
- Homepage:
- Size: 3.68 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Algorithms
An algorithm is a set of instructions that are used to accomplish a task, such as finding the largest number in a list, removing all the red cards from a deck of playing cards, sorting a collection of names, or figuring out an average movie rating from just your friends' opinions.
Algorithms are not limited to computers. They are like a set of step-by-step instructions or an even a recipe, containing things you need, steps to do, the order to do them, conditions to look for, and expected results.
## Languages
- C
- C++
- Java## Support
Check [Contribution](/CONTRIBUTING.md) Guide Before Contribution.
## Contributing
Before submitting a bug, please do the following:
Check [Contribution](/CONTRIBUTING.md) Guide Before Contribution.- Create separate issues for Python and C++.
- You can only work on issues that you have been assigned to.
- Use Flake8 locally for linting Python Code. `pip install flake8`.
(We have linting checks so if your code fails it we will not merge the PR.)## Search
![image1](https://github.com/hoangtien2k3qx1/Data-Structure-And-Algorithm/assets/122768076/3a4d01e0-7063-40dd-a905-2d936f6d8205)![image2](https://github.com/hoangtien2k3qx1/Data-Structure-And-Algorithm/assets/122768076/c278b651-f7e3-465b-971e-a9def0e3341f)
```text
## Cấu trúc dữ liệu và giải thuật
- Mở đầu
- Cấu trúc dữ liệu là gì ?
- Cài đặt môi trường trong Cấu trúc dữ liệu## Một số khái niệm về Giải thuật
- Giải thuật là gì ?
- Phân tích tiệm cận trong Cấu trúc dữ liệu và Giải thuật
- Giải thuật tham lam (Greedy Algorithm)
- Giải thuật chia để trị (divide and conquer)
- Giải thuật qui hoạch động (Dynamic Programming)
- Giải thuật định lý thợ - Master Theorem
## Cấu trúc dữ liệu mảng (Array)
- Cấu trúc dữ liệu mảng
## Danh sách liên kết - Linked Lists
- Cấu trúc dữ liệu danh sách liên kết (Linked List)
- Cấu trúc dữ liệu và giải thuật Danh sách liên kết đôi
- Cấu trúc dữ liệu Danh sách liên kết vòng (Circular Linked List)
## Ngăn xếp & Hàng đợi
- Cấu trúc dữ liệu ngăn xếp (Stack)
- Cấu trúc dữ liệu hàng đợi (Queue)## Một số Giải thuật tìm kiếm
- Giải thuật tìm kiếm tuyến tính (Linear Search)
- Giải thuật tìm kiếm nhị phân (Binary Search)
- Giải thuật Tìm kiếm nội suy (Interpolation Search)
- Cấu trúc dữ liệu Hash Table## Một số Giải thuật sắp xếp
- Giải thuật sắp xếp trong cấu trúc dữ liệu & giải thuật
- Giải thuật sắp xếp nổi bọt (Bubble Sort)
- Giải thuật sắp xếp chèn (Insertion Sort)
- Giải thuật sắp xếp chọn (Selection Sort)
- Giải thuật sắp xếp trộn (Merge Sort)
- Shell Sort trong cấu trúc dữ liệu và giải thuật
- Giải thuật sắp xếp nhanh (Quick Sort)
- Thuật toán quay lui (Back-tracking algorithm)## Cấu trúc dữ liệu đồ thị (Graph)
- Cấu trúc dữ liệu đồ thị (Graph)
- Giải thuật tìm kiếm theo chiều sâu
- Giải thuật tìm kiếm theo chiều rộng## Cấu trúc dữ liệu cây
- Cấu trúc dữ liệu cây
- Duyệt cây trong cấu trúc dữ liệu và giải thuật
- Cây tìm kiếm nhị phân (Binary Search Tree)
- Cây AVL trong cấu trúc dữ liệu và giải thuật
- Cây SPLAY trong cấu trúc dữ liệu và giải thuật
- Cây khung (Spanning Tree) trong cấu trúc dữ liệu và giải thuật
- Cấu trúc dữ liệu Heap
- Giải thuật Kruskal: tìm cây khung nhỏ nhất
- Giải thuật Prim: tìm cây khung nhỏ nhất## Đệ qui (Recursion)
- Khái niệm cơ bản về đệ qui (Recursion)
- Bài toán Tháp Hà Nội (Tower of Hanoi)
- Dãy Fibonacci trong Cấu trúc dữ liệu và giải thuật
```