... 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ên câ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án tì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 ... sách các nút biểu diễn một cây tổng quát, khi
được xem là biểu diễn của câynhịphân sẽ cho một câynhị phân. Câynhịphân này được
gọi là câynhịphân tương đương với cây tổng quát ban đầu.
5
...
...
- Duyệt câynhịphântìm kiếm: để có thể đi được hết các phần tử trên câynhịphântìm kiếm:
duyệt trước (NLR), duyệt giữa (LNR), duyệt sau (LRN). Do tính chất của câynhịphântìm
kiếm, phép ... nguyên trên câ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 gồm ... 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 thức thêm nút vào
cây nhịphântìmkiếm
- Xóa 1 nút: là...
... Câynhịphântìmkiếm 4
a. Định nghĩa và tính chất 4
b.Giải thuật tì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 ... câynhị
phân
! Xem lại phần “Tổng quan về câynhịphân
-Cách thức lưu trữ cây
27
Spring 2004Data Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 53
Cây nhịphântìm kiếm
Xây ... Tp.HCM 47
Cây nhịphântìm kiếm
Vídụ
Spring 2004Data Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 48
Cây nhịphântìm kiếm
Môtảcấu trúc dữ liệu
! Cách lưu trữ cây BST giống...
... 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...
... tác trên câ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 ... Style
1
NỘI DUNG
CÂY NHỊPHÂNTÌM KIẾM
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 To Edit Master Title Style
2
Ðịnh nghĩa câynhịphântìm kiếm
•
Cây nhịphân
•
Bảo đảm ... X trên cây
Hủy 1 phần tử trên cây phải đảm bảo điều kiện ràng
buộc của Câynhịphântìm kiếm
Có 3 trường hợp khi hủy 1 nút trên cây
TH1: X là nút lá
TH2: X chỉ có 1 cây con (cây con...
... hủy bê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à ... 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
của nó độ cao của cây con trái và của cây con phải
chênh lệch không quá một
Ví dụ:
44
23
88
13 ... độ lệch giữa cây trái và cây
phải của một nút
Các giá trị hợp lệ :
CSCB(p) = 0 ⇔ Độ cao cây trái (p) = Độ cao cây
phải (p)
CSCB(p) = 1 ⇔ Độ cao cây trái (p) < Độ cao cây
phải (p)
CSCB(p)...
... thức
truy nhập để tìmkiếm và lấy ra hàng đó. Oracle sẽ tiến hành chọn ra một phơng
thức truy nhập mà nó cho rằng tối u nhất tuỳ theo việc áp dụng luật tối u cơ bản
hay luật tối u ớc lợng giá.
6. ... bằng Index thì buộc phải duyệt toàn bộ.
6. Các luật tối u
Có hai luật tối u trong Oracle là luật tối u cơ bản và luật tối u ớc lợng giá.
6.1. Luật tối u cơ bản (rule-based)
Nội dung cơ bản của luật ... một hệ CSDL phân tán. Dù sao, CSDL phân tán có lợi trong sự phân tán dữ
liệu phản ánh các tiêu chuẩn phụ thuộc ứng dụng và số tối đa vị trí các ứng dụng.
Bằng phơng pháp này sẽ giảm tối thểu sự...
...
Hãy dùng bước này để làm rõ những quan sát ban đầu của bạn về vấn đề năng lực
3. Tìmkiếm sự thông hiểu
4. Tìmkiếm sự nhất trí
5. Khi sự nhất trí còn bị nghi ngờ, hãy quay lại bước 1 và bắt ... dưới trình bày, và hãy tìmkiếm những cảm xúc
ẩn đằng sau những lời nói đó.
* Nếu cấp dưới không đạt được mục tiêu của mình, hãy chuyển cuộc thảo luận
sang phầntìmkiếm nguyên nhân. Trong ... phòng cô được thực hiện đúng thời hạn là biết cách
phân nhiệm hiệu quả. Việc phân nhiệm cũng đảm bảo năng lực cấp dưới của cô
được sử dụng tối đa.
Nhưng trước khi bắt đầu, chúng ta hãy nhớ...
... 31 ta có một câynhịphân gần như đầy đủ.
9.2.2. Duyệt câynhịphân
Một trong các tác vụ quan trọng nhất được thực hiện trên câynhịphân là
duyệt cây (traversal). Một phép duyệt cây là một ... đổi trong cây
nhị phầntìmkiếm là một ưu điểm. Chúng ta cũng đã có một giải thuật thêm một
nút vào một câynhịphântìm kiếm, và nó có thể được sử dụng cho cả trường hợp
cập nhật lại cây cũng ... 9 – Câynhịphân
Giáo trình Cấu trúc Dữ liệu và Giải thuật
193
Trong phần sau chúng ta sẽ tìm hiểu các câynhịphân với đặc tính trên,
chúng còn được gọi là các câynhịphântìmkiếm (binary...
...
phân có 3 nút ?
Spring 2004Data Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 30
Tổng quan về câynhị phân
Cách thức lưu trữ cây
! Có 2 cách tổ chức câynhị phân:
! Lưu ... quan về câynhị phân
Định nghĩa
! Câynhịphân là cây có bậc = 2
*
0
/
a
b
c
d
Spring 2004Data Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 28
Tổng quan về câynhị phân
Định ... tree[N];// câynhịphân có N nút
15
Spring 2004Data Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 29
Tổng quan về câynhị phân
Định nghĩa
! Trắc nghiệm: Hãy vẽ tất cả các cây nhị...
...
5
1.3 CÂYNHỊPHÂN
a. Khái niệm cây
Cây là đồ thị đơn, vô hướng, liên thông và không có chu trình.
b. Khái niệm câynhịphân
Cây nhịphân là cây có hai dạng nút:
Nút ... hai con là con trái và con phải.
Câynhịphân đầy đủ là câynhị phân, trong đó tất cả các lá có cùng
khoảng cách tới gốc.
Số lượng các lá trong câynhịphân đầy đủ (có chiều cao k) là h = ... L
8
(từ B4.1)
10
2.2.2 Hàm tìm tập con chứa TBTDL làm rò rỉ khoá
Hàm Tim_j tìm tập con chứa TBTDL làm rò rỉ khoá, giống như phương
pháp tìmkiếmnhị phân, để tìm giá trị j tương ứng khoá...