intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

CÂY VÀ CÂY NHỊ PHÂN

Chia sẻ: Le Van Hiep Anh Hiệp | Ngày: | Loại File: PPT | Số trang:14

196
lượt xem
56
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cây là một tập hợp T các phần tử (gọi là nút của cây), trong đó có một nút đặc biệt gọi là nút gốc...

Chủ đề:
Lưu

Nội dung Text: CÂY VÀ CÂY NHỊ PHÂN

  1. Cấu trúc dữ liệu 1 vá thuật giải NỘI DUNG CÂY VÀ CÂY NHỊ PHÂN
  2. Định nghĩa cây • Cây là một tập hợp T các phần tử (gọi là nút của cây), trong đó có một nút đặc biệt gọi là nút gốc, các nút còn lại được chia thành những tập rời nhau T1, T2, …,Tn theo quan hệ phân cấp, trong đó Ti cũng là 1 cây. Mỗi nút ở Cấu trúc dữ liệu 1 vá thuật giải cấp i sẽ quản lý một số nút ở cấp i+1. Quan hệ này người ta gọi là quan hệ cha – con.
  3. Một số khái niệm • Bậc của một nút: là số cây con của nút đó . • Bậc của một cây: là bậc lớn nhất của các nút trong cây • 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 . Cấu trúc dữ liệu 1 vá thuật giải • Mức của một nút: – Mức (gốc (T) ) = 0. – Gọi T1, T2, T3, ... , Tn là các cây con của T0 : Mức (T1) = Mức (T2) = . . . = Mức (Tn) = Mức (T0) + 1. • Độ 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.
  4. Ví dụ 1 tổ chức dạng cây BB-Electronic Corp. R&D Kinh doanh Taøi vuï Saûn xuaát Cấu trúc dữ liệu 1 vá thuật giải Noäi ñòa Quoác teá TV CD Amplier Chaâu aâu Myõ Caùc nöôùc
  5. Cây nhị phân • Mỗi nút có tối đa 2 cây con Caây Caây con con Cấu trúc dữ liệu 1 vá thuật giải traùi phaûi
  6. Một số tính chất của cây nhị phân • Số nút nằm ở mức i ≤ 2i. • Số nút lá ≤ 2h-1, với h là chiều cao của cây. • Chiều cao của cây h ≥ Cấu trúc dữ liệu 1 vá thuật giải log2(N) – N = số nút trong cây • Số nút trong cây ≤ 2h- 1.
  7. Cấu trúc dữ liệu của cây nhị phân typedef struct tagTNode { Data Key; struct tagTNode *pLeft; Key struct tagTNode *pRight; }TNode; Cấu trúc dữ liệu 1 vá thuật giải typedef TNode *TREE;
  8. Ví dụ cây được tổ chức trong bộ nhớ trong 1f 2f 6 3f 3f 2f Cấu trúc dữ liệu 1 vá thuật giải 7f 9 N N 4 5f 5f 7f N 5 N N 8 N
  9. Duyệt cây nhị phân  Có 3 trình tự thăm gốc :  Duyệt trước  Duyệt giữa  Duyệt sau Cấu trúc dữ liệu 1 vá thuật giải  Độ phức tạp O (log2(h)) Trong đó h là chiều cao cây
  10. Ví dụ kết quả của phép duyệt cây 9 8 2 1 6 5 7 Cấu trúc dữ liệu 1 vá thuật giải 10 3 12 4 • NLR: 9, 2, 6, 1, 10, 8, 5, 3, 7, 12, 4. • LNR: 6, 2, 10, 1, 9, 3, 5, 8, 12, 7, 4. • Kết quả của phép duyệt : LRN, NRL,LRN,
  11. Duyệt trước void NLR(TREE Root) { if (Root != NULL) { ; //Xử lý tương ứng theo nhu cầu Cấu trúc dữ liệu 1 vá thuật giải NLR(Root->pLeft); NLR(Root->pRight); } }
  12. Duyệt giữa void LNR(TREE Root) { if (Root != NULL) { LNR(Root->pLeft); Cấu trúc dữ liệu 1 vá thuật giải ; // Xử lý tương ứng theo nhu cầu LNR(Root->pRight); } }
  13. Duyệt sau void LRN(TREE Root) { if (Root != NULL) { LRN(Root->pLeft); Cấu trúc dữ liệu 1 vá thuật giải LRN(Root->pRight); ; // Xử lý tương ứng theo nhu cầu } }
  14. Biểu diễn cây tổng quát bằng cây nhị phân A B E C A Cấu trúc dữ liệu 1 vá thuật giải H D F B C D I G J E F G H I J
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2