Tải bản đầy đủ (.pdf) (10 trang)

Bài tập công nghệ thông tin: Tìm giá tr X = 85 (Tìm th y) pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (167.46 KB, 10 trang )

1 12 34 4623 59 69 77
11
Minh Họa
59
9085
69 777 12 34 4623
L
Tìm giá trị X = 85 (Tìm thấy)
M
X
Mid = 5
M[mid]= 46
X > M[mid]
© Dương Thành Phết-www.thayphet.net
Khoa CNTT Trường Cð CNTT TP.HCM
F
This is trial version
www.adultpdf.com
7 12 34 4623 59 69 77
12
Minh Họa
59
9085
69 77
Tìm giá trị X = 85 (Tìm thấy)
M
X
Mid = 8
M[mid] = 77
X > M[mid]
© Dương Thành Phết-www.thayphet.net


Khoa CNTT Trường Cð CNTT TP.HCM
F
L
This is trial version
www.adultpdf.com
7 12 34 4623 59 69 77
13
Minh Họa
9085
Tìm giá trị X = 85 (Tìm thấy)
ðã tìm
thấy tại
vị trí 9
M
X
Mid = 9
M[mid] = 85
X = M[mid]
© Dương Thành Phết-www.thayphet.net
Khoa CNTT Trường Cð CNTT TP.HCM
LF
This is trial version
www.adultpdf.com
Minh Họa
Tìm kiếm phần tử có giá trị X = 5 (tìm thấy):
True54False443
TrueFalseFalse43False432
TrueFalseFalse32False411
FalseTrueFalse85False101B.ñầu
X>

M[Mid]
X<
M[Mid]
X=
M[Mid]
M[Mid]Mid
First>L
ast
LastFirst
Lần
lặp
© Dương Thành Phết-www.thayphet.net
Khoa CNTT Trường Cð CNTT TP.HCM
Giả sử dãy M gồm 10 phần tử có khóa như sau (N = 10).
2 3 4 5 8 15 17 22 25 30
14
This is trial version
www.adultpdf.com
 Minh Họa
Tìm kiếm phần tử có giá trị X = 7 (không tìm thấy)
True454
TrueFalseFalse 54False443
TrueFalseFalse43False432
TrueFalseFalse32False411
FalseTrueFalse85False101B.ñầu
X>
M[Mid]
X<
M[Mid]
X=

M[Mid]
M[Mid]Mid
First>
Last
LastFirst
Lần
lặp
© Dương Thành Phết-www.thayphet.net
Khoa CNTT Trường Cð CNTT TP.HCM
Giả sử dãy M gồm 10 phần tử có khóa như sau (N=10).
1 3 4 5 8 15 17 22 25 30
15
This is trial version
www.adultpdf.com
16
 Giải thuật:
B1: First = 1
B2: Last = N
B3: IF (First > Last)
B3.1: Không tìm thấy
B3.2: Thực hiện Bkt
B4: Mid = (First + Last)/ 2
B5: IF (X = M[Mid])
B5.1: Tìm thấy tại vị trí Mid
B5.2: Thực hiện Bkt
B6: IF (X < M[Mid])
B6.1: Last = Mid – 1
B6.2: Lặp lại B3
B7: IF (X > M[Mid])
B7.1: First = Mid + 1

B7.2: Lặp lại B3
Bkt: Kết thúc
© Dương Thành Phết-www.thayphet.net
Khoa CNTT Trường Cð CNTT TP.HCM
This is trial version
www.adultpdf.com
17
 Cài ðặt
int Timnhiphan(int M[ ], int N, int X){
int First = 1; int Last = N;
while (First <= Last){
int Mid = (First + Last)/2;
if (X == M[Mid])
return Mid;
if (X < M[Mid])
Last = Mid – 1;
else
First = Mid + 1;
}
return -1;
}
© Dương Thành Phết-www.thayphet.net
Khoa CNTT Trường Cð CNTT TP.HCM
 ðánh giá giải thuật
ðộ phức tập tính toán cấp n: T(n)=O(Log
2
n)
This is trial version
www.adultpdf.com
18

2.2 Các giải thuật sắp xếp
© Dương Thành Phết-www.thayphet.net
2.2.1. Bài toán sắp xếp
2.2.2. Giải thuật ñổi chổ trực tiếp –Interchange Sort
2.2.3. Giải thuật chọn trực tiếp-Selection Sort
2.2.4. Giải thuật chèn trực tiếp-Insert Sort
2.2.5. Giải thuật nổi bọt – Bubble Sort
2.2.6. Giải thuật nhanh – Quick Sort
Khoa CNTT Trường Cð CNTT TP.HCM
This is trial version
www.adultpdf.com
19
2.2.1. Bài Toán Sắp Xếp
 ðể thuận tiện và giảm thiểu thời gian thao tác mà ñặc
biệt là ñể tìm kiếm. Do vậy sắp xếp dữ liệu là một trong
những thao tác cần thiết và thường gặp trong quá trình
lưu trữ, quản lý dữ liệu.
 Sắp xếp là quá trình xử lý một danh sách các phần tử
ñể ñặt chúng theo một thứ tự tăng hoặc giảm dựa trên
nội dung lưu trữ trên mỗi phần tử.
 Có rất nhiều thuật toán sắp xếp song chúng ta chỉ
quan tâm ñến 5 giải thuật sắp xếp thường sử dụng.
© Dương Thành Phết-www.thayphet.net
Khoa CNTT Trường Cð CNTT TP.HCM
This is trial version
www.adultpdf.com
20
© Dương Thành Phết-www.thayphet.net
Khái niệm về nghịch thế:
a

n
a
n-1
. . . . . . . . . . a
3
a
2
a
1
Giả sử mảng có thứ tự tăng dần, nếu i<j và a
i
>a
j
thì
gọi là
nghịch thế
Mục tiêu của sắp xếp là khử các nghịch thế(bằng
cách hoán vị các phần tử)
Khoa CNTT Trường Cð CNTT TP.HCM
This is trial version
www.adultpdf.com

×