正如标题所述。我正在尝试从我创建的通用树创建一个二进制搜索树。我的通用节点类的代码是:
Node<E> parent;
E data;
ArrayList<Node<E>> children = new ArrayList<Node<E>>();
public Node(E data){
this.data = data;
}
public ArrayList<Node<E>> getChildren(){
return this.children;
}
public void addCh
我正在温习基本的算法和数据结构。
典型的二进制搜索树插入算法类似于:
insert(newValue)
if newValue is less than node.value:
if lesser subtree exists:
insert into lesser subtree
otherwise:
lesser subtree = new tree with newValue
if newValue is greater than node.value
if greater s
人们谈论trees,是的,我可以理解tree的概念以及traversing it conceptually的方式。同样有趣的是,在binary search tree中,搜索时间是O(log N)。
现在,我有一些folders in my system,它的文件结构是not going to be modified,但new files are added often除外。
我可以想象,如果我构建一个表示文件夹结构的二进制搜索树,我可以很好地使用O(log N)中的文件名进行搜索。我知道,使用内置的.NET方法可以非常有效地完成这一任务,但我正在尝试查看使用树的真实生活用例场景。
MSDN
我正在学习二进制搜索树,并有一个问题要求我把东西添加到树中,然后画出它的样子。
在这个问题之前,所有的人都指定了这样的东西:“假设树使用字母顺序来比较单词”,但这一次它没有这样说。
在将字符串或int添加到树中时,是否存在用于排序的默认排序顺序?
就上下文而言,它要求我:
Draw a picture below of the binary search tree that would result from inserting the following words into an empty binary search tree in the following orde