Binary Search (Tìm kiếm nhị phân)

Binary Search (Tìm kiếm nhị phân) được áp dụng cho mảng hoặc danh sách đã được sắp xếp, với kích thước tập dữ liệu lớn. Nó là một thuật toán tìm kiếm rất nhanh, vì độ phức tạp tính toán của nó chỉ là O(log n).

Tiếp tục đọc

#algorithms, #searching-algorithms

Linear Search (Tìm kiếm tuyến tính)

Linear Search (Tìm kiếm tuyến tính) là một thuật toán tìm kiếm cơ bản và rất đơn giản. Trong Linear Search, chúng ta tìm kiếm một phần tử hoặc giá trị trong một mảng nhất định bằng cách duyệt mảng từ đầu tới khi tìm thấy phần tử hoặc giá trị mong muốn.

Tiếp tục đọc

#algorithms, #searching-algorithms

Quick Sort (Sắp xếp nhanh)

Quick Sort cũng tuân theo quy tắc Divide and Conquer (Chia để trị), giống như Merge Sort, để sắp xếp một tập hợp số/phần tử nhất định theo phương pháp đệ quy.

Trong Quick Sort, tất cả các công việc nặng nhọc (sắp xếp phần tử) được thực hiện ngay trong quá trình dividing (chia) mảng thành các mảng con. Còn với Merge Sort công việc phần tử sắp xếp xảy ra trong quá trình merging (hợp nhất) các mảng con.

Tiếp tục đọc

#algorithms, #sorting-algorithms

Merge Sort (Sắp xếp trộn)

Merge Sort tuân theo quy tắc Divide and Conquer (Chia để trị) để sắp xếp một tập hợp số/phần tử nhất định theo phương pháp đệ quy, do đó tiêu tốn ít thời gian thực thi hơn.

Trong các bài viết trước về Bubble Sort, Insertion SortSelection Sort, cả 3 đều có thời gian chạy trong trường hợp xấu nhất là O(n2). Khi kích thước đầu vào tăng lên, cả 3 giải thuật này có thể mất nhiều thời gian để chạy.

Tiếp tục đọc

#algorithms, #sorting-algorithms

Insertion Sort (Sắp xếp chèn)

Insertion Sort (Sắp xếp chèn) là một thuật toán sắp xếp đơn giản. Nếu tôi đưa cho bạn một cỗ bài và yêu cầu sắp xếp theo thứ tự tăng dần, có thể bạn sẽ sử dụng thuật toán này mà không hề biết mình đang dùng, vì Insertion Sort là một trong những cách sắp xếp tự nhiên nhất.

Tiếp tục đọc

#algorithms, #sorting-algorithms

Selection Sort (Sắp xếp chọn)

Selection Sort (Sắp xếp chọn) là một thuật toán sắp xếp đơn giản. Thuật toán này trước tiên sẽ tìm phần tử nhỏ nhất trong mảng và đổi vị trí của nó với phần tử ở vị trí đầu tiên, sau đó nó sẽ tìm phần tử nhỏ thứ hai và đổi vị trí của nó với phần tử ở vị trí thứ hai, và nó sẽ tiếp tục làm điều này cho đến khi toàn bộ mảng được sắp xếp.

Nó được gọi là Selection Sort (Sắp xếp chọn) vì nó liên tục chọn phần tử nhỏ nhất tiếp theo và hoán đổi nó vào đúng vị trí.

Tiếp tục đọc

#algorithms, #sorting-algorithms

Bubble Sort (Sắp xếp nổi bọt)

Bubble Sort là một thuật toán sắp xếp đơn giản. Nó được sử dụng để sắp xếp một tập hợp n phần tử đã cho được cung cấp dưới dạng một mảng với n số phần tử.

Giả sử yêu cầu mảng phải được sắp xếp theo thứ tự tăng dần, thì sẽ bắt đầu bằng cách so sánh phần tử đầu tiên của mảng với phần tử thứ hai, nếu phần tử thứ nhất lớn hơn phần tử thứ hai, nó sẽ hoán đổi cả hai phần tử và sau đó chuyển sang so sánh phần tử thứ hai và phần tử thứ ba, v.v… Nếu có n phần tử, thì ta phải lặp lại quá trình này n - 1 lần.

Tiếp tục đọc

#algorithms, #sorting-algorithms