Tìm kiếm tuyến tính [serial về các thuật toán cơ bản trong lập trình]

Tìm kiếm tuyến tính (linear search) còn có tên khác là tìm kiếm tuần tự (sequential search) là một kỹ thuật tìm kiếm rất cơ bản và dễ hiểu trong lập trình, đây là kỹ thuật mà có khi bạn đã áp dụng rồi khi thậm chí chưa đọc lý thuyết về nó. Tìm kiếm tuyến tính thực hiện tìm kiếm bằng cách duyệt qua từng phần tử trong mảng, và so sánh nó với giá trị cần tìm kiếm. Vấn đề với tìm kiếm tuyến tính là nó không có hiệu suất tốt trong các mảng lớn (ví dụ …

Đọc thêm

Tìm kiếm nhị phân [serial về các thuật toán cơ bản trong lập trình]

Tìm kiếm nhị phân (binary search) là một trong các thuật toán cơ bản trong lập trình mà chúng ta cũng cần phải biết. Ưu điểm của nó là tốc độ tốt (ví dụ khi so với tìm kiếm tuyến tính / tuần tự) trên các mảng có số lượng phần tử lớn, ngoài ra, tìm kiếm nhị phân cũng dễ hiểu nữa. Một yêu cầu trong tìm kiếm nhị phân là mảng mà nó cần tìm kiếm cần phải được sắp xếp rồi (chẳng hạn bằng quick sort). Ví dụ, hãy tìm vị trí của giá trị 75 trong …

Đọc thêm