SamXu's blog

A blog for programmers like me.

GL从头学(一)

进入游戏行业已经8年了,虽然一直从事的图形图像相关的开发,接触的一直都是微软的DX,从未有闲暇去了解一下鼻祖OpenGL。之前的红宝书也不知道哪里去了,最近发现再版,立马入手了。 亚马逊链接: OpenGL编程指南

排序算法比较

今天来比较一下众多排序算法。

1 快速排序(QuickSort)

快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。

1. 如果不多于1个数据,直接返回。
2. 一般选择序列最左边的值作为支点数据。
3. 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。
4. 对两边利用递归排序数列。

快速排序比大部分排序算法都要快O(nlogn)。尽管我们可以在某些特殊的情况下写出比快速排序快的算法,但是就通常情况而言,没有比它更快的了。快速排序是递归的,对于内存非常有限的机器来说,它不是一个好的选择。

项目管理的ONP原则

前阵子学到了一招,项目管理中关于预估的ONP原则。

顾名思义,O乐观估计,N普通估计,P悲观估计。

唯一不变的只有变化

知名科幻小说家Cory Doctorow曾说:“铁匠在啤酒中洒下眼泪,悲叹自己没有办法在铁路时代卖马掌,但这并不会使他们的马掌更受欢迎。那些学习变成机械师的铁匠才会保住自己的饭碗。”

个人也好,团队也好,唯有快速顺应时代才能赢得未来,产品生产方式必须因时代而变。