Cây (lý Thuyết đồ Thị) – Wikipedia Tiếng Việt
Cây là khái niệm quan trọng trong lý thuyết đồ thị, cấu trúc dữ liệu và giải thuật. Cây là một đồ thị mà trong đó hai đỉnh bất kì đều được nối với nhau bằng đúng một đường đi. Nói cách khác, đồ thị liên thông bất kỳ không có chu trình là một cây. Rừng là hợp (disjoint union) của các cây. Cây được sử dụng rộng rãi trong các cấu trúc dữ liệu của ngành khoa học máy tính như cây nhị phân, đống, trie, cây Huffman cho nén dữ liệu, v.v...
Cây tự do
[sửa | sửa mã nguồn]Cây tự do là một đơn đồ thị, liên thông, không có chu trình.
Định lý sau cho biết các điều kiện tương đương với định nghĩa cây
Định lý - Các điều kiện cần và đủ để đồ thị là một cây
[sửa | sửa mã nguồn]Cho đồ thị G=(V,E) có n đỉnh. Sáu mệnh đề sau là tương đương:
- G là một cây;
- G không có chu trình và có n-1 cạnh;
- G liên thông và có n-1 cạnh;
- G không có chu trình và nếu bổ sung vào một cạnh nối hai đỉnh không kề nhau thì xuất hiện một chu trình duy nhất;
- G liên thông và nếu bỏ đi một cạnh bất kỳ thì G mất tính liên thông;
- Mỗi cặp đỉnh trong G được nối với nhau bằng đường đi duy nhất.
Cây (có gốc)
[sửa | sửa mã nguồn]Cây (có gốc) là cây trong đó có một đỉnh được chọn là gốc và mỗi cạnh được định hướng trùng với hướng đi của đường đi đơn duy nhất từ gốc tới mỗi đỉnh.
Trong một cây có gốc, nếu có một cạnh đi từ đỉnh x đến đỉnh y thì đỉnh x được gọi là cha của đỉnh y, y là con của x (xem đồ thị (toán học)).
Hai đỉnh cùng cha được gọi là đỉnh anh em, các đỉnh không có con tức nằm ngoài rìa cây được gọi là (đỉnh) lá hay đỉnh ngoài, các đỉnh còn lại gọi là đỉnh trong (kể cả đỉnh gốc).
Số cạnh trên đường đi từ gốc tới mỗi đỉnh được gọi là mức của đỉnh ấy.
Cây nhị phân và các biến thể của nó
[sửa | sửa mã nguồn]Định nghĩa:
[sửa | sửa mã nguồn]Cây mà mỗi đỉnh có không quá hai con được gọi là cây nhị phân (binary tree).
Biến thể: có 4 loại cơ bản
[sửa | sửa mã nguồn]Về tên gọi tiếng Việt cho chúng: thực tế, các tài liệu Việt Nam không thống nhất cách gọi tên các cây, mỗi kiểu tài liệu lại ghi khác nhau, cách diễn giải định nghĩa cũng khác nhau,... nên chúng tôi khuyên bạn nên sử dụng tiếng Anh để gọi tên cây, trong bài này, tên của các cây được dịch theo giáo trình Toán học tổ hợp của Trường Đại học Khoa học Tự Nhiên - ĐHQG TP.HCM và định nghĩa cũng sẽ được ghi đơn giản nhất có thể
- Cây nhị phân mà mỗi đỉnh chỉ có 0 hoặc 2 con được gọi là cây nhị phân đủ (full binary tree)
- Cây nhị phân đầy đủ mà tất cả các lá có cùng một mức được gọi là cây nhị phân hoàn hảo (perfect binary tree).
- Cây nhị phân mà từ mức 0 xuống mức h - 1 là cây nhị phân hoàn hảo, ở mức h thì các đỉnh được sắp từ trái sang phải được gọi là cây nhị phân hoàn thành (complete binary tree) (h là độ cao cây)
- Cây nhị phân có mức lá là h hoặc h - 1 (h là độ cao cây) thì gọi là cây nhị phân cân bằng (hoặc cân đối).
Ứng dụng cây trong khoa học máy tính
[sửa | sửa mã nguồn]Trong khoa học máy tính cây là một cấu trúc dữ liệu không tuyến tính.
Cấu trúc cây được ứng dụng trong các giải thuật tìm kiếm, giải thuật sắp xếp và nhiều bài toán khác
Cây dùng để biểu diễn bài toán quyết định (cây quyết định), biểu diễn quá trình tính toán các biểu thức đại số.
Các cây đặc biệt
[sửa | sửa mã nguồn]- Cây đỏ đen
- Cây 2-3-4
- B-Cây
- Cây tìm kiếm nhị phân
- Đống (heap)
- Cây biểu diễn tập hợp
Biểu diễn cây
[sửa | sửa mã nguồn]Có thể biểu diễn cây bằng mảng hoặc bằng danh sách kề. Khi biểu diễn bằng danh sách kề, mọi cây có thể chuyển sang một cây nhị phân tương đương với nó.
Các thuật toán duyệt cây
[sửa | sửa mã nguồn]- Duyệt tiền thứ tự
- Duyệt trung thứ tự
- Duyệt hậu thứ tự
Cây khung
[sửa | sửa mã nguồn]Mọi đơn đồ thị liên thông G có ít nhất một đồ thị con là cây và chứa tất cả các đỉnh của G. Đồ thị con này được gọi là cây khung (hoặc cây bao trùm) của G (thuật ngữ cây khung được sử dụng phổ biến hơn). Đồ thị G có thể có nhiều cây khung. Nếu G có trọng số trên các cạnh thì cây khung có tổng trọng số trên các cạnh của nó là nhỏ nhất (hoặc lớn nhất) được gọi là cây khung nhỏ nhất (hoặc lớn nhất).
Định lý
[sửa | sửa mã nguồn]- Mọi đồ thị liên thông đều có chứa ít nhất một cây bao trùm.
- Định lý Carley: Số cây khung của đồ thị là
Các thuật toán tìm cây bao trùm
[sửa | sửa mã nguồn]- Thuật toán tìm cây bao trùm theo chiều rộng
- Thuật toán tìm cây bao trùm theo chiều sâu
- Thuật toán Prim
- Thuật toán Kruskal
Các thuật toán khác
[sửa | sửa mã nguồn]- Thuật toán vun đống
- Thuật toán xây dựng cây mã Huffman
Xem thêm
[sửa | sửa mã nguồn] Wikimedia Commons có thêm hình ảnh và phương tiện truyền tải về Cấu trúc cây.- Thuật ngữ lý thuyết đồ thị
- Cây (cấu trúc dữ liệu)
Tham khảo
[sửa | sửa mã nguồn]Từ khóa » Có N
-
Có N điện Trở R Mắc Song Song Và được Nối Với Nguồn điện Có Suất ...
-
Số Tập Hợp Con Của Một Tập Hợp Có N Phần Tử - Lê Nhi
-
[ Bạn Có Tài Mà ] Feel đến Phút Cuối Cùng - Dick N Negav - YouTube
-
Có Bao Nhiêu Số Có N Chữ Số (n Thuộc N*) - Olm
-
Có Bao Nhiêu Số Có N Chữ Số (n Thuộc N*) - Hoc24
-
Có N điểm ( Các Bộ 3 điểm Không Thẳng Hàng ) Trong Mặt Phẳng. Hỏi
-
Có N Acquy (E,r) Giống Nhau Nối Với điện Trở Mạch Ngoài R. Tìm đi
-
Có N Acquy (Er) Giống Nhau Nối Với điện Trở Mạch Ngoài R. Tìm điều ...
-
Cho đa Giác đều ((H)) Có (n) đỉnh ((n Ge 8)). Gọi (S) Là Tập Hợp Tất Cả ...
-
Cho Một Cấp Số Nhân Có $n$ Số Hạng $\left( {n > K > 55} \right ...
-
Xét đa Giác đều Có N Cạnh, Biết Số đường Chéo Gấp ...
-
Có N Lò Xo Giống Hệt Nhau. Nối Liền Chúng Thành Một Lò Xo Dài. Độ ...
-
Chứng Minh Rằng Với Mọi Số Nguyên Dương N Ta đều Có N^3 + 5n