1
GIỚI THIỆU MÔN HỌC Tóm tắt nội dung:
Bài 1: Danh sách liên kết
Bài 2: Một số phương pháp sắp xếp
Bài 3: Hàm băm
Bài 4: Cây, cây nhị phân, cây nhị phân tìm kiếm, cây cân
bằng
Bài 5: Cây đỏ đen
Bài 6: B-cây, cây 2-3-4
Bài 7: Các đống nhị thức
Bài 8: Các đống Fibonaci
Bài 9: Các tập rời nhau
Bài 10: Các thuật toán so khớp chuỗi
Tài liệu tham khảo:
1) Data Structures, Algorithms, and Object-Oriented
Programming. NXB McGraw Hill; Tác giả Gregory
Heilleman -1996
2) Advanced Data Structures. NXB McGraw Hill - 1990; Tác
giả Thomas H. C., Charles E.L., and Ronald L.R.
3) Giáo trình thuật toán. NXB Thống kế 2002. Nhóm Ngọc
Anh Thư dịch
4) Algorithms and Data Structures in C++; Tác giả Alan Parker 2
Bài 1: Danh sách liên kết
{
}S
Vphầ
n
sử d
Ta
c
NODTA
I
NO
D
VD
II.
C
Giả
typ
e
{
trỏ Head
áo:
pHead;
ản lý địa c
báo như s
Tail;
tác cơ bản
c định ng
truct tagN
nfo;
agNode*
truct tagL
Node* pN
ong danh
truy xuất
để lưu trữ
chỉ cuối c
sau:
n trên dan
hĩa:
Node
pNext;
List
3
Next;
h sách sẽ
t được cá
LIS
1.C
h
Có
3
Các Th
u
Bắt
Nế
u Cài
Cá
c
NODE
NODE
ST;
DE *n
ợc tạo
a x; //
B21 : new_
B22 : pHea
èn vào cu //
g tin về
m
a chỉ đầu,
vào da
n
èn new_
u danh sác
Thì
ad = new
il = pHea
_ele ->pN
ad = new
uối danh
4
giữ địa
một phần
địa chỉ
c
nh sách:
_ele vào x
ch
w_ele;
d;
Next = pH
Th
u
Bắt
Nế
uCài
2.
T
Th
u
uật toán :
đầu :
u Danh sá
B11 : p
B12 : p
ược lại
B21 :
p
B22 : p
ch 3 : Ch
uật toán :
đầu :
u ( q != N
B
ew_ele;
h sau một
Next = q-
ew_ele ;
nh sách đ
t phần tử
->pNext;
đơn
ử q Bư
ớ
Bư
ớBư
ớCài 3.
H
Hủ
y
đầu:
Nếu (
p
B1: p
B2:
B
B
B3: N
y một ph
ead; //Ch
khi (p !=
->pNext;/
!= NULL
lại: khôn
phần tử k
ử đầu xâu
pHead !=
= pHea
d
B21 : pHe
B22 : free
Nếu pHead
ần tử đứ
o p trỏ đế
NULL) v
// Cho p tr
L thì p trỏ
ng có phần
khỏi dan
y biến độn
l = NULL
q
nh sách
thực hiện
m
cần hủy
ách p ra k
ng do p tr
L; //Xâu r
n:
khỏi xâu
rỏ đến
rỗng