为了简化问题,我有一个包含在2D平面上的节点和边的图。 我想要做的是点击一个button,它会自动布局图看起来干净。 通过这个,我意味着最小的边缘交叉,节点之间的漂亮的空间,甚至可以表示graphics比例(加权的边缘)。 我知道这完全是一个干净的图表的主观,但是有没有人知道一个algorithm开始,而不是重新发明轮子? 谢谢。
我正在寻找一种algorithm来比较两种RGB颜色并生成它们相似性的值(其中相似性意味着“与人类平均感觉相似”)。 有任何想法吗? 编辑 : 由于我不能回答,我决定把我的“解决scheme”作为编辑的问题。 我决定在我的应用程序中使用一个非常小的真彩色子集,以便我可以自己处理颜色的比较。 我使用约30种颜色,并使用硬编码的距离。 由于这是一个iPhone应用程序,我用Objective-C工作,实现或多或less是一个matrix代表下面的表格,它显示了颜色之间的距离。
我在Reddit上看到了这个问题,并没有提出正面的解决scheme,我认为这是一个完美的问题。 这是关于面试问题的一个线索: 编写一个采用大小为m的int数组的方法,如果数组由数字n … n + m-1组成,则返回(True / False),该范围内的所有数字以及该范围内的数字。 数组不保证被sorting。 (例如,{2,3,4}将返回true。{1,3,1}将返回false,{1,2,4}将返回false。 我遇到的这个问题是我的面试官不断要求我优化(更快的O(n),更less的内存等),他声称你可以在一个arrays中使用恒定数量的记忆。 从来没有想过这一个。 随着你的解决scheme,请指出他们是否假设arrays包含独特的项目。 同时指出你的解决scheme是否假定序列从1开始(我已经稍微修改了这个问题,以允许它进入2,3,4的情况) 编辑:我现在认为,在处理重复的空间algorithm中不存在线性时间和常量。 任何人都可以validation此? 重复的问题归结为testing,以查看数组是否包含O(n)时间,O(1)空间中的重复项。 如果可以这样做,您可以先简单testing一下,如果没有重复,则运行发布的algorithm。 那么你能在O(n)时间O(1)空间中testingdupe吗?
我正试图找出哪些algorithm可以从3D距离数据中进行曲面重build。 乍一看, Ball pivotingalgorithm ( BPA )和泊松曲面重build是比较成熟的方法吗? 在BPA和泊松曲面重buildalgorithm以外,现有的更稳健的algorithm是什么? 推荐研究出版物? 有没有可用的源代码?
我想在Verilog中devise一个可综合的模块,在计算32位给定input的平方根时只需要一个周期。
我最近发布了一个关于优化algorithm来计算Levenshtein距离的问题,并且这些答复将我引向维基百科有关Levenshtein距离的文章。 文章提到,如果在最大距离上有一个边界k ,那么给定的查询可能会产生一个结果,那么运行时间可以从O(mn)减less到O(kn) , m和n是string。 我查了algorithm,但我真的不知道如何实现它。 我希望在这里得到一些线索。 “可能的改进”下的优化是#4。 令我困惑的部分是我们只需要计算以主对angular线(主对angular线被定义为坐标(i,i))为中心的宽度为2k + 1的对angular线条带。 如果有人能提供一些帮助/见解,我会非常感激。 如果需要的话,我可以在这里发表完整的algorithm描述作为答案。
许多使用IEEE 754双打的编程语言提供了一个库函数来将这些双精度转换为string。 例如,C有sprintf ,C ++有stringstream ,Java有Double.toString等 在内部,这些function是如何实现的? 也就是说,他们使用什么algorithm将double转换成string表示,因为它们通常受到程序员select的精度限制? 谢谢!
我正在研究下面需要的程序来更好地理解它。 什么是Quicksort最糟糕的情况下运行时间,什么可能会导致这种情况下更糟糕的performance? 我们如何修改quicksort程序来解决这个问题? 我知道它有最坏的情况O(n ^ 2),我知道它发生时,枢轴唯一最小或最大元素。 我的问题是如何修改程序来缓解这个问题。 一个好的algorithm会很好。 谢谢
我将如何实现一个二进制search只使用一个数组?
我试图在PC上运行程序的上下文中了解Big O分析的一个特定方面。 假设我有一个性能为O(n + 2)的algorithm。 在这里,如果n变得非常大,则2变得不重要。 在这种情况下,真正的性能是O(n)。 然而,说另一个algorithm的平均性能为O(n ^ 2/2)。 我看到这个例子的书说真实的performance是O(n ^ 2)。 我不知道为什么,我的意思是在这种情况下,2似乎不是完全无关紧要的。 所以我正在寻找这本书的一个很好的清晰的解释。 这本书解释了这一点: “考虑1/2是什么意思,检查每个值的实际时间高度依赖于代码转换的机器指令,然后取决于CPU可以执行指令的速度,因此1/2”这意味着非常多。“ 而我的反应是……呃??? 我从字面上不知道这个说法是什么,或者更确切地说,这个说法与他们的结论有什么关系。 有人可以为我拼出来,请。 感谢您的帮助。