一、填空题(挺多文科知识,记不清了) 输入数据的规模和分布影响复杂度 常见排序算法的时间复杂度 基于比较的选择最坏情况比较多少次 堆和归并是渐进最优的排序算法,因为最坏情况的时间复杂度为 分治法的三个步骤 红黑树黑高为h,内部结点最多最少为 直接写LCS 大整数乘法用分治法后的复杂度 判断哪个关于增长率符号的等式错误 回溯法、拉斯维加斯、蒙特卡洛哪个不适宜求01背包问题(蒙特卡洛可能求错误解) 二、简答题 活动安排问题 小数背包和01背包哪个可以用贪心算法,策略是什么 基数排序的具体操作(几个三位数进行排序) 二叉搜索树左旋与右旋,画图 prim和kruscal画最小生成树 三、计算证明题 三道函数增长率相关的题。。。(教材4.6-2可以记一下,当然作业也遇到过) (主方法、递归树、代入法都有涉及,作业会做问题不大) 七个矩阵的链乘问题(差不多得了 四、分析设计 求众数及其重数,并分析时间复杂度 若已知众数的重数大于n/2,如何在O(n)时间找到众数 (我的思路:教材介绍了最坏情况为线性时间复杂度的选择算法,找到中位数即可) 堆排序的建堆实际操作,时间复杂度多少(O(n),挺容易被忽视的) 某个结点的高度是多少 找钱问题的拓展,记不清了