摘要:
1.对回溯算法的理解 个人感觉回溯法就是枚举每一种可能来寻找问题的解,所有可能的解就组成了解空间,以深度优先搜索的方式来搜索这个解空间,然后得到最优解。 用回溯算法解决问题的一般步骤: 1、 针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。 2 、确定易于搜索的解空间结构,使得能用回 阅读全文
摘要:
1.对贪心算法的理解 贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当 阅读全文
摘要:
1.实践题目 程序存储问题 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序 阅读全文
摘要:
1.对动态规划算法的理解 动态规划算法与分治法类似,其基本思想是将待求解问题分解成若干子问题,先求解子问题,再结合这些子问题的解得到原问题的解。与分治法不同的是,适合用动态规划法求解的问题经分解得到的子问题往往不是互相独立的。若用分治法来解,那么分解得到的子问题数目往往是指数级的,有些子问题被重复计 阅读全文
摘要:
7-3 编辑距离问题 (30 分) 7-3 编辑距离问题 (30 分) 7-3 编辑距离问题 (30 分) 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B 阅读全文
摘要:
1.分治法思想的体会: 分治法的基本思想是:将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。递归地解这些子问题 平时经常会用于优化的二分搜索就是运用分治的典例,每次将搜索数组的大小缩减一半,那么就可以在logn的时间内找到值。 将问题的规模逐步分割到足够小,得到部分 阅读全文
摘要:
在这一年的打题过程中,从最开始的手敲冒泡排序到现在一直用STL里的sort,排序算法使用的频率可以说是非常高的了,而且各种排序算法的思想和有关的一些数据结构也会经常用到,但之前一直听说sort是基于快排的,就会有疑问——堆排序的最坏最好复杂度都是nlogn,而快排的最坏复杂度是n2,为什么不用堆排呢 阅读全文
摘要:
1.题目描述: 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列的中位数指A(N−1)/2的值(A0为第1个数)。 输入格式: 输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空 阅读全文
摘要:
经过上网查找了有关编码规范的内容,对编码规范有了大致的了解。对于不同的语言,不同的公司而言,编码的规范可能会有很大不同,但是所有的编码规范的目的都是一致的——“保证代码在高质量完成需求的同时具备良好的可读性、可维护性”。养成一个好的编码规范不仅能让自己debug的时候省力,对将来从事工作也会有很大帮 阅读全文
摘要:
明明地址已经改变了,但是第一个*a为什么还是1。。 留个问题以后解决 阅读全文