Tìm kiếm tuyến tính so với Tìm kiếm nhị phân

Tác Giả: Laura McKinney
Ngày Sáng TạO: 4 Tháng Tư 2021
CậP NhậT Ngày Tháng: 14 Có Thể 2024
Anonim
Tìm kiếm tuyến tính so với Tìm kiếm nhị phân - Khác
Tìm kiếm tuyến tính so với Tìm kiếm nhị phân - Khác

NộI Dung

Sự khác biệt giữa tìm kiếm tuyến tính và tìm kiếm nhị phân là trong tìm kiếm tuyến tính, mỗi phần tử được kiểm tra và so sánh và sau đó được sắp xếp trong khi tìm kiếm nhị phân, một danh sách cần sắp xếp được chia thành hai phần và sau đó được sắp xếp. Tìm kiếm và sắp xếp là hai khái niệm chính trong lập trình máy tính. Nhiều thuật toán được sử dụng để tìm kiếm và sắp xếp, nhưng hai thuật toán được sử dụng nhiều nhất để tìm kiếm và sắp xếp là tìm kiếm tuyến tính và tìm kiếm nhị phân.


Sự khác biệt giữa tìm kiếm tuyến tính và tìm kiếm nhị phân là hoạt động và hiệu quả của cả hai thuật toán. Tìm kiếm nhị phân là một thuật toán hiệu quả hơn nhiều so với thuật toán tìm kiếm tuyến tính. Lặp lại hoặc thời gian cần thiết để so sánh từng giá trị trước khi sắp xếp ít hơn trong tìm kiếm nhị phân so với tìm kiếm tuyến tính.

Tìm kiếm tuyến tính là một thuật toán rất phức tạp nếu bạn muốn tìm kiếm một số trong danh sách, so sánh và lặp lại đôi khi số lượng giá trị trong danh sách. Từng người một, từng yếu tố của danh sách được lấy và so sánh với các yếu tố liền kề. Tất cả các yếu tố được truy cập và kiểm tra và sau đó tìm thấy yếu tố bên phải. Có thể có trường hợp xấu nhất nếu số cuối cùng trong danh sách là số cần tìm kiếm. Tìm kiếm tuyến tính là phương thức mà mảng được duyệt và phần tử cần tìm được thiết lập. Nếu chúng ta nói về hiệu quả, hiệu quả là số lần chương trình phải chạy để tìm số. Nếu chúng ta tìm thấy số chúng ta đang tìm kiếm ở vị trí đầu tiên thì chỉ cần thực hiện một so sánh, và mọi thứ được sắp xếp nhưng nếu không thì so sánh phải thực hiện lặp đi lặp lại và bộ nhớ bị lãng phí. Trung bình, số lượng so sánh sẽ là (n + 1/2). Và hiệu quả trong trường hợp xấu nhất của kỹ thuật này là O (n) là viết tắt của thứ tự thực hiện.


So với tìm kiếm tuyến tính, tìm kiếm nhị phân là rất hiệu quả. Trong phương pháp này, mảng được chia thành hai phần và theo cách này, số lượng so sánh rất ít so với tìm kiếm nhị phân. Thời gian cũng ít hơn trong tìm kiếm nhị phân so với tìm kiếm tuyến tính. Tìm kiếm nhị phân hoạt động theo cách mà phần tử giữa của mảng được tìm thấy và sau đó phần tử giữa được so sánh với một phần của mảng. Có thể có ba khả năng là số giữa có thể là số chúng ta cần tìm hoặc số nhỏ hơn số giữa hoặc số lớn hơn giữa số giữa. Số lượng so sánh nhiều nhất là log (N + 1). Tìm kiếm nhị phân so với tìm kiếm tuyến tính là một thuật toán hiệu quả khi so sánh với tìm kiếm tuyến tính, nhưng mảng phải được sắp xếp trước khi thực hiện tìm kiếm nhị phân.

Nội dung: Sự khác biệt giữa Tìm kiếm tuyến tính và Tìm kiếm nhị phân

  • Biểu đồ so sánh
  • Tìm kiếm nhị phân
  • Sự khác biệt chính
  • Phần kết luận
  • Video giải thích

Biểu đồ so sánh

Nền tảngTìm kiếm tuyến tínhTìm kiếm nhị phân
Ý nghĩaTìm kiếm tuyến tính từng phần tử được kiểm tra và so sánh và sau đó được sắp xếp

Tìm kiếm nhị phân một danh sách sẽ được sắp xếp được chia thành hai phần và sau đó được sắp xếp.


 

Độ phức tạp thời gianĐộ phức tạp thời gian của tìm kiếm tuyến tính là O (N).Độ phức tạp thời gian của tìm kiếm nhị phân là O (log 2 VIẾT SAI RỒI)
Loại thuật toánTìm kiếm tuyến tính là lặp đi lặp lại.Tìm kiếm nhị phân là Phân chia và chinh phục.
Dòng mãTrong một tìm kiếm tuyến tính, chúng ta cần viết thêm mã.Trong một tìm kiếm nhị phân, chúng ta cần viết ít mã hơn.

Tìm kiếm tuyến tính

Tìm kiếm tuyến tính là một thuật toán rất phức tạp nếu bạn muốn tìm kiếm một số trong danh sách, so sánh và lặp lại một số lần số lượng giá trị trong danh sách. Từng người một, từng yếu tố của danh sách được lấy và so sánh với các yếu tố liền kề. Tất cả các yếu tố được truy cập và kiểm tra, và sau đó tìm thấy yếu tố bên phải. Có thể có trường hợp xấu nhất nếu số cuối cùng trong danh sách là số cần tìm kiếm. Tìm kiếm tuyến tính là phương thức mà mảng được duyệt và phần tử cần tìm được thiết lập. Nếu chúng ta nói về hiệu quả, hiệu quả là số lần chương trình phải chạy để tìm số. Nếu chúng ta tìm thấy số chúng ta đang tìm kiếm ở vị trí đầu tiên thì chỉ cần thực hiện một so sánh, và mọi thứ được sắp xếp nhưng nếu không thì so sánh phải thực hiện lặp đi lặp lại và bộ nhớ bị lãng phí. Trung bình, số lượng so sánh sẽ là (n + 1/2). Và hiệu quả tồi tệ nhất của kỹ thuật này là O (n) là viết tắt của thứ tự thực hiện.

Tìm kiếm nhị phân

So với tìm kiếm tuyến tính, tìm kiếm nhị phân là rất hiệu quả. Trong phương pháp này, mảng được chia thành hai phần và theo cách này, số lượng so sánh rất ít so với tìm kiếm nhị phân. Thời gian cũng ít hơn trong tìm kiếm nhị phân so với tìm kiếm tuyến tính. Tìm kiếm nhị phân hoạt động theo cách mà phần tử giữa của mảng được tìm thấy và sau đó phần tử giữa được so sánh với một phần của mảng.

Có thể có ba khả năng là số giữa có thể là số chúng ta cần tìm hoặc số nhỏ hơn số giữa hoặc số lớn hơn giữa số giữa. Số lượng so sánh nhiều nhất là log (N + 1). Tìm kiếm nhị phân so với tìm kiếm tuyến tính là một thuật toán hiệu quả khi so sánh với tìm kiếm tuyến tính, nhưng mảng phải được sắp xếp trước khi thực hiện tìm kiếm nhị phân.

Sự khác biệt chính

  1. Tìm kiếm tuyến tính mỗi phần tử được kiểm tra và so sánh và sau đó được sắp xếp trong khi tìm kiếm nhị phân một danh sách cần sắp xếp được chia thành hai phần và sau đó được sắp xếp.
  2. Độ phức tạp thời gian của tìm kiếm tuyến tính là 0 (N) trong khi độ phức tạp thời gian của tìm kiếm nhị phân là O (log2VIẾT SAI RỒI).
  3. Tìm kiếm tuyến tính được lặp đi lặp lại trong khi tìm kiếm nhị phân là Phân chia và chinh phục.
  4. Trong tìm kiếm tuyến tính, chúng ta cần viết nhiều mã hơn trong khi tìm kiếm nhị phân, chúng ta cần viết ít mã hơn.

Phần kết luận

Trong bài viết này ở trên, chúng tôi thấy sự khác biệt rõ ràng giữa tìm kiếm tuyến tính và tìm kiếm nhị phân.

Video giải thích