Tag: algorithm

使用两个队列实现堆栈

之前有人问过类似的问题,但这里的问题与之相反,使用两个队列作为堆栈。 这个问题… 给定两个标准操作(入enqueue , dequeue , isempty , size )的isempty ,用标准操作( pop , push , isempty , size )实现一个栈。 应该有两个版本的解决scheme。 版本A :推送物品时堆叠应该是有效的; 和 版本B :popup一个项目时,堆栈应该是有效的。 我比任何特定的语言实现更感兴趣的algorithm。 不过,我欢迎用我熟悉的语言( java , c# , python , vb , javascript , php )expression的解决scheme。

HyperLogLogalgorithm如何工作?

我最近在业余时间已经学习了不同的algorithm,而我遇到的一个看起来非常有趣的algorithm叫做HyperLogLogalgorithm – 它估计列表中有多less独特的项目。 这对我来说特别有意思,因为当我看到“基数”值(直到最近我一直认为它是不计算的)时,才使我回到了MySQL日子。 所以我知道如何在O ( n )中编写一个algorithm来计算一个数组中有多less个独特的项目。 我用JavaScript写了这个: function countUniqueAlgo1(arr) { var Table = {}; var numUnique = 0; var numDataPoints = arr.length; for (var j = 0; j < numDataPoints; j++) { var val = arr[j]; if (Table[val] != null) { continue; } Table[val] = 1; numUnique++; } return numUnique; } 但问题是,我的algorithm,而O ( […]

差分algorithm

我一直在寻找一个有效的差异algorithm解释疯狂。 我得到的最接近的是RFC 3284的链接 (来自几个Eric Sink博客文章),它以完全可理解的术语描述了存储差异结果的数据格式 。 然而,没有提到一个程序在做差异时如何达到这些结果。 我试图从个人的好奇心来研究这个问题,因为我确定在执行差异algorithm的时候一定要权衡一下,有时候当你看差异的时候就很清楚了,难怪“差异程序为什么select这个作为一个改变而不是那个?“… 有谁知道在哪里可以find一个有效的algorithm,最终会输出VCDIFF的描述? 顺便说一下,如果您碰巧find了SourceGear的DiffMerge使用的实际algorithm的描述,那就更好了。 注意:最长的公共子序列看起来不是VCDIFF使用的algorithm,看起来他们正在做更聪明的事情,因为它们使用的是数据格式。 谢谢!

如何实现一个三栈的队列?

我在algorithm书( algorithm,由罗伯特·Sedgewick和凯文·韦恩第四版)中遇到了这个问题。 排队三堆。 实现一个有三个堆栈的队列,以便每个队列操作都有一个常量(最坏情况)的堆栈操作。 警告:难度高。 我知道如何创build2个堆栈的队列,但是我找不到3个堆栈的解决scheme。 任何想法 ? (哦,这不是作业:))

段树,区间树,二叉索引树和范围树之间有什么区别?

段树,区间树,二叉索引树和范围树之间的区别是: 主要观点/定义 应用 性能/订单更高维度/空间消耗 请不要只给定义。

每种sortingalgorithm何时使用?

当一个特定的sortingalgorithm优于其他的时候,什么是用例 – merge sort与quick sort与heap sort intro sort等等? 根据数据结构的大小,types,可用内存和caching以及CPU性能,是否有推荐的使用指南?

如何比较两种颜色的相似/差异

我想devise一个程序,可以帮助我评估5个预定义的颜色,其中一个更像是一个可变的颜色,以及百分比。 事情是,我不知道如何手动一步一步做。 所以想一个程序就更难了。 更多细节:颜色来自不同颜色的胶pipe照片。 我有5个不同颜色的pipe子,每个都代表5个等级中的1个。 我想拍摄其他样品的照片,并在计算机上通过比较颜色来评估样品属于哪个水平,我也想知道这个比例也是近似值。 我想要一个像这样的程序: http : //www.colortools.net/color_matcher.html 如果你能告诉我要采取什么措施,哪怕是让我思考和手动做的事情。 这将是非常有益的。

将弧度转换为度数的方法是什么?

偶尔遇到这种情况,总是忘记如何去做。 其中之一就是经常出现的那些东西。 另外,什么公式将angular度以弧度表示为度,然后再返回?

有没有比Bogosort(又名猴sorting)更糟糕的sortingalgorithm?

我的同事们把我赶回大学的时候,今天早上讨论了sortingalgorithm。 我们回想起我们最喜欢的StupidSort ,我们中的一个人确定我们看到了一个sortingalgorithm是O(n!) 。 这让我开始寻找我能find的“最糟糕的”sortingalgorithm。 我们假设一个完全随机的sorting将是非常糟糕的(即随机化元素 – 是否按顺序?再次随机化),我环顾四周,发现它显然被称为BogoSort或Monkey Sort,或者有时候只是随机sorting 。 猴sorting似乎具有O(∞)的最坏情况性能, O(∞) O(n)的最佳情况性能和O(n·n!)的平均性能。 有没有任何命名algorithm的平均性能比O(n·n!) ? 或者只比猴子sorting一般?

计算趋势主题或标签的最佳方式是什么?

许多网站提供了一些统计资料,如“最近24小时最热的话题”。 例如,Topix.com在其“新闻趋势”部分显示了这一点。 在那里,你可以看到提及数量增长最快的话题。 我也想计算一个话题的“嗡嗡”。 我怎么能这样做? 该algorithm应该加权总是热的话题less。 通常(几乎)没有人提到的话题应该是最热门的话题。 Google提供“热门趋势”,topix.com显示“热门话题”,fav.or.it显示“关键字趋势” – 所有这些服务有一个共同点:他们只显示即将到来的exception热点即将到来的趋势。 像“布兰妮斯皮尔斯”,“天气”或“巴黎希尔顿”这样的词汇将不会出现在这些列表中,因为它们总是很热且频繁。 这篇文章称之为“小甜甜布兰妮问题”。 我的问题:如何编码algorithm或使用现有的algorithm来解决这个问题? 在过去的24小时内search关键字的列表,algorithm会显示10(例如)最热门的。 我知道,在上面的文章中,提到了某种algorithm。 我试图用PHP编写代码,但我不认为它会起作用。 它只是发现大多数,不是吗? 我希望你能帮助我(编码的例子会很棒)。