基础篇 1、 算法有哪些特点?它有哪些特征?它和程序的主要区别是什么? 2、 算法的时间复杂度指的是什么?如何表示? 3、 算法的空间复杂度指的是什么?如何表示? 4、 什么是最坏时间复杂性?什么是最好时间复杂性? 5、 什么是递归算法?什么是递归函数? 6、 分治法的设计思想是什么? 7、 动态规划基本步骤是什么? 8、 回溯法与分枝限界法之间的相同点是什么?不同之处在哪些方面? 9、 分枝限界法的基本思想是什么? 10、 限界函数的功能是什么? 11、 设某一函数定义如下: 编写一个递归函数计算给定x的M(x)的值。 12、 已知一个顺序表中的元素按元素值非递减有序排列,编写一个函数删除表中多余的值相同的元素。 13、 分别写出求二叉树结点总数及叶子总数的算法。 分治术 14、 有金币15枚,已知其中有一枚是假的,而且它的重量比真币轻。要求用一个天平将假的金币找出来,试设计一种算法(方案),使在最坏情况下用天平的次数最少。 15、 利用分治策略,在n个不同元素中找出第k个最小元素。 16、 设有n个运动员要进行网球循环赛。设计一个满足以下要求的比赛日程表。 (1)每个选手必须与其它n-1选手各赛一次; (2)每个选手一天只能赛一次。 17、 已知序列{503,87,512,61,908,170,897,275,652,462},写一个自底向上的归并分类算法对该序列作升序排序,写出算法中每一次归并执行的结果。 贪心法 18、 设有n个文件f1,f2,…,fn要求存放在一个磁盘上,每个文件占磁盘上1个磁道。这n个文件的检索概率分别是p1,p2,…,pn,且 =1。磁头从当前磁道移到被检索信息磁道所需的时间可用这两个磁道之间的径向距离来度量。如果文件fi存放在第i道上,1≤i≤n则检索这n个文件的期望时间是 。其中d(i,j)是第i道与第j道之间的径向距离。磁盘文件的最优存储问题要求确定这n个文件在磁盘上的存储位置,使期望检索时间达到最小。试设计一个解此问题的算法,并分析算法的正确性与计算复杂性。 19、 设有n个正整数,编写一个算法将他们连接成一排,组成一个最大的多位整数。用贪心法求解本题。 20、 键盘输入一个高精度的正整数N(此整数中没有‘0’),去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小(输出应包括所去掉的数字的位置和组成的新的正整数,N不超过240位)。 21、 对于下图给出的有向网,写出用Dijkstra方法求从顶点A到图中其它顶点的最短路径的算法,并写出执行算法过程中顶点的求解次序及从顶点A到各顶点路径的长度。 22、 对于上图给出的有向图,写出最小成本生成树,给出求解算法。 动态规划 23、 求出上图中每对结点间的最短距离的算法,并给出计算结果。 24、 下图中给出了一个地图,地图中每个顶点代表一个城市,两个城市间的连线代表道路,连线上的数值代表道路的长度。现在,想从城市A到达城市E,怎样走路程最短,最短路程的长度是多少? 25、 已知序列a1,a2,…,an,试设计一算法,从中找出一子序列 ai1 < ai2 < … E。试用动态规划的最优化原理求出A->E的最省费用。 29、 已知如下图,写出用动态规划求最短路径的递推关系式,并写出求从源点A0到终点A3 的最短路径过程。给出求解算法。 6 A1 A2 5 5 2 A0 A3 3 4 4 B1 B2 5 搜索
2021-05-16 23:24:02 432KB 算法分析 Sparks语言
1
python算法分析与设计实验报告,内含快排,分治,最大流,随机等算法,按照算法书上的实验排列,内含完整算法思想和代码
2021-05-16 15:34:52 188KB python 算法 实验报告
1
算法分析与设计之世界名画陈列馆问题(回溯法)java源代码和实验报告 算法作为计算机专业学生的必修课,同时也是软件开发过程中必备的编程思想,对学习研究计算机专业意义重大;正因为这门课程难,所以除了相关方面的书籍,网络资源少的可怜,尤其是java代码简直如大海捞针。因此,做完这次课程设计,我决定把这些资源传到广大学生钟爱的CSDN上供大家分享学习,希望能真正帮到大家!
1
全书共分11章,包括:预备知识、几何查找、多边形、凸壳及其应用、Voronoi图与三角剖分及其应用、交与并及其应用、矩形几何、几何体的排列、算法的运动规划、几何拓扑网络设计、随机几何算法与并行几何算法等。
2021-05-12 16:07:35 7.75MB 周培德 卢开澄
1
课后答案,估计南京诸多理工高校的童鞋们早就翘首以盼了吧O(∩_∩)O哈哈~
2021-05-10 13:37:19 274KB 陈慧南
1
[算法分析与设计].(美国)Michael.T.Goodrich.清晰版 目录: 第一部分 基础工具 第1章 算法分析 1.1 算法的分析方法学 1.1.1 伪代码 1.1.2 随机存取机(RAM)模型 1.1.3 统计基本操作的数量 1.1.4 递归算法分析 1.2 渐近符号 1.2.1 大O符号 1.2.2 与大“O”相关的渐近符号 1.2.3 渐近表示的重要性 1.3 数学概览 1.3.1 求和 1.3.2 对数和指数 1.3.3 简单证明技术 1.3.4 概率基础 1.4 算法分析案例研究 1.4.1 二次时间前缀平均值算法 1.4.2 线性时间前缀平均值算法 1.5 平摊方法 1.5.1 平摊技术 1.5.2 扩展数组实现分析 1.6 实验 1.6.1 实验组织 1.6.2 数据分析和可视化 1.7 习题 基础题 创新题 程序设计 1.8 本章注记 第2章 基本数据结构 2.1 栈和队列 2.1.1 栈 2.1.2 队列 2.2 向量、表和序列 2.2.1 向量 2.2.2 表 2.2.3 序列 2.3 树 2.3.1 树抽象数据类型 2.3.2 树的遍历 2.3.3 二叉树 2.3.4 表示树的数据结构 2.4 优先队列和堆 2.4.1 优先队列抽象数据类型 2.4.2 PQ排序、选择排序和插入排序 2.4.3 堆数据结构 2.4.4 堆排序 2.5 字典与散列表 2.5.1 无序字典ADT 2.5.2 散列表 2.5.3 散列函数 2.5.4 压缩映射 2.5.5 冲突处理模式 2.5.6 通用散列 2.6 Java示例:堆 2.7 习题 基础题 创新题 程序设计 2.8 本章注记 第3章 查找树和跳跃表 3.1 有序字典和二叉查找树 3.1.1 有序表 3.1.2 二叉查找树 3.1.3 二叉查找树中的查找 3.1.4 二叉查找树中的插入 3.1.5 二叉查找树中的删除 3.1.6 二叉查找树的性能 3.2 AVL树 3.2.1 更新操作 3.2.2 性能 3.3 深度有界查找树 3.3.1 多路查找树 3.3.2 (2,4)树 3.3.3 红黑树 3.4 伸展树 3.4.1 伸展 3.4.2 伸展过程的平摊分析 3.5 跳跃表 3.5.1 查找 3.5.2 更新操作 3.5.3 跳跃表的概率分析 3.6 Java示例:AVL树和红黑树 3.6.1 AVL树的Java实现 3.6.2 红黑树的Java实现 3.7 习题 基础题 创新题 程序设计 3.8 本章注记 第4章 排序、集合和选择 4.1 归并排序 4.1.1 分治法 4.1.2 归并排序和递归方程 4.2 集合抽象数据类型 4.2.1 简单的集合实现 4.2.2 具有union-find操作的划分 4.2.3 基于树的划分实现 4.3 快速排序 4.4 基于比较的排序下界 4.5 桶排序和基数排序 4.5.1 桶排序 4.5.2 基数排序 4.6 比较排序算法 4.7 选择 4.7.1 剪枝-查找法 4.7.2 随机化快速选择 4.7.3 随机化快速选择分析 4.8 Java示例:原位快速排序 4.9 习题 基础题 创新题 程序设计 4.10 本章注记 第5章 基本技术 5.1 贪心法 5.1.1 背包问题 5.1.2 任务调度 5.2 分治法 5.2.1 分治递归方程 5.2.2 整数相乘 5.2.3 矩阵相乘 5.3 动态规划 5.3.1 矩阵链乘 5.3.2 一般技术 5.3.3 0-1背包问题 5.4 习题 基础题 创新题 程序设计 5.5 本章注记 第二部分 图算法 第6章 图 6.1 图抽象数据类型 6.2 图的数据结构 6.2.1 边表结构 6.2.2 邻接表结构 6.2.3 邻接矩阵结构 6.3 图的遍历 6.3.1 深度优先查找 6.3.2 双连通分量 6.3.3 广度优先查找 6.4 有向图 6.4.1 遍历有向图 6.4.2 传递闭包 6.4.3 DFS和垃圾收集 6.4.4 有向无环图 6.5 Java示例:深度优先查找 6.5.1 修饰模式 6.5.2 DFS引擎 6.5.3 模板方法设计模式 6.6 习题 基础题 创新题 程序设计 6.7 本章注记 第7章 加权图 7.1 单源点最短路径 7.1.1 Dijkstra算法 7.1.2 Bellman-Ford最短路径算法 7.1.3 有向无环图中的最短路径 7.2 所有顶点对之间的最短路径 7.2.1 动态规划最短路径算法 7.2.2 利用矩阵相乘计算最短路径 7.3 最小生成树 7.3.1 Kruskal算法 7.3.2 Prim-Jarník算法 7.3.3 Bar?vka算法 7.3.4 MST算法比较 7.4 Java示例:Dijkstra算法 7.5 习题 基础
2021-05-08 18:03:52 8.7MB 算法 Java版 算法分析 算法分析与设计
1
讲述算法分析与设计,为编写软件打下基础,适合入门者, 内容很详细
2021-05-06 20:27:59 8.26MB 算法分析设计
1
算法分析与设计实验.
2021-05-04 22:01:31 745KB 算法
1
华南农业大学算法分析与设计复习题
2021-05-01 18:01:07 266KB 操作系统
1
算法分析与设计课件(蛮力法 分治法 动态规划法 贪心法 回溯法 分支限界法)
2021-04-28 10:57:34 16.11MB 算法
1