摘要: 我们中国人常说:一粒老鼠屎坏了一锅粥。恐怖主义者坏的是社会。 给整个社会带来额外成本。 进出车站的安检以及幼儿园的意外假期。黑客坏的是软件体系。 使得绝大多数用户不得不求助于杀毒软件,杀毒软件大大干扰了计算机的正常使用体验。值得一提的是,黑客一向自以为高逼格群体,今日与老鼠相提并论,实在是实至名归。 阅读全文
posted @ 2014-06-11 15:50 simcity 阅读(262) 评论(0) 推荐(0)
摘要: 学习有两种方式。第一是强化。 任何事物,你想明白,下功夫就够。华生让小阿尔伯特学会了恐惧小白鼠。 后来者推波助澜,Peter Pig可以放置物品,斯金纳的鸽子会打球,海豚学会了表演。 奥巴马总统在为小朋友的演讲中也提到了学习中碰到挫折的时候,需要重复,这其实契合行为主义的思想。这第一种方式的内涵就是... 阅读全文
posted @ 2014-06-11 15:48 simcity 阅读(255) 评论(0) 推荐(0)
摘要: 二叉搜索树的基本实现。 1 /* 2 Date: 2014-04-29 3 purpose: An implementation of MAP using binary search tree. 4 */ 5 6 #ifndef CUSTOMIZED_MAP_H 7 #define CUST... 阅读全文
posted @ 2014-06-11 15:43 simcity 阅读(476) 评论(0) 推荐(0)
摘要: 一迷宫算法可以直接转化为加法运算。四方格迷宫就是4进制数字从0到3333.3333 + 1 = 1 0000 = 4^4八方格迷宫就是八进制数字从0到7777 7777.而 7777 7777 + 1 = 1 0000 0000 = 8^8这么来说,一个加法器就可以解决迷宫了。二 1 maze 2 ... 阅读全文
posted @ 2014-06-11 15:37 simcity 阅读(540) 评论(0) 推荐(0)
摘要: 计算机组成与设计:硬件/软件接口课程PDF http://inst.eecs.berkeley.edu/~cs61c/fa13/类似项目1、Yale N. Patt, Sanjay J. Patel Introduction to Computing Systems: From Bits and Gates to C and Beyond2、Randal E. Bryant, David R. O'Hallaron Computer Systems: A Programmer's Perspective3、Umakishore Ramachandran, William D.L 阅读全文
posted @ 2013-11-12 20:35 simcity 阅读(571) 评论(0) 推荐(0)
摘要: 在此之前,我已尝试过两次基数排序的方法:LSD、MSD。 我的主要改进点在于每次“申请”大块存储器,而不是采用最原始的链表。 当然这种形式本质上还是链表,只是每个节点就是一个页面。 在存储器申请/释放上,开始时一次申请/结束时一次释放,避免了一次一数字时的malloc/free调用的代价。但是,缺点还是存在的,主要在于不够缓存友好。 看一下结果就很容易明白缓存友好的重要性了。主要数据结构:const __int32 TFSI = 1024*1024*500;const int PAGEAMOUNT = 4096;const int PAGEGRANULAR = PAGEAMOUNT/sizeo 阅读全文
posted @ 2013-11-08 10:21 simcity 阅读(767) 评论(0) 推荐(1)
摘要: 一、这个已经有几年时间了,刚开始学习charlie的《windows程序设计》的时候做的。现在看来,代码很乱,虽然后来还整理过几次,现在这方面没什么兴趣了,有兴趣的可自由下载。二、绘制二叉树的伪代码int drawBinaryTree(BinaryTree bt){ Queue main; Queue slave; mian.enQueue(head node of bt); while (!empty(main)){ slave.clear(); for each node in main{ drawNode(node... 阅读全文
posted @ 2013-10-19 15:08 simcity 阅读(1613) 评论(0) 推荐(0)
摘要: 一、这次是在上一次尝试基础上进行的,预期是达到上次性能的9倍。MSD的基本手法就是不断切片。每一步都是把整体数据切割成256片,如上图所示,实际情况切片未必均匀,有的slice内可能一个元素也没有。接下来对于每个切片怎么办呢?答案是继续切,对于特殊数据来讲,切片过程可以很快结束,这样就可以实现比LSD更快的速度。这里面最困难的地方就是如何存储每个slice的头和尾。如果采用下述方式,应该是行不通的。这个方式需要做数组元素插入,还要跟踪中间数据,因此没具体考虑。我真正采用的是下表:表中第一项表示第一个元素开启一个类别,紧跟的0表示此元素和上面的1是同一类。至于2表明在切片过程中是一个孤立的元素, 阅读全文
posted @ 2013-10-15 21:21 simcity 阅读(1541) 评论(0) 推荐(1)
摘要: 为了完成二维数据快速分类,最先使用的是hash分类。前几天我突然想,既然基数排序的时间复杂度也不高,而且可能比hash分类更稳定,所以不妨试一下。在实现上我依次实现:1、一维数组基数排序基本解决主要问题,涵盖排序,包含改进的存储分配策略。如果用链表来实现,大量的函数调用将耗费太多时间。2、二维数组基数排序主要是实现和原有程序的集成。一、数据结构下面是存储节点的主数据结构。typedef struct tagPageList{ int * PagePtr; struct tagPageList * next;}PageList;typedef struct tagBucket{ ... 阅读全文
posted @ 2013-10-07 10:32 simcity 阅读(1221) 评论(0) 推荐(2)
摘要: 1、课程PPTMIT OpenCourseWarehttp://ocw.mit.edu/courses/;Courses Stanfordhttp://cs.stanford.edu/courses;EECS at UC Berkeleyhttp://www.eecs.berkeley.edu/Scheduling/CS/schedule.html;CMU Course Listhttp://www.ece.cmu.edu/courses/index.html;Computer Science at Illinoishttp://cs.illinois.edu/online/academics 阅读全文
posted @ 2013-09-16 12:04 simcity 阅读(368) 评论(0) 推荐(0)