从大量整数中选取最小/大的若干个

问题描述:现在有非常大量的一堆对象,比如有几十亿甚至上百亿个。对象本身是什么可以忽略,每个对象都有唯一标识符和一个正整数属性值,属性值范围有限(不大于一亿)。在单核机器上,内存和磁盘空间充足,用什么方法可以最快地输出属性值最小的若干(如一万)个对象,要求输出结果按照属性值排序。
程序基本功之遍历二叉树

最近工作忙,没时间思考复杂的问题了。正好要招人就得有面试的嘛,自己也温习一下,要不然怎么去问别人。
今天复习一下二叉树的遍历,前序(pre-order,NLR)、中序(in-order,LNR)、后序(post-order,LRN)、层序(level-order),用和不用递归。
iPhone开发:可拉伸的图片
还记得在Windows下用MFC或WTL写用户界面程序的时候,为了给可改变大小的对话框加上背景图案,需要对设计师提供的图片进行裁剪。把图片切成九块,其中四个角是不拉伸的,四条棱边可以在一个方向上拉伸,中间区域则可任意拉伸。其过程是相当烦琐的。在Mac下,一切都变的及其简单,UIImage类已经为我们提供了处理拉伸的方法。
解决黑苹果Unable to Determine UUID错误
前几天在写app的最后阶段要进行本地化(localization),其中要做的一件事就是创建语言文件(Localizable.strings)。要在控制台运行genstrings命令来扫描源代码中NSLocalizedString宏所使用到的文字。由于使用的是黑苹果(安装过程参见这里和这里),在运行genstrings时遇到了“Unable to Determine UUID”的错误,解决方法倒也容易。
计算斐波纳契数,分析算法复杂度

问题描述:Fibonacci数(Fibonacci Number)的定义是:F(n) = F(n - 1) + F(n - 2),并且F(0) = 0,F(1) = 1。对于任意指定的整数n(n ≥ 0),计算F(n)的精确值,并分析算法的时间、空间复杂度。
假设系统中已经提供任意精度长整数的运算,可以直接使用。
