tim kiem

18 166 0
tim kiem

Đ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

1 TIẾT 13+14: THUẬT TOÁN TÌM KIẾM TUẦN TỰ VÀ TÌM KIẾM NHỊ PHÂN 2 Tớ là một chú cá . Hãy tìm tớ trong Tớ là một chú cá . Hãy tìm tớ trong đám bạn này nhé!! đám bạn này nhé!! 1 2 3 4 5 Không phải rồi! Ồ! Không phải nữa rồi! Ồ! Lại sai nữa rồi! Hi! Hi! Chưa đúng đâu nghen! A! Ha! Tìm ra rồi! 3 XÁC ĐỊNH BÀI TOÁN XÁC ĐỊNH BÀI TOÁN OUPUT INPUT Dãy A gồm N số nguyên khác nhau a 1 ,a 2 ,…,a N và số nguyên k Chỉ số i mà a i =k hoặc thông báo không có số hạng nào của dãy A có giá trị bằng k TÌM KIẾM TUẦN TỰ TÌM KIẾM TUẦN TỰ (Sequential Search) (Sequential Search) 4 TÌM KIẾM TUẦN TỰ TÌM KIẾM TUẦN TỰ (Sequential Search) (Sequential Search) • Ý tưởng: Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng đó với khóa cho đến khi gặp một số hạng bằng khóa thì số hạng đó là số hạng cần tìm. Trong trường hợp thứ hai, dãy không có số hạng nào bằng khóa. 5 TÌM KIẾM TUẦN TỰ TÌM KIẾM TUẦN TỰ Ví dụ: Dãy A gồm các số 1 4 2 9 8 115 7 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 N=8 K=9 9 || k ≠ ≠ ≠ ≠ ≠ || Tìm thấy , có a 6 =k, vậy chỉ số cần tìm là i=6 K=6 , không có giá trị nào 6 || k ≠ ≠≠ Không tìm thấy 6 Ví dụ thuật toán tìm kiếm tuần tự Ví dụ thuật toán tìm kiếm tuần tự 9 a 5 4 a 6 2 a 3 8 a 7 7 a 1 3 a 2 6 a 4 4 k i 123456 7 n SAI ĐÚNG 4 k VẬY i = 6 7 Thuật toán tìm kiếm tuần tự Thuật toán tìm kiếm tuần tự SƠ ĐỒ KHỐI B1. Nhập N, a 1 ,a 2 ,…a N , khóa k; B2. i 1; B3. Nếu a i =k thì thông báo chỉ số i rồi kết thúc; B4. i i+1; B5.Nếu i>N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc; B6. Quay lại bước 3. LIỆT KÊ Nhập N, a 1 ,a 2 ….,a N ,k i1 a i =k Đưa ra i rồi kết thúc ii+1 i>N? Thông báo dãy A không có số hạng nào có giá trị bằng k rồi kết thúc Đúng Sai Đúng Sai 8 Nhập N, a 1 ,…,a N ,k a i = k i > N Đưa ra i rồi kềt thúc SAI ĐÚNG i  i + 1 i  1 5 7 1 2 9 8 i = 2 i = 3 i = 4i = 1 SAI V ớ i i = 4 t h ì a 4 = 2 THUẬT TOÁN TÌM KIẾM TUẦN TỰ (Sequentinal Search) N = 6; k = 2 a 1 = 5 i = 2 < N a 2 = 7 i = 3 < N a 3 = 1 i = 4 < N a 4 = 2 a 1 a 2 a 3 a 4 a 5 a 6 Ví dụ Thông báo dãy A không có số hạng Có giá trị bằng k rồi kết thúc 9 Em có suy nhận xét gì sau khi xem Em có suy nhận xét gì sau khi xem xong? xong? • Người đọc sách muốn tìm trang 30 của quyển sách. • Người ấy bắt đầu mở chính giữa quyển sách • Số trang vừa mở được là trang 44.(chưa tìm đúng số trang cần tìm) • Như vậy người ấy chỉ tìm trong phạm vi từ số trang từ đầu cho đến trang 44 (không cần tìm phần sau trang 44 ) • Tiếp tục phân đôi số trang từ trang đầu cho đến trang 44. Trang tìm được là trang 22, cứ tiếp tục như vậy cho đến khi tìm được trang 30. 10 Thuật toán tìm kiếm nhị phân Thuật toán tìm kiếm nhị phân (dãy A tăng) (dãy A tăng) OUPUT INPUT Dãy A tăng gồm N số nguyên khác nhau a 1 ,a 2 ,…,a N và số nguyên k Chỉ số i mà a i =k hoặc thông báo không có số hạng nào của dãy A có giá trị bằng k Xác định bài toán

Ngày đăng: 01/02/2015, 17:00

Từ khóa liên quan

Mục lục

  • Slide 1

  • Tớ là một chú cá . Hãy tìm tớ trong đám bạn này nhé!!

  • XÁC ĐỊNH BÀI TOÁN

  • TÌM KIẾM TUẦN TỰ (Sequential Search)

  • TÌM KIẾM TUẦN TỰ

  • Ví dụ thuật toán tìm kiếm tuần tự

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

  • Slide 8

  • Em có suy nhận xét gì sau khi xem xong?

  • Thuật toán tìm kiếm nhị phân (dãy A tăng)

  • Ý tưởng

  • Biểu diễn thuật toán :

  • Slide 13

  • Thuật toán liệt kê

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

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

  • Đang cập nhật ...

Tài liệu liên quan