Với một nút thì người ta cũng phân biệt cây con trái và cây con phải Binary tree Leaves/terminal nodes... Biểu diễn câyBiểu diễn bằng mảng: • Nếu có một cây nhị phân đầy đủ, ta có thể
Trang 1DATA STRUCTURE AND ALGORITHM
Trang 2Resource - Reference
Slides adapted from James B D Joshi,
edit by Dao Nam Anh
Major Reference:
• Robert Sedgewick, and Kevin Wayne,
“Algorithms” Princeton University, 2011, Addison
Wesley
• Algorithm in C (Parts 1-5 Bundle)- Third Edition
by Robert Sedgewick, Addison-Wesley
• Cấu trúc dữ liệu và giải thuật, Đinh Mạnh Tường
• Giải thuật và lập trình, Lê Minh Hoàng, Đại
Trang 6• Cây nhị phân: mọi nút
trên cây chỉ có tối đa
hai nhánh con Với
một nút thì người ta
cũng phân biệt cây con
trái và cây con phải
Binary tree
Leaves/terminal nodes
Trang 7Tree - Cây
• Chiều cao (height) hay
chiều sâu (depth) của
Trang 9Biểu diễn cây
Biểu diễn bằng mảng:
• Nếu có một cây nhị phân đầy đủ, ta có thể đánh số cho
các nút trên cây đó theo thứ tự lần lượt từ mức 1 trở đi,
hết mức này đến mức khác và từ trái sang phải đối với
các nút ở mỗi mức.
• Trong trường hợp cây nhị phân không đầy đủ, ta có thể
thêm vào một số nút giả để được cây nhị phân đầy đủ,
và gán những giá trị đặc biệt cho những phần tử trong
mảng T tương ứng với những nút này Hoặc dùng thêm
một mảng phụ để đánh dấu những nút nào là nút giả tự
Trang 10Biểu diễn cây bằng cấu trúc liên kết
Trang 11Biểu diễn cây bằng cấu trúc liên kết
Trang 12Biểu diễn cây bằng cấu trúc liên kết
Trang 13Biểu diễn cây bằng cấu trúc liên kết
Trang 14Biểu diễn cây bằng cấu trúc liên kết
Trang 15Biểu diễn cây bằng cấu trúc liên kết
Trang 16Binary tree – Cây nhị phân
• Cây nhị phân suy biến (degenerate binary tree), các nút không phải
là lá chỉ có một nhánh con
• Trong các cây nhị phân có cùng số lượng nút như nhau thì cây nhị
phân suy biến có chiều cao lớn nhất, còn cây nhị phân hoàn chỉnh
Trang 17Duyệt cây nhị phân
Visit a node,
Visit left subtree,
Visit right subtree
Trang 18Duyệt cây nhị phân
Duyệt theo thứ tự trước:
• giá trị trong mỗi nút
bất kỳ sẽ được liệt kê
trước giá trị lưu trong
hai nút con của nó
Preorder
• Visit a node,
• Visit left subtree,
• Visit right subtree
Trang 19Duyệt cây nhị phân
Duyệt theo thứ tự giữa:
• giá trị trong mỗi nút
bất kỳ sẽ được liệt kê
sau giá trị lưu ở nút
con trái và được liệt kê
trước giá trị lưu ở nút
con phải của nút đó
Trang 20Duyệt cây nhị phân
Duyệt theo thứ tự sau:
giá trị trong mỗi nút bất
kỳ sẽ được liệt kê sau giá
trị lưu ở hai nút con của
nút đó
Visit left subtree,
Visit right subtree
Trang 21Discussion – Câu hỏi
•
https://sites.google.com/site/daonamanhedu/data-structure-algorithm