大型互联网架构 解决问题的通用思路是将分而治之(divide-and-conquer),将大问题分为若干个小问题,各个击破。在大型互联网的架构实践中,无一不体现这种思想。 架构目标 低成本:任何公司存在的价值都是为了获取商业利益。在可能的情况下,希望一切都是低成本的。 高性能:网站性能是客观的指标, ...
分类:
其他好文 时间:
2016-11-29 14:29:05
阅读次数:
184
归并排序的属性 时间复杂度 O(n log n)空间复杂度 O(n)稳定性 稳定发明者 约翰·冯·诺伊曼 (就是那个计算机冯·诺伊曼体系的人) 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 归并排序是建立在归并操作上 ...
分类:
编程语言 时间:
2016-11-27 07:02:27
阅读次数:
254
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed?Would this affect the run-time complexity? How and why?Write a function ...
分类:
其他好文 时间:
2016-11-11 22:53:39
阅读次数:
227
1. 归并排序 归并排序是基于一种被称为“分治”(divide and conquer)的策略。 Sort List Sort a linked list in O(n log n) time using constant space complexity. method 1: merge sort ...
分类:
编程语言 时间:
2016-10-07 07:45:56
阅读次数:
199
1. 前序遍历 1.1 前序遍历的非递归的方式 利用stack while (!stack.isEmpty()) { pop作为根节点; 根节点加入result list; 把右边节点加入到stack; 把左边节点加入到stack; } 1 public class Solution { 2 pub ...
分类:
其他好文 时间:
2016-09-22 08:46:51
阅读次数:
208
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target va ...
分类:
其他好文 时间:
2016-09-16 22:35:16
阅读次数:
162
M erge sort is based on the divide-and-conquer paradigm. Its worst-case running time has a lower order of growththan insertion sort. Since we are deal ...
分类:
编程语言 时间:
2016-09-07 14:41:08
阅读次数:
198
归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 算法步骤: 1. 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 2. 设定两个指针,最初位置分别为两个已经排序序列的起始位... ...
分类:
编程语言 时间:
2016-08-20 16:16:06
阅读次数:
156
Calculate the an % b where a, b and n are all 32bit integers. Analyse: divide and conquer. Be aware of overflow. Runtime: 12ms ...
分类:
其他好文 时间:
2016-08-18 06:30:10
阅读次数:
138
书中用求解最大子序列和的方式介绍了分治算法(divide-and-conquer) 分治算法是一种相对快速的算法 运行时间为O(logN) 最大子序列和的问题如下: 给出一组整数 A1 A2 … AN 求∑jk=i Ak 若所有整数均为负 则最大子序列和为0 e.g. 输入-2, 11,-4, 13 ...
分类:
编程语言 时间:
2016-07-21 22:00:23
阅读次数:
185