binary-search-tree

    4热度

    1回答

    我可以在O(logN)的排序集中找到一个元素(由BST支持)。现在我想要这个元素的索引。例如,在集合{1, 3, 4, 10}中,4的索引是2,并且1的索引是0。 显然,我可以迭代该集合,所以这个简单的解决方案是O(N)。我们可以使用可能的BST属性和/或辅助数据结构来做得更好吗?

    0热度

    1回答

    import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; public class BSTSearchTimer { int [] n = {10000, 50000, 100000, 250000}; Random ran

    1热度

    2回答

    因此,我的医生让我执行treeSort(),然后在int [1000000]上测试它并计算时间。 我有类BSTree<E>它包含以下方法: public void treeSort(E[] data) { inorder(data, new Process<E>(), root); } public static <E> void inorder(E[] list, Proces

    0热度

    1回答

    我有一个家庭作业,要求我从文本文档插入100个学生姓名和ID(姓名ID)广告格式,然后将其放在两个二进制搜索树中。主BST将包含姓氏和指向其他BST的指针,其中将包含名称和ID。这是我第一次尝试使用指针(*, - >,&),所以我失去了。我设法用下面的函数 void loadData(char fname[], Students *st){ struct Students *new; root

    2热度

    1回答

    我有一个家庭工作即将完成,但我卡住了某处。我必须警告,这是我第一次使用指针和所有这些怪异的东西,米相当丢失。我的目的是从txt学生数据列表中读取(姓氏名称ID)。诀窍是我必须使用一个二叉搜索树来存储姓氏(我已经这样做了),并在第一棵树内创建另一个二叉搜索树,其中存储学生的名字和ID(部分完成)。问题是,当一些学生有相同的姓氏和不同的名字时,我不能为姓氏创建一个新的节点,但我必须将新学生的名字和ID

    -1热度

    1回答

    我有两个问题, 1)对于任何递归算法,都存在迭代算法,对吗?我认为这是正确的,因为你只需要明确地使用堆栈。并且在这个问题上得到确认 Way to go from recursion to iteration 2)可能与上面的问题相同,我真的不认为迭代解决方案是明显的或简单的甚至用递归算法来编写。例如:对于一个后置订单(LRN)或inorder(LNR)bst遍历,你怎么能用迭代方法来编写它?在这两

    0热度

    4回答

    我的教授发布了一些期末考试的复习题。我似乎无法找到答案。任何帮助将不胜感激! 考虑n个节点的二叉树: a。什么是叶节点的最小和最大数量? b。高度的最小值和最大值是多少? c。树使用了多少指针(不包括空指针,并假设我们没有保存存储父代的字段)? * d。将n个节点插入(最初为空)的二叉搜索树时,最糟糕的关怀运行时间是多少?

    0热度

    2回答

    嘿家伙, 我创建了一棵不是二叉树的树。现在,我想要的是搜索一个元素。主要内容如下:由于我没有比较二叉树的比较机会,所以我必须找到其他一些方法来实现代码。在这里,我想: public TreeNode<City> search(City parent, TreeNode<City> t){ //As you guess, City class is irrelevant to the issue,

    0热度

    1回答

    我有一个家庭作业,从我这里要求创建一个二叉搜索树的结构,其中二叉搜索树的节点是另一个二叉搜索树。第一个BST有学生的姓氏,另一个有姓氏和身份证。另外,如果某人与另一个学生姓氏相同,我不能创建另一个“姓氏”节点,但我必须在现有的“姓氏”节点内创建另一个“名字和ID”节点。更具体地讲: typedef struct nameANDid{ //name and id nodes char fi

    14热度

    9回答

    给出一个带有整数值作为键的bst,如何在bst中找到与该键最近的节点? BST用节点对象(Java)表示。最近的将是如4,5,9,如果关键是6将返回5 ..