binary-tree

    2熱度

    1回答

    如果C表示的「獨苗」的節點數量(一個節點被稱爲唯一的孩子時,其父是不是null & &它沒有兄弟姐妹),爲什麼我們的,對於每一個AVL樹與N個節點:C < =(N/2)?

    0熱度

    2回答

    雖然這個問題已經被問到,但我有一個實現的具體疑問。 我要打印的二叉樹的俯視圖,下面是完整的代碼吧: import java.util.*; class Node{ int data; Node right; Node left; Node(int data){ this.data = data; } } class Pair<

    0熱度

    1回答

    我試圖找到比二進制搜索樹中的給定值更高的數值,以獲得樂趣和學習過度。我已經用紙上的邏輯書寫了迄今爲止的一項索取功能。但是,當我運行它時,它沒有給出預期的結果。例如,BST中包含30, 25, 98, 23, 28, 97, 99, 29。我試圖獲得比28更大的值應該是5,但輸出是2。方法中的問題在哪裏?我遍歷樹中的所有節點,是否有更高效的解決方案? public int findMax(Node<

    -1熱度

    2回答

    我寫了二叉樹數據結構中的前序和中序遍歷的代碼,但預序遍歷的結果是正確的,但我得到了一些錯誤inorder遍歷,任何人都可以在我的代碼中顯示我的錯誤。 在此先感謝。 public class treepractice { static Node root = null; static class Node{ int data; Node left, right;

    0熱度

    1回答

    我完成this本文給出了問題,這個答案 public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { // if both are null, assign merge tree to null if (t1 == null && t2 == null) return null; // if t1 or t2 is

    -1熱度

    1回答

    任何人都可以告訴我我的代碼有什麼問題嗎? 我想創建非返回函數void在鏈表的末尾插入一個節點。 void insert_tail_Recursively(struct node **phead, int key) { if (*phead == NULL) { Node*temp = malloc(sizeof(Node)); temp->data = key;

    0熱度

    2回答

    我的目標是用蟒龜繪製一棵二叉樹,意思是每條線分成2條,每條分支到另外兩條等,從左到右,看起來像,除了從左到右水平。這是我到目前爲止所擁有的,並且它可以工作,但是如果你運行它,你很快就會意識到它在很多方面都是混亂的。 def tree(d,x1,y1): #d is the depth if d==0: #base case return 0 a = t

    0熱度

    1回答

    我沒有系統地學習uni中的數據結構和算法課程(只是讀了一些書),並想問一下是否有明確的算法來爲二叉樹做下列工作: 對於給定的二叉樹和一個正整數n,搜索它的葉子。如果兩個相鄰葉子的深度之間的差異(想象所有葉子顯示爲一個數組,因此兩個相鄰的葉子可能在兩個不同的子樹中)大於n。用更低的深度細分葉子。遞歸地執行此操作直到不需要細分。 下圖是一個示範,對於n: 由於葉1的深度是2比葉2小,葉1需要被細分爲:

    2熱度

    3回答

    我用於打印樹的顯示函數似乎只打印第一個元素,而不是其他的。我不知道爲什麼我懷疑我沒有遞歸的插入函數可能是原因,但似乎無法理解它出錯的地方。任何有關如何糾正或代碼失敗的解釋都會有所幫助。謝謝。 #include <stdio.h> #include<stdlib.h> void insert(int data_add,struct tree *temp); void display(stru

    1熱度

    2回答

    我試圖實現代碼來實現平衡二叉搜索樹的方式(蠻力),並且我發現有一個(樹的)情況,它似乎不能平衡。樹是 6 \ 10 / 8 /\ 7 9 可以很明顯的發現,這個樹的右側高度比左高度大得多,所以我向左旋轉周圍的樹「6」,那麼新的樹會 10 / 6 \ 8 /\