摘要: 前些天在蘑菇街的面试中碰到一道洗牌的算法题,拿出来和大家分享一下! 原题是:54张有序的牌,如何无序的发给3个人? 这个题是运用经典的洗牌算法完成。首先介绍一种经典的洗牌算法--Fisher-Yates.现在大家在网上看到,大多是Fisher-Yates算法的变形。将本来O(n2),简化到了... 阅读全文
posted @ 2015-04-27 21:44 西游小学生.45 阅读(1281) 评论(0) 推荐(0) 编辑
摘要: B+树在数据库中的应用{为什么使用B+树?言简意赅,就是因为:1.文件很大,不可能全部存储在内存中,故要存储到磁盘上2.索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数(为什么使用B-/+Tree,还跟磁盘存取原理有关。)3.局部性原理与磁盘预读,预读的长度一般为页(page)的整倍数,(在许... 阅读全文
posted @ 2015-04-19 22:19 西游小学生.45 阅读(18745) 评论(1) 推荐(11) 编辑
摘要: 上周说到多线程编程的入门,linux下出了有多线程外,也可以通过fork写多进程的程序,往往也能达到效果。然而两者有什么却别,各自有有什么优势,适用于什么环境?在这里引用一个博客进行说明,下面修改了一些博客本来有的小问题,还在一些小地方做了一些修改。详细有关多进程和多进程的比较可以参看:http... 阅读全文
posted @ 2015-04-12 22:25 西游小学生.45 阅读(286) 评论(0) 推荐(0) 编辑
摘要: /* 写在前面的话: 今天刚“开原”,选择了一篇关于线程池的文件与大家分享,希望能对您学习有所帮助,也希望能与大家共同学习! 选择在这个特殊的时候注册并发文章也是有一些我个人特殊的意义的,看我的id(西游小学生.45)就知道了,哈哈。在这里也很感谢博客园的员工,刚发申请两分钟就同意了。... 阅读全文
posted @ 2015-04-05 23:43 西游小学生.45 阅读(387) 评论(0) 推荐(0) 编辑