//判定一棵二叉樹是否為完全二叉樹
bool
is(bitree b)
else
//如果出隊元素為空,檢查其後是否有非空結點
}return
true;}
/*完全二叉樹的定義是:具有n個結點的完全二叉樹與滿二叉樹中的編號從1~n的結點一一對應。
演算法思想:
採用層次遍歷的方法,讓所有的結點入隊(包括空結點),當遇到空節點的時候判斷其後繼是否還有非空結點,若有則為非完全二叉樹
*/
//查詢p,q的最近公共祖先結點r
typedef struct
stack;
stack s,s1;
//棧的容量足夠大
bitree ancestor(bitree t,bitnode *p,bitnode *q)
while(top!=0&&s[top].tag==1
)
}if(s[top].t==q) //
找到q結點
top--; //退棧}
if(top!=0
) }}
return null; //
p和q沒有公共祖先
}
備份 演算法模板大集錦
一 介紹 這是一篇趕工趕出來並且隨時會更新的備份文章,裡面匯集了我曾學過的所有高階 也就是太長了我記不住 演算法的模板。大部分直接從以前的文章裡蒯過來,所以對於任意乙份模板,都說不定將來再次翻閱的時候忍受不了當時的格式 命名 寫法等等而進行修改。二 目錄 1 網路流dinic演算法 2 tarjan...
各種排序演算法大集合
電腦程式就是資料結構加演算法。可見演算法在計算機世界的重要性,本文所述的演算法是指基礎通用的查詢和排序演算法,其是其他更複雜演算法的基礎,總結在此以備將來查閱。排序演算法又分為好多種 簡單排序 sorts 1.1 插入排序 insertion sort 1.2 選擇排序 selection sort...
各種判斷的集錦
注 prototype 原型 property 屬性 proto 是js變數都有的,而prototype是js函式特有的 typeof 判斷資料型別 undefined 未定義 number 數字 string 字串 boolean 邏輯 function 函式 object object arra...