3. Tìm kiếm nhị phânCâu hỏi 1. Cho trước một đây số đã được sắp xếp theo thứ tự tăng dần. Hãy đọc,...
Câu hỏi:
3. Tìm kiếm nhị phân
Câu hỏi 1. Cho trước một đây số đã được sắp xếp theo thứ tự tăng dần. Hãy đọc, quan sát và thảo luận cách làm sau đây để hiểu được thuật toán tìm kiếm nhị phân, biết được tính ưu việt của thuật toán này so với thuật toán tìm kiếm tuần tự trên một dây các phần từ đã sắp xếp.
Câu trả lời:
Người trả lời: GV. Đỗ Hồng Giang
Phương pháp giải:Bước 1: Bắt đầu với việc chia mảng thành 2 phần bằng cách lấy phần tử ở giữa mảng làm điểm chia.Bước 2: So sánh phần tử tại điểm chia với giá trị cần tìm. Nếu phần tử này trùng với giá trị cần tìm, kết thúc thuật toán.Bước 3: Nếu phần tử này lớn hơn giá trị cần tìm, thu hẹp phạm vi tìm kiếm thành nửa bên trái của điểm chia. Nếu phần tử này nhỏ hơn giá trị cần tìm, thu hẹp phạm vi tìm kiếm thành nửa bên phải của điểm chia.Bước 4: Lặp lại quá trình trên cho đến khi tìm được phần tử cần tìm hoặc không còn phần tử nào để duyệt.Câu trả lời cho câu hỏi:Thuật toán tìm kiếm nhị phân thực hiện tìm kiếm một mảng đã được sắp xếp bằng cách liên tục chia phạm vi tìm kiếm thành 2 phần. Bắt đầu từ phần tử ở giữa mảng, so sánh giá trị cần tìm với phần tử này. Nếu giống nhau, kết thúc thuật toán. Nếu không, tiếp tục chia phạm vi tìm kiếm thành nữa phía trái hoặc nữa phía phải của phần tử ở giữa mảng tùy thuộc vào giá trị của phần tử so với giá trị cần tìm. Thuật toán này tối ưu hơn so với tìm kiếm tuyến tính trên mảng đã được sắp xếp khi mảng có kích thước lớn.
Câu hỏi liên quan:
- Khởi độngCâu hỏi. Theo em, An có chắc chắn xác định được thẻ nào in số K không? Em có cách nào xác...
- 1. Bài toàn tìm kiếm trên thực tếBài toán lớp 3. Em cần tìm 5 bạn học sinh có điểm trung bình các...
- Em hãy xác định miễn dữ liệu và nghiệm có thể của các bài toán tìm kiếm sau.1. Bài toán tìm đường...
- 2. Tìm kiếm tuần tựCâu hỏi 1. Quan sát cách thực hiện thuật toán tìm kiếm tuần tự trên ví dụ cụ thể...
- Câu hỏi 1. Cho dãy A = [1, 91, 45, 23, 67, 9, 10, 47, 90, 46, 86]. Thuật toán tìm kiếm tuần tự cần...
- Câu hỏi2. Khi nào thì tìm kiếm tuần tự sẽ tìm được ngay kết quả, cần ít bước nhất?
- Câu hỏi 3. Khi nào thì tìm kiếm tuần tự sẽ tìm được ngay kết quả, cần nhiều bước nhất? Cho ví dụ
- Câu hỏi 2. Cho dãy A= {0, 4, 8, 10, 12,14, 17, 18, 20, 31, 34, 87}Với thuật toán tìm kiếm...
- Luyện tậpCâu hỏi 1. Em hãy chỉnh sửa thuật toán tìm tuần tự để tìm ra tất cả các phần tử...
- Câu hỏi2. Viết chương trình của thuật toán tìm kiếm nhị phân với dầy sắp xếp giảm dần.
- Vận dụngCâu hỏi 1.Cho A là danh sách tên các học sinh trong lớp, viết chương trình tìm kiếm...
- Câu hỏi 2. Cho A là danh sách tên các học sinh trong lớp được sắp xếp theo thứ tự bảng chữ cái,...
Bình luận (0)