Bài giảng Tin học 10 Bài toán tìm kiếm

20 74 0
Bài giảng Tin học 10 Bài toán tìm kiếm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chào mừng em đến với học ngày hôm Tìm kiếm việc thường xảy Tìm kiếm gì? sống, chẳng hạn cần tìm sách giáo khoa Tin học 10 giá sách, cần tìm học sinh danh sách lớp học, 2.Bài tốn tìm kiếm Cho dãy số A gồm số: 5, 7, 1, 4, 2, 9, 8, 11, 25, 51 Với k=2 dãy số hạng thứ có giá trị k? Chỉ số i cần tìm bao nhiêu? Với k=6 dãy số hạng thứ có giá trị k? Chỉ số i cần tìm bao nhiêu? Thuật tốn tìm kiếm 3.Thuật tốn tìm kiếm Cho dãy A gồm N số nguyên khác a1,a2, ,aN số ngun k Cần biết có hay khơng số i (1≤ i≤ N) mà ai=k Nếu có cho biết số Input:Dãy số A gồm N số nguyên khác a 1, a2, , aN số nguyên k Các em xác định Input Output toán Output: Chỉ số mà a i=k thơng báo khơng có số hạng A có giá trị k 3.Thuật tốn tìm kiếm Ý tưởng: Tìm kiếm thực cách tự nhiên Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng xét với khoá gặp số hạng khố dãy xét hết khơng có giá trị khố Trong trường hợp thứ hai dãy A khơng có số hạng khố 3.Thuật tốn tìm kiếm Cách liệt kê B1: Nhập N, số hạng a 1, a2, , aN khoá k; B2: i  1; B3: Nếu ai=k thơng báo số i, kết thúc; B4: i  i+1; B5: Nếu i > N thơng báo dãy A khơng có số hạng có giá trị k, kết thúc B6: Quay lại bước Thuật tốn dừng tìm thấy số hạng khố xét hết dãy mà khơng có phần tử khoá Thuật toán dừng nào? 3.Thuật tốn tìm kiếm Sơ đồ khối VD: Cho dãy số 7, 8, 3, 5, 6, Sử dụng thuật toán kiểm tra xem số có dãy khơng nằm vị trí nào? Có dãy sau: Dãy A: 5, 7, 9, 3, 1, 10 Dãy B: 1, 3, 5, 7, 9, 10 Và Các em cho biết khác dãy trên? Dãy B xếp theo thứ tự tăng dần Dãy B xếp nên làm để tìm số nhanh nhất? Thuật tốn tìm kiếm nhị phân Thuật tốn tìm kiếm nhị phân Cho dãy A xếp tăng dần gồm N số nguyên khác a1,a2, ,aN số nguyên k Cần biết có hay không số i (1≤ i≤ N) mà ai=k Nếu có cho biết số Input:Dãy số A xếp tang dần gồm N số nguyên khác a 1, a2, , aN số nguyên k Các em xác định Input Output toán Output: Chỉ số mà a i=k thông báo số hạng A có giá trị k 4 Thuật tốn tìm kiếm nhị phân Ý tưởng: Sử dụng tính chất dãy A dãy tăng, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm sau lần so sánh khoá với số hạng chọn Để làm điều đó, ta chọn số hạng aGiua "giữa dãy" để so sánh với k, Giua= (N+1)/2 Khi đó, xảy ba trường hợp sau: - Nếu aGiua = k Giua số cần tìm Việc tìm kiếm kết thúc - Nếu aGiua > k dãy A dãy xếp nên việc tìm kiếm xét dãy a1, a2, , aGiua–1 (phạm vi tìm kiếm khoảng nửa phạm vi tìm kiếm trước đó).  - Nếu aGiua < k thực tìm kiếm dãy aGiua+1, aGiua+2, , aN.  Quá trình lặp lại số lần tìm thấy khố k dãy A phạm vi tìm kiếm rỗng 4 Thuật tốn tìm kiếm nhị phân  Cách liệt kê Bước Nhập N, số hạng a1, a2, , aN khố k; Bước Dau ¬  1, Cuoi ¬  N; Bước Giua ¬  (Dau+Cuoi)/2; Bước Nếu aGiua = k thơng báo số Giua, kết thúc; Bước Nếu aGiua > k đặt Cuoi = Giua – chuyển đến bước 7; Bước Dau ¬  Giua + 1; Bước Nếu Dau > Cuoi thơng báo dãy A khơng có số hạng có giá trị k, kết thúc; Bước Quay lại bước 4 Thuật tốn tìm kiếm nhị phân Ghi chú: Tuỳ thuộc aGiua > k aGiua < k mà số đầu số cuối dãy bước tìm kiếm thay đổi Để thực điều đó, thuật tốn sử dụng biến nguyên tương ứng Dau Cuoi có giá trị khởi tạo Dau = Cuoi = N 4 Thuật tốn tìm kiếm nhị phân VD: Cho dãy số 1, 3, 5, 7, 9, 10 Sử dụng thuật tốn tìm kiếm nhị phân kiểm tra xem số có dãy khơng nằm vị trí nào? Bài nhà Làm sách giáo khoa trang 44 đọc trước thuật tốn tìm kiếm nhị phân Thank you .. .Tìm kiếm việc thường xảy Tìm kiếm gì? sống, chẳng hạn cần tìm sách giáo khoa Tin học 10 giá sách, cần tìm học sinh danh sách lớp học, 2 .Bài tốn tìm kiếm Cho dãy số A gồm... cần tìm Việc tìm kiếm kết thúc - Nếu aGiua > k dãy A dãy xếp nên việc tìm kiếm xét dãy a1, a2, , aGiua–1 (phạm vi tìm kiếm khoảng nửa phạm vi tìm kiếm trước đó).  - Nếu aGiua < k thực tìm kiếm. .. 9, 3, 1, 10 Dãy B: 1, 3, 5, 7, 9, 10 Và Các em cho biết khác dãy trên? Dãy B xếp theo thứ tự tăng dần Dãy B xếp nên làm để tìm số nhanh nhất? Thuật tốn tìm kiếm nhị phân Thuật tốn tìm kiếm nhị

Ngày đăng: 25/02/2021, 08:59

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • 2.Bài toán tìm kiếm

  • Slide 4

  • 3.Thuật toán tìm kiếm tuần tự

  • 3.Thuật toán tìm kiếm tuần tự

  • 3.Thuật toán tìm kiếm tuần tự

  • Slide 8

  • 3.Thuật toán tìm kiếm tuần tự

  • Slide 10

  • Slide 11

  • Slide 12

  • 4. Thuật toán tìm kiếm nhị phân

  • 4. Thuật toán tìm kiếm nhị phân

  • 4. Thuật toán tìm kiếm nhị phân

  • 4. Thuật toán tìm kiếm nhị phân

  • 4. Thuật toán tìm kiếm nhị phân

  • Slide 18

  • Bài về nhà

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan