网络流的测试数据
发布网友
发布时间:2022-04-19 09:42
我来回答
共2个回答
热心网友
时间:2023-09-18 09:14
一. 以先序输入建立的二叉链表的算法分析:
创建时,按二叉树带空指针的先序次序输入结点值,结点值为字符型,createbintree(bintree *bt)以二叉链表为存储结构建立一棵二叉树bt的存储,bt为指向二叉树根结点的指针。
在算法实现的过程中,首先判断结点的值是否为0,若为0则返回,输入到此结束;当输入不为0时,其值即是结点的值,然后对分别对其左右结点进行输入,其输入原则如上。
二.先根遍历的算法分析:
根据先序遍历二叉树的递归定义,转化成非递归函数时采用一个栈保存返回的结点,先扫描根结点并入栈,出栈一个结点,访问之,然后扫描该结点的左结点并入栈再扫描该结点的所有右结点并入栈,如此这样直到栈空为止.
三.中序遍历算法分析:
根据中序遍历二叉树的递归定义,转化成非递归函数时采用一个栈保存返回的结点,先扫描根结点的所有左结点并入栈,出栈一个结点,访问之,然后扫描该结点的右结点并入栈再扫描该右结点的所有左结点并入栈,如此这样直到栈空为止.
四.层次遍历的算法分析:
本算法要采用一个队列q,先将二叉树根结点入队列,然后退队列,输出该结点,若它有左子树,便将左子树根结点入队列,若它有右子树,便将右子树根结点入队列,如此直到队列空为止。因为队列的特点是先进先出,从而达到按层次顺序遍历二叉树的目的。
五.求二叉树的深度算法:
若一棵二叉树为空,则其深度为0,否则其深度等于左子树和右子树的最大深度加1.递归模型:
depth(b)=0 若b=NULL
如:
depth(b)=max(depth(b->left,b->right)+1 其他
热心网友
时间:2023-09-18 09:14
5 4
1 2 40
1 4 20
2 4 20
2 3 30
3 4 10
poj1273 看讨论,有人留了数据