为什么叫快速排序
这个标题是带有歧义的,每一种排序都有自己的名字,有的是发明者+排序(Shell排序),有的是用的步骤名称+排序(插入排序)...
而快速排序是以它的属性+排序为名(这不是废话吗)。那么我再换个意义明确的标题:
快速排序为什么那么快
要弄明白这一点首先需要了解基于比较的排序模型:决策树
对大小为n的输入,其位置关系有n!种可能。排序算法的工作就是在所有...
分类:
编程语言 时间:
2015-01-06 10:14:03
阅读次数:
249
题目:
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note: The numbers can be arbitrarily large and are non-negative.
Answer 1:
基础法
大整数...
分类:
编程语言 时间:
2015-01-06 10:11:54
阅读次数:
222
进程与线程
进程是程序的一次动态执行过程,它经历了从代码加载、执行、执行结束的一个完整过程,这个过程也是整个进程的生命周期。
多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发机制的基本单位。
传统的单核CPU在同一个时间段可以有多个程序在执行,但是只能有一个程序在某一时间点运行,所有的程序都要抢占CPU资源。
多核CPU下程序会并发执行。
Java中多线程的实现
...
分类:
编程语言 时间:
2015-01-06 10:11:44
阅读次数:
166
使用java,借助Robot这个类可以实现软件截屏,代码如下:
package test;
import java.awt.AWTException;
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
i...
分类:
编程语言 时间:
2015-01-06 10:09:51
阅读次数:
127
MooTools is a collection of JavaScript utilities designed for the intermediate to advanced JavaScript developer. It allows you to write powerful and flexible code with its elegant, well documented, an...
分类:
编程语言 时间:
2015-01-06 10:08:47
阅读次数:
173
C++中的static数据成员/成员函数表示属于一个类而不是属于此类的任何特定对象的变量和函数. 这是与普通成员函数的最大区别, 也是其应用所在, 比如在对某一个类的对象进行计数时, 计数生成多少个类的实例, 就可以用到静态数据成员. 在这里面, static既不是限定作用域的, 也不是扩展生存期的作用, 而是指示变量/函数在此类中的唯一性. 这也是”属于一个类而不是属于此类的任何特定对象的变量和...
分类:
编程语言 时间:
2015-01-06 10:06:43
阅读次数:
191
Java中的主方法其实也是一个线程,就叫做主线程。
问:既然主方法是以线程的形式出现的,那么Java中至少有多少个线程呢?
答案:至少有两个线程。每次启动Java的时候其实都会启动JVM,则其中的垃圾回收机制也算是一个线程,则一共有两个线程,主线程和GC。
判断线程是否启动可以使用.isAlive方法,返回的是布尔值。
线程的强制运行
在线程的操作中,可以使用join()...
分类:
编程语言 时间:
2015-01-06 10:08:40
阅读次数:
217
题目:
Given an array S of n integers, are there elements a, b, c in S such that a + b + c =
0? Find all unique triplets in the array which gives the sum of zero.
Note:
Elements in a tripl...
分类:
编程语言 时间:
2015-01-06 10:06:42
阅读次数:
130
python中无论文件是否正常打开,try...finally...都能保证正常关闭,其用法请点击本博客...
分类:
编程语言 时间:
2015-01-06 10:03:28
阅读次数:
150
Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。
先看C语言的表达方式(注意,这是C,不是Python!)
if ( i > 0 )
{
x = 1;
y = 2;
}
如果i > 0的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于if。
...
分类:
编程语言 时间:
2015-01-06 10:02:10
阅读次数:
183
基本思想:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后用同样的方法递归地排序划分的两部分。
下面用一个动态图来说明快速排序的原理。...
分类:
编程语言 时间:
2015-01-06 09:57:06
阅读次数:
178
包含指针的类要特别注意复制控制,原因是复制指针只复制指针中的地址,而不会复制指针所指向的对象。C++类采用以下3种方法之一管理指针成员:(1) 指针成员采取常规指针型行为。这样的类具有指针所有的缺陷但是无需特殊的复制控制。(2) 类可以是实现“智能指针”行为。指针所指向的对象是共享的,但类能够防止悬...
分类:
编程语言 时间:
2015-01-06 09:53:54
阅读次数:
243
决定开始Python之路了,利用业余时间,争取更深入学习Python。编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的。所以今天下午我根据PEP 8整理了一份,以后都照此编码了,还会持续更新。PEP8 Python 编码规范一 代码编排1 缩进。4个空格的缩进(编辑器都...
分类:
编程语言 时间:
2015-01-06 09:52:01
阅读次数:
163
问题描述:Exception in thread ""http-bio-80"-exec-1" java.lang.OutOfMemoryError: PermGen sException in thread ""http-bio-80"-exec-1" java.lang.OutOfMemoryE...
分类:
编程语言 时间:
2015-01-06 09:50:08
阅读次数:
469
IE中:document.body.clientWidth==>BODY对象宽度document.body.clientHeight==>BODY对象高度document.documentElement.clientWidth==>可见区域宽度document.documentElement.cli...
分类:
编程语言 时间:
2015-01-06 09:49:39
阅读次数:
259
数组名相当于指向数组第一个元素的地址。数组名不是变量,是地址常量,不能为其赋值。如下:1)一维数组中对于数组 a[5] = {1, 2, 3, 4, 5};数组名a相当于指向第一个元素a[0]的指针。即 a 与 &a[0] 等价。2)二维数组中int a[2][3] = {1, 2, 3, 4, 5...
分类:
编程语言 时间:
2015-01-06 09:50:08
阅读次数:
174
原文:分享一个解析XML成为php数组的方法
$item){ if(is_object($item) || is_array($item)){ $arr_xml[$key] = xmlToArray($item); } } return $arr_xml; } ?>
分类:
编程语言 时间:
2015-01-06 09:46:53
阅读次数:
157