‘算法空间复杂度’,别以为这个东西多么高大上,我保证你看完这篇文章就能明白。最近在啃算法,发现非常有趣。在我学习的过程中发现了一个问题,那就是空间复杂度的问题,它绝对是效率的杀手。关于空间复杂度的介绍(摘自百度)空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大...
分类:
编程语言 时间:
2015-01-23 12:55:28
阅读次数:
195
‘算法空间复杂度’,别以为这个东西多么高大上,我保证你看完这篇文章就能明白。最近在啃算法,发现非常有趣。在我学习的过程中发现了一个问题,那就是空间复杂度的问题,它绝对是效率的杀手。关于空间复杂度的介绍(摘自百度)空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大...
分类:
编程语言 时间:
2015-01-23 12:46:34
阅读次数:
114
问题:一个整数数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。 分析:这是一个很新颖的关于位运算的题目。 首先考虑这个问题的一个简单版本:一个整数数组里除了一个数字之外,其他的数字都出现两次,请写程序找出这个只出现一...
分类:
编程语言 时间:
2015-01-20 22:00:54
阅读次数:
694
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.思路:递归的思路。思路与重建二叉树类似。时间复杂度O(n), 空间复杂度O(logN) 1 /** 2 ....
分类:
其他好文 时间:
2015-01-20 22:00:43
阅读次数:
170
题目描述:给出一个没有排序的数组,找出这个数组中数字排序之后相邻元素的最大差值给出的数字都是整数,且范围在32位整数范围内要求时间复杂,空间复杂度都是线性复杂度题目分析:最简单的方法就是排序之后,找相邻元素之间的最大差值但是时间复杂度为 O(nlogn)这个题考察的是排序之后的情况,那么看来还是要适...
分类:
其他好文 时间:
2015-01-20 13:36:56
阅读次数:
86
原题地址方法I:辅助数据结构用一个map保存遇到的值和位置,最直观的想法。遍历numbers,对于每个元素numbers[i]:如果在map中找到了target-numbers[i],说明找到了这两个数字,算法结束否则,将numbers[i]和所在位置i加入map中时间复杂度O(n),空间复杂度O(...
分类:
其他好文 时间:
2015-01-18 14:16:53
阅读次数:
197
插入归并
归并排序的时间复杂度为O(nlgn),空间复杂度为O(n);
但是一般来讲,基于从单个记录开始两两归并的排序并不是特别提倡,一种比较常用的改进就是结合插入排序,即先利用插入排序获得较长的有序子序列,然后再两两归并(改进后的归并亦是稳定的,因为插入排序是稳定的)。之所以这样改进是有原因的:尽管插入排序的最坏情况是O(n^2),看起来大于归并的最坏情况O(nlgn),但通常情况下,由于插...
分类:
其他好文 时间:
2015-01-17 18:03:28
阅读次数:
222
资源预估
预估数据量、算法的时间、空间复杂度
依据预估的结果分配合理的资源(内存,CPU),避免资源不够用。
避免数据脏读
自动脚本处理大量数据速度快,尤其有写操作的任务,数据一致性在分布式环境下往往难以保证。这种情况下应该避免数据脏读,比如数据库会有主从复制同步延迟的现象,这时应该强制连接数据库主库。
幂等性
有写操作的脚本,需要考虑脚本执行的幂等性,即在参入相同参数...
分类:
其他好文 时间:
2015-01-16 19:14:19
阅读次数:
245
Sort a linked list in O(n log n)
time using constant space complexity.
MergeSort对于链表的排序,实现了就地排序的同时,时间复杂度和空间复杂度都达到了基于比较的排序的最优值,因此归并排序是链表排序的最佳排序方式。
/**
* Definition for singly-linked list.
* str...
分类:
其他好文 时间:
2015-01-15 16:01:52
阅读次数:
193
因为链表是节点式存储,不能做到随机存储,但是对于两个有序链表之间的合并不需要额外的空间,在O(1)空间复杂度O(n)时间复杂度内即可完成。所以对于链表排序,使用归并排序比较划算。
typedef struct Node List;
struct Node
{
int value;
List* next;
};
//链表节点结构体
首先合并两个...
分类:
编程语言 时间:
2015-01-14 20:01:41
阅读次数:
272