CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.
Bài đăng trên blog CFSDN này, Thuật toán tìm kiếm: Triển khai C++ của Tìm kiếm nhị phân, được tác giả thu thập và biên soạn. Nếu bạn quan tâm đến bài viết này, vui lòng thích nó.
Tìm kiếm nhị phân.
Nói một cách đơn giản, thuật toán tìm kiếm nhị phân là đưa ra một khóa giá trị trong mảng đã sắp xếp, sau đó so sánh nó với phần tử giữa của mảng. Nếu khóa lớn hơn giá trị giữa, phép so sánh tiếp theo sau giữa được thực hiện cho đến khi tìm thấy giá trị bằng nhau và có thể lấy được vị trí của nó.
Điều kiện tiên quyết: Các bản ghi trong danh sách tuyến tính phải được sắp xếp theo từ khóa (thường từ nhỏ đến lớn) và danh sách tuyến tính phải được lưu trữ theo trình tự. Ý tưởng cơ bản: lấy bản ghi ở giữa làm đối tượng so sánh. Nếu giá trị được đưa ra bằng với từ khóa của bản ghi ở giữa, tìm kiếm thành công. Nếu giá trị được đưa ra nhỏ hơn từ khóa của bản ghi ở giữa, tiếp tục tìm kiếm ở nửa bên trái của bản ghi ở giữa. Nếu không, tìm kiếm ở nửa bên phải. Lặp lại cho đến khi tìm kiếm thành công hoặc thất bại.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
hai mươi mốt
hai mươi hai
hai mươi ba
hai mươi bốn
25
26
27
28
29
30
31
32
33
|
#include
#include
#định nghĩa N 10
sử dụng
không gian tên
tiêu chuẩn;
số nguyên
chủ yếu()
{
số nguyên
a[N],đầu,cuối,giữa,i,x;
cout<<
"Vui lòng nhập 10 chuỗi đã sắp xếp sẵn:"
<<>
vì
(i=0;i<>
{
cin>>a[i];
}
cout<<
"Vui lòng nhập số x để được truy vấn"
<<>
cin>>x;
mặt trước=0;
kết thúc=N-1;
giữa=(phía trước+phía cuối)/2;
trong khi
(mặt trước<>
{
nếu như
(a[giữa]>x) kết thúc=giữa-1;
nếu như
(a[mid]
giữa=(phía trước+phía cuối)/2;
}
nếu như
(a[giữa]!=x)
{
inf
(
"Không tìm thấy số đó!"
);
}
khác
{
inf
(
"Đã tìm thấy, số ở vị trí %d"
,giữa+1);
}
trở lại
0;
}
|
phần phụ lục:
Tìm kiếm và sắp xếp đều là những thuật toán thường được sử dụng trong lập trình. Tìm kiếm tương đối đơn giản và bao gồm tìm kiếm tuần tự, tìm kiếm nhị phân, tìm kiếm bảng băm và tìm kiếm cây nhị phân được sắp xếp. Trong buổi phỏng vấn, cho dù sử dụng vòng lặp hay đệ quy, người phỏng vấn đều mong đợi ứng viên có thể dễ dàng viết mã tìm kiếm nhị phân hoàn chỉnh, nếu không, ứng viên có thể sẽ không hứng thú tiếp tục buổi phỏng vấn.
Tóm tắt.
Trên đây là toàn bộ nội dung bài viết này, hy vọng nội dung bài viết này sẽ có giá trị tham khảo nhất định cho việc học tập hoặc công tác của bạn. Cảm ơn sự ủng hộ của bạn. Nếu bạn muốn tìm hiểu thêm về điều này, vui lòng truy cập các liên kết sau.
Liên kết gốc: https://blog.csdn.net/qq_39486027/article/details/79647428.
Cuối cùng, bài viết này về việc triển khai tìm kiếm nhị phân C++ trong thuật toán tìm kiếm kết thúc tại đây. Nếu bạn muốn biết thêm về việc triển khai tìm kiếm nhị phân C++ trong thuật toán tìm kiếm, vui lòng tìm kiếm các bài viết trên CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!