十大经典排序算法 主题: 关于时间复杂度: 平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。 线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序。 O(n1+§)) 排序,§ 是介于 0 和 1 之间的常数。 希尔排序。 线性阶 (O(n)) 排序 基数排 ...
分类:
编程语言 时间:
2019-02-18 01:24:12
阅读次数:
199
动态规划 在动态规划算法策略中,体现在它的决策不是线性的而是全面考虑不同的情况分别进行决策, 并通过多阶段决策来最终解决问题。在各个阶段采取决策后, 会不断决策出新的数据,直到找到最优解.每次决策依赖于当前状态, 又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义。所 ...
分类:
编程语言 时间:
2019-02-15 18:19:37
阅读次数:
169
https://leetcode.com/tag/divide-and-conquer/ ...
分类:
其他好文 时间:
2019-02-14 13:25:39
阅读次数:
263
在前面的文章中我们给大家介绍了不少关于大数据热词的科普知识,从中我们可以发现大数据中的热词之间都是有一些联系的,如果我们学习大数据的话了解这些词汇以后就会不断地激发灵感,下面我们继续给大家介绍一下大数据的热词,希望能够给大家带来帮助。 ...
分类:
其他好文 时间:
2019-02-11 17:09:39
阅读次数:
155
算法描述: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. Example: 解题思路:分治法。 ...
分类:
其他好文 时间:
2019-02-11 13:02:36
阅读次数:
190
[toc] 题目链接 "Merge k Sorted Lists LeetCode" 注意点 给出了链表是有序的 解法 解法一:暴力。用map收集所有链表的数据,然后排序生成新链表。时间复杂度O(kn) 解法二:分治法。比如6个链表,先合并14、25、36。然后合并13,最后和2合并即可。要用到 " ...
分类:
其他好文 时间:
2019-02-08 14:35:41
阅读次数:
188
每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西! Algorithm: 学习算法 题目:String to Integer (atoi) 解题过程: 这题主要考虑异常情况,比如空字符串,开头 +/- ,非数字字符,空格, ...
分类:
编程语言 时间:
2019-02-02 17:28:37
阅读次数:
244
题目: 如果一个序列的任意连续的子序列中至少有一个只出现一次的元素,则称这个序列是不无聊的。输入一个n(n≤200000)个元素的序列A(各个元素均为109以内的非负整数),判断它是不是不无聊的。 思路: 分治法,平常确实用的非常的少,这次借这个题目熟悉一下。代码思路是学习的紫书上的代码的。 在[L ...
分类:
其他好文 时间:
2019-02-01 13:02:33
阅读次数:
175
分治法就是将一个复杂难解决问题拆成一些容易解决的小问题,再依次解决而最终解决整个问题 new int[] { 2, -3, 4, 67, 6 } 这样一个下标为0到4的数组,要找最大子数组,需要将其拆分成两个子数组,mid=(0+4)/2 即为0~mid的左数组和mid+1~4的右数组 最大子数组可 ...
分类:
编程语言 时间:
2019-01-30 13:12:33
阅读次数:
141
递归和分治天生就是一对好朋友。所谓分治,顾名思义,就是分而治之,是一种相当古老的方法。 在遥远的周朝,人们受生产力水平所限,无法管理庞大的土地和众多的人民,因此采用了封邦建国的封建制度,把土地一层一层划分下去,以达到分而治之的目的,这也许是最古老的分治法了: 分治的步骤 正像分封土地一样,分治法的目 ...
分类:
其他好文 时间:
2019-01-27 19:08:56
阅读次数:
266