为什么二分搜索树的Node节点中要用key?我记得上数据结构课时Node节点里只有value和两个孩子。
来源:5-2 二分搜索树基础 (Binary Search Tree)

LittleRobin_
2018-03-13
写回答
1回答
-
你说的情况相当于只有Key:)
如果节点中存储Key-Value的数据对,BST可以作为查找表使用,根据Key查找Value,比如根据学生名称查询成绩;根据ID查找进程,等等,在课程后续,会具体使用二分搜索树做词频统计,你会看到Key是单词,Value是词频;
如果节点中只有Key,此时,BST可以当做集合来使用。
对应C++的STL,存放Key-Value的二分搜索树,相当于map类;只存放Key的二分搜索树,相当于set类;
对应java的collections,存放Key-Value的二分搜索树,相当于TreeMap类;只存放Key的二分搜索树,相当于TreeSet类;
更多这些类在算法设计中的应用,可以参考我的课程《玩儿转算法面试》:https://coding.imooc.com/class/82.html
112018-03-13
相似问题