2013-01-08 52 views

回答

2

鍵可能是一個簡單的值,用於從樹中插入,查找或刪除節點。價值可能是節點擁有的數據。例如,一個密鑰可以是用戶名,而值可以是用戶信息,如姓名,年齡,位置,偏好...

+0

那麼你能做一個查詢,比如「有多少人在65歲以下,名字是從b到x?」 – user1959272

+0

是的。關鍵有助於找到從b到x開頭的人。你需要額外檢查這些人的年齡。這可以很容易地檢查,而從b到x遍歷 – hmatar

+0

所以它報告的節點數量是線性的? – user1959272

0

密鑰的目的是給定某個節點S作爲起點所有節點(和他們的鍵)的S左邊是小於的S密鑰值和所有節點(以及它們的鍵)的S右側比的S

+0

是的,但通常你不希望鑰匙和價值一樣嗎? (例如stl集)。區分它們的好處是什麼? – user1959272

+0

@ user1959272你爲什麼要存儲重複的數據? – Woot4Moo

0

一樣使用任何數據結構的關鍵值(鍵,值)對:您可能希望能夠訪問值數據,同時通過其關鍵字引用每個值。所有不使用值的散列值得到的是一些額外的靈活性。不確定「point」是什麼意思......語言爲您提供了以不同方式解決問題的工具,如果其中一種方法是在二叉搜索樹中使用(鍵,值)對,那麼爲什麼不使用它?

1

BST旨在提供對treeNode特定屬性的快速查詢。

如果我想獲得工資高於100,000美元的員工。

構建BST,使用薪水作爲樹節點的關鍵字,並將其他信息(如年齡,地址等)放在值中。