Data-Structures-and-Algorithms

Giới thiệu

Nội dung của repo này được xây dựng dựa trên:

Nội dung

1. Java review

  • Ôn lại một số kiến thức cơ bản về Java

2. Sorting

Các thuật toán sắp xếp:

  • Sắp xếp nổi bọt (Bubble Sort)
  • Sắp xếp chọn (Selection Sort)
  • Sắp xếp chèn (Insertion Sort)
  • Sắp xếp trộn (Merge Sort)
  • Sắp xếp nhanh (Quick Sort)
  • Sắp xếp vun đống (Heap Sort)

3. Abstract Data Type and List ADT

  • Kiểu dữ liệu trừu tượng
  • Kiểu danh sách (List ADT):
    • Dùng mảng (Array)
    • Dùng danh sách liên kết đơn (Linked List)

4. Stack and Queue

  • Stack
  • Queue
  • Xây dựng ứng dụng có sử dụng Stack và Queue

5. Tree

  • Kiểu dữ liệu cây (Tree ADT)
  • Cây nhị phân (Binary Tree)
  • Ứng dụng cây nhị phân

6. Priority Queue

  • Kiểu hàng đợi ưu tiên (Priority Queue ADT)
  • Kiểu đống (Heap ADT)
  • Ứng dụng: Heap Sort

7. Binary Search Tree

  • Thuật toán tìm kiếm
  • Cây nhị phân tìm kiếm
  • Cây cân bằng (AVL Tree)

8. Graph

Updating ...

Chạy chương trình

Để có thể chạy được các file của repo, trước tiên bạn cần clone repo về máy tính:

git clone https://github.com/QuyAnh2005/Data-Structures-and-Algorithms.git

Để bạn đọc dễ dàng theo dõi nội dung thì khi upload lên github, mình đã thay đổi tên các package cho phù hợp. Vì thế, sau khi clone về, bạn cần đổi lại tên folder cho giống với tên package chứa trong file tương ứng của folder đó bằng cách xóa hết dấu cách, số và kí tự '-' có trong tên. Dưới đây là ví dụ:

  • 1 - JavaReview -> JavaReview
  • 2 - Sorting -> Sorting
  • 3 - Abstract Data Type and List ADT -> AbstractDataTypeandListADT
  • 4 - Stack and Queue -> StackAndQueue
  • ...

Với các folder còn lại, cũng thay đổi tương tự. Sau khi các folder đã được đổi tên thì bạn mở trình biên dịch java, import các folder vừa xong như package và chạy chương trình.

Tài liệu tham khảo

Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser - Data Structures and Algorithms in Java-Wiley (2014)