二叉樹的基本操作

2021-07-25 17:51:47 字數 988 閱讀 2514

二叉樹的基本操作: 遞迴建立和非遞迴建立、遍歷二叉樹、求樹高。

#include "iostream"  

#include "malloc.h"

using

namespace

std;

#define maxsize 1024

typedef

char datatype;

typedef

struct node

bitree;

bitree*creattree()//非遞迴的方式建立完全二叉樹

if(rear%2==1)

front++;

} }

return root;

} bitree *creattree2(int i,int n)//定義的方式建立完全二叉樹

//不夠通用,僅提供一種參考

void preorder(bitree*p)//前序遞迴遍歷

} void inorder(bitree*p)//中序遞迴遍歷

} void ninorder(bitree*p)//非遞迴的中序遍歷,其他兩種非遞迴遍歷諸君自己實現

else

} s=stack[top];

top--;

cout

s=s->rchild;

} } void postorder(bitree*p)//後序遞迴遍歷

} void layer(bitree*p)//用佇列實現廣度優先遍歷

if (s->rchild!=null)

} } int countleaf(bitree*p)//計算葉子節點數目

int height(bitree*p)//計算數的高度

int main()

二叉樹基本操作

tree.h ifndef tree h define tree h include typedef int element 定義二叉樹 typedef struct nodetreenode void preorder treenode root 遞迴前序遍歷 void inorder treen...

二叉樹基本操作

一.二叉樹的定義 二.二叉樹的建立 定義一棵無資料的二叉樹 6 int left size 7 int right size 為了操作簡便,我們定義一棵不需要儲存資料的二叉樹,只要能儲存節點之間的邏輯關係就行,所以用兩個陣列來表示。left i 第i個節點的左子節點的序號 right i 第i個節點...

二叉樹基本操作

include include define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 j ch str j btnode f...