Cấu trúc dữ liệu & giải thuật

[Cấu trúc dữ liệu và giải thuật (Data Structure and Algorithms)]

Với các sinh viên chuyên nghành tin học thì cụm từ Cấu trúc dữ liệu (Data Structure) không còn là xa lạ. Đây là một môn học bắt buộc và sẽ là thực sự khó cho bất kỳ sinh viên nào nếu không có sự chuẩn bị kỹ lưỡng và dành cách tiếp cận tích cực cho môn học này. Vậy Cấu trúc dữ liệu là gì?

Cấu trúc dữ liệu là cách lưu trữ, tổ chức dữ liệu có thứ tự, có hệ thống để dữ liệu có thể được sử dụng một cách hiệu quả.

Dưới đây là danh sách các bài hướng dẫn trong loạt bài Cấu trúc dữ liệu và Giải thuật:

MỤC LỤC BÀI HỌC

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