随笔分类 - 数据结构算法成长日记
摘要:动态规划是求解最优化问题的一种常用策略。 1、将复杂的原问题拆解成若干个简单的子问题 2、每个子问题仅仅解决一次,并保存他们的解 3、最后推导出原问题的解 应用场景: 最优解 有后效性和无后效性 使用步骤: 1、定义状态,状态是原问题所拆解成的子问题的解,例如dp(i),递归思想 2、设定初始状态,
阅读全文
摘要:快速排序的思想: 先以一个元素作为标准,找到这个元素的位置,这个位置前的数据都比这个元素小,这个元素后的数据都比这个元素大。 下面代码适用场景,没有大量重复元素的数据。 由于比较懒,盗个图吧: 第一版代码如下: 代码如下:
阅读全文
摘要:自顶向下的递归 归并排序的思想是先二分数组,然后再对每一部分进行二分,最后递归至每一部分只有一个元素,然后再进行组合。 优点:速度快 缺点:空间消耗较大 实现步骤:三个函数,一个总接口调用函数,一个递归函数,一个归并函数 优化一:数据近乎是有序数据时: 当middle的值大于middle+1位置的值
阅读全文
摘要:1、选择排序 1) 循环所有元素,找到最小元素的下标 2) 最小元素下标和当前元素互换位置
阅读全文