基于数字基础系统的算法?
我最近注意到,有很多算法都是基于数字在创意基础中的部分或全部使用。 例如:
我的问题是: 还有哪些其他算法使用巧妙的数字系统作为其直觉或证明的关键步骤? 。 我正在考虑就这个主题进行一次谈话,所以我必须从更多的例子中得到更好的结果。
Chris Okasaki在他的着作“Purely Functional Data Structures”中讨论了“数值表示”一书中的一个非常不错的章节:本质上,对数字进行一些表示并将其转换为数据结构。 给一个风味,这里是该章的部分:
一些最好的技巧,蒸馏:
这也是该章的参考清单:
“三元数字可以用来传达像Sierpinski Triangle或Cantor设置的自相似结构。” 资源
“二维希尔伯特曲线的表示中使用了四元数。” 资源
“四位数假设数字系统最早由Donald Knuth在1955年提交给高中科学人才搜索,它是一个非标准的位置数字系统,它以虚数2i为基数,它能够以仅使用数字0,1,2和3来表示每个复数。“ 资源
“罗马数字是一个biquinary系统。” 资源
“在研究素数时,Senary可能被认为是有用的,因为当所有素数以6为基数表示时,除2和3以外,都有1或5作为最终数字。” 资源
“六十一位数字(基数60)是一个以六十为基数的数字系统,起源于公元前3千年的古代苏美尔人,它被传给了古代巴比伦人,并且仍然用于修改形式 - 用于测量时间,角度和角度的地理坐标。“ 资源
等等...
这份清单是一个很好的起点。
我前几天读到你的问题,今天遇到了一个问题:我如何生成一组的所有分区? 我遇到的解决方案和我使用的解决方案(可能是因为阅读您的问题)是这样的:
对于具有(n)个元素的集合,我需要(p)个分区,通过基数(p)中的所有(n)个数字进行计数。
每个数字对应一个分区。 每个数字对应于集合中的一个元素,数字的值告诉您将元素放入哪个分区。
这不是很了不起,但它很整洁。 它是完整的,不会造成冗余,并使用任意的基础。 您使用的基础取决于具体的分区问题。
链接地址: http://www.djcxy.com/p/40011.html