... tác trêncâynhịphântìm kiếm
Tạo 1 cây rỗng
Tạo 1 nút có trường Key bằng x
Thêm 1 nút vào câynhịphântìm kiếm
Xoá 1 nút có Key bằng x trên cây
Tìm 1 nút có khoá bằng x trên cây
Cấu ... liệu và thuật giải
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1
Click To Edit Master Title Style
3
Ưu điểm của câynhịphântìm kiếm
•
Nhờ trật tự bố trí khóa trêncây :
–
Định hướng được khi tìm kiếm
•
Cây ... Title Style
2
Ðịnh nghĩa câynhịphântìm kiếm
•
Cây nhịphân
•
Bảo đảm nguyên tắc bố trí khoá tại mỗi nút:
–
Các nút trong cây trái nhỏ hơn nút hiện hành
–
Các nút trong cây phải lớn hơn nút hiện...
... trái
Cân bằng lại cây : tìm cách bố trí lại cây sao cho
chiều cao 2 cây con cân đối:
Kéo nhánh cao bù cho nhánh thấp
Phải bảo đảm cây vẫn là Nhịphântìm kiếm
Cấu trúc dữ liệu và thuật giải
CẤU ... LIỆU VÀ GIẢI THUẬT 1
Click To Edit Master Title Style
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1
1
NỘI DUNG
CÂY NHỊPHÂNTÌMKIẾM CÂN BẰNG
Cấu trúc dữ liệu và thuật giải
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1
Click ... trúc dữ liệu và thuật giải
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1
Click To Edit Master Title Style
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1
2
Ðịnh nghĩa
Cây nhịphântìmkiếm cân bằng là cây mà tại mỗi nút...
... TNODE *TREE;
3. CÂYNHỊPHÂNTÌM KIẾM
3.1. Định nghĩa:
Cây nhịphântìmkiếm (CNPTK) là câynhịphân trong đó tại mỗi nút,
khóa của nút đang xét lớn hơn khóa của tất cả các nút thuộc cây con trái ...
Cây nhịphân tương ứng sẽ như sau:
2.6. Một cách biểu diễn câynhịphân khác
Đôi khi, trêncâynhị phân, người ta quan tâm đến cả quan hệ chiều
cha con. Khi đó, cấu trúc câynhịphân ... Bài 4:CÂY, CÂYNHỊ PHÂN, CÂYNHỊPHÂNTÌM KIẾM
1. Cấu trúc cây
1.1. Định nghĩa 1:
Cây là một tập hợp T các phần tử (nút trên cây) trong đó có 1 nút đặc
biệt T0...
... Câytìmkiếmnhịphân
Cây tìmkiếmnhịphân (viết tắt tiếng Anh: BST - Binary Search Tree) là một cấu
trúc dữ liệu rất thuận lợi cho bài toántìm kiếm.
Định nghĩa
Cây tìmkiếmnhịphân
Cây tìm ... trúc Câynhịphântìmkiếm còn được ứng dụng trong
việc tra từ điển.
Dưới đây là một vài giới thiệu về Cây và Câynhịphântìm kiếm.
A. Cây
Ví dụ về một câynhị phân
Trong khoa học máy tính, cây ... tìmkiếm mà chúng tôi đề cập đến ở đây
chính là Câytìmkiếmnhị phân. Câytìmkiếmnhịphân được xây dựng bằng
ngôn ngữ C++. Đây là một cấu trúc dữ liệu rất thuận lợi cho bài toántìm
kiếm. ...
... vào
cây nhịphântìmkiếm
- Xóa 1 nút: là nút lá, là nút có 1 nhánh con, là nút có 2 nhánh con.
- Duyệt câynhịphântìm kiếm: để có thể đi được hết các phần tử trêncâynhịphântìm kiếm: ... thao tác cơ bản trêncâynhịphântìm kiếm:
- Thêm 1 nút: dựa vào tính chất của câynhịphântìmkiếm để tìm vị trí thêm nút mới.
o Tạo cây: từ cây rỗng, lần lượt thêm các nút vào cây bằng phương ... nguyên trêncâynhịphântìmkiếm gồm các giá trị nguyên.
Gợi ý: dựa vào tính chất 1, 2 của câynhịphântìm kiếm.
3. Bổ sung chương trình mẫu cho phép tính số lượng các nút của câynhị phân...
... Câynhịphântìmkiếm 4
a. Định nghĩa và tính chất 4
b.Giải thuậttìmkiếm 5
c. Giải thuật bổ sung 5
d. Giải thuật loại bỏ 6
f. Phân tích đánh giá 6
II. CÂYNHỊPHÂN CÂN BẰNG 6
2.1. Câynhịphân ... log2(n).
II. CÂYNHỊPHÂN CÂN BẰNG
2.1. Câynhịphân cân bằng hoàn toàn (CCBHT)
a. Định nghĩa:
Cây cân bằng hoàn toàn là câynhịphântìmkiếm mà tại mỗi nút của nó, số nút của
cây con trái ... hoàn toàn là cây AVL, nhưng cây AVL chưa chắc đã là cây cân bằng
hoàn toàn. Tính cân đối của cây AVL nhẹ hơn so với tính cân đối của câynhịphân cân bằng
hoàn toàn.
Cây nhịphântìmkiếm mà luôn...
... nhị phân
A
B
C
D
E
a) câynhiphân
lệch trái
a
A
B
C
D
E
b) Câynhị phân
lệch phải
b
A
C
B
D
E
D
A
B
C
E
d
c
c, d) Câynhịphân
Cây zic- zắc
I.ĐỊNH NGHĨA
Cây nhịphân là cây có các nút đã được ... cây con còn lại (theo thứ tự
trước)
Một số dạng đặc biệt của câynhịphân
(tiếp)
Cây nhịphân gần đầy
A
C
G
H
B
E
J
D
F
I
A
C
G
B
E
J
D
F
H
I
Cây nhịphân hoàn
chỉnh
A
C
G
B
E
D
F
Cây nhị ...
Duyetgoc(T^.Node);
T_T_truoc(T^.Left);
T_T_truoc(T^.Right);
End;
End;
IV.MỘT SỐ THAO TÁC TRÊN
CÂY NHỊ PHÂN
1.Trả ra một phần tử có khoá đã biết.
2.Chèn một phần tử vào câynhị phân
3.Xoá một phần tử khỏi câynhị phân
Khai báo cây (Dùng danh sách móc nối)
Type
Item_Type=Record
Key:...
... - Khoa CNTT ĐH KHTN Tp.HCM 45
Cây nhịphântìm kiếm
Định nghĩa
! Câynhịphântìmkiếm là:
! Một câynhị phân
! Mỗi nút p của cây đều thỏa:
! Tất cả các nút thuộc cây con trái (p->pLeft) đều ... Khoa CNTT ĐH KHTN Tp.HCM 49
Cây nhịphântìm kiếm
Xây dựng các thao tác cơ bản trên cây
! Các thao tác trêncây BST:
! Tạo lập cây rỗng
! Kiểm tra cây rỗng
! Tìmkiếm 1 phần tử
! Thêm 1 phần ... 62
Cây nhịphântìm kiếm
Xây dựng các thao tác cơ bản trên cây
! Thao tác xóa 1 phần tử:
! Áp dụng giải thuậttìmkiếm để xác định nút
chứa phần tử cần xóa
! Nếu tìm thấy, xóa phần tử đó khỏi cây
!...
... CNTT ĐH KHTN Tp.HCM 77
Cây nhịphântìmkiếm cân bằng
(AVL Tree)
! Vì sao phải cân bằng ?
! Định nghĩa
! Ví dụ
! Mô tả cấu trúc dữ liệu
! Thao tác điều chỉnh cây
! Ví dụ tạo cây
! Các đánh giá
Spring ... Bal = -1: nút lệch trái (cây con trái cao hơn
cây con phải)
! Bal = 0: nút cân bằng (cây con trái cao bằng
cây con phải)
! Bal = +1: nút lệch phải (cây con phải cao hơn
cây con trái)
45
Spring ... cân bằng ?
! Cây AVL là 1 dạng cây BST cân bằng
! Cấu trúc cây AVL do 3 tác giả: Adelson,
Velskii, Landis đề xuất năm 1962
! Đây là mô hình cây cân bằng động đầu tiên
được đề xuất
! Cây AVL không...
... TNODE *TREE;
3. CÂYNHỊPHÂNTÌM KIẾM
3.1. Định nghĩa:
Cây nhịphântìmkiếm (CNPTK) là câynhịphân trong đó tại
mỗi nút, khóa của nút đang xét lớn hơn khóa của tất cả các nút thuộc
cây con trái ... thuộc cây con phải.
Dưới đây là một ví dụ về câynhịphântìm kiếm:
9
Biểu diễn cây tổng quát bằng câynhịphân
Nhược điểm của các cấu trúc cây tổng quát là bậc của các nút
trên cây có ... hình sau:
Cây nhịphân tương ứng sẽ như sau:
8
MÔ PHỎNG THUẬTTOÁN XÓA NÚT BẤT KỲ
TRÊNCÂYNHỊ PHÂN
Cấu trúc cây
Định nghĩa:
Cây là một tập hợp T các phần tử (nút trên cây) trong đó...
... ủ
A
D
C
G
E
B
F
Ví dụ: Biểu diễn biểu thức: a*b+c/2 bằng câynhịphân sau:
•
*!+!'I*.+12 !+!'!," " /&!*9ứ ự
Đối với cây, ngoài quan hệ cha con người ta còn mở ... "(*I&!" ộ ế
"K9
D
C
B
A
D
C
B
A
a b c d
a là cây lệch trái. b là cây lệch phải, c, d là cây zíc zắc.
D
C
B
A
D
C
B
A
Trường hợp thứ hai: trước khi xóa X ta móc nối ... con người ta còn mở rộng phỏng
theo quan hệ trong gia tộc.
Rừng : Nếu có một tập hữu hạn các câyphân biệt thì ta gọi tập đó
là rừng.
C
A
B B
A
C
,*A:""6!+ +ị
•
...
... khả năng phân tích yêu cầu tìmkiếm nhanh, kết
quả trả về chất lượng, phù hợp với yêu cầu tìm kiếm.
21
2.1.3 Thuậttoán Boyer-Moore
Thuậttoán Boyer Moore là thuậttoán có tìmkiếm chuỗi ... 18
2.1.1 Thuậttoán Brute Force 18
2.1.2 Thuậttoán Knuth Morris Pratt 19
2.1.3 Thuậttoán Boyer-Moore 21
2.2 So sánh các thuậttoán 22
CHƯƠNG III: THỬ NGHIỆM XÂY DỰNG MÁY TÌMKIẾM 23
3.1 ... the web) 15
1.4.8 Tìmkiếm 15
1.4.9 Hệ thống xếp hạng 16
CHƯƠNG II: CÁC THUẬTTOÁN ĐỐI SÁNH MẪU CHO HỆ THỐNG TÌMKIẾM
THÔNG TIN TRÊN MẠNG 17
2.1 Giới thiệu một số thuậttoán đối sánh mẫu...