14-Si

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  7 随笔 :: 0 文章 :: 0 评论 :: 408 阅读

随笔分类 -  算法导论学习

摘要:堆可以理解成一个完全二叉树,树上的每个节点都对应着一个元素。 存储堆的数组A通常包括两个属性: A.length 给出数组元素的个数 A.heap-size 存储在数组中的堆元素的数量 也就是说,虽然[1, A.length]中可能都存有数据,但实际上只有[1, A.heap-size]中存放的是有 阅读全文
posted @ 2022-08-05 03:08 14-Si 阅读(25) 评论(0) 推荐(0) 编辑

摘要:《算法导论》中讲分治策略的第一道例题就是一道"最大子数组问题",抽象出数学模型,题意是想求出数组中的连续子数组和的最大值。 很明显,暴力求解不加任何优化是O(n^2)的时间复杂度(暴力枚举左和右的组合,然后进行求和),在大数据范围时会有超时的风险,所以我们要进行算法的优化。 使用分治策略的求解方法 阅读全文
posted @ 2022-07-22 23:14 14-Si 阅读(170) 评论(0) 推荐(0) 编辑

摘要:分治法的思想是将原问题分解为几个规模小的同类问题,递归地求解这些子问题,然后再将子问题的解合并去解决原问题。 分治法每层递归可以分为三个步骤: 1.分解:将大的问题分解成同类型的小问题 2.解决:递归解决各个子问题,直到当前子问题无法继续分割或者小于某个规模 3.合并:将分割后的子问题的解依次合并, 阅读全文
posted @ 2022-07-15 00:05 14-Si 阅读(28) 评论(0) 推荐(0) 编辑

摘要:插入排序的原理是将无序数组遍历,将下一个元素按排序规律插入到已经排好的部分中。 在书中给出的伪代码是这样的: INSERTION-SORT(A) for j = 2 to A.length key = A[i] //Insert A[j] into the sorted sequence A[1.. 阅读全文
posted @ 2022-07-07 20:50 14-Si 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示