
珠玑之椟
文章平均质量分 82
vvuyve
主博客http://www.cnblogs.com/wuyuegb2312/
展开
-
[珠玑之椟]字符串和序列:左移、哈希、最长重复子序列的后缀数组解法、最大连续子序列
本文主要介绍和字符串、序列相关的三大类问题的算法和它们衍生的问题:字符串左移(或称左旋、翻转)、最长重复子序列、最大连续子序列;除此以外,另外附了一段字符串哈希方法作为对字符串操作的补充。虽然标题和文章都很长,但介绍的问题并不多,只是做了较多的延伸和探讨,希望感兴趣的读者不要产生畏惧心理。原创 2013-07-08 20:52:06 · 1581 阅读 · 0 评论 -
“珠玑之椟”系列简介与索引
系列博文主要目的: 收集《编程珠玑》和《编程珠玑(续)》(以下简称《续》)上的算法和思想,并包括了一些自己的思考和对相关问题的引申,以备复习和查用。内容提要: 主要是算法收集,结合了《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writing solid code)和《算法导论》的部分相关内容,以及自己的思考,无论你是否看原创 2013-06-24 16:45:10 · 1272 阅读 · 0 评论 -
[珠玑之椟]位向量/位图的定义和应用
位向量/位图是一个很有用的数据结构,在充分利用小空间存储大量数据方面非常具有优势,Linux内核中很多地方都是用了位图。同时,它不但基础,而且用到了很多编程语言的知识,以及对细节的把握,常常作为面试题出现。这里将要介绍它的实现、操作、应用。 与位图(bitmap)比,我更倾向于用位向量(bit vector),前者比较容易与图形学里的名词混淆,其实提到位图,多指的是“是使用像素阵列来表示的图原创 2013-06-24 16:47:46 · 1314 阅读 · 0 评论 -
[珠玑之椟]估算的应用与Little定律
估算的数据主要依赖于所能获得的数据和常识,有时还包括实践而不仅仅是理论。它常常作为一个大问题中的子问题,恰当地估算可以省去精确计算的时间和开销。在计算机领域,所谓常识的内容很宽泛,比如硬盘的传输速度、CPU每秒能执行多少指令、各种数据结构的大小甚至每分钟录入的单词数。有些数据是能够从各种资料中查得的,但仅仅靠记忆总难免遗漏;如果有经过学习而建立起的系统的知识结构,那便能很方便地把这些常识组织起来,原创 2013-06-26 08:35:47 · 1344 阅读 · 0 评论 -
[珠玑之椟]随机数函数取样与概率
本节主要受到《编程珠玑》第12章随机取样问题的启发,但不仅仅限于随机取样问题,进一步地,研究讨论了一些在笔试面试中常见的和随机函数以及概率相关的问题。 阅读本文所需的知识: 1.对C语言中或其他语言中等价的rand()、srand()有所了解。本文不讨论种子的设定和伪随机数的问题; 2.中学或以上水平的概率基本概念。 目录 利用随机数函数生成随机数 利原创 2013-06-29 10:50:09 · 1675 阅读 · 2 评论 -
[珠玑之椟]浅谈代码正确性:循环不变式、断言、debug
这个主题和代码的实际写作有关,而且内容和用法相互交织,以下只是对于其内容的一个划分。《编程珠玑》上只用了两个章节20页左右的篇幅介绍,如果希望能获得更多的实例和技巧,我比较推崇《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writing Solid Code)这两本书,只要有一般的C语言基础就能读懂,而且读起来比较快,读完后能提高不少co原创 2013-07-02 08:57:49 · 1572 阅读 · 1 评论 -
[珠玑之椟]二分思想与分治法、排序思想
本文不局限于具体的二分搜索算法和排序算法,而是提炼其中的思想,并将其应用到其他与它们似乎没有直接关系的问题中,从而获得高效的解决算法。主要解决的问题:线性期望时间的随机元素选择问题、大数据中找出一组重复元素、英文字典求所有变位词、子集元素的最小和。原创 2013-07-05 09:57:24 · 1161 阅读 · 0 评论