怎麼碩呢?
之前學的二叉樹基本上忘得差不多了
今天大概複習了一下,今天結合考研的書(王道)重新寫了一遍。
包括:遞迴前中後序,非遞迴前中後序,層序遍歷以及二叉樹的構建。
參考了書中的**,所以很接近考研的思路和習慣,廢話不多說了,上**。
#include #include #include #include #include #include using namespace std;
typedef struct bitnode ;
struct bitnode *t;
struct bitnode *creat_bitnode(struct bitnode *s)
struct bitnode *creat_bitnode_by_zero(struct bitnode *t)
struct bitnode *creat_bitnode_by_level(struct bitnode *t)
scanf("%d",&x);;//右子樹建立
if(x==0) s->rchild = null;
else
} return t;
} void preordertree(struct bitnode *t)
}void inordertree(struct bitnode *t)
}void postordertree(struct bitnode *t)
}void preorderwithoutrecursion(struct bitnode *t)
else
} printf("\n");
}void inorderwithoutrecursion(struct bitnode *t)
else
} printf("\n");
}void postorderwithoutrecursion(struct bitnode *t)elseelse
}
} printf("\n");
}void levelordertree(struct bitnode *t)
}int main()
二叉樹之 二叉樹深度
二叉樹深度 獲取最大深度 public static int getmaxdepth treenode root 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...
樹之二叉樹
二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。滿二叉樹 在二叉樹的第i 層上有2 i 1 個結點,深度為k的二叉樹有2 k 1個結點的二叉樹。則此二叉樹稱為 滿二叉...
c 列印二叉樹 考研資料結構演算法之二叉樹
查詢二叉樹值為x的結點。查詢二叉樹中值為x的結點 求二叉樹的高度 int 列印二叉樹 void 輸出葉子結點 void 先序遍歷非遞迴演算法 演算法思想1 二叉樹的層次遍歷 層次遍歷 編寫在以bst為樹根指標的二叉搜尋樹上進行查詢值為item的結點的非遞迴演算法,若查詢成功能則由item帶回整個結點...