Các toán tìm thuật kiếm - Tin học (Tin học căn bản) | Trường Đại học Nam Cần Thơ
Các toán tìm thuật kiếm - Tin học (Tin học căn bản) | Trường Đại học Nam Cần Thơ được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!
Môn: Tin học (Tin học căn bản)
Trường: Đại học Nam Cần Thơ
Thông tin:
Tác giả:
Preview text:
Các toán tìm thuật kiếm 1, Tìm kiếm tuần tự
-Duyệt mảng (dãy số) để tìm For i:=1 to N do If a[i]=X then ; Break;exit; 2, Tìm kiếm nhị phân
Function TKNP(X, L, R:longint);boolean; Var giua:longint; Begin While LBegin Giua:=(L+R) div 2; If a[giua]=X then exit(true);
If a[giua]>X then R:=giua-1; Else L:=giua+1; End; Exit(false); End;
3, Tìm vị trí của X xa nhất về bên phải
Function TKNP2(X,L,R:longint);longint; Var giua:longint; Find:boolean; Begin Find:=false; While LBegin Giua:=(L+R) div 2; If a[giua]>=X then Begin If X=a[giua] then Begin find:=true; TKNP2:=giua; L:=giua+1; End Else R:=giua-1; End; If find=false then Exit(0); End;
4, Tìm vị trí của X xa nhất về bên trái
Function TKNP3(X,L,R:longint);longint; Var giua:longint; Find:boolean; Begin Find:=false; While LBegin Giua:=(L+R) div 2; If a[giua]<=X then begin If X=a[giua] then begin find:=true; TKNP3:=giua; End; R:=giua-1; End; Else L:=giua+1; End; If find=false then Exit(0); End;