- 博客(5)
- 收藏
- 关注
原创 二叉树层次遍历
1.创建一个循环队列2.定义应该临时指针p,用于遍历3.树根入队4.p指向队头,读出对头,队头出队4.左子树,右子树入队5.循环自到队空void LevelTraverse(BiTree T) //层次遍历{ if(T == NULL) return; BiTNode *queue[Maxsize]; //创建应该队列 int ...
2018-04-24 18:28:33 381 1
原创 二叉树中序非递归
步骤:1.创建栈2.创建一个指针p,辅助遍历3.左子树循环入栈,直到最后一个结点没有左孩子4.读栈顶,出栈5.p指向p的右孩子void InOrderUncursionTravere(BiTree T){ BiTNode *stack[Maxsize]; //定义一个栈 int top = -1; BiTNode *p = T; //定义指针...
2018-04-23 18:55:02 437
原创 二叉树非递归先序和后序遍历
为什么要把先序和后序放在一起写,因为他们思路很相似啊1.先序非递归:1-1.定义一个栈1-2.树根入栈1-3.若栈不为空,栈顶出栈,访问栈顶,右孩子入栈,左孩子入栈(后入栈的先出,所以左孩子后入栈)1-4 一直循环,直到栈空void PreOrderUnrecursionTraverse(BiTree T){ if (T == NULL) return; //若树根为NULL,...
2018-04-23 18:39:03 706
原创 二叉树先序,中序,后序递归遍历
void PreOrderRecursionTraverse(BiTree T) //先序递归二叉树{ if(T == NULL) return; //T为NULL,退出 printf("%C", T->data); //先访问根结点 PreOr...
2018-04-23 16:25:31 215
原创 先序创建二叉树
//定义二叉树结构typedef struct BiTreeNode{ char data; //结点存放的数据 BiTreeNode *lchild, *rchild; //树的左结点右结点指针}BiTreeNode, *BiTree; //BiTreeNode为结构体,BiTree为指向这个结构体的指针void Create...
2018-04-23 16:06:33 5877
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人