算法
circle_breaker
这个作者很懒,什么都没留下…
展开
-
堆排序
与堆相关的数据结构 最大堆的特点 堆排序使用的是二叉堆中的最大堆,即:根节点大于所有的子节点,而左右子节点之间没有大小关系。 二叉堆的构造:用一个一维数组存放即可,第i个节点的左右两个子节点分别在2*i, 2*i+1的位置。 堆排序的思路 二叉堆排序的思路:自底向上调整堆,使其满足最大堆的性质,此时根节点就是最大的元素。将根节点与最有一个节点交换之后,将1——n-1个元素看做一个新的...原创 2018-11-30 15:18:36 · 151 阅读 · 0 评论 -
递归问题
解决递归问题的核心 如何将问题分解为两个同类型的但范围更小的子问题,如何合并两个子问题的结果,子问题在何时停止。 划分问题时,可以划分为两个同等量级的,但范围更小的问题。也可以划分为一个最小量级的,和另个是该问题的补集的问题。 举例 求一个字符串所有可能的子串。如"abcd"的所有可能子串为['a', 'ab', 'abc', 'abcd', 'b', 'bc', 'bcd', 'c', ...原创 2018-12-01 10:08:27 · 170 阅读 · 0 评论