Chương 4 CẤU TRÚC CÂY doc

54 379 0
Chương 4 CẤU TRÚC CÂY doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 4 CẤU TRÚC CÂY 2/54 NỘI DUNG  Các khái niệm cơ bản  Cây nhị phân  Cây tổng quát 3/54 4.1 CÁC KHÁI NIỆM CƠ BẢN  Định nghĩa cây  Cấp của cây  Mức của cây  Đường đi và độ dài đường đi trong cây  Độ cao, độ sâu của nút trong cây  Thứ tự các nút trong cây  Phép duyệt cây  Cây gán nhãn và cây biểu thức 4/54 4.1.1 Định nghĩa cây  Cây là tập hợp hữu hạn các nút trong đó có một nút đặc biệt gọi là gốc của cây(root). Các nút có mối quan hệ phân cấp gọi là quan hệ ‘’cha-con’’  Định nghĩa đệ qui về cây  Một nút là một cây gốc của cây chính là nút đó.  Giả sử T 1 , T 2 , …, T n (n ≥ 1) là các cây có gốc tương ứng r 1 , r 2 ,…, r n . Khi đó cây T với gốc r được hình thành bằng cách cho r trở thành nút cha của các nút r 1 , r 2 , …, r n 5/54 4.1.1 Định nghĩa cây T T1 T2 … Tn r r2 rn r1 6/54 4.1.2 Cấp của cây  Cấp của nút trong cây là số con của nút  Cấp của cây: Là cấp cao nhất của nút có trong cây.  Cây có cấp n thì gọi là cây n - phân 7/54 4.1.3 Mức của cây  Gốc của cây có mức là 1  Cha có mức là i thì con có mức là i+1  Mức của cây là mức cao nhất của nút có trong cây 8/54 4.1.4 Đường đi và độ dài đường đi  Dãy các nút n 1 , n 2 , , n k được gọi là một đường đi trong cây T nếu n i là cha của n i+1 (1 ≤ i < k) có độ dài là k-1  Nếu có một đường đi từ A đến B trong cây T thì A được gọi là tiền thân của B, B được gọi là hậu thế của A  Trong một cây, gốc là nút không có tiền thân, lá là nút không có hậu thế 9/54 4.1.5 Độ cao và độ sâu của nút  Độ cao của một nút trong cây là số nút trong đường đi dài nhất từ nút đó tới lá  Độ cao của cây là độ cao của nút gốc  Độ sâu của một nút trong cây là số nút trong đường đi từ gốc tới nút đó 10/54 4.1.6 Thứ tự các nút trong cây  Trong cây nếu nút n có các con là n 1, n 2 , , n k thì  n i (1<=i<=k) là các nút anh em  n 1 là con bên trái cùng hay con trưởng  n k là con bên phải cùng hay con út  n i (1<=i<k) là anh em liền kề bên trái của n i+1  n i (1<i<=k) là anh em liền kề bên phải của n i-1 [...]... Duyệt các cây con còn lại theo thứ tự giữa 14/ 54 4.1.7 Phép duyệt cây  Duyệt cây theo thứ tự sau (postorder) Nếu cây khác rỗng  Duyệt cây con trái cùng theo thứ tự sau  Duyệt các cây con còn lại theo thứ tự sau  Thăm gốc 15/ 54 4.1.7 Phép duyệt cây A B E F C G H D I K Thứ tự trước : ABEFGCHDIK Thứ tự giữa : EBFGAHCIDK Thứ tự sau : EFGBHCIKDA 16/ 54 4.1.8 Cây gán nhãn và cây biểu thức  Cây gán nhãn... trước (preorder)  Duyệt cây theo thứ tự giữa (inorder)  Duyệt cây theo thứ tự sau (postorder ) 12/ 54 4.1.7 Phép duyệt cây  Duyệt cây theo thứ tự trước (preorder) Nếu cây khác rỗng  Thăm gốc  Duyệt cây con trái cùng theo thứ tự trước  Duyệt các cây con còn lại theo thứ tự trước 13/ 54 4.1.7 Phép duyệt cây  Duyệt cây theo thứ tự giữa (inorder) Nếu cây khác rỗng  Duyệt cây con trái cùng theo thứ... phải của nút Là cây có thứ tự Các dạng cây nhị phân đặc biệt  Cây nhị phân suy biến 22/ 54 4.2.1 Khái niệm, đặc điểm, tính chất  Các dạng cây nhị phân đặc biệt  Cây nhị phân hoàn chỉnh : Các mức đều đạt tối đa số nút trừ mức cao nhất trong cây 23/ 54 4.2.1 Khái niệm, đặc điểm, tính chất  Các dạng cây nhị phân đặc biệt  Cây nhị phân hoàn chỉnh đầy đủ : Các mức đều đạt tối đa số nút 24/ 54 4.2.1 Khái niệm,... phải của nút Cây là con trỏ trỏ vào nút gốc   29/ 54 4.2.2 Biểu diễn cây nhị phân  Ví dụ A B NULL  D NULL NULL C E NULL NULL F NULL NULL G NULL Nhận xét : Cây nhị phân có n nút thì có 2*n con trỏ Trong đó n-1 con trỏ khác NULL n+1 con trỏ NULL 30/ 54 4.2.3 Cây nhị phân tìm kiếm  Định nghĩa, khai báo cấu trúc dữ liệu  Các phép toán cơ bản 31/ 54 Định nghĩa cây nhị phân tìm kiếm  Là cây nhị phân... 32/ 54 Khai báo cấu trúc dữ liệu struct node { key ; node *left, *right ; } *t; 33/ 54 Các phép toán cơ bản  Khởi tạo cây t rỗng : creat(t)  Kiểm tra cây t rỗng : empty(t)  Chèn khóa x vào cây t : insert(x,t)  Loại khóa x trong cây t : del(x,t)  Duyệt cây t theo 3 cách duyệt cơ bản 34/ 54 Các phép toán cơ bản  Khởi tạo cây t rỗng : creat(t) void creat(node *&t) { t = NULL; } 35/ 54 Các.. .4. 1.6 Thứ tự các nút trong cây  Trong cây nếu không tính tới thứ tự của các nút gọi là cây không có thứ tự T1 B T2 A C A C  Nếu là các cây có thứ tự thì T1T2  B Nếu là các cây không có thứ tự thì T1=T2 11/ 54 4.1.7 Phép duyệt cây  Là phép thăm các nút trong cây một cách hệ thống sao cho tất cả các nút đều được thăm và được thăm đúng một lần  Có 3 cách duyệt cây cơ bản :  Duyệt cây theo... trong cây được gán với một nhãn  Cây biểu thức : Mỗi nút trong cây được gán với một thành phần của biểu thức theo cách  Mỗi nút lá được gán với một toán hạng  Mỗi nút trong được gán với một toán tử 17/ 54 4.1.8 Cây gán nhãn và cây biểu thức  Ví dụ cây biểu thức P = a*(b - c) + d/e + / * a - b   d e c Duyệt theo thứ tự trước : Duyệt theo thứ sau : +*a-bc/de abc-*de/+ 18/ 54 4.1.8 Cây gán nhãn và cây. .. thành phần của biểu thức tiền tố 19/ 54 4.1.8 Cây gán nhãn và cây biểu thức  Ví dụ : + * a – b c / d e Toán hạng đọc b c e a d b-c * * + a =kq1 + a*kq1 =kq2 / kq2 + d/e =kq3 kq2+kq3 kq2 + =kq 20/ 54 4.2 CÂY NHỊ PHÂN  Khái niệm, đặc điểm, tính chất  Biểu diễn cây nhị phân  Cây nhị phân tìm kiếm 21/ 54 4.2.1 Khái niệm, đặc điểm, tính chất    Là dạng đặc biệt của cây Mỗi nút trong có tối đa 2 con, phân... điểm, tính chất  Trong cây nhị phân  Số lượng nút tối đa ở mức i là 2i-1  Số lượng nút tối đa ở cây nhị phân mức i 2i – 1  Trong các cây nhị phân có cùng số nút thì cây nhị phân suy biến có chiều cao lớn nhất, cây nhị phân hoàn chỉnh, hoàn chỉnh đầy đủ có chiều cao nhỏ nhất 25/ 54 4.2.2 Biểu diễn cây nhị phân  Biểu diễn bằng mảng  Biểu diễn bằng con trỏ 26/ 54 4.2.2 Biểu diễn cây nhị phân  Biểu diễn... một chiều làm cấu trúc lưu trữ  Cách 1 : Gốc lưu ở vị trí 0, cha lưu ở vị trí i thì con trái lưu ở vị trí 2*i+1, con phải lưu ở vị trí 2*i+2  Các cách khác : (Giới thiệu trong biểu diễn cây tổng quát Ví dụ : 27/ 54 4.2.2 Biểu diễn cây nhị phân A  Biểu diễn bằng mảng B C ∅ D A B 0 1 D C 2 3 4 5 6 E 7 … 15 … 28/ 54 4.2.2 Biểu diễn cây nhị phân   Biểu diễn bằng con trỏ Mỗi nút trong cây là một bản . Chương 4 CẤU TRÚC CÂY 2/ 54 NỘI DUNG  Các khái niệm cơ bản  Cây nhị phân  Cây tổng quát 3/ 54 4.1 CÁC KHÁI NIỆM CƠ BẢN  Định nghĩa cây  Cấp của cây  Mức của cây  Đường. độ dài đường đi trong cây  Độ cao, độ sâu của nút trong cây  Thứ tự các nút trong cây  Phép duyệt cây  Cây gán nhãn và cây biểu thức 4/ 54 4.1.1 Định nghĩa cây  Cây là tập hợp hữu hạn. T2 … Tn r r2 rn r1 6/ 54 4.1.2 Cấp của cây  Cấp của nút trong cây là số con của nút  Cấp của cây: Là cấp cao nhất của nút có trong cây.  Cây có cấp n thì gọi là cây n - phân 7/ 54 4.1.3 Mức của cây  Gốc

Ngày đăng: 13/07/2014, 08:20

Từ khóa liên quan

Mục lục

  • Chương 4 CẤU TRÚC CÂY

  • NỘI DUNG

  • 4.1 CÁC KHÁI NIỆM CƠ BẢN

  • 4.1.1 Định nghĩa cây

  • Slide 5

  • 4.1.2 Cấp của cây

  • 4.1.3 Mức của cây

  • 4.1.4 Đường đi và độ dài đường đi

  • 4.1.5 Độ cao và độ sâu của nút

  • 4.1.6 Thứ tự các nút trong cây

  • Slide 11

  • 4.1.7 Phép duyệt cây

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • 4.1.8 Cây gán nhãn và cây biểu thức

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan