二叉排序樹的建樹順序(規則)是 左《根《右,缺點很明顯,樹的深度不一,極端情況可能左空右滿,反之也一樣,這也就是說這棵樹隨時可能退化成表。找最小值要把根節點的左子樹全部遍歷一遍,最大值同理。目前沒發現有什麼用處,不過這是平衡二叉樹的基礎,所以就寫了一版,銷毀函式就不寫了。
不對請指正。下一版就是平衡二叉樹。
#include#include#include
using
namespace
std;
typedef
inttype;
struct
tree
*root;
void insert1(tree *node,int
a) temp->data =a;
temp->left = temp->right =null;
node->left =temp;
}else
}else
temp->data =a;
temp->left = temp->right =null;
node->right =temp;
}else
}}void m_ergodic(tree *node) //
中序遍歷 從大到小輸出
intmain()
inta;
intn;
scanf("%d
",&n);
for(int i=0;i)
else
insert1(root,a);
}m_ergodic(root);
puts(
"");
return0;
}/*108 9 1 15 10 3 2 4 6 10
*/
C 實現快速排序(第一版)
快速排序作為20世紀最偉大的演算法之一,將排序的時間複雜度降到了o nlgn 主要使用了分而治之的思想,歸併排序也使用了分而治之的思想。快速排序的主要思想是找到乙個基準值,將比基準值小的元素放置在基準值左邊,比基準值大的元素放置在基準值右邊。其最重要的函式實現部分是partition函式,該函式不僅...
第一版Python程式
coding cp936 import os import cpickle as p class person def init self,name,age,self.name name self.age age self.def str self return name self.name age...
MVC面試第一版
mvc流程 1 使用者向伺服器傳送請求,請求被springmvc 前端控制器 dispatcherservlet 捕獲 2 dispatcherservlet對請求url進行解析,得到請求資源識別符號 uri 4 dispatcherservlet 根據獲得的handler,選擇乙個合適的handl...