二叉排序樹第一版

2021-07-10 05:36:45 字數 901 閱讀 8754

二叉排序樹的建樹順序(規則)是   左《根《右,缺點很明顯,樹的深度不一,極端情況可能左空右滿,反之也一樣,這也就是說這棵樹隨時可能退化成表。找最小值要把根節點的左子樹全部遍歷一遍,最大值同理。目前沒發現有什麼用處,不過這是平衡二叉樹的基礎,所以就寫了一版,銷毀函式就不寫了。

不對請指正。下一版就是平衡二叉樹。

#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...