部分理论和图来自:http://www.cnblogs.com/jingmoxukong/p/4308823.html (侵删)归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即...
分类:
编程语言 时间:
2015-03-09 18:56:30
阅读次数:
158
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
该方法的基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
int Par...
分类:
编程语言 时间:
2015-03-08 14:19:53
阅读次数:
137
1 from numpy import array, append, vstack, transpose, reshape, \ 2 dot, true_divide, mean, exp, sqrt, log, \ 3 ...
分类:
编程语言 时间:
2015-03-07 06:13:08
阅读次数:
3970
[LeetCode] 029. Divide Two Integers (Medium) (C++/Python)...
分类:
编程语言 时间:
2015-03-06 15:55:31
阅读次数:
179
插入排序是一种最基本的排序方法,时间复杂度为O(nlogn)。效率较高, 而且在笔试面试中经常会被问到, 要多写多练做到可以随时随手写出快排的目标。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMet...
分类:
编程语言 时间:
2015-03-06 15:24:53
阅读次数:
128
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
分支策略:每次归并两个已排好序的链表,直至只剩下一个链表。
public class Solution {
public ListNode mergeKLists(List list...
分类:
其他好文 时间:
2015-03-05 19:33:56
阅读次数:
138
Divide two integers without using multiplication, division and mod operator.
If it is overflow, return MAX_INT.
思路1:看样只能用减法了,依次减去除数,TOTS,肯定超时。
思路2:每次减去N倍的除数,结果也加上N次,因此我们需要将除数扩大N倍。
int扩展成long防止...
分类:
其他好文 时间:
2015-03-05 14:55:43
阅读次数:
108
这是一个入门级的算法,但它却揭示了计算机算法设计的一些核心思想:枚举与分治递归。这篇文章主要由简单到复杂来解析这一问题,流程大致是:枚举求解(充分利用计算机的计算能力来解决单调复杂问题),算法分析与改进(相对偏移化简枚举法),分治算法(divide-conquer,计算机核心思想之一),递归算法与递...
分类:
编程语言 时间:
2015-03-01 00:14:24
阅读次数:
330
Binary Tree dfs Traversal-preorder/inorder/postorder-divide&conquer-introduce dfs templatePreorder :Inorder;Postorder:Divide & Conquer :-Merge Sort (a...
分类:
其他好文 时间:
2015-02-25 11:38:00
阅读次数:
123
Divide two integers without using multiplication, division and mod operator.
If it is overflow, return MAX_INT.
题意:不用乘除和mod运算计算两个数相除。
思路:因为每个数都能表示为二进制,也就是num = a*2^0 + b*2^1....,所以我们只要去判断有哪些2^k就能...
分类:
其他好文 时间:
2015-02-22 17:23:05
阅读次数:
136