Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTMasterCode.vn
Tìm hiểu các giải thuật sắp xếp cơ bản trên cấu trúc dữ
liệu mảng
Tìm hiểu các giải thuật tìm kiếm cơ bản trên cấu trúc dữ
liệu mảng
Đánh giá và so sánh hiệu quả các giải thuật
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTMasterCode.vn
Tìm hiểu các giải thuật sắp xếp cơ bản trên cấu trúc dữ
liệu mảng
Tìm hiểu các giải thuật tìm kiếm cơ bản trên cấu trúc dữ
liệu mảng
Đánh giá và so sánh hiệu quả các giải thuật
2. Xét một số ví dụ:
Vd1: Giải phương trình bậc 1: ax + b = 0.
Vd2: Quản lý điểm học sinh trong HK1.
Vd3: Cho tam giác ABC có các cạnh lần lượt là a, b, c. Hãy
tính diện tích của tam giác ABC.
Vd4: Quản lý các cán bộ trong một cơ quan.
Máy tính có thể
Vd5: Tính tổng của dãy sau:
giải các bài toán
S = 1 + 2 + 3 +…..+ 100.
này không nhỉ?
Trong các ví dụ trên, ví dụ
nào được xem như là một bài
toán?
3. I. BÀI TOÁN:
Khái niệm bài toán
trong tin học?
Bài toán là những việc nào
đó mà con nguời muốn
máy tính thực hiện.
4. Các thành phần của một bài toán:
BÀI TOÁN
TIN HỌC
TOÁN HỌC
Giả thiết
INPUT
Thông tin
đƣa vào
Kết luận
OUTPUT
Thông tin
lấy ra
THUẬT NGỮ
5. CÁC VÍ DỤ XÁC ĐỊNH INPUT, OUTPUT:
Vd1: Giải PT bậc 1:
ax + b = 0
Input: các số thực a,b.
Output: số thực x thõa PT.
Vd2: Tìm UCLN của 2 số
nguyên dương M, N.
Input: 2 số nguyên dương
M, N.
Output: UCLN(M, N).
Vd3: Tìm giá trị lớn nhất
của các số trong một dãy số.
Input: Các số trong dãy số.
Output: Giá trị lớn nhất
trong dãy số.
6. BÀI TOÁN
Bằng cách nào?
INPUT
OUTPUT
GIẢI BÀI TOÁN
THUẬT
TOÁN
Hƣớng dẫn các bƣớc giải, các thao tác cho máy
tính thực hiện
7. II. THUẬT TOÁN
BÀI TOÁN
Thuật toán
OUTPUT
INPUT
(Thao tác 1 => thao tác 2 =>… =>thao tác n)
1. Khái niệm thuật toán: Thuật toán để giải một bài toán
là một dãy hữu hạn các thao tác được sắp xếp theo một
trình tự xác định, sao cho sau khi thực hiện các dãy thao
tác ấy, từ Input của bài toán, ta nhận được Output cần tìm.
8. II. THUẬT TOÁN
2. Mô tả các thao tác trong thuật toán:
Liệt kê
Nêu ra tuần tự các
bƣớc cần tiến hành
Sơ đồ khối
Dùng biểu tƣợng
thực hiện thao tác
Có 2 cách mô tả:
9. II. THUẬT TOÁN
a. Liệt kê:
Ví dụ: Tìm nghiệm của PT bậc 2: ax2 + bx +c = 0. (a ≠ 0)
Bài giải thông thƣờng: Liệt kê:
• Tính = b2-4*a*c.
Nếu < 0 thì pt vô
nghiệm.
Nếu = 0 pt có nghiệm
kép : x=-b/(2*a)
Nếu > 0 thì pt có 2
nghiệm phân biệt:
x1,2= (-b √()) /(2*a).
Bƣớc 1: Nhập a,b,c.
Bƣớc 2: Tính = b2 - 4*a*c.
Bƣớc 3: Nếu < 0 PTVN
=> bước 6.
Bƣớc 4: Nếu = 0 PT có nghiệm
kép x=-b/(2*a) => bước 6.
Bƣớc 5: Nếu >0 PT có 2 nghiệm
x1,x2=(-b √()) /(2*a) => bước 6.
Bƣớc 6: kết thúc.
10. II. THUẬT TOÁN
b. Sơ đồ khối:
Các biểu tƣợng trong sơ đồ khối:
: Thể hiện thoa tác nhập, xuất dữ liệu.
: Thể hiện phép tính toán.
: Thể hiện các thao tác so sánh.
: Thể hiện qui trình thực hiện thao tác.
11. II. THUẬT TOÁN
Ví dụ: Tìm nghiệm của PT bậc 2: ax2 + bx +c = 0. (a ≠ 0) bằng SĐK
Nhập a, b, c
(a ≠ 0)
= b2 - 4*a*c
Đ
< 0
PTVN
S
Đ
= 0
S
x= -b/(2*a)
x1,x2=(-b √()) /(2*a)
Kết thúc
Kết thúc
12. II. THUẬT TOÁN
3. Áp dụng thuật toán liệt kê giải bài tập sau:
Cho dãy số nguyên N = 5 gồm các số sau (a1 = 4,a2 = 7, a3 =
6, a4 = 10 ,a5 = 2). Tìm giá trị lớn nhất (MAX) trong một dãy
số nguyên N.
Lật sách hoài
không có bài giải
Kiếm đi cho ra.
Xem ta giải bài
đây
13. NHỮNG ĐIỀU CẦN LƢU Ý:
Khái niệm
Khái niệm
Bài toán
Thuật toán
Thuật toán là một dãy hữu hạn
Bài toán một việc nào đó
các thao táclàđược xắp xếp tuần
tự mà ta muốn máy tính thì từ
mà khi thực hiện nó thực
hiện.
Input đưa vào ta sẽ lấy ra được
Output.
Các dạng
thuật toán
- Liệt kê.
- Sơ đồ khối
Nắm
Input: thông tin
Các thànhvững các biểu tƣợng đưa vào
qui ƣớc để vẽ SĐK. liệu được xuất ra.
Output: dữ
trong bài toán