基于数字基础系统的算法?

我最近注意到,有很多算法部分或全部在数字的聪明用途在创造性基础。例如:

>二项式堆基于二进制数,而更复杂的扭斜二项式堆基于歪斜二进制数。
>一些用于生成词典顺序排列的算法基于因子数系统。
>尝试可以被认为是树,每次查看字符串的一个数字,一个适当的基地。
> Huffman编码树被设计为使树中的每个边缘在一些二进制表示中编码为零或一个。
>斐波纳契编码用于斐波那契搜索和反转某些类型的对数。

我的问题是:什么其他算法,使用一个聪明的数字系统作为他们的直觉或证明的关键步骤。我正在考虑在这个主题上组织一次谈话,所以更多的例子,我要从中得到,更好。

克里斯·冈崎在他的书“纯函数数据结构”中有一个非常好的章节,它讨论了“数字表示”:基本上,对数字进行某种表示并将其转换为数据结构。为了给人一种口味,这一章的章节是:

>位置号系统
>二进制数(二进制随机访问列表,Zeroless表示,Lazy表示,分段表示)
> Skew二进制数(Skew二进制随机访问表,Skew二项式堆)
>三元和四元数字

一些最好的技巧,蒸馏:

>区分数字的密集和稀疏表示(通常你会在矩阵或图形中看到,但它也适用于数字!)
>冗余数字系统(具有多个数字表示的系统)是有用的。
>如果将第一个数字排列为非零或使用无零表示,则检索数据结构的头部可以是高效的。
>避免级联借用(从获取列表的尾部),并通过分割数据结构携带(从列表中收集)

这里也是该章的参考列表:

> Guibas,McCreight,Plass和Roberts:线性列表的新表示法。
> Myers:适用的随机访问堆栈
> Carlsson,Munro,Poblete:一个具有常量插入时间的隐式二项式队列。
> Kaplan,Tarjan:纯函数列表,通过递归减速进行链接。

http://stackoverflow.com/questions/5356502/algorithms-based-on-number-base-systems

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:基于数字基础系统的算法?