BÀI GIẢNG TIN HỌC CƠ SỞ. Bài toán thuật toán Các phương pháp biểu diễn thuật toán

20 0 0
BÀI GIẢNG TIN HỌC CƠ SỞ. Bài toán thuật toán Các phương pháp biểu diễn thuật toán

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI BÀI GIẢNG TIN HỌC CƠ SỞ (Được thực dự án eBook) NỘI DUNG     Bài toán thuật toán Các phương pháp biểu diễn thuật toán Các đặc trưng thuật toán Đánh giá thuật toán BÀI THUẬT TỐN (Ước tính 50’) Giảng viên: ĐÀO KIẾN QUỐC Email: dkquoc@vnu.edu.vn KHÁI NIỆM BÀI TOÁN BT Input Yêu cầu Output Cho số tự nhiên n n có phải số nguyên tố Câu trả lời: hay không sai Cho hồ sơ điểm sinh viên Tìm tất sinh viên có điểm trung bình Danh sách sinh viên thỏa mãn điều kiện Thiết kế cầu thép Tính sức chịu tải Tải trọng chịu đựng tối đa Cách xử lý theo yêu cầu để từ input output THUẬT TOÁN KHÁI NIỆM THUẬT TỐN   Thuật tốn (algorithm) q trình gồm dãy hữu hạn thao tác thực xếp theo trình tự xác định dùng để giải tốn Ví dụ : thuật tốn Euclid tìm ước số chung lớn hai số tự nhiên Thay phải tính tốn theo định nghĩa làm rõ cấu trúc USCLN (tích ước số chung với số mũ nhỏ nhất) thuật tốn Euclid dựa tính chất sau: – – – USCLN(a,a) = a USCLN(a,b) = USCLN (a,b-a) a b, THUẬT TOÁN EUCLID TIM USCLN CỦA HAI SỐ TỰ NHIÊN  Bài toán: Cho hai số m, n tìm d = USCLN(m,n) Bước 1: Kiểm tra m= n bước 5, khơng thực tiếp bước Bước 2: Nếu m>n thực tiếp bước 3, không thực tiếp bước Bước 3: bớt m lượng n quay bước Bước 4: bớt n lượng m quay bước Bước 5: Lấy d giá trị chung m n Kết thúc VÍ DỤ THUẬT TỐN EUCLID m n 15 21 mn m>n mn ? + m:=m-n n:= n - m d BIỂU DIỄN BẰNG CẤU TRÚC ĐIỀU KHIỂN Input m, n Trong m  n lặp lại khối sau: Nếu m > n Điều lại lượng giá trịlà n Bớtchỉnh m Nếu ngược m vàlạinthì Bớt n lượng m Tuyên bố USCLN giá trị chung m n read(m,n); while m n if m>n then m:=m-n else n:= n-m; write(m); Chương trình PASCAL BIỂU DIỄN BẰNG CẤU TRÚC ĐIỀU KHIỂN  Cấu trúc  Cấu trúc rẽ nhánh  Cấu trúc lặp GIẢI PT f(x)= ex- x3 = VỚI ĐỘ CHÍNH XÁC ε = 0.000001 Dự đốn có hai nghiệm, có nghiệm nằm khoảng (1,4) Tìm nghiệm phương pháp giảm dần khoảng vây nghiệm Khoảng ban đầu (1,4) TÍNH NGHIỆM CỦA PHƯƠNG TRÌNH f(x)= ex- x3 = Dùng phương pháp chia đôi để vây nghiệm c a b Mỗi lần chia đôi khoảng vây nghiệm giảm nửa Khi khoảng vây nghiệm ngắn ε, chọn trung điểm khoảng làm nghiệm xấp xỉ TÍNH NGHIỆM CỦA PHƯƠNG TRÌNH f(x)= ex- x3 = c a b Tính f(c) với c= (a+b)/2 thực bước 2 Nếu f(c)> thay a c, sau thực bước Nếu f(c) ε, quay 1, không làm tiếp bước 5 Dừng, lấy c làm nghiệm TÍNH NGHIỆM CỦA PHƯƠNG TRÌNH f(x)= ex- x3 = a:= 1; b:= 4; ε = 0.00001 c:= (a+b)/2 + f(c) >0 ? a:= c b:= c - b-a < ε + c Chương trình BẰNGtrong PASCAL BIỂU DIỄN CẤU TRÚC ĐIỀU KHIỂN Cho ε = 0.000001, a=1 b=4 Lặp lại khối sau: Tính c:= (a+b)/2 Tính f(c) Nếu f(c) > thực khối Thay a c Nếu ngược lại thực khối Thay b c Cho tới b-a < ε lấy c làm nghiệm xấp xỉ a:=1; b:= 4; epsi:= 0.000001; repeat c:= (a+b)/2; if epx(c)-sin(c) > then a:=c else b:= c until b-a < epsi write(c); HIỆU QUẢ CỦA THUẬT TOÁN     Với tốn có nhiều thuật tốn khác Tuy nhiên hiệu chúng khác Trong tin học người ta quan tâm nhiều đến độ phức tạp thời gian: giải tốn cần thời gian, vấn đề quy số phép tính cần thực Độ phức tạp không gian: tiêu tốn không gian nhớ Vấn đề hiệu thời gian vấn đề nghiên cứu nhiều VÍ DỤ HIỆU QUẢ TÌM KIẾM Ví dụ tốn tìm kiếm: cho dãy n số khác a1,a2 an số x.Hãy cho biết x có dãy số hay khơng vị trí thứ Thuật tốn tìm kiếm sau:      Bước Cho i = Bước Nếu = x chuyển tới bước 5, khơng thực tiếp bước Bước Tăng i lên kiểm tra i > n Nếu bước Nếu sai quay bước Bước Tuyên bố khơng có số x Kết thúc Bước Tun bố số x số thứ i Kết thúc Số bước tìm trung bình n/2 Nếu có triệu phần tử phải khoảng 500.000 phép so sánh HIỆU QUẢ CỦA THUẬT TOÁN Nếu xếp dãy số theo thứ tự tăng dần tìm thuật tốn tìm kiếm nhị phân, với tư tưởng thu hẹp dần vùng tìm kiếm        Bước Cho d := 1, c:=n (d: đầu, c: cuối, g: giữa) Bước Tính g := [(d+c)/2] Bước Nếu x=ag chuyển tới bước Nếu không bước Bước Nếu d=c tuyên bố khơng có số x kết thúc Nếu khơng chuyển tới bước Bước Nếu c>d thực bước tiếp theo, khơng tun bố khơng tìm thấy Bước Nếu x < ag thay c ag Nếu khơng thay d ag quay bước Bước Tuyên bố số x số thứ g Kết thúc Cứ lần khơng tìm ta lại giảm độ dài vùng tìm kiếm hai lần Số bước tìm trung bình log2n Nếu có triệu phần tử khoảng 20 lần tìm, nhỏ so với tìm HẾT BÀI THUẬT TỐN CẢM ƠN ĐÃ THEO DÕI BÀI GIẢNG

Ngày đăng: 21/09/2022, 12:33

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

Tài liệu liên quan