
Cây nhị phân
lượt xem 124
download

Cây nhị phân: là cây mà mỗi nút có tối đa 2 cây con Cây nhị phân tìm kiếm : là cây nhị 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 và nhỏ hơn tất cả các nút thuộc cây con phải.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Cây nhị phân
- CÂY NHỊ PHÂN 1 TMT
- CÁC KHÁI NIỆM 1. Cấu trúc cây nhị phân 2. Các loại cây nhị phân a/ Cây nhị phân đúng (Strictly Binary Tree): Tất cả các nút đều có đúng hai con (ngoại trừ nút lá). A B C X F D E 2 G H I Y
- CÁC KHÁI NIỆM b/ Cây nhị phân đầy (Complete Binary Tree): là cây nhị phân đúng và tất cả các nút lá ở cùng mức. A B C G E F D IJ MN H L O 3 K
- ĐẶC ĐIỂM CÂY NHỊ PHÂN TÌM KIẾM Là cây nhị phân Giá trị của một node 7 bất kỳ luôn lớn hơn giá trị của tất cả các 3 36 node bên trái và nhỏ hơn giá trị tất cả các 1 6 15 40 node bên phải Nút có giá trị nhỏ 4 23 nhất nằm ở trái nhất của cây Nút có giá trị lớn 4 nhất nằm ở phải nhất của cây
- Cây nhị phân cân bằng (AVL): Một cây nhị phân được gọi là cây nhị phân cân bằng nếu và chỉ nếu đối với mọi nút của cây thì chiều cao của cây con bên trái và chiều cao của cây con bên phải hơn kém nhau nhiều nhất là 1 (Theo Adelson Velski và Landis). A B C F D E G HI J 5
- Cây nhị phân cân bằng hoàn toàn: Một cây nhị phân được gọi là cây nhị phân cân bằng hoàn toàn nếu và chỉ nếu đối với mọi nút của cây thì số nút của cây con bên trái và số nút của cây con bên phải hơn kém nhau nhiều nhất là 1 A B C E F E D 6 HI H
- ĐỊNH NGHĨA KIỂU DỮ LIỆU Giá trị Key TNODE Nút Trỏ trái Trỏ phải pLeft pRight typedef struct Node { Key; struct Node *Left, *Right; } *Tree; 7
- KHAI BÁO CÂY NHỊ typedef struct Node { int Key; struct Node *Left, *Right; } *Tree; 8
- XÂY DỰNG CÂY Ví dụ: có dãy số 20, 70, 30, 25, 35, 50, 80, 40, 60, 10 (3 trường hợp gốc là 50, gốc là, 10 hay gốc là 80) 9
- Ví dụ: có dãy số 20, 70, 30, 25, 35, 50, 80, 40, 60, 10 10
- Ví dụ: có dãy số 20, 70, 30, 25, 35, 50, 80, 40, 60, 10 11
- DUYỆT CÂY Thứ tự trước (NLR) Thứ tự giữa (LNR) Thứ tự sau (LRN) …… 12
- NLR 7 3 36 1 6 15 40 4 23 7 L7 R7 7 3 36 L3 R3 L36 R36 7 3 1 6 L6 36 15 R15 40 7 3 1 6 4 36 15 23 40 13
- NLR void NLR (TREE t) Tại node t đang xét, nếu { khác rỗng thì if(t!=NULL) . In giá trị của t { . Duyệt cây con bên trái cout
- LNR 7 3 36 1 6 15 40 4 23 L7 7 R7 L3 3 R3 7 L36 36 R36 1 3 L6 6 7 15 R15 36 40 15 1 3 4 6 7 15 23 36 40
- LNR void LNR (TREE t) Tại node t đang xét, nếu { khác rỗng thì if(t!=NULL) . Duyệt cây con bên trái { của t theo thứ tự LNR LNR(t>pLeft); . In giá trị của t cout
- LRN 7 3 36 1 6 15 40 4 23 L7 R7 7 L3 R3 3 L36 R36 36 7 1 L6 6 3 R15 15 40 36 7 17 1 4 6 3 23 15 40 36 7
- LRN void LRN (TREE t) { Tại node t đang xét, nếu if(t!=NULL) khác rỗng thì { . Duyệt cây con bên trái LRN(t>pLeft); của t theo thứ tự LRN LRN(t>pRight); . Duyệt cây con bên phải cout

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Cây nhị phân tìm kiếm
19 p |
452 |
124
-
Thuật toán cây nhị phân
18 p |
383 |
93
-
Bài 2.3:Cây nhị phân tìm kiếm
42 p |
102 |
17
-
Bài giảng Cấu trúc dữ liệu và thuật toán - Chương 4: Cây nhị phân
40 p |
116 |
15
-
Tài liệu hướng dẫn thực hành môn Cấu trúc dữ liệu và giải thuật - Bài 4: Cây nhị phân tìm kiếm
8 p |
106 |
10
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân tìm kiếm
6 p |
105 |
7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân - TS. Trần Ngọc Việt
44 p |
28 |
6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây và cây nhị phân - Nguyễn Mạnh Hiển (HKI năm 2020-2021)
40 p |
42 |
5
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân tìm kiếm - Nguyễn Mạnh Hiển (HKI năm 2020-2021)
26 p |
42 |
4
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 19: Cây nhị phân
24 p |
40 |
4
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 21: Cây nhị phân tìm kiếm
14 p |
45 |
4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân (tt) - Nguyễn Tri Tuấn
37 p |
33 |
3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân - Nguyễn Tri Tuấn
34 p |
31 |
3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân tìm kiếm - Phan Mạnh Hiển (2020)
25 p |
41 |
3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân - Nguyễn Mạnh Hiển
14 p |
67 |
3
-
Bài giảng Cấu trúc dữ liệu: Cây nhị nhân - TS. Lê Minh Trung & Th.S Lương Trần Ngọc Khiết
55 p |
26 |
2
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân tìm kiếm - Nguyễn Mạnh Hiển
22 p |
70 |
2


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
