1. Trang chủ
  2. » Toán

Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 17: Cấu trúc dữ liệu dạng cây

10 3 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 669,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Vi ệc phân cấp cấu trúc dữ liệu được dùng cho minh họa lược đồ công việc..  T ổ chức của một đơn vị.[r]

Trang 1

Gi ảng viên: TS Ngo Huu Phuc

Tel: 0438 326 077 Mob: 098 5696 580 Email: ngohuuphuc76@gmail.com

C ấu trúc dữ liệu và giải thuật

Bài 17 C ấu trúc dữ liệu dạng cây

Trang 2

N ội dung bài học:

17.1 Khái ni ệm về cây.

17.2 Các phương pháp duyệt cây.

1 Deshpande Kakde: C and Data structures.chm, Chapter 21: Trees

2 Elliz Horowitz – Fundamentals of Data Structures.chm, Chapter 5: Trees.

3 Kyle Loudon: Mastering Algorithms with C.chm, Chapter 9 Trees.

4 Bài gi ảng TS Nguyễn Nam Hồng

Trang 3

17.1 Khái ni ệm về cây (1/)

17.1.1 Gi ới thiệu.

Trees được dùng cho cấu trúc dữ liệu dạng phân cấp

 Ví dụ:

 Vi ệc phân cấp cấu trúc dữ liệu được dùng cho minh họa lược đồ công việc

 Tổ chức của một đơn vị.

 Cây bi ểu thức.

Khoa Công ngh ệ thông tin

BM KHMT BM HTTT BM ANM BM CNPM BM Toán TTMT

Phòng TN Giáo viên 1 Giáo viên 2

Trang 4

Cây được định nghĩa đệ quy như sau:

Một cây được định nghĩa bởi một tập các node T có dạng:

 Có một node đặc biệt gọi là root

 Các node còn lại được phân chia rời nhau thành n tập dạng T1,

T2,…,Tn, trong đó Ti cũng là một cây

Trang 5

17.1 Khái ni ệm về cây (3/)

 Hình trên minh họa 1 cây

 Tập hợp các node {A, B, C, D, G, H, I, E, F}

 A là root

 Các node còn lại được chia thành các tập {B, G, H, I}, {C, E, F} và {D} Mỗi tập trên lại tạo thành 1 cây

A

Trang 6

 Minh họa trên không phải là một cây

 Mặc dù:

 T ập hợp các node vẫn là {A, B, C, D, G, H, I, E, F}.

 A là root.

Node E thu ộc 2 tập hợp.

Trang 7

17.1 Khái ni ệm về cây (5/)

B ậc của một node: là số node con của node đó

B ậc của một cây: là bậc lớn nhất của các node trên cây

Node g ốc: là node không có node cha

Node lá: là node có bậc bằng 0

Node nhánh: là node có bậc khác 0 và không phải là node gốc

M ức của một node:

 Gọi mức của node root là 1 (cây T0)

 Gọi T1, T2, T3, , Tn là các cây con của T0

 Mức của T1 = Mức của T2 = = Mức của Tn = Mức của T0 + 1=2

Chi ều cao của cây hay độ sâu của cây: là m ức cao lớn nhất

c ủa node trên cây.

Trang 8

G ốc.

C ạnh (cung).

Node.

G ốc (root)

Lá (leaf)

Trang 9

17.1 Khái ni ệm về cây (7/)

M ột số ví dụ sử dụng cây:

 Cây phả hệ

 Cây quyết định

 Sử dụng cây để tạo queue có độ ưu tiên

 Tổ chức truy cập dữ liệu nhanh, ví dụ như B-tree

Trang 10

 Có th ể xây dựng cây như danh sách liên kết, tuy nhiên

m ỗi thành phần có nhiều con trỏ (nhiều con).

• M ỗi node chứa thông tin về node.

• S ử dụng mảng để lưu các con.

struct node {

TreeEntry data;

struct node *children[max];

};

Ngày đăng: 09/03/2021, 05:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w