...
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 44
Hàm thực hiện việc phân phối luân phiên các đường chạy có chiều dài L trên dãy M
có N phần tử về thành các dãy Temp1 và Temp2 ... Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 47
Phân phối M thành Temp1, Temp2:
M: 32 36 41 47 21 52 57 65...
...
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 40
X=50
K: 1 2 3 4 5 6 7 8 9
M: 5 14 16 20 25 50 60 60 75 75
K: 1 2 3 4 5 6 7 8 9
M: 5 14 16 20 25 50 50 60 75 75
X
Thuật ...
lần phân phối và trộn thì dãy M chỉ còn lại 01 run với chiều dài là N và khi đó dãy M
trở thành dãy có thứ tự.
Trong thuật...
...
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 33
K+1
M:
1 2 5 15 20 25 30 33 45
60
Sau laàn 9: K = 9 và mảng M trở thành:
M:
1 2 5 15 20 25 30 33 45 60
- Phân tích thuật ... Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 36
Laàn 6: K = 6 X = M[K+1] = M[7] = 5 Pos = 1
K: 1 2...
... Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 31
void SelectionSort(T M[], int N);
Hàm thực hiện việc sắp xếp N phần tử có kiểu dữ liệu T trên mảng M theo thứ tự
tăng dựa trên thuật ...
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 29
X = 30
J I
M: 3 5 10 15 20 25 25 30 55 45
X =...
... Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 27
Phân hoạch:
I J
M: 3 5 10 15 20 25 25 30 55 45
X = 3
I≡J
M: ... NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 24
Dãy con thứ hai (giữa dãy M) gồm các phần tử có giá trị bằng ... NOW!
P
D
F
-
X
C
h
a
n
g
e
V...
...
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 21
Hàm thực hiện việc sắp xếp N phần tử có kiểu dữ liệu T trên mảng M theo thứ tự
tăng dựa trên thuật toán sắp xếp nổi ... quy và Không đệ quy?
5. Vận dụng thuật toán tìm nhị phân, hãy cải tiến và cài đặt lại thuật toán tìm kiếm dựa
theo tập tin ch...
...
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 8
Chương 2: KỸ THUẬT TÌM KIẾM (SEARCHING)
2.1. Khái quát về tìm kiếm
Trong thực tế, khi thao tác, khai thác dữ liệu chúng ta ... Giáo trình: Cấu Trúc Dữ Liệu và Giải Thuật
Trang: 9
b. Thuật toán:
B1: k = 1 //Duyệt từ đầu mảng
B2: IF M[k] ≠ X A...
... địa chỉ cuối của danh sách liên kết
1.Chèn một phần tử vào danh sách:
Có 3 loại thao tác chèn new_ele vào xâu:
Cách 1: Chèn vào đầu danh sách
Thuật toán :
Bắt đầu:
Nếu Danh sách rỗng Thì
B11 ... phần tử đầu danh sách
DNODE* pTail;// trỏ đến phần tử cuối danh sách
}DLIST;
1. Chèn một phần tử vào danh sách:
Có 4 loại thao tác chèn new_ele vào danh sá...
... dãy đã sắp xếp. Trên đây là ý
tưởng của giải thuật sắp xếp cây.
2. Cấu trúc dữ liệu Heap
Tuy nhiên, để cài đặt thuật toán này một cách hiệu quả, cần
phải tổ chức một cấu trúc lưu trữ dữ liệu có ... Bài 2: Một số phương pháp sắp xếp
I. Thuật toán sắp xếp nhanh - Quick Sort
Ý tưởng:
Có dãy số: a1, a2, , an
Giải thuật QuickSort làm việ...
... thuộc vào kích thước của cấu trúc.
Trong bài này chúng ta sẽ khảo sát một cấu trúc dữ liệu mới được gọi là
bảng băm (hash table). Các phép toán trên bảng băm sẽ giúp hạn chế số lần so
sánh, và ... bảng dữ liệu.
Các phép toán trên các cấu trúc dữ liệu như danh sách, cây nhị phân,…
phần lớn được thực hiện bằng cách so sánh các phần tử của cấu trúc, do vậy thời...
... ĐỊNH NGHĨA CÂY ĐỎ ĐEN
Cây đỏ đen là một cây nhị phân tìm kiếm (BST) tuân thủ các quy tắc sau:
(hình 2)
(1) Mọi node phải là đỏ hoặc đen.
(2) Node gốc và các node lá (NIL) phải luôn luôn đen.
(3) ... BÀI 6: CÂY ĐỎ ĐEN
1. GIỚI THIỆU
Cây tìm kiếm nhị phân là một cấu trúc lưu trữ dữ liệu tốt với tốc độ
tìm kiếm nhanh.
Tuy nhiên trong một số trường hợp cây tìm kiế...
... anh em với node sẽ được tách và được đưa
vào bên phải của nó.
Mục dữ liệu C được đưa vào node mới.
5
Mục dữ liệu B được đưa vào node cha của node được tách.
Mục dữ liệu A không thay đổi.
Hai node ... các thao tác chèn vào một cây rỗng. Có 4 node được tách, 2
node gốc và 2 node lá.
Thêm vào 70 , 30, 50
Thêm 40
Thêm vào 20, 80
Thêm vào 25, 90
Thêm vào 75
8
30, 50, 70
Thêm...
... cây AVL có chiều cao O(log2(n)).
Ví dụ: cây AVL tối thiểu có chiều cao h=4
3
2.4. Cấu trúc dữ liệu cho cây AVL
Chỉ số cân bằng của một nút: Chỉ số cân bằng của một nút là hiệu của
chiều cao cây ... của cây AVL gồm:
Thêm một phần tử vào cây AVL.
Hủy một phần tử trên cây AVL.
Cân bằng lại một cây vừa bị mất cân bằng.
3.1. CÁC TRƯỜNG HỢP MẤT CÂN BẰNG...