判斷一棵二叉樹是否是二叉排序樹,可以通過中序遍歷來檢查,為此要設定乙個指標pr指示二叉樹中當前結點的中序直接前驅,每訪問乙個結點,就比較當前訪問結點的關鍵值是否大於ptr所指結點的關鍵字值,如果遍歷了所有結,各結點與其中序直接前驅點都 是後乙個大於前乙個,則為二叉排序樹。
void binsearchtree(bstree root,bstree &ptr,int &bs)else else bs = 0;
}printf("the vlaue of ptr %d \n" ,ptr->data);
if(bs)binsearchtree( root->rchild,ptr,bs);}}
這是乙個遞迴過程,有時間寫乙個非遞迴的程式
判斷一棵二叉樹是否是完全二叉樹
層次遍歷乙個二叉樹,掃瞄到某個結點左孩子或右孩子為空時即停止,檢查此時佇列內所有結點是否均為葉子結點 include include define false 0 define true 1typedef int status typedef int elemtype typedef struct ...
判斷一棵二叉樹是否是平衡二叉樹
思路 遞迴方式判斷,返回的資訊應該有兩個 1 這棵樹是否是平衡的 2 這棵樹的高度為多少 public class isbalancedtree public static class returndata public static returndata process node head ret...
二叉樹 判斷一棵樹是否是完全二叉樹
原創 2017年07月27日 19 16 05 如何判斷乙個樹是否為完全二叉樹?思路一 將所有的結點全部押入佇列中,空也壓入,每次判斷佇列的頭如果佇列頭為空了則跳出迴圈,如果此後佇列中還有元素則不是完全二叉樹。bool iscompletetree binarytreenode proot q.po...