介绍了 JDK7 中引入的新的排序算法 TimSort,它来自 Python 中 list 的排序算法。将归并排序(merge sort) 与插入排序(insertion sort) 结合,并进行了一些优化。对于已经部分排序的数组,时间复杂度远低于 O(n log(n)),最好可达 O(n),对于随机排序的数组,时间复杂度为 O(nlog(n)),平均时间复杂度 O(nlog(n))。...
分类:
其他好文 时间:
2014-06-19 12:33:58
阅读次数:
575
1、Table要比其它html标记占更多的字节。(延迟下载时间,占用服务器更多的流量资源。)
2、Tablle会阻挡浏览器渲染引擎的渲染顺序。(会延迟页面的生成速度,让用户等待更久的时间。)
3、Table里显示图片时需要你把单个、有逻辑性的图片切成多个图。(增加设计的复杂度,增加页面加载时间,增加HTTP会话数。)
4、在某些浏览器中Table里的文字的拷贝会出现问...
分类:
其他好文 时间:
2014-06-19 12:04:12
阅读次数:
297
平衡查找树的目标是实现查找、插入、删除操作在最坏情况下的复杂度均为logN。
本节将介绍二三查找树。
二三树中有两种节点:
二节点对应一个键,有两个子节点
三节点对应两个键,有三个子节点
二三查找树非常平衡,每个空节点到根节点的距离都是一样的 。
查找操作
在二三树中查找一个键的时候有以下...
分类:
其他好文 时间:
2014-06-19 11:32:21
阅读次数:
157
题目:http://115.28.76.232/problem?pid=1115
题意:初始给定两个完美数1和3,如果都是完美数,那么也是完美数。现在给定一个数,判断它
是否是完美数。
分析:嗯,这道题Mayuyu有两种方法,第一种方法是按照题意有,那么我们进行递归直接判断。
这样做的时间复杂度很高,通过打表对一些数的观察发现,只需要看这个数是否只由3和5组...
分类:
其他好文 时间:
2014-06-19 10:28:18
阅读次数:
166
有一个整数集合,求所有介于x到y之间的所有整数
实现方法
非顺序数组:复杂度是N,比较慢
顺序数组:查找操作的复杂度是lgN,插入操作的复杂度是N
二叉查找树:复杂度是logN,比较快
代码
下面这段代码用于统计lo到hi之间的整数个数
public int count(Key lo, Key hi) {
i...
分类:
其他好文 时间:
2014-06-16 11:51:47
阅读次数:
194
原文地址:http://my.oschina.net/u/158457/blog/28536排序的方法很特别,有点类似插入排序的味道先看下代码
1 public class Sort { 2 private static boolean[] temp = new boolean[10000]...
分类:
其他好文 时间:
2014-06-16 00:09:10
阅读次数:
211
其实编程之美也有类似的题,这道题是编程珠玑第二章的题目。题目描述:给定一个字符串,将字符串循环移位K次。最简答的方法就是,通过O(n)的辅助空间,将数组循环移位,时间复杂度就是O(n)但是如果要求空间复杂度为O(1)呢?观察规律可知,对前K位反转以及后面的反转,最后对整个字符串反转就能达到O(1)的...
分类:
其他好文 时间:
2014-06-10 21:02:52
阅读次数:
275
问题:对链表进行排序,要求时间复杂度为NlogN。归并排序。
inline ListNode* getMidle(ListNode *head){
if(NULL == head || NULL == head->next)
return head;
ListNode *pslow = head;
ListNode *pfast = head;
while (pfast->next...
分类:
其他好文 时间:
2014-06-10 17:35:56
阅读次数:
282
题目:对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。
(不用考虑数值超出计算机整数界限的问题)。刚看到这道题,脑子中一闪而过的肯定是最原始的方法,但是仔细看看题目,不考虑超出计算机整数边界的问题。显然....
分类:
其他好文 时间:
2014-06-10 11:38:04
阅读次数:
179
图文并茂。Dijkstra算法求某一个源点到其余各顶点时间复杂度是O(n^2),但如果采用此算法,找从某一源点到某一特定终点的最短路径,复杂度仍为O(n^2)。
求每一对顶点之间的最短路径:
(1)每次以一个顶点为源点,重复执行Dijkstra算法n次。总的时间复杂度是O(n^3);
(2)弗洛伊德(Floyd)算法:时间复杂度也是O(n^3),但形式上更简单。...
分类:
其他好文 时间:
2014-06-10 07:03:14
阅读次数:
279