Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
1,38 MB
Nội dung
CÂY NHỊ PHÂN TÌM KIẾM TMT 1 NộI DUNG 1. Các khái niệm 2. Đặc điểm 3. Hình dạng 4. Các khái niệm 5. Định nghĩa kiểu dữ liệu 6. Các lưu ý khi cài đặt 7. Các thao tác 2 CÁC KHÁI NIệM Bậc của một nút: là số cây con của nút đó. Nút gốc: là nút không có nút cha. Nút lá: là nút có bậc bằng 0. Nút nhánh: là nút có bậc khác 0 và không phải là gốc. 2 2 2 110 0 0 0 3 Mức 3 Mức 2 Mức 1 Mức 0 CÁC KHÁI NIệM (TT) Độ dài đường đi từ gốc đến nút x: là số nhánh cần đi qua kể từ gốc đến x. Độ cao của cây: Độ dài đường đi từ gốc đến nút lá ở mức thấp nhất. 4 Đặ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 bất kỳ luôn lớn hơn giá trị của tất cả các node bên trái và nhỏ hơn giá trị tất cả các node bên phải Nút có giá trị nhỏ nhất nằm ở trái nhất của cây Nút có giá trị lớn nhất nằm ở phải nhất của cây 7 7 7 7 3 3 36 36 1 1 6 6 15 15 40 40 23 23 4 4 5 Nút ĐịNH NGHĨA KIểU Dữ LIệU typedef struct TNODE { <Data> Key; struct TNODE *pLeft, *pRight; } *TREE; Giá trị Trỏ trái Trỏ phải TNODE Key pLeft pRight 6 VÍ Dụ KHAI BÁO CÂY NHị PHÂN BIểU DIễN CÁC NODE LÀ Số NGUYÊN typedef struct TNODE { int Key; struct TNODE *pLeft, *pRight; } *TREE; 7 CÁC LƯU Ý KHI CÀI ĐặT Bước 1: Khai báo kiễu dữ liệu biểu diễn cây Bước 2: Xây dựng hàm đưa dữ liệu (nhập) vào cây Bước 3: Xây dựng các thao tác duyệt, tìm kiếm, huỷ, … Các lưu ý khác: 1. Trước khi tạo node mới phải xin cấp phát vùng nhớ. 2. Trước khi tạo cây mới phải khởi tạo cây rỗng. 3. Trước khi kết thúc chương trình phải huỷ cây (giải phóng vùng nhớ). 8 CấU TRÚC CHƯƠNG TRÌNH Khai báo cấu trúc cây Khởi tạo cây rỗng Xây dựng cây Các thao tác Hủy cây 9 CÁC THAO TÁC 1. Xây dựng cây 2. Duyệt cây 3. Cho biết các thông tin của cây 4. Tìm kiếm 5. Xoá node trên cây 10 [...]... dựng cây 2 Duyệt cây 3 Cho biết các thông tin của cây 4 Tìm kiếm 5 Xoá node trên cây 31 CÁC THAO TÁC 1 Xây dựng cây 2 Duyệt cây 3 Cho biết các thông tin của cây 4 Tìm kiếm 5 Xoá node trên cây 32 CHO BIếT CÁC THÔNG TIN CủA CÂY 1 2 3 4 5 6 7 8 9 Số node lá (node bậc 0) Số node có 1 cây con (node bậc 1) Số node chỉ có 1 cây con phải Số node có 1 cây con trái Số node 2 cây con (node bậc 2) Độ cao của cây. .. vị trí m-1 lùi về trái vào cây theo nguyên tắc xây dựng cây Lần lượt đưa các giá trị bắt đầu từ vị trí m+1 đến cuối vào cây theo nguyên tắc xây dựng 26 cây BÀI TẬP Bài 6 Hãy vẽ cây nhị phân tìm kiếm T biết rằng khi duyệt cây T theo thứ tự Left-Right-Node thì được dãy sau: 1, 4, 7, 5, 3, 16, 18, 15, 29, 25, 30, 20, 8 Hãy duyệt cây T trên theo thứ tự Node-LeftRight Cây T có chiều cao là bao nhiêu?... LRN(t->pRight); Duyệt cây con bên phải cout . cần đi qua kể từ gốc đến x. Độ cao của cây: Độ dài đường đi từ gốc đến nút lá ở mức thấp nhất. 4 Đặ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 bất kỳ luôn lớn. trình phải huỷ cây (giải phóng vùng nhớ). 8 CấU TRÚC CHƯƠNG TRÌNH Khai báo cấu trúc cây Khởi tạo cây rỗng Xây dựng cây Các thao tác Hủy cây 9 CÁC THAO TÁC 1. Xây dựng cây 2. Duyệt cây 3. Cho biết. TÁC 1. Xây dựng cây 2. Duyệt cây 3. Cho biết các thông tin của cây 4. Tìm kiếm 5. Xoá node trên cây 14 CÁC THAO TÁC 1. Xây dựng cây 2. Duyệt cây 3. Cho biết các thông tin của cây 4. Tìm kiếm 5.