建立搜尋二叉樹BST HDU 3999

2021-10-01 13:02:03 字數 608 閱讀 8701

主要是建立的時候要為空節點動態分配再賦值,不然沒有兒子,必須得有兒子,哪怕為空,不然不是葉子節點,不然輸出遍歷的時候會錯!(傳頭結點引數的時候傳它的位址,因為這樣方便改變)

#include using namespace std;

typedef struct tree * ptree;

ptree fathertree;

ptree createtree(int data, ptree &root)

else if (data < root->data)

else if (data > root->data)

return root; //走到底後或者data值相等就直接返回啦!千萬不要忘了!

}void print(ptree now)

else

printf(" %d",now->data);

print(now->left);

print(now->right);

}}int main()

print(fathertree);

printf("\n");

}return 0;

}

搜尋二叉樹建立

time limit 1000 ms memory limit 65536 kib problem description 在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是 1 每個節點中包含有乙個關鍵值 2 任意乙個節點的左子樹 如果存在的話 的關鍵值小於該節點的關鍵值 3 任意乙個節...

39 平衡二叉樹

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。遞迴判斷左子樹和右子樹是否是平衡二叉樹 從下往上遍歷,如果子樹是平衡二叉樹,則返回子樹的高度 如果發現子樹不是平衡二叉樹,則返回 1,直接停止遍歷,這樣至多只對每個結點訪問一次。public class solution public intgetdep...

39平衡二叉樹

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。平衡二叉樹根據定義,父結點需要子結點兩個資訊 一是左右子樹是否平衡,二是左右子樹的高度差是否 1,注意在最終返回資料時,返回左右子樹的最大高度 1 頭結點 我們可以自己建立乙個結構實現。public static resultdata isbalance...