Bai toan va thuat toan

16 61 0
Bai toan va thuat toan

Đ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

Sắp xếp là quá trình bố trí lại các phần tử của một tập các đối tượng nào đó theo một thứ tự nhất định.. Ví dụ: Sắp xếp điểm trung bình của các học sinh trong lớp theo thứ tự từ cao đến [r]

(1)(2) Ví dụ thuật toán 1.Bài toán tìm kiếm Tìm kiếm là việc xảy sống Nói cách tổng quát là tìm kiếm đối tượng cụ thể nào đó tập các đối tượng cho trước (3) Cho dãy A gồm N số nguyên khác nhau: a 1, a2, an và số nguyên k Cần biết có hay không số i (1 ≤ i ≤ N ) mà = k Nếu có cho biết số đó Ví dụ i 9 10 11 25 51 - Với khoá k = dãy trên có số hạng a có giá trị k Vậy số cần tìm là i = -Với khoá k = thì không có số hạng nào dãy A có giá trị k (4) Bài toán quát: N số nguyên khác nhau: a , a , a và Cho dãytổng A gồm n số nguyên k Cần biết có hay không số i (1 ≤ i ≤ N ) mà = k Nếu có cho biết số đó Xác định bài toán Input: Cho dãy A gồm N số nguyên khác nhau: a1, a2, an và số nguyên k Chỉ số i mà = k thông báo không có số Output: hạng nào dãy A có giá trị k (5) i 10 11 25 51 ≠ ? ? ≠ ≠ ? ? ≠ ? = 62 K Dãy sốsố hạng k A5 =không k vậycó cầnnào tìm là i =khóa (6) Ý tưởng Thuật toán: Liệt kê Tìm kiếm thực cách tự nhiên Lần Bước : Nhập N, dãy a1 an và khóa k lượt từ thứ hạng thứ nhất, ta so sánh giá trị số hạng Bước : i  ; xét với khóa gặp số hạng Bước : Nếu = k thì thông báo số i, kết thúc khóa dãy đã xét hết và không có giá trị nào Bước : i  i + khóa Trong trường hợp thứ hai dãy A không có số Bước : Nếu i > N thì thông báo dãy A không có số hạng nào khóa hạng nào có giá trị k, kết thúc Bước : Quay lại bước (7) Liệt kê Bước : Nhập N, dãy a1 an và khóa k Bước : i  ; Bước : Nếu = k thì thông báo số i, kết thúc Bước : i  i + Bước : Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị k, kết thúc Bước : Quay lại bước Sơ đồ khối N, a1 an , k i1 Đúng Ai = k sai I  i+1 Sai i>N Đúng Không có,kt Đưa i ra, kt (8) Sơ đồ khối N, a1 an , k Nhập: N = 10 Nhập dãy số: i1 Nhập K = Đúng A 51 25 5i ===6k6 11 Đưa i ra, kt sai sai sai  i+1 11 III 10 Sai Sai Sai Sai 11 10 5i >>10 N Đúng Không Khôngcó,kt có A i 4 11 25 51 10 11 (9) 2.Bài toán xếp a Khái niệm: Sắp xếp là quá trình bố trí lại các phần tử tập các đối tượng nào đó theo thứ tự định Ví dụ: Sắp xếp điểm trung bình các học sinh lớp theo thứ tự từ cao đến thấp, xếp các học sinh theo đội hình từ thấp đến cao, xếp tên theo thứ tự A, B, C, (10) VD Minh họa: Cho 10 cọc có chiều cao khác nhau, cần xếp các cọc theo thứ tự từ thấp đến cao (11) Xác định bài toán: INPUT: Dãy A gồm N số nguyên A1,A2,…,An OUTPUT: Dãy A xếp thành dãy không giảm ý tưởng: có ai>ai+1 thì tráo đổi không còn tráo đổi (12) b Thuật toán xếp trao đổi: B1: Nhập n, các số hạng a1, a2,…,an; B2: m ← n; B3: Nếu m<2 thì đưa dãy a đã xếp kết thúc; B4: m ← m-1, i ← 0; B5: i ← i+1; B6: Nếu i>m thì quay lại B3; B7: Nếu ai>ai+1 thì tráo đổi và ai+1 cho nhau; B8: Quay lại B5 (13) Sơ đồ khối Nhập N và a1, a2, , aN MN M<2? Sai M  M – 1; i  ii+1 Đúng i>M? Sai Tráo đổi và ai+1 Đúng > ai+1 ? Sai Đúng Đưa A và kết thúc (14) Với N=6 thuật và dãy A gồm số hạng sauđổi Mô toán xếpnhư tráo Lượt thứ Lượt thứ hai 1 7 9 Lượt thứ tư 1 5 7 9 9 Lượt thứ ba 9 (15) CHO DÃY SỐ SAU: Giả sử: Mỗi phần tử dãy xem là bọt nước, Trọng lượng bọt nước thứ i là giá trị A[i] •• ii Lượt 21 chạy từ vị chạy từ đầu đầu dãy đến đến vị trí trí [cuối dãy bỏ -1] qua phần [cuối dãy -1] • cuối Khi cùng a[i]>a[i+1] tức bọt tử •nước Sau bên lượt thứtrên nặng bọt nước bọt nước dưới, bọt nặng thứ 2bên chìm kế nước trên chìm xuống và cận đáy nước dướitráo đổi lên bọt Quá trìnhbên duyệt, (tráolặp đổiđivị lặp trí) lại • Sau lượt nặng duyệt chỉ1 bọt còn nước phần tử vànhất dãysẽ sẽchìm đượcvề sắpcuối xếpdãy (16) (17)

Ngày đăng: 15/06/2021, 02:10

Từ khóa liên quan

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

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

Tài liệu liên quan