Định nghĩa: Cây quyết địnhlà một cây có gốc có thể dùng để mô hình các bài toán, trong đó có một dãy các quyết định dẫn đến lời giải. Cụ thể, trong cây quyết định, mỗi đỉnh trongứng với một quyết định và mỗi cây con của nó ứng với mỗi một kết cục có thể của quyết định cha.
Mỗilời giải có thể có của bài toántƣơng ứng với mỗi đường đi từ gốc đến lácủa cây quyết định này.
Ví dụ:Cần thực hiện tối đa bao nhiêu phép so sánh nhị nguyên (mỗi lần so sánh hai phần tử với nhau) để sắp xếp n số thực phân biệt a1, a2, …, antheo thứ tự giảm dần.
Giải. Mô hình bài toán bằng cây quyết định như sau:
Mỗi đỉnh trong tương ứng là một quyết định so sánh hai số. Mỗi cây con tại đỉnh trong này tương ứng với một kết cục của quyết định. Mỗi quyết định đều có hai kết cục nên mọi đỉnh trong có đúng hai con => Cây quyết định cho bài toán này là cây nhị phân đầy đủ.
Mỗi lời giải tương ứng với một đường đi từ gốc đến lá. Bài toán có n! lời giải (n! kết quả) tương ứng với số hoán vị của n số thực. Nên cây quyết định này có n! lá.
Ta có, số tối đa các phép so sánh cần dùng bằng độ dài đường đi dài nhấttừ gốc đến một lá nào đó và do vậy bằng chiều cao của cây quyết định.
Do cây quyết định là cây nhị phân đầy đủ có n! lá nên chiều cao của cây này là chiều cao nhỏ nhất trong số các cây nhị phân có n! lá. Vậy cây này có chiều cao bằng số nguyên nhỏ nhất không bé hơn log2(n!) (theo Định lý 2 ở trên).
Kết luận: Số phép so sánh nhị nguyên tối đa cần dùng để sắp xếp n số thực phân biệt là số nguyên nhỏ nhất không bé hơn log2(n!).
4.2 CÁC PHÉP DUYỆT CÂY. ỨNG DỤNG CÂY VÀO MÃ HÓA THÔNG TIN 4.2.1. Các thuật toán duyệt cây