2023年云南省数据总结基础

发布 2022-01-08 12:45:28 阅读 8067

1、设t是一棵满二叉树,编写一个将t的先序遍历序列转换为后序遍历序列的递归算法。2、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜。

int leafklevel(bitree bt, int k) /求二叉树bt的第k(k>1)层上叶子结点个数 //last移到指向下层最右一元素if(level>k) return (leaf层数大于k后退出运行}//while }/结束leafklevel

3、证明由二叉树的中序序列和后序序列,也可以唯一确定一棵二叉树。29.①试找出满足下列条件的二叉树。

1)先序序列与后序序列相同2)中序序列与后序序列相同。

3)先序序列与中序序列相同4)中序序列与层次遍历序列相同。

4、将顶点放在两个集合v1和v2。对每个顶点,检查其和邻接点是否在同一个集合中,如是,则为非二部图。为此,用整数1和2表示两个集合。再用一队列结构存放图中访问的顶点。

int bpgraph (adjmatrix g)

/判断以邻接矩阵表示的图g是否是二部图。

int s;顶点向量,元素值表示其属于那个集合(值1和2表示两个集合)int q;q为队列,元素为图的顶点,这里设顶点信息就是顶点编号。

int f=0,r,visited;f和r分别是队列的头尾指针,visited是访问数组for (i=1;i<=n;i++)初始化,各顶点未确定属于那个集合。

q[1]=1; r=1; s[1]=1;//顶点1放入集合s1while(f //邻接点入队列else if (s[j]==s[v]) return(0);}非二部图}//if (!visited[v])}while

return(1); 是二部图。

算法讨论]题目给的是连通无向图,若非连通,则算法要修改。

2023年云南省基础数据高级

1 设一棵树t中边的集合为,要求用孩子兄弟表示法 二叉链表 表示出该树的存储结构并将该树转化成对应的二叉树。2 我们可用 破圈法 求解带权连通无向图的一棵最小代价生成树。所谓 破圈法 就是 任取一圈,去掉圈上权最大的边 反复执行这一步骤,直到没有圈为止。请给出用 破圈法 求解给定的带权连通无向图的一...

2023年云南省基础数据高级

1 设一棵树t中边的集合为,要求用孩子兄弟表示法 二叉链表 表示出该树的存储结构并将该树转化成对应的二叉树。2 我们可用 破圈法 求解带权连通无向图的一棵最小代价生成树。所谓 破圈法 就是 任取一圈,去掉圈上权最大的边 反复执行这一步骤,直到没有圈为止。请给出用 破圈法 求解给定的带权连通无向图的一...

2019云南省数据结构基础 必备

1 已知广义表l x,y,z a,u,t,w 从l表中取出原子项t的操作是 d a head head tail tail l b tail head head tail l c head tail head tail l d head tail head tail tail l 2 若一棵二叉树具...