凡是学习了一种语言(不论是初级的还是高级的)程序设计课程并能编写一 些实用程序的人,也许都有这样一种体会,学会编程容易,但是要想编出好程序 难,因而很想学点如何设计良好算法的知识。一些著名的计算机学家在有关计算 机科学教育的论述中认为,计算机科学是一种创造性思维活动,其教育必须面向 设计。计算机算法设计与分析正是面向设计、处于核心地位的课程
文件格式: PDF大小: 256.54KB页数: 17
程序性能(program performance)是指运行一个程序所需的内存大小和时 间多少。所以,程序的性能一般指程序的空间复杂性和时间复杂性。性能评估主 要包含两方面,即性能分析(performance analysis)与性能测量(performance measurement),前者采用分析的方法,后者采用实验的方法
文件格式: PDF大小: 237.77KB页数: 15
z 无向图(undirected graph) 哥尼斯堡七桥 Euler 图 无向图,简称图,是一个用线(边)连接在一起的节点(顶点)的集合。严 格地说,图是一个三元组 G=( V, E, I ), 其中,V 是顶点的集合,E 是边的集 合,而 I 是关联关系,它指明了 E 中的每条边与 V 中的每个顶点之间的关联关 系:每条边必定连接两个而且只有两个顶点,它们称为该边的端点
文件格式: PDF大小: 225.01KB页数: 15
找零钱 假如售货员需要找给小孩 67 美分的零钱。现在,售货员 手中只有 25 美分、10 美分、5 美分和 1 美分的硬币。在小孩的催促 下,售货员想尽快将钱找给小孩。她的做法是:先找不大于 67 美分 的最大硬币 25 美分硬币,再找不大于 67-25=42 美分的最大硬币 25 美分硬币,再找不大于 42-25=17 美分的最大硬币 10 美分硬币, 再找不大于 17-10=7 美分的最大硬币 5 美分硬币,最后售货员再找 出两个 1 美分的硬币。至此,售货员共找给小孩 6 枚硬币
文件格式: PDF大小: 240.64KB页数: 22
找零钱 假如售货员需要找给小孩 67 美分的零钱。现在,售货员 手中只有 25 美分、10 美分、5 美分和 1 美分的硬币。在小孩的催促 下,售货员想尽快将钱找给小孩。她的做法是:先找不大于 67 美分 的最大硬币 25 美分硬币,再找不大于 67-25=42 美分的最大硬币 25 美分硬币,再找不大于 42-25=17 美分的最大硬币 10 美分硬币, 再找不大于 17-10=7 美分的最大硬币 5 美分硬币,最后售货员再找 出两个 1 美分的硬币
文件格式: PDF大小: 240.64KB页数: 22
动态规划方法是处理分段过程最优化问题的一类及其有效的方法。在 实际生活中,有一类问题的活动过程可以分成若干个阶段,而且在任 一阶段后的行为依赖于该阶段的状态,而与该阶段之前的过程如何达 到这种状态的方式无关。这类问题的解决是多阶段的决策过程。在 50 年代,贝尔曼(Richard Bellman)等人提出了解决这类问题的“最 优化原理”,从而创建了最优化问题的一种新的算法设计方法-动态 规划
文件格式: PDF大小: 262.13KB页数: 29
回溯法有“通用的解题法”之称。应用回溯法解问题时,首先应 该明确问题的解空间。一个复杂问题的解决往往由多部分构成,即, 一个大的解决方案可以看作是由若干个小的决策组成。很多时候它们 构成一个决策序列。解决一个问题的所有可能的决策序列构成该问题 的解空间。解空间中满足约束条件的决策序列称为可行解。一般说来, 解任何问题都有一个目标,在约束条件下使目标达优的可行解称为该 问题的最优解
文件格式: PDF大小: 232.25KB页数: 23










