ỨNG DỤNG PHƯƠNG PHÁP tìm KIẾM TRONG VIỆC GIẢI các bài TOÁN THI học SINH GIỎI môn TIN học

21 1.1K 3
ỨNG DỤNG PHƯƠNG PHÁP tìm KIẾM TRONG VIỆC GIẢI các bài TOÁN THI học SINH GIỎI môn TIN học

Đ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

ỨNG DỤNG PHƯƠNG PHÁP TÌM KIẾM TRONG VIỆC GIẢI CÁC BÀI TOÁN THI HỌC SINH GIỎI MÔN TIN HỌC MÃ: TI17 CƠ SỞ LÝ THUYẾT 1.1 Phát biểu toán Cho dãy gồm n ghi r[1 n] Mỗi ghi r[i] (1 ≤ i ≤ n) tương ứng với khóa k[i] Hãy tìm ghi có giá trị khóa X cho trước X gọi khóa tìm kiếm Công việc tìm kiếm hoàn thành hai tình sau sảy ra: • Tìm ghi có khóa tương ứng X, lúc phép tìm kiếm thành công • Không tìm ghi có khóa tương ứng X, lúc phép tìm kiếm thất bại 1.2 Phương pháp tìm kiếm 1.2.1 Nội dung thuật toán Bắt đầu từ ghi đầu tiên, so sánh khóa tìm kiếm với khóa tương ứng ghi danh sách, tìm thấy ghi mong muốn duyệt hết danh sách mà không thấy 1.2.2 Nội dung chương trình * Code ngôn ngữ lập trình PASCAL Function TK_tuantu(X: Key): integer; var i: Integer; Begin for i:=1 to n if (r[i] = X) then exit(i);{tìm thấy X trả vị trí nó} exit(0); {không tìm thấy X trả vị trí 0} End; * Code ngôn ngữ lập trình C++ int TK_tuantu(int X) { for (int i = 1; i X nghĩa đoạn K[L Mid] chứa toàn khóa > X ta tiến hành tìm kiếm X đoạn K[R Mid - 1] • Nếu K[Mid] = X tìm kiếm thành công (kết thúc trình tìm kiếm) Quá trình tìm kiếm thất bại bước đoạn tìm kiếm rỗng tức L > R 1.3.2 Nội dung chương trình * Code ngôn ngữ lập trình PASCAL Function TK_NhiPhan(X: Key): integer; var L,R,Mid:integer; Begin L := 1; R := N; While (L [...]... thì hi vọng tìm được giá trị Mid nhỏ hơn nữa bằng cách giảm giá trị R = Mid – 1 Nếu check(Mid) = false thì giá trị Mid là quá nhỏ nên phải tăng giá trị này lên bằng cách thay đổi giá trị L = Mid + 1 3 Kết luận Nhìn chung các bài toán được ứng dụng phương pháp tìm kiếm nhị phân thường đi cặp với thuật toán sắp xếp, và hầu như các bài toán đều là những bài toán ở mức độ không khó về mặt giải thuật Tuy... thứ hai chứa các số là dãy b (|bi| c = w – 1 - Vấn đề cần giải quyết bây giờ là trong thủ tục DFS(1) thì điều kiện để đi từ đỉnh u -> v là gì? - Câu hỏi trên sẽ được giải đáp nếu trả lời được

Ngày đăng: 06/06/2016, 10:03

Từ khóa liên quan

Mục lục

  • 1. CƠ SỞ LÝ THUYẾT

    • 1.1. Phát biểu bài toán

    • 1.2. Phương pháp tìm kiếm tuần tự

      • 1.2.1. Nội dung thuật toán

      • 1.2.2. Nội dung chương trình

      • 1.2.3. Đánh giá độ phức tạp của thuật toán:

      • 1.3 Phương pháp tìm kiếm nhị phân

        • 1.3.1. Nội dung thuật toán

        • 1.3.2. Nội dung chương trình

        • 1.3.3. Độ phức tạp thuật toán.

        • 1.3.4. Mở rộng phương pháp tìm kiếm nhị phân

        • 2. BÀI TẬP ÁP DỤNG

          • Bài 1. Dãy con

          • Bài 2: Đếm tam giác

          • Bài 3. Trò chơi với dãy số

          • Bài 4. Đóng gói sản phẩm. (nguồn bài: Đề thi HSG QG bảng B – năm 2005).

          • Bài 5: Robot cứu hỏa. (Nguồn bài: Đề thi HSG QG 2007).

          • Bài 6. Chiều cao xe

          • 3. Kết luận

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

Tài liệu liên quan