自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(407)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用JS-in-JS解释器陷阱执行来捕获恶意的网站脚本

主要思路:(1)使用JS实现一个JS解释器当然,似乎还没有开源的库实现?Esprima可以派上用场,将JS代码翻译为AST。(而Google V8引擎原来设计就是从AST编译为原生的机器代码,也许可以借鉴)(2)对于非DOM/IDL的访问操作,可使用编译执行的技术,但需要提供proxy trampoline接口;(3)对于DOM树操作或Web IDL(HTML API)访问,相当于

2015-07-22 10:20:16 1295

原创 15.7.18逛街购物

东北大板(味道不错):3ESPIRIT面麻外套+围巾:418LiNing七分裤:125(这裤子最下面收的有点紧,感觉皮肤不太舒服)Hotwind胶木拖鞋:60油猴棉裤:482牛蛙+饭:22合计:约1100上海书城里的玩具外观的小投影仪不错,600左右,用来播放少儿英语节目。

2015-07-18 22:20:05 748

原创 Dart Essentials(读书笔记)——这本书很大篇幅都在谈AngularDart,Zones概念没谈到

Dart Essentials目录1Getting Started2Practical Dart3The Power of HTML5 with Dart4Developing a Mobile App with Dart5Web Components with polymer.dart6AngularDart7Ser

2015-07-13 13:36:01 1908 1

原创 Mastering Dart(读书笔记)——有意思的地方在于它的Future、Isolates和Zones

Mastering Dart目录1基础2高级技术/反射3对象创建4异步编程5Stream框架6Collection框架7Dart与JavaScript互操作8国际化和本地化9C/S通信10高级存储11支持其他HTML5特性12安全基础模块化pubspec.yamlimport

2015-07-10 11:00:59 1627

原创 JavaScript实现高级科学计算器库

代码不贴了,主要讲解一下思路。 //BNF定义: //exprN代表优先级>=N的算符表达式 expr := expr20 expr100 := value //数值常量优先级最高,当然也可以把expr100合并到expr80,这样可以少写一个parseExpr100解析子函数 expr80 := ( expr ) | expr100 //其次是括号表达式

2015-07-02 21:51:43 3189

原创 浏览器客户端智能自动化:如何取得页面中JavaScript运行时动态生成的URL?

浏览器客户端智能自动化:如何取得页面中JavaScript运行时动态生成的URL?需求“页面智能拼接”指的是通过启发式查询DOM树,判断出“下一页”链接,取出其href属性。Chromium的官方插件DOM Distiller完成类似的工作,主要目的就是为了将多页点击流程变成单页的Ajax连续阅读体验。问题是,现在有些网站为了阻止浏览器客户端这么做,将href属性设

2015-06-30 11:14:09 1540

原创 历史工作记录:V8-SH4移植项目到目前为止的经验总结 2010.3

V8-SH4移植项目到目前为止的经验总结 2010.3从IA32实现移植,而不是ARM尽量在指令级实现移植(Assembler、MacroAssembler),这样大部分代码可不做修改IA32的通用寄存器名称不变,定义成常量映射为SH4的通用寄存器比较及条件跳转现实:IA32有FLAG寄存器,而SH4只有一个T位从高层概念上把握一个原则:‘条件成

2015-06-27 18:01:34 789

原创 旧读书笔记:编译原理(第2版)笔记

编译原理(第2版)笔记目录 [隐藏] 1 一个简单的语法制导翻译器1.1 右结合文法1.2 运算符优先级1.3 二义文法的消除:注意这里分号在不是stmt的后面1.4 递归下降:左递归修改为右递归,增加e1.5 AST:抽象语法树1.6 为每个作用域设置一个符号表1.7 静态检查2 词法分析3 语法分析3.1 CF

2015-06-27 17:47:27 1133

原创 旧读书笔记:Even Faster Web Sites(最近这本书的中文翻译版刚出来)

Even Faster Web Sites目录 [隐藏] 1 Loading Scripts Without Blocking2 将长的else-if改造成嵌套的二分if-else?3 unrolling the loop(利用switch-case的fall-through)4 String Concatenation:

2015-06-27 17:44:37 1025

原创 名字

名字对于我来讲,似乎渐渐失去意义。本质的在于内容,而非形式。有人认为装饰的东西多了,就替代了被装饰的成为新的内容。但是有些东西,想要很好地表达,你就必须诉诸于文字。文字常常也无法表达。所以看的人没有感觉。我仍然必须记住一些东西,可是往往已经不得要领了。

2015-06-27 11:58:23 560

原创 洪晃说

在一本旧书里,洪晃说,人一辈子最重要的是感情,不是金钱,不是其他的一些什么无用的东西。我想她是一个懂得生活、活在真实世界中的人。她这人,长得虽然并不漂亮,但是从小生活优渥,阅历丰富,亦足可让一般人羡慕了。之前她推荐了一本书,名著?我有些好奇,买来看,原来只不过是讲一男人爱一个女人,小时候因为地位财富无法如愿,到老了却又追求并成功性/交的故事。那么,什么是感情

2015-06-27 11:53:40 1514

原创 杂言

神风,原来指的是二战时期日本驾着飞机自杀式攻击美国航空母舰的敢死队,后来被用作AV电影的系列名字。名声在外的人,有些却很朴素,原因可能只不过是确实并无太多才学,所有的名声都是被吹嘘吹捧出来的。这个世界,书里面不敢直说的、自我阉割的、发生过却没有被记录为文字的,才是真理。但是人无法依靠真理生存。依靠的是卖肉卖笑卖命。有些事情,是否真有勇气便可增加成功的可能?说了不

2015-06-27 11:31:24 697

原创 Go语言编程(旧读书笔记)

Go语言编程目录 [隐藏] 1 前言2 初识Go语言3 顺序编程4 OOP5 并发编程6 网络编程7 安全编程8 工程管理9 开发工具10 进阶话题11 附录A[编辑]前言协程? go run('test')Go强制了{ }的编写风格: if expression {错误处理:defer?相当于

2015-06-27 11:28:44 1340

原创 2012年公司组织旅游西安线个人记录(repost)

2012年公司组织旅游西安线个人记录目录 [隐藏] 1 序言2 第1天3 第2天4 第3天5 第4天6 第5天[编辑]序言旅游实在太过无聊,5年前第1次去成都,那时还是全体组织去,认识的人比较多,现在人多了,分组安排,多了许多年轻的面孔,所谓:年年岁岁花相似,岁岁年年人不同。我的记忆似乎越来越不好使,越

2015-06-27 11:24:13 1510

原创 大学英语六级词汇(笔记)

大学英语六级词汇aabase abate abdicate abdomen abet abhor abide(bear?) abject ablaze abound(abundant) abreast abstain accomplice acquit addle adjourn admiral adorn advantageous advent aerial aest

2015-06-23 15:07:37 2402

原创 Python 3程序开发指南(第2版 修订版)笔记

Python 3程序开发指南(第2版 修订版)目录1过程型程序设计快速入门2数据类型3组合类型4控制结构与函数5模块6OOP7文件处理8高级程序设计技术8.1FP9调试、测试与Profiling10进程与线程11网络12数据库13正则表达式14分析简介14.1Py

2015-06-18 18:49:32 2472

原创 Chrome for Android在Chromium代码库中的提交patch

访问这个地址:https://codereview.chromium.org/1141283003主要分为3类:png资源文件、java代码、C++代码,以前以为这部分不开源的代码主要是C++,其实不是这样的。

2015-06-11 17:09:21 785

原创 虚拟互换(virtual swap)

虚拟互换(virtual swap)经济学中的互换(Swap)指的是这么一个东西:有2个交易方A、B需要进行跨国交易,各自都需要另外一个国家的某个商品,他们本来可以通过标准的汇率到各自国家的银行办理外币兑换,然后再到国外去采购什么的,所谓的Swap就是不需要这么做,直接以物物交换的等价原则,同时为对方购买,然后发出货物即可。实际上这里的货物并不需要是实物,可以是虚拟的某种权

2015-06-04 20:12:01 976

原创 如何撤销浏览器注入JS代码的执行效果?

如何撤销浏览器注入JS代码的执行效果?可用的方法:放弃所有本地修改,整体重新reload当前的URL(这相当于大粒度的savepoint/snapshot,应确保用户数据/视图状态能够按期望恢复)内核实现immutable的DOM树,对DOM树的每个修改均产生一个新的版本快照,修改可以直接回退,比如提供一个document.revertTo方法immutable

2015-06-04 19:52:20 1378

原创 关于TCS中的图灵机模型和神谕机

http://songshuhui.net/archives/92392#comment-6458031对于普通的图灵机而言,停机问题是不可判定的,这早已被证明。而图灵发现,即使将证明中的所有“图灵机”三个字都换成“带有‘数论问题’谕示的谕示机”,其他部分一字不易,证明依然成立!也就是说,就像普通图灵机不能解决关于自身的停机问题,谕示机也不能解决关于自身的停机问题,无论它的谕示

2015-05-19 16:31:52 5094

原创 从浏览器内核级别修改layout相关的UI行为

具体说来,有几个不同的代码修改层次。最底层上layer树硬件合成加速部分的修改,在这一层你可以做到的是让某个图层显示往上或者往下一点,同时页面的JS代码根本不知道这一点;但是要注意,页面交互所依赖的HitTest作用在这一层,一个最顶上的RenderLayer对象最先hitTest测试。所以你要确保不会影响原来的hitTest逻辑,思路就是维护两套索引:用于显示的,和用于model的。

2015-04-12 17:46:20 1078

原创 中年的危机

人到中年能够想到的是自此不再是一步步的成长而是一步步的衰老死亡他总要奋发愤起想要再努力做点成就伟大的时代只是,却始终怀着一份对自己的犹疑如何自信地迎接自己的毁灭呢?想象自己将融合于时代的大潮变成社会巨流下的一滴水一粒沙牺牲自己成就后来人只不过不愿重蹈父辈们的覆泽他们已经快要死了或者将要死了而你却在这同样的道路上意兴姗然

2015-04-12 17:42:29 824

原创 理想,总是空无一物的

理想,总是空无一物的当物质丰富时,我们不说理想,原因说我们不知道我们还缺什么只是因为我们当下在物质上的贫乏才拿着理想来安慰自己可怜的自欺欺人的人啊你总是这么的不能安于现状

2015-04-12 17:27:19 762

原创 深深的哀伤

你不是我,无从知晓我的痛苦和欲望;我不是你,不能了解你的心情和思想;这样的一个个寂寞缠绕的夜晚,人在时间洪流中迷失了方向鲜活的东西最终化为白灰丝丝苦痛皆是苍凉颜色。。。

2015-04-03 19:06:13 575

原创 Java闭包测试

package test;import java.util.HashMap;public class Main {public static void main(String[] args) {HashMap M = new HashMap();M.put("aaaa", (float) 1);M.put("bbbb", (float) 2);M

2015-03-27 16:30:43 648

原创 神马搜索的网页播放器在Android平台上的一个兼容性Bug

最近遇到神马搜索的网页播放器在Android平台上的一个兼容性Bug,输入一个音乐歌曲名称,会弹出一个网页版的嵌入音乐播放器,问题是,音乐格式只提供了Apple Safari的m4a格式,导致点击播放按钮无法播放具体可以参考这个bug报告:https://code.google.com/p/chromium/issues/detail?id=424174神马搜索的前端开发没

2015-03-27 14:14:21 816

原创 还以为SDCH是什么高端的东西,

原来不过是在服务器、客户端都存储一份相同的字典,用于压缩网站连续页面中相同的内容(比如header、footer、广告什么的)主要就是为了节省流程加快传输不过这实在没啥意思简直令人厌倦了

2015-03-27 00:41:56 1514

原创 分布式系统的一些原则的本质

所谓的分布式一致性paxos算法在我看来根本称不上一个算法它的本质不过是建立多个Agent/角色让彼此各司其职,互相监督而对于当前计算机科学的离散数学本质说来所谓的一致性只能是多数决定原则而可用性不过是用冗余来做到的而分布式系统中的事务是怎么处理的呢?在单处理器的本地系统中事务用序列化的日志+多版本可追溯的快照来实现我所想到的一个问题是:在不可靠的IO状态读

2015-03-22 20:40:20 1447

原创 日本的艺能界是最了解“妹子”资源的价值的

但凡出道了一个新妹子演员,都会出写真、上综艺、出EP、专门针对妹子声音特色的电台节目、电视剧、电影、Live演出一大堆的形式力图将妹子的资源全面的商品化二次元的满足不了阿宅们的需要,还有3次元的比如公仔(橡胶玩具)什么的与此相比国内的恶劣环境简直差远了所以,衡量一个国家的商品经济到底行不行得看妹子资源的开发程度。。。

2015-03-22 01:18:41 1494

原创 装逼者的盛会:QCon

近来QCon又在北京开大会了一大群装逼者纷纷亮相其实QCon尝到技术会议收费的甜头后就开始频繁开会几乎上万的会费谁来交?当然是幻想提高自己名气的企业了双方可能都认为这么做对自己都是促进作用不过说来说去,无非就那几家企业不过就是个小圈子这些人讨论的所谓技术(主要偏服务器端架构)其实都是国外的洗脚水QCon的定位不是为了没名气没靠山的程序员服务的不过一群

2015-03-21 14:52:00 1181

转载 数字喷泉码(Raptor码是其思想的效率更高的一种实现?)

所谓数字喷泉码,是指这种编码的发送端可以由k个原始分组生成任意数量的编码分组,接收端只要收到k(1+ε)个编码分组的任意子集,即可通过译码以高概率成功(和ε有关)恢复全部原始分组,精心设计的数字喷泉码不仅拥有很小的译码开销ε,而且具有简单的编译码方法和很小的编译码复杂度。可以看到 ,上述编码过程就如同源源不断产生水滴(编码分组)的喷泉(编码器),而我们只要用杯子(译码器)接收足够数量的水滴,即

2015-03-20 00:35:10 5849 2

原创 It's about trust

所有的问题,最终都归结于一个:信任。你是否能够信任他人?我不是Low esteem,相反我对自己充满信心,问题是,我对他人缺乏信任。Daria的父母虚情假意的说:我们都信任你。Daria立即问:那我能借你们的车出去兜风吗?No。拽妹黛薇儿 [Daria] 第一季第一集。

2015-03-19 12:20:48 1360

原创 网络编码(Network Encoding)与多径路由(Multi-path routing)

传统的网络编码研究在以一个简单的例子阐述网络编码方案可以比传统的单路径多传输1.5比特。虽然要了解网络编码的现有研究成果需要概率论、信息论、图论等方面的知识,但感觉似乎这些还没有达到实用程度?下面几个问题如何解决:1、如何不知道网络拓扑的情况下“探测”之,并应用一个最佳的网络编码方案?2、网络编码仅目前提出的那几种方案吗?3、多源传输信道有何实际意义?既然“多源”,这些源之间如

2015-03-17 22:03:41 2167

原创 用常规手段破解基于域名和IP地址的网络过滤封锁

现在基于域名和IP地址的网络过滤封锁为什么不那么容易破解的原因是,DNS系统是一个非常落后的架构比如说它的恶心的区域传送机制,可能2个DNS服务器之间的数据同步需要花几小时实际上,这个过程应该可以更快一点下面讲述如何用常规手段破解基于域名和IP地址的网络过滤封锁?1、基于语义搜索和人机交互参与的公开入口检索(也就是说,从应用层发起一个端点查询请求,而非从低级TCPIP网络层)

2015-03-15 22:47:28 13070

原创 从Windows/Linux文件系统设计的一个特性论软件架构的灵活性欠缺

当在Windows下打开一个文件时,此文件所在的路径全部被锁定。路径锁定的意思是,文件本身、所在目录、上一层目录等,全部无法被重命名和重新移动。实际上,这个锁定完全可以被移除。方法是:任何一个打开的文件将创建对原始文件数据IO的一个流连接,同时产生一个对文件元属性的临时快照的拓扑镜像。这里的基本想法是:文件移动、重命名的操作并不影响文件的内容数据,可以看作是对文件属性的操作

2015-03-12 13:40:03 977

原创 垃圾的VMWare Player Pro 7.0

垃圾之一、VMWare Player本来是个免费软件,就像Adobe公司的Flash Player一样,问题是VMWare这家公司太贪婪了,然后他们出了个Pro版,居然想收费!垃圾之二、启动虚拟机之处,提示下载VMWare Tools for Linux,下载就下载吧,结果每次都网络连接报错!这家VMWare在中国还有分公司,就不知道把软件下载服务器在国内多做一个备份吗??傲慢的垃圾运

2015-03-12 10:23:51 1840

原创 日剧《Doctors X》里的情节

患脂肪肝、酒精肝的患者,“(晚)6点后不能吃东西,9点后不能喝水”

2015-03-09 09:49:20 1184

原创 最近WiFi共享的应用似乎很火爆啊,是不是考虑也做一个?

WiFi共享的技术核心:(1)基于LBS的服务器端数据库,可以用GeoHash做负载均衡;(2)基于IP over WiFi的应用层连接代理,需要支持某种特殊的自动认证协议WiFi共享实际上是一个过渡期技术,最好是能够迁移到完全分步时的移动网状网技术(分布式P2P的),当然,要能够结合多径路由和端到端加密就更好了 政策风险:WiFi共享实际上就是网络接入服务,可能会收到

2015-03-09 09:30:14 811

原创 批量内联购买:一个可用于电子商务网站的新销售促进模式

批量内联购买:一个可用于电子商务网站的新销售促进模式YouTube网站当初用户量扩大的一个措施就是允许第三方网站用一段简单的代码就可以嵌入视频,而且完全无广告。现在这个思路当然也可以推广到电子商务网站,比如说:共享一个特殊的脚本链接,名称叫做“XXX(某样事情)必须购买的物品清单”,当插入到第三方网站页面时,显示的就是这些商品的图文描述和价格列表,任何其他用户要完成同样的购买行

2015-03-06 18:34:53 1045

原创 我发现了一个很怪异的事情

以前不论用什么输入法,都打不出屌丝或者屌这个词/字现在居然可以随便打而且也不会有什么过滤问题怪了

2015-03-03 21:19:44 715

TCP/IP Sockets in Java, 2rd Edition

Contents Preface xi 1 Introduction 1 1.1 Networks, Packets, and Protocols 1 1.2 About Addresses 4 1.3 About Names 6 1.4 Clients and Servers 6 1.5 What Is a Socket? 7 1.6 Exercises 8 2 Basic Sockets 9 2.1 Socket Addresses 9 2.2 TCP Sockets 15 2.2.1 TCP Client 16 2.2.2 TCP Server 21 2.2.3 Input and Output Streams 25 2.3 UDP Sockets 26 2.3.1 DatagramPacket 27 2.3.2 UDP Client 29 2.3.3 UDP Server 34 2.3.4 Sending and Receiving with UDP Sockets 36 2.4 Exercises 38 3 Sending and Receiving Data 39 3.1 Encoding Information 40 3.1.1 Primitive Integers 40 3.1.2 Strings and Text 45 3.1.3 Bit-Diddling: Encoding Booleans 47 3.2 Composing I/O Streams 48 3.3 Framing and Parsing 49 3.4 Java-Specific Encodings 55 3.5 Constructing and Parsing Protocol Messages 55 3.5.1 Text-Based Representation 58 3.5.2 Binary Representation 61 3.5.3 Sending and Receiving 63 3.6 Wrapping Up 71 3.7 Exercises 71 4 Beyond the Basics 73 4.1 Multitasking 73 4.1.1 Java Threads 74 4.1.2 Server Protocol 76 4.1.3 Thread-per-Client 80 4.1.4 Thread Pool 82 4.1.5 System-Managed Dispatching: The Executor Interface 84 4.2 Blocking and Timeouts 86 4.2.1 accept(), read(), and receive() 87 4.2.2 Connecting and Writing 87 4.2.3 Limiting Per-Client Time 87 4.3 Multiple Recipients 89 4.3.1 Broadcast 90 4.3.2 Multicast 90 4.4 Controlling Default Behaviors 95 4.4.1 Keep-Alive 96 4.4.2 Send and Receive Buffer Size 96 4.4.3 Timeout 97 4.4.4 Address Reuse 97 4.4.5 Eliminating Buffering Delay 98 4.4.6 Urgent Data 98 4.4.7 Lingering after Close 99 4.4.8 Broadcast Permission 99 4.4.9 Traffic Class 100 4.4.10 Performance-Based Protocol Selection 100 4.5 Closing Connections 101 4.6 Applets 107 4.7 Wrapping Up 107 4.8 Exercises 108 5 NIO 109 5.1 Why Do We Need This? 109 5.2 Using Channels with Buffers 112 5.3 Selectors 115 5.4 Buffers in Detail 121 5.4.1 Buffer Indices 121 5.4.2 Buffer Creation 122 5.4.3 Storing and Retrieving Data 124 5.4.4 Preparing Buffers: clear(), flip(), and rewind() 126 5.4.5 Compacting Data in a Buffer 128 5.4.6 Buffer Perspectives: duplicate(), slice(), etc. 129 5.4.7 Character Coding 131 5.5 Stream (TCP) Channels in Detail 132 5.6 Selectors in Detail 135 5.6.1 Registering Interest in Channels 135 5.6.2 Selecting and Identifying Ready Channels 138 5.6.3 Channel Attachments 140 5.6.4 Selectors in a Nutshell 140 5.7 Datagram (UDP) Channels 141 5.8 Exercises 145 6 Under the Hood 147 6.1 Buffering and TCP 150 6.2 Deadlock Danger 152 6.3 Performance Implications 155 6.4 TCP Socket Life Cycle 155 6.4.1 Connecting 156 6.4.2 Closing a TCP Connection 160 6.5 Demultiplexing Demystified 163 6.6 Exercises 165 Bibliography 167 Index 169

2008-11-28

Advanced Data Structures

里面讲述了许多特殊的索引树结构,推荐! Preface page xi 1 Elementary Structures 1 1.1 Stack 1 1.2 Queue 8 1.3 Double-Ended Queue 16 1.4 Dynamical Allocation of Nodes 16 1.5 Shadow Copies of Array-Based Structures 18 2 Search Trees 23 2.1 Two Models of Search Trees 23 2.2 General Properties and Transformations 26 2.3 Height of a Search Tree 29 2.4 Basic Find, Insert, and Delete 31 2.5 Returning fromLeaf to Root 35 2.6 Dealing with Nonunique Keys 37 2.7 Queries for the Keys in an Interval 38 2.8 Building Optimal Search Trees 40 2.9 Converting Trees into Lists 47 2.10 Removing a Tree 48 3 Balanced Search Trees 50 3.1 Height-Balanced Trees 50 3.2 Weight-Balanced Trees 61 3.3 (a, b)- and B-Trees 72 3.4 Red-Black Trees and Trees of Almost Optimal Height 89 3.5 Top-Down Rebalancing for Red-Black Trees 101 3.6 Trees with Constant Update Time at a Known Location 111 3.7 Finger Trees and Level Linking 114 vii 3.8 Trees with Partial Rebuilding: Amortized Analysis 119 3.9 Splay Trees: Adaptive Data Structures 122 3.10 Skip Lists: Randomized Data Structures 135 3.11 Joining and Splitting Balanced Search Trees 143 4 Tree Structures for Sets of Intervals 148 4.1 Interval Trees 148 4.2 Segment Trees 154 4.3 Trees for the Union of Intervals 162 4.4 Trees for Sums of Weighted Intervals 169 4.5 Trees for Interval-Restricted Maximum Sum Queries 174 4.6 Orthogonal Range Trees 182 4.7 Higher-Dimensional Segment Trees 196 4.8 Other Systems of Building Blocks 199 4.9 Range-Counting and the Semigroup Model 202 4.10 kd-Trees and Related Structures 204 5 Heaps 209 5.1 Balanced Search Trees as Heaps 210 5.2 Array-Based Heaps 214 5.3 Heap-Ordered Trees and Half-Ordered Trees 221 5.4 Leftist Heaps 227 5.5 Skew Heaps 235 5.6 Binomial Heaps 239 5.7 Changing Keys in Heaps 248 5.8 Fibonacci Heaps 250 5.9 Heaps of Optimal Complexity 262 5.10 Double-Ended Heap Structures and Multidimensional Heaps 267 5.11 Heap-Related Structures with Constant-Time Updates 271 6 Union-Find and Related Structures 278 6.1 Union-Find: Merging Classes of a Partition 279 6.2 Union-Find with Copies and Dynamic Segment Trees 293 6.3 List Splitting 303 6.4 Problems on Root-Directed Trees 306 6.5 Maintaining a Linear Order 317 7 Data Structure Transformations 321 7.1 Making Structures Dynamic 321 7.2 Making Structures Persistent 330 8 Data Structures for Strings 335 8.1 Tries and Compressed Tries 336 8.2 Dictionaries Allowing Errors in Queries 356 8.3 Suffix Trees 360 8.4 Suffix Arrays 367 9 Hash Tables 374 9.1 Basic Hash Tables and Collision Resolution 374 9.2 Universal Families of Hash Functions 380 9.3 Perfect Hash Functions 391 9.4 Hash Trees 397 9.5 Extendible Hashing 398 9.6 Membership Testers and Bloom Filters 402 10 Appendix 406 10.1 The Pointer Machine and Alternative Computation Models 406 10.2 External Memory Models and Cache-Oblivious Algorithms 408 10.3 Naming of Data Structures 409 10.4 Solving Linear Recurrences 410 10.5 Very Slowly Growing Functions 412 11 References 415 Author Index 441 Subject Index 455

2008-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除