摘要:
1.你对回溯算法的理解 回溯法采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。 2.请说明“子集和”问题的解空间结构和约束函数 问题的 阅读全文
摘要:
1.实践题目 4-2 删数问题 2.问题描述 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 输入格式: 第 1 行是1 个正整数 a。第 2 行是正整数k。 输出格 阅读全文
摘要:
一、对动态规划算法的理解 动态规划算法一般用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,希望找到具有最优值的解。动态规划算法与分治法相似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。不同的是,适合于用动态 阅读全文
摘要:
实践题目 7-3 编辑距离问题 (30 分) 实践题目 7-3 编辑距离问题 (30 分) 实践题目 7-3 编辑距离问题 (30 分) 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字 阅读全文
摘要:
一.分治法学习的心得体会 分治法是一种很重要的算法。把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 分治 阅读全文
摘要:
题目: 两个有序序列的中位数 题目: 两个有序序列的中位数 题目: 两个有序序列的中位数 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列,的中位数指A(N−1)/2的值,即第⌊个数(A0为第1个数)。 输入格式: 输入分三行。第一行给出序列的公共长度 阅读全文
摘要:
C++代码规范我遵循的是这本《高质量C++/C编程指南》 http://www.scholat.com/course/V_courseResourceDownload.html?courseId=1227&resourceId=12836 1.头文件的结构 为了防止头文件被重复引用,应当用ifnde 阅读全文
摘要:
第7章 查找 一、查找的基本概念 (1)查找表:查找表是由同一类型的数据元素(或记录)构成的集合。 (2)关键字:关键字是数据元素(或记录)中某个数据项的值,用它可以标识一个数据元素(或记录)。 (3)查找:查找是指根据给定的某个值,在查找表中确定一个其关键字等于给定值得记录或数据元素。 (4)动态 阅读全文
摘要:
第六章 图 一些需要注意的点: 一、6.1 图的定义和基本术语 1.假设图中有 n 个顶点,e 条边,若边或弧的个数 e<nlogn,则称作稀疏图,否则称作稠密图。 2.和顶点v 关联的边的数目定义为边的度。 3.顶点的出度: 以顶点v为弧尾的弧的数目 顶点的入度: 以顶点v为弧头的弧的数目 顶点的 阅读全文