binary-search-tree

    0熱度

    1回答

    我成功創建了一個BST,它從文本文件中讀取數據並相應地連接節點,儘管處於不平衡的方式,但現在我遇到了用戶輸入問題。 這裏是一個什麼樣的文本文件中的行看起來像一個例子: student id1, mark1, mark2, mark3, mark4, mark5, midterm mark, exam mark 我的函數變成一個BST這個樣子的: def marks(tree, Data):

    0熱度

    2回答

    該問題與此後http://www.geeksforgeeks.org/?p=17063的方法2相同,但是使用迭代而不是遞歸。

    1熱度

    1回答

    package csci152.impl; import csci152.adt.Set; import csci152_classes.TreeNode; public class BSTSet<T extends Comparable> implements Set<T> { private TreeNode<T> root; private int size;

    0熱度

    1回答

    我似乎無法找到區別;我知道一個使用隊列,另一個使用堆棧,但是如何影響RunTime?

    2熱度

    1回答

    反覆問: 最近我在讀數據結構(二叉搜索樹),我明白遞歸非常好,可以跟蹤它。 我用了一個方法,它總是爲我工作即寫一個程序循環,然後消除環路,寫一個遞歸函數,基地條件將是一樣的循環退出條件。 但是,當談到編寫一個沒有我的環法,我越來越失敗。 我不能寫一個遞歸函數來插入二叉搜索樹。一個節點(雖然我的理解是正確的參考解決方案)。 請指引我,如何提高呢? #include<stdio.h> #includ

    0熱度

    2回答

    有誰能解釋計算機是如何得到walkTree(tree['right'])的嗎?我相信該函數會自動調用自己,直到None,然後遞歸地彈出所有「左」堆棧並打印它們,但是當函數調用walkTree(tree['right'])時,計算機在再次通過walkTree(tree['left'])時做了什麼? def walkTree(tree): if tree == None: ret

    1熱度

    1回答

    我有一個BST的簡單C++實現。我只是試圖添加數字並將其打印出來。問題是,我試圖添加的16個數字中,我只能添加12(忽略32,15,14和3)。從我的控制檯輸出如下所示: 添加數字印刷前的樹: 列表是空 的 鍵32已被添加。 已添加密鑰15已添加 。 關鍵14已被添加。 已添加密鑰3的 。 打印樹中順序添加 號碼後:方案與 退出代碼結束:0 #include <iostream> using

    0熱度

    3回答

    我在python中實現了BST,並且在插入函數時遇到了一些麻煩。 class Node: def __init__(self, val): self.data = val self.Leftchild = self.Rightchild = None class Tree: def __init__(self): self.root =

    1熱度

    2回答

    我想了解更多關於二叉樹的知識,並且我遇到了關於如何找到後繼節點(當試圖刪除節點時)的方法,但我很難理解它的一部分。 這是代碼。 private Node getSuccessor(Node delNode){ Node successorParent = delNode; Node successor = delNode; Node current = delNode

    0熱度

    1回答

    我正在學習BST,從GeeksforGeeks,我碰到過這樣的: 結構節點* newNode(int數據) { 結構節點*節點=( struct node *)malloc(sizeof(struct node)); node-> data = data; node-> left = NULL; node-> right = NULL; return(node); } 什麼是這種定義結構的格式。有