Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
227,16 KB
Nội dung
Cây Định nghĩa • Cây (tree) • Rừng (forest) = {các cây} – liên thơng – khơng có chu trình Tính chất Số cạnh (m) = số đỉnh n – Giữa i j có đường Cầu Khơng có chu trình Thêm cạnh đỉnh khơng kề tạo chu trình Chứng minh (bài tập) Số cạnh rừng ếu G rừng có p số cạnh G m = n – p ĐL: Một ln có đỉnh treo Chứng minh (bài tập) Bài tập Vẽ tất (khơng đẳng cấu) có đỉnh Cho T1 có 17 cạnh T2 có số đỉnh gấp đơi số đỉnh T1 Tính số đỉnh T1, T2 số cạnh T2 Cho G rừng có 40 cạnh Tìm số đỉnh G Cho G rừng có 62 đỉnh 51 cạnh Tìm số G Cho ví dụ đồ thị có m = n – cạnh không Cho G có bốn đỉnh bậc 2, đỉnh bậc 3, hai đỉnh bậc 4, đỉnh bậc Hỏi G có đỉnh treo Cây có hướng (có gốc) Gốc (root) Cha 12 Đỉnh Con Lá (leaf) Mức chiều cao Mức (level) Mức Chiều cao = δ(1,3) = Cây k phân • Cây k-phân: d+(i) ≤ k, ∀i∈X • k = 2: nhị phân • Nếu d+(i) = k: k-phân đủ • Cây k-phân đủ chiều cao h có tất mức h k-phân đầy Tính chất k-phân đủ • Mỗi đỉnh có k • Nếu T có s r đỉnh trong: – n = kr + – s = (k – 1)r + – r = (s – 1)/(k – 1) = (n – 1)/k 10 Bài tập Cho T tam phân đủ có 34 đỉnh Tính số cung số T Cho T ngũ phân có 817 Hỏi T có đỉnh Cho T tứ phân đủ có chiều cao Hỏi T có nhiều đỉnh Tìm số nhị phân đầy a) h = b) h = 12 Tính số đỉnh số cạnh nhị phân đầy có chiều cao h = 11 Duyệt • Cây có nhiều ứng dụng quan trọng thuật tốn máy tính • Thao tác duyệt • Có kiểu duyệt: – Trước (NLR) – Sau (LRN) 12 DuyệtTrước(T) Gốc T DuyetTruoc(cây trái1) DuyetTruoc(cây trái 2) … DuyetTruoc(cây phải nhất) VD: 14 12 13 10 11 15 13 DuyệtSau(T) DuyetSau(cây trái1) DuyetSau(cây trái 2) … DuyetSau(cây phải nhất) Gốc T VD: 12 13 10 15 11 14 14 DuyệtTrong(cây nhị phân T) DuyetTrong(cây trái) Gốc T DuyetTrong(cây phải) VD: 3*4+5*6/8 15 Bài tập • Duyệt sau theo cách: – Trước – Sau 16 Cây khung Đ : Một khung (spanning tree) T đồ thị liên thông G đồ thị G thoả: – T – T chứa tất đỉnh G K3 17 Thuật tốn BFS tìm khung T = {} Chọn đỉnh x0 làm gốc (mức 0) Ở mức, duyệt hết từ trái qua phải Tại đỉnh x, thêm vào T cạnh kề x mà không tạo thành chu trình Lặp trình đến đủ số đỉnh VD: • T = {}; x0 = u; • T = {uv, ux, uy, uz}; • T = {uv, ux, uy, uz, vw} 18 Thuật toán DFS tìm khung T = {} Chọn đỉnh x0 làm gốc (mức 0) Tại đỉnh x, thêm vào T cạnh {x,y1} mà không tạo thành chu trình Lặp trình với x = y đến hết mức Nếu đủ số đỉnh dừng Nếu không, quay lên đỉnh mức gần mà có cạnh {x,y2} khác để thêm VD: • T = {}; x0 = u; • T = {uv, vw, wy, yx}; • T = {uv, vw, wy, yx, uz} 19 Bài tập • Tìm khung đồ thị sau hai cách: – BFS – DFS 20 ... DuyetTruoc(cây phải nhất) VD: 14 12 13 10 11 15 13 DuyệtSau(T) DuyetSau(cây trái1) DuyetSau(cây trái 2) … DuyetSau(cây phải nhất) Gốc T VD: 12 13 10 15 11 14 14 DuyệtTrong(cây nhị phân T) DuyetTrong(cây... nhiều đỉnh Tìm số nhị phân đầy a) h = b) h = 12 Tính số đỉnh số cạnh nhị phân đầy có chiều cao h = 11 Duyệt • Cây có nhiều ứng dụng quan trọng thuật tốn máy tính • Thao tác duyệt • Có kiểu duyệt: