Mọi người cho em hỏi để xây dựng 1 cây nhị phân có nhiều cách không ạ?
VD: Build a binary search tree for the words banana, peach,
apple, pear, coconut, mango, and papaya using alphabetical order.
Nhưng em tự làm thì em chọn Mango làm gốc
Mango
Banana Peach
apple coconut Papaya Pear
Như vậy thì có đúng không ạ? Nếu sai thì làm sao để biết chọn cái nào làm gốc nhỉ?
Có nhiều cách để xây dựng 1 cây nhị phân không?
“Có nhiều cách không” là sao hả cậu? :))
Ở ví dụ của cậu, đề bài đã yêu cầu rất cụ thể việc xây dựng cây nhị phân cho 1 loạt các xâu theo thứ tự alphabet, và tớ chẳng thấy “cách” nào cả.
EDIT: vì cậu edit lại thêm dữ kiện, nên tớ bổ sung thêm. Thứ tự insert của các node sẽ ảnh hưởng tới thứ tự của cây nhị phân, nên cậu chỉ cần chọn một thứ tự để làm là được.
Thứ tự này đã được mô tả ở đề bài, nên nếu cậu theo thứ tự đó, sẽ chỉ có 1 cây duy nhất có thể được tạo thành (và giống như hình mà cậu show).
Cậu không “chọn” được root như cách cậu đang làm đâu
Vậy là với mỗi kiểu Insert là cây nó lại khác nhau đi phải không ạ? Nãy mình hiểu sai về nhị phân, tưởng nó cho 1 dãy rồi mình tự chọn gốc tự xây
Nói chính xác hơn là “với mỗi thứ tự insert thì cây sẽ khác nhau”
Tớ đoán cậu hiểu đúng rồi, giờ không còn vấn đề gì phải không?