http://algs4.cs.princeton.edu/21elementary/排序算法分析:比较(Compare),交换(Exchange),如果没有使用选择排序:首先,找到最小的元素然后和第一个数做交换,然后在剩下的元素里找最小的,和第二个数做交换,一直下去。选择排序用了:
~N2/2 次...
分类:
其他好文 时间:
2014-05-04 09:59:02
阅读次数:
355
红黑树的性质
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示结点的颜色,可以是RED或者是BLACK,红黑树确保没有一条路径会比其它路径长2倍,因而是近似平衡的。
树中的每个结点包含5个属性:color、key、left、right、parent,如果一个结点没有子结点或者是父结点,则该结点相应指针属性的值为NIL。可以把NIL视为指向二叉搜索树
的也结点的指针...
分类:
其他好文 时间:
2014-05-04 09:39:36
阅读次数:
579
travel the binary tree by level 2 ( from top to down )
个人信息:就读于燕大本科软件工程专业 目前大三;
本人博客:google搜索“cqs_2012”即可;
个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;
博客内容:travel the binary tree by level 2 (...
分类:
其他好文 时间:
2014-05-04 09:27:56
阅读次数:
334
package ioTest.io3;
/*
* 删除有内容的文件夹:从最里面一直向外删除。建议千万不要删除硬盘上面有用的文件夹哦
* 方法思路
* 循环+递归
*/
import java.io.File;
public class RemoveDir {
public static void main(String[] args) {
// TODO Auto-generat...
分类:
编程语言 时间:
2014-05-04 09:25:58
阅读次数:
464
travel the binary tree by level 3 ( from down to top )
个人信息:就读于燕大本科软件工程专业 目前大三;
本人博客:google搜索“cqs_2012”即可;
个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;
博客内容:travel the binary tree by level 3 ( f...
分类:
其他好文 时间:
2014-05-04 09:00:55
阅读次数:
294
快速排序
快速排序也使用了分而治之的策略来提高性能,而且不需要额外的内存,但是这么做的代价就是,列表不是对半切分的,因而,性能上就有所下降。
快速排序选择一个数值,一般称为“轴点”,虽然有很多选取轴点的方法,我们还是简单地把列表中第一个元素做为轴点了。轴点的作用是帮助把列表分为两个部分。列表完成后,轴点所在的位置叫做“切分点”,从这一点上把列表分成两部分供后续调用。
图12所示,54将作...
分类:
编程语言 时间:
2014-05-04 08:59:00
阅读次数:
388
codechef的本题算法也不难,但是codechef喜欢大数据,动不动就过万过十万,输入输出处理不好就会超时。
就像本题最大数据可能达到15万个整数。普通输入输出铁定超时了。
这里使用fread和fwrite这两个函数,设置好buffer,速度还是相当快的,而且相对很多程序都比较简单的了。
主要注意:
每个buffer数据块和下一个buffer数据块之间的衔接,不能破坏了最终需要...
分类:
其他好文 时间:
2014-05-04 08:54:04
阅读次数:
268
/*
* 将指定目录下的所有java文件的绝对路径存储到文本文件中
* 建立一个java列表。
* 思路:
* 1.对指定目录进行递归
* 2.获取递归过程所有的java文件的路径
* 3.将这些路径存储在集合中
* 4.将集合中的内容写到文本文件
* 注:3,4步骤也可以合并成一个步骤
*/
package ioTest.io3;
import java.io.Buffere...
分类:
编程语言 时间:
2014-05-04 08:48:43
阅读次数:
402