• Giải thuật sắp xếp nhanh (Quick Sort) Giải thuật sắp xếp nhanh (Quick Sort)
    Giải thuật sắp xếp nhanh (Quick Sort) là một giải thuật hiệu quả cao và dựa trên việc chia mảng dữa liệu thành các mảng nhỏ hơn.
  • Shell Sort trong cấu trúc dữ liệu và giải thuật Shell Sort trong cấu trúc dữ liệu và giải thuật
    Shell Sort là một giải thuật sắp xếp mang lại hiệu quả cao dựa trên giải thuật sắp xếp chèn (Insertion Sort). Giải thuật này tránh các trường hợp phải tráo đổi vị trí của hai phần tử xa nhau trong giải thuật sắp xếp chọn (nếu như phần tử nhỏ hơn ở vị trí bên phải khá xa so với phần tử lớn hơn bên trái).
  • Giải thuật sắp xếp trộn (Merge Sort) Giải thuật sắp xếp trộn (Merge Sort)
    Sắp xếp trộn (Merge Sort) là một giải thuật sắp xếp dựa trên giải thuật Chia để trị (Divide and Conquer). Với độ phức tạp thời gian trường hợp xấu nhất là Ο(n log n) thì đây là một trong các giải thuật đáng được quan tâm nhất.
  • Bài toán Tháp Hà Nội (Tower of Hanoi) Bài toán Tháp Hà Nội (Tower of Hanoi)
    Bài toán Tháp Hà Nội (Tower of Hanoi) là một trò chơi toán học bao gồm 3 cột và với số đĩa nhiều hơn 1.
  • Khái niệm cơ bản về đệ qui (Recursion) Khái niệm cơ bản về đệ qui (Recursion)
    Một số ngôn ngữ lập trình cho phép việc một module hoặc một hàm được gọi tới chính nó. Kỹ thuật này được gọi là Đệ qui (Recursion).
  • Giải thuật sắp xếp chọn (Selection Sort) Giải thuật sắp xếp chọn (Selection Sort)
    Giải thuật sắp xếp chọn (Selection Sort) là một giải thuật đơn giản. Giải thuật sắp xếp này là một giải thuật dựa trên việc so sánh in-place, trong đó danh sách được chia thành hai phần, phần được sắp xếp (sorted list) ở bên trái và phần chưa được sắp xếp (unsorted list) ở bên phải. Ban đầu, phần được sắp xếp là trống và phần chưa được sắp xếp là toàn bộ danh sách ban đầu.
  • Cấu trúc dữ liệu Heap Cấu trúc dữ liệu Heap
    Cấu trúc dữ liệu Heap là một trường hợp đặc biệt của cấu trúc dữ liệu cây nhị phân cân bằng, trong đó khóa của nút gốc được so sánh với các con của nó và được sắp xếp một cách phù hợp.
  • Cây khung (Spanning Tree) 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
    Một cây khung là một tập con của Grahp G mà có tất cả các đỉnh được bao bởi số cạnh tối thiểu nhất. Vì thế, một cây khung sẽ không hình thành một vòng tuần hoàn và nó cũng không thể bị ngắt giữa chừng.
  • Cây AVL trong cấu trúc dữ liệu và giải thuật Cây AVL trong cấu trúc dữ liệu và giải thuật
    Điều gì xảy ra nếu dữ liệu nhập vào cây tìm kiếm nhị phân (BST) là ở dạng đã được sắp thứ tự (tăng dần hoặc giảm dần). Nó sẽ trông giống như sau.
  • Giải thuật sắp xếp chèn (Insertion Sort) Giải thuật sắp xếp chèn (Insertion Sort)
    Sắp xếp chèn là một giải thuật sắp xếp dựa trên so sánh in-place. Ở đây, một danh sách con luôn luôn được duy trì dưới dạng đã qua sắp xếp. Sắp xếp chèn là chèn thêm một phần tử vào danh sách con đã qua sắp xếp. Phần tử được chèn vào vị trí thích hợp sao cho vẫn đảm bảo rằng danh sách con đó vẫn sắp theo thứ tự.
  • Giải thuật sắp xếp nổi bọt (Bubble Sort) Giải thuật sắp xếp nổi bọt (Bubble Sort)
    Sắp xếp nổi bọt là một giải thuật sắp xếp đơn giản. Giải thuật sắp xếp này được tiến hành dựa trên việc so sánh cặp phần tử liền kề nhau và tráo đổi thứ tự nếu chúng không theo thứ tự.
  • 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 trong cấu trúc dữ liệu & giải thuật
    Sắp xếp là sắp xếp dữ liệu theo một định dạng cụ thể. Trong khoa học máy tính, giải thuật sắp xếp xác định cách để sắp xếp dữ liệu theo một thứ tự nào đó. Sắp xếp theo thứ tự ở đây là sắp xếp theo thứ tự dạng số hoặc thứ tự dạng chữ cái như trong từ điển.
  • Cấu trúc dữ liệu Hash Table Cấu trúc dữ liệu Hash Table
    Cấu trúc dữ liệu Hash Table là một cấu trúc dữ liệu lưu giữ dữ liệu theo cách thức liên hợp. Trong Hash Table, dữ liệu được lưu giữ trong định dạng mảng, trong đó các giá trị dữ liệu có giá trị chỉ mục riêng. Việc truy cập dữ liệu trở nên nhanh hơn nếu chúng ta biết chỉ mục của dữ liệu cần tìm.
  • Giải thuật Tìm kiếm nội suy (Interpolation Search) Giải thuật Tìm kiếm nội suy (Interpolation Search)
    Tìm kiếm nội suy (Interpolation Search) là biến thể cải tiến của Tìm kiếm nhị phân (Binary Search). Để giải thuật tìm kiếm này làm việc chính xác thì tập dữ liệu phải được sắp xếp.
  • Giải thuật tìm kiếm nhị phân (Binary Search) Giải thuật tìm kiếm nhị phân (Binary Search)
    Binany Search (Tìm kiếm nhị phân) là một giải thuật tìm kiếm nhanh với độ phức tạp thời gian chạy là Ο(log n). Giải thuật tìm kiếm nhị phân làm việc dựa trên nguyên tắc chia để trị (Divide and Conquer). Để giải thuật này có thể làm việc một cách chính xác thì tập dữ liệu nên ở trong dạng đã được sắp xếp.
  • Giải thuật tìm kiếm tuyến tính (Linear Search) Giải thuật tìm kiếm tuyến tính (Linear Search)
    Linear Search là một giải thuật tìm kiếm rất cơ bản. Trong kiểu tìm kiếm này, một hoạt động tìm kiếm liên tiếp được diễn ra qua tất cả từng phần tử. Mỗi phần tử đều được kiểm tra và nếu tìm thấy bất kỳ kết nối nào thì phần tử cụ thể đó được trả về; nếu không tìm thấy thì quá trình tìm kiếm tiếp tục diễn ra cho tới khi tìm kiếm hết dữ liệu.
  • Cấu trúc dữ liệu hàng đợi (Queue) Cấu trúc dữ liệu hàng đợi (Queue)
    Hàng đợi (Queue) là một cấu trúc dữ liệu trừu tượng, là một cái gì đó tương tự như hàng đợi trong đời sống hàng ngày (xếp hàng).
  • Cấu trúc dữ liệu ngăn xếp (Stack) Cấu trúc dữ liệu ngăn xếp (Stack)
    Một ngăn xếp là một cấu trúc dữ liệu trừu tượng (Abstract Data Type – viết tắt là ADT), hầu như được sử dụng trong hầu hết mọi ngôn ngữ lập trình. Đặt tên là ngăn xếp bởi vì nó hoạt động như một ngăn xếp trong đời sống thực, ví dụ như một cỗ bài hay một chồng đĩa...
  • Cấu trúc dữ liệu Danh sách liên kết vòng (Circular Linked List) Cấu trúc dữ liệu Danh sách liên kết vòng (Circular Linked List)
    Danh sách liên kết vòng (Circular Linked List) là một biến thể của Danh sách liên kết (Linked List), trong đó phần tử đầu tiên trỏ tới phần tử cuối cùng và phần tử cuối cùng trỏ tới phần tử đầu tiên.
  • Cấu trúc dữ liệu danh sách liên kết đôi Cấu trúc dữ liệu danh sách liên kết đôi
    Danh sách liên kết đôi (Doubly Linked List) là một biến thể của Danh sách liên kết (Linked List), trong đó hoạt động duyệt qua các nút có thể được thực hiện theo hai chiều: về trước và về sau một cách dễ dàng khi so sánh với Danh sách liên kết đơn. Dưới đây là một số khái niệm quan trọng cần ghi nhớ về Danh sách liên kết đôi.