演算法之 二叉樹的查詢

2021-05-22 22:01:02 字數 1986 閱讀 6863

由於自己的一時糊塗,將英語單詞left和right弄反了,給你們的閱讀帶來很多不便,所以還是盡情諒解,由於是個人的**,新手,所以有很多肯能你們認為不對的地方,還是請大家多提意見!!

c語言:

codee#11760

#include

#include

#define max_1 10

struct

node

;typedef

struct

node

graph;

typedef

graph

*edge;

edge

create_tree(

edge

head

,edge

new)

//建立

else

pointer

=pointer

->

right; }

if( new

->

weight

>

currentnode

->

weight)

else

}return

head; }

void

print(

edge

head)

//print列印

}void

insert_tree(

edge

head)

//insert a number插入

else

pointer

=pointer

->

right; }

if( new

->

weight

>

currentnode

->

weight)

else

}void

min_tree(

edge

head)

//最小數的結點

printf(

"%d"

,currentnode

->

weight); }

void

successor_tree(

edge

head

,int

key)

//後繼

else

if( key

>

pointer

->

weight)

else

pointer

=pointer

->

right; }

if( currentnode

->

left

!=null)

else

}printf(

"%d"

,pointer

->

weight); }

intmain()

print(

head);

//列印

printf(

"/n");

insert_tree(

head);

//插入

print(

head);

//列印

printf(

"/n");

min_tree(

head);

printf(

"/n");

printf(

"please input the number you want to successor:");

scanf(

"%d",&

key);

successor_tree(

head

,key);

printf(

"/n");

return

0;

}

查詢之二叉樹查詢

1.查詢樹的建立 createtree 假設有如下陣列4,1,45,78,345,23,12,3,6,21 首先選定4為root,然後遍歷剩下的數字,如果大於等於4則放到4的右側,小於4放到4的左側,最後構建成的樹 所有的左孩子都小於父節點,所有的右孩子都大於等於父節點。如下圖 2.遍歷查詢樹 di...

二叉樹(二)之二叉查詢樹

目錄 一 二叉查詢樹的概念 二 二叉查詢樹的實現 三 二叉查詢樹 binary search tree 又被稱為二叉搜尋樹。它是特殊的二叉樹 對於二叉樹,假設x為二叉樹中的任意乙個結點,x節點包含關鍵字key,節點x的key值記為key x 如果y是x的左子樹中的乙個結點,則key y key x ...

演算法基礎之二叉樹

本文主要包括樹相關的演算法,二叉樹結點基本結構如下 function treenode x 本文還會繼續更新。function depth proot var depth 0 var currdepth 0 dfs proot return depth function dfs node currd...