分享到

微信
朋友圈
QQ
微博
取消

文章详情

当前位置:海文考研工学正文

数据结构复试真题与解析

2020-11-28 10:24 1587 来源:海文考研

1.简单介绍排序算法。
答:
排序算法分为内部排序和外部排序。内部排序有:插入排序、选择排序、交换排序、归并排序、基数排序。插入排序有直接插入和折半插入。都是在有序表里插入进去的。交换排序:冒泡,快速排序:以一个数字划分两个区域,然后分别对两个区域继续划分,直到区间为一。注意:快排是不稳定的。选择排序:简单的选择排序,堆排序归并排序:将两个有序表归并到一个有序表。将两个有序表放到一起进行各个比较,比较完之后放回原来数组内。
2.简要介绍各种树。
答:
二叉树:有左右子树的区分和度不超过2。(度是指节点所拥有的字数个数)
二叉排序树:左子树均小于根,根均小于右节点。(左小右大,根中间)
线索二叉树:设置两个标识标记左右指针指向的是孩子还是前躯节点。
平衡二叉树:左右子树高度差绝对值小于等于1。
哈夫曼树:压缩用的,按权值大小排列。
完全二叉树:只能从右边为空。
3.简述算法的特性。
答:
①有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
②确定性:算法中每一条指令必须有确切的含义,不存在二义性,且算法只有一个入口和出口。
③可行性:算法描述的操作都可以通过已经实现的基本运算执行有限次来实现。
④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象集合。
⑤输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
4.简述KMP算法。
答:
在一个字符串中查找是否包含目标的匹配字符串。其主要思想是每趟比较过程让子串先后滑动一个合适的位置。当发生不匹配的情况时,不是右移一位,而是移动(当前匹配的长度– 当前匹配子串的部分匹配值)位。
5.简述循环和递归的优缺点。
答:
递归算法优点:代码简洁、清晰,并且容易验证正确性。缺点:它的运行需要较多次数的函数调用,如果调用层数比较深,需要增加额外的堆栈处理(还有可能出现堆栈溢出的情况),比如参数传递需要压栈等操作,会对执行效率有一定影响。但是,对于某些问题,如果不使用递归,那将是极端难看的代码。在编译器优化后,对于多次调用的函数处理会有非常好的效率优化,效率未必低于循环。
循环算法优点:速度快,结构简单。缺点:并不能解决所有的问题。有的问题适合使用递归而不是循环。如果使用循环并不困难的话,最好使用循环。

上一篇:软件工程综合860真题解析 下一篇:数据结构真题与解析 (2)
关键词:

相关推荐

热点推荐

免费获取考研大礼包

姓名
手机号
验证码
获取验证码
邮箱
学历
微信
提交