考完感觉不太好,然后写了个回忆版留给学弟学妹们参考一下吧~ 期末复习的时候可以当做参考~
17-18 数据结构回忆版
一、 填空题(20分)
1.删除线性表中第i个元素需要移动多少个元素 (ppt第三章上有)
2.(之前没有相关题目的练习)复杂度分析
(1)s=i=0while(s<=n)i++ s+=i
(2)
(3)while(i<=n)i*=2
3. R F ,共M个元素 求位置
4.??
5.(散列的分类题目里有类似)散列 %17 (1)求出序列
(2)查找 ??和85的次数
二、 应用题(35分)
1.中序和后序能否确定一个二叉树,若能写出确定过程,并写出前序遍历结果。
2.一个完全二叉树层次遍历序列,(1)建立堆,求出时间复杂度 (2)堆排序 删除最大 的 得到第一次排序结果
3.霍夫曼树的建立 求霍夫曼编码和权重
4.AVL搜索树插入建立 过程 / 删除3 过程/删除6 过程
5.朋友,朋友的朋友在一个子集中什么什么的 设计算法
三、 简答题(25分)
1.克鲁斯卡尔算法怎样判断是否有回路
2.有向图的邻接链表,邻接矩阵 分别怎么求所有节点的入度 算法思想 和复杂度分析
3.给了一个有向加权图的加权邻接矩阵
(1)求一个拓扑序列
(2)从A开始到任意一个点的最短路径 和最短路径的长度
四、 代码题(20分)
1. 判断二叉树是否有相同的父节点、祖先
(1) 算法思想
(2) 代码
(3) 复杂度
2. (12-13的真题)
编写一个算法去除链表中的重复元素。例如,将(7,12,12,14,23)变为(7,12,14,23),请写出算法思想和算法实现并分析算法的复杂性。