1、已知有向图g=(v,e),其中v=,e=
写出g的拓扑排序的结果。
g拓扑排序的结果是:v1、v2、v4、v3、v5、v6、v7
2、设一棵树t中边的集合为,要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。
3、两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左右子树是否相似,采用递归算法。
int similar(bitree p,q) /判断二叉树p和q是否相似。
if(p==null &&q==null) return (1);
else if(!p &&q ||p &&q) return (0);
else return(similar(p->lchild,q->lchild) &similar(p->rchild,q->rchild))
//结束similar
4、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结点值比较,即可得出结论,为此设全局指针变量pre(初值为null)和全局变量flag,初值为true。若非二叉排序树,则置flag为false。
#define true 1
#define false 0
typedef struct node
datatype data; struct node *llink,*rlink;} btree;
void judgebst(btree t,int flag)
/ 判断二叉树是否是二叉排序树,本算法结束后,在调用程序中由flag得出结论。
if(t!=null &&flag)
judgebst(t->llink,flag);/中序遍历左子树。
if(pre==null)pre=t;//中序遍历的第一个结点不必判断。
else if(pre->datadata)pre=t;//前驱指针指向当前结点。
else //不是完全二叉树
judgebst (t->rlink,flag);/中序遍历右子树。
//judgebst算法结束。
2019浙江省数据结构基础 必备
1 数据结构中,在逻辑上可以把数据结构分成 b a 动态结构和静态结构b 线性结构和非线性结构。c 紧凑结构和非紧凑结构d 内部结构和外部结构。2 若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个 d a 上三角矩阵b 稀疏矩阵c 对角矩阵d 对称矩阵。3 在一个单链表中,已知q结点是p...
2023年浙江省数据加强
1 设有一组初始记录关键字为 45,80,48,40,22,78 要求构造一棵二叉排序树并给出构造过程。2 本题要求建立有序的循环链表。从头到尾扫描数组a,取出a i 0 ilinkedlist creat elemtype a,int n 由含n个数据的数组a生成循环链表,要求链表有序并且无值重复...
2019浙江省数据结构 必备
1 设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为 b a 3,2,5,6,4,1 b 1,5,4,6,2,3c 2,4,3,5,1,6 d 4,5,3,6,2,1 2 n个顶点的图的最小生成树必定 d 是不正确的描述。a 不唯一b 权的总和唯一c 不含回路d 有n条边。3...