Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
168 KB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM TPHCM Khoa Toán – Tin ĐỀ TÀI BÁO CÁO CÂY NHỊ PHÂN Lê Thị Thu Hà Nguyễn Thị Yến Nguyễn Thị Hồng Loan CÁC KHÁI NIỆM VỀ CÂY 1)Cây: a- Khái niệm :là đồ thị vô hướng không có chu trình. b-Cây có gốc :là cây có hướng ,có đỉnh ,có đường đi tới mọi đỉnh khác. 2)Cây nhị phân-cây nhị phân tìm kiếm a- Cây nhị phân :là cây mà tại mỗi nút có tối đa 2 con. b- Cây nhị phân tìm kiếm :là cây nhị phân mà giá trị của những nút bên trái nhỏ hơn giá trị của những nút bên phải. TÀI LIỆU THAM KHẢO • Nhập môn cấu trúc dữ liệu và giải thuật • Web:http//:cplusplus.com MỘT SỐ KHÁI NIỆM CƠ BẢN 1) Bậc của một nút :là số cây con của nút đo. 2) Bậc của một cây :là bậc lớn nhất của các nút trong cây(số cây con tối đa của một nút thuộc cây).Cây có bậc n thì gọi là cây n-phân. 3) Nút gốc :là nút không có nút cha. 4) Nút lá :là nút có bậc bằng 0. 5) Nút nhánh :là nút có bậc khác 0 và không phải là gốc. 6) Mức của một nút: -Mức(gốc (T))=0. - Gọi T 1 ,T 2 ,…,T n là các cây con của T. Mức(T 1 )=Mức(T 2 )=…=Mức(T n )=Mức(Tn)+1 MỘT SỐ ỨNG DỤNG CỦA CÂY Tính giá trị của biểu thức (12*5)+[4*(7+2)] + * * + 12 5 7 2 4 Sơ đồ tổ chức của một công ty BB-Electronic Corp R & D Kinh Doanh Tài vụ Sản xuất Nôi địa Các nướcChâu Âu Mỹ Quốc tế TV CD Amplier Tổ chức cây thư mục trong Windows Tổ chức cây thư mục trong MS-DOS NỘI DUNG TRÌNH BÀY 1)Nhập và xuất cây. 2)Duyệt cây. 3)Thêm,xóa và hủy cây. 4)Xử lí nút lá. 5)Tìm chiều cao của cây. CHI TIẾT TỪNG HÀM [...]...NHẬP CÂY 1) Khởi tạo :sử dụng hàm init_tree 2) Chèn nút :sử dụng hàm insert XUẤT CÂY 1)Ý tưởng :duyệt cây theo từng tầng 2)Mã giả: Function xem_tungtang { tầng =1 //xuất gốc tầng >1 tầng //trả về tầng trên của tầng đó xuất con trái xuất con phải } VÍ DỤ MINH HỌA Tầng 1 5 Tầng 2 Tầng 3 3 2 8 4 6 9 DUYỆT CÂY NHỊ PHÂN 1)Duyệt cây tiền thứ tự (NLR) 2)Duyệt cây trung thứ tự (LNR) 3)Duyệt cây hậu thứ... tổng 2)Mã giả: Function sonutla { if( t= NULL ) return 0; else { if (p->pl !=NULL&& p->pr != NULL) return(sonutla(t->pl) + sonutla(t->pr)); return 1; } } TÍNH CHIỀU CAO CỦA CÂY 1)Ý tưởng :tính chiều cao của cây con trái(h1) và cây con phải(h2) Tính max(h1,h2)+1 2)Mã giả : Function chieucao { h1 = h2 = 0; h1 = chieucao (t=>pl); h2 = chieucao(t->pr); return max(h1,h2) +1; } DEMO THANKS ... xuất con phải } VÍ DỤ MINH HỌA Tầng 1 5 Tầng 2 Tầng 3 3 2 8 4 6 9 DUYỆT CÂY NHỊ PHÂN 1)Duyệt cây tiền thứ tự (NLR) 2)Duyệt cây trung thứ tự (LNR) 3)Duyệt cây hậu thứ tự (LRN) THÊM,XÓA ,HỦY CÂY 1) Thêm nút 2) Hủy cây (lưu ý:sau khi hủy phải khởi tạo ) 3) Xóa một nút có giá trị x 3.1- XÓA X KHÔNG LÀ NÚT GỐC -Gọi p là nút cần xóa -Gọi q là nút cha của p - Gọi t là cờ lưu hướng của p đối với q + t=0: p... q; NULL T 7 NULL NULL T có con phải =NULL Node *q=T; T=T->pl; T Delete q; 6 5 NULL NULL NULL • T có con phải và con trái:sử dụng lại hàm xóa nút có 2 con trái và con phải XỬ LÍ NÚT LÁ 1)Ý tưởng :duyệt cây con trái và phải cho đến khi chúng bằng NULL thì xuất giá trị và kết thúc 2)Mã giả: Function lietkela { if(t!=NULL) lietkela(t->pl); if(p->pl= =NULL && p->pr= =NULL) xuat(t->Info); lietkela(t->pr)... (p->pl=NULL) q q->pl =p->pr; Delete p; 3 p 1 NULL 2 NULL NULL b) P không có con phải(p->pr=NULL) q->pl=p->pr; delete p; q p 3 1 0 NULL NULL c) P có con trái và con phải -Gọi p1 là phần tử có giá trị lớn nhất của cây con bên trái p p p->Info=p1->Info; -Gọi q1 là cha của p1 q1 3 +q1 !=p: q1->pr=p1->pl; 2 delete p1; +q1= p:p->pl=p1->pl NULL NULL delete p1 q 7 5 6 4 p1 3.2- Xóa p là nút gốc T không có con trái và . đường đi tới mọi đỉnh khác. 2 )Cây nhị phân -cây nhị phân tìm kiếm a- Cây nhị phân :là cây mà tại mỗi nút có tối đa 2 con. b- Cây nhị phân tìm kiếm :là cây nhị phân mà giá trị của những nút. Tin ĐỀ TÀI BÁO CÁO CÂY NHỊ PHÂN Lê Thị Thu Hà Nguyễn Thị Yến Nguyễn Thị Hồng Loan CÁC KHÁI NIỆM VỀ CÂY 1 )Cây: a- Khái niệm :là đồ thị vô hướng không có chu trình. b -Cây có gốc :là cây có. 3 5 96 4 3 2 8 DUYỆT CÂY NHỊ PHÂN 1)Duyệt cây tiền thứ tự (NLR). 2)Duyệt cây trung thứ tự (LNR). 3)Duyệt cây hậu thứ tự (LRN). THÊM,XÓA ,HỦY CÂY 1) Thêm nút 2) Hủy cây (lưu ý:sau khi hủy