问题标签 [algorithm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 有没有人有一个好的正确案例算法
有没有人有可信的 Proper Case 或 PCase 算法(类似于 UCase 或 Upper)?我正在寻找具有诸如"GEORGE BURDELL"
or之类的值"george burdell"
并将其转换为"George Burdell"
.
我有一个处理简单案例的简单案例。理想的情况是拥有一些可以处理诸如"O'REILLY"
并将其变成的东西"O'Reilly"
,但我知道这更难。
如果这样可以简化事情,我主要关注英语。
更新:我使用 C# 作为语言,但我几乎可以转换任何东西(假设存在类似的功能)。
我同意麦当劳的场景是一个艰难的。我的意思是在我的 O'Reilly 示例中提到这一点,但在原始帖子中没有。
c - 什么是 C 中好的开源 B-tree 实现?
我正在寻找用 C 编写的 B 树库的精益且构建良好的开源实现。它需要在非 GPL 许可下才能用于商业应用程序。理想情况下,该库支持将 B-tree 索引存储/操作为磁盘文件,以便可以使用可配置(即:最小)RAM 占用空间构建大型树。
注意:由于似乎有些混淆,二叉树和 B-Tree不是一回事。
c# - 人气算法
在 SO 18 上,Joel 提到了一种算法,该算法可以根据物品的年龄和受欢迎程度对物品进行排名,并且它是基于重力的。有人可以发布这个吗?C# 会很可爱,但实际上任何语言(好吧,我不会 LISP)都可以。
algorithm - 模式识别算法
过去,我必须开发一个充当规则评估器的程序。你有一个先行词和一些后续事件(动作),所以如果先行词被评估为真,那么执行的动作。
当时我使用了RETE 算法的修改版本(RETE有三个版本,只有第一个是公开的)用于前件模式匹配。我们在这里谈论的是一个大型系统,每个规则有数百万个操作,并且一些操作符在多个规则中“重复”。
有可能我必须用其他语言重新实现它,即使我在 RETE 方面有经验,有人知道其他模式匹配算法吗?有什么建议还是我应该继续使用 RETE?
algorithm - 什么是尾递归?
在开始学习 lisp 时,我遇到了tail-recursive一词。究竟是什么意思?
algorithm - 测试链表是否有循环的最佳算法
确定链表中是否有循环的最佳(停止)算法是什么?
[编辑] 时间和空间的渐近复杂度分析会很不错,因此可以更好地比较答案。
[编辑] 原始问题不是解决 outdegree > 1 的节点,但有一些讨论。这个问题更像是“在有向图中检测循环的最佳算法”。
algorithm - 在盒子里找到自己的号码
100 名(或偶数 2N :-))囚犯在一个房间 A。他们的编号从 1 到 100。
一个接一个(从 1 号囚犯到 100 号囚犯,按顺序),他们将被带入一个房间 B,里面有 100 个箱子(编号从 1 到 100)等待他们。(封闭的)框内是从 1 到 100 的数字(框内的数字是随机排列的!)。
一旦进入房间 B,每个囚犯可以打开 50 个盒子(他选择打开哪个)。如果他在这 50 个盒子中的一个中找到分配给他的号码,则囚犯可以走进 C 房间,并且在下一个从 A 房间走进 B 房间之前,所有的盒子都会再次关闭。否则,所有囚犯(在房间 A、B 和 C) 被杀死。
在进入房间 B 之前,囚犯可以就策略(算法)达成一致。房间之间没有办法交流(B房间也不能留下任何信息!)。
有没有一种算法可以最大化所有囚犯幸存的概率?该算法实现的概率是多少?
笔记:
随机做事(你称之为“无策略”)确实为每个囚犯提供了 1/2 的概率,但是他们所有人幸存的概率是 1/2^100(这是相当低的)。一个人可以做得更好!
不允许囚犯重新排列箱子!
当囚犯第一次找不到他的号码时,所有囚犯都会被杀死。并且无法进行交流。
提示:一个人平均可以救30多个囚犯,比(50/100) * (50/99) * [...] * 1要多得多
algorithm - 自然排序算法
如何在不同的编程语言中自然地对字符串数组进行排序?在答案中发布您的实现及其使用的语言。
algorithm - 什么是好的哈希函数?
什么是好的哈希函数?我在大学的数据结构课程中看到了很多散列函数和应用程序,但我大多都知道要制作一个好的散列函数非常困难。作为避免碰撞的经验法则,我的教授说:
(mod 是 C 和类似语言中的 % 运算符)
以素数为哈希表的大小。我知道这是一种避免碰撞和快速的功能,但我怎样才能做出更好的功能呢?对于数字键,字符串键是否有更好的哈希函数?