Questions tagged «algorithm»

算法是定义明确的问题解决方案的一系列明确定义的步骤。当您的问题与算法设计有关时,请使用此标签。

11
查找距给定纬度位置一定距离内的所有纬度经度位置的算法
给定具有纬度+经度位置的位置数据库,例如40.8120390,-73.4889650,我如何查找特定位置给定距离内的所有位置? 从数据库中选择所有位置然后逐个浏览它们,从起始位置获取距离以查看它们是否在指定距离之内,效率似乎并不高。有什么好方法可以缩小数据库中最初选择的位置的范围?一旦找到了(或没有?)缩小的位置范围,是否仍要逐个检查位置,还是有更好的方法? 我使用的语言并不重要。谢谢!

16
如何计算2D多边形的面积?
假设2d空间中一系列不自相交的点,确定所得多边形面积的有效方法是什么? 附带说明,这不是功课,我也不在寻找代码。我正在寻找可以用来实现自己的方法的描述。我有从点列表中拉出一系列三角形的想法,但是我知道有很多关于凸多边形和凹多边形的边沿案例,我可能不会注意到。
81 algorithm  geometry  2d 


5
Python中最短的数独求解器-它如何工作?
我在玩我自己的Sudoku求解器时,遇到以下问题时正在寻找一些指向快速好设计的指针: def r(a):i=a.find('0');~i or exit(a);[m in[(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for j in range(81)]or r(a[:i]+m+a[i+1:])for m in'%d'%5**18] from sys import*;r(argv[1]) 我自己的实现以与解决数独相同的方式解决数独问题,但是这种神秘算法如何​​工作? http://scottkirkwood.blogspot.com/2006/07/shortest-sudoku-solver-in-python.html
81 python  algorithm 

5
计算最少的运算以使两个树结构相同
这更多是一个CS问题,但有趣的是: 假设我们有2个树结构,它们或多或少地重组了相同的节点。你怎么会找到 任何 在某种意义上说极小 操作顺序 MOVE(A, B) -将节点A移动到节点B下(带有整个子树) INSERT(N, B)-在节点B下插入新节点N DELETE (A) -删除节点A(带有整个子树) 将一棵树转化为另一棵树。 显然,在某些情况下,这种转换是不可能的,琐碎的是将根A与子B转换为根B与子A等)。在这种情况下,该算法将简单地提供“不可能”的结果。 对于网络而言,更通用的版本是通用的,即当我们假设一个节点可以在树中出现多次(有效地具有多个“父级”)时,则禁止循环。 免责声明:这不是家庭作业,实际上是来自一个实际的业务问题,我想知道是否有人知道解决方案非常有趣。

5
Max-Heapify中最坏的情况-如何获得2n / 3?
在CLRS,第三版,第155页中,假定在MAX-HEAPIFY中, 子树的每个子树的大小最大为2n / 3-最坏的情况是树的底部恰好是一半满了。 我知道为什么当树的底部恰好是一半满时最糟糕。在此问题中还回答了MAX-HEAPIFY中的最坏情况:“最坏情况发生在树的底部恰好是一半满时” 我的问题是如何获得2n / 3? 为什么如果底层为半满,则子树的大小最大为2n / 3? 如何计算? 谢谢




9
JavaScript:计算数字的第n个根
Наэтотвопросестьответына堆栈溢出нарусском:Получитькорень正ойстепени 我正在尝试使用JavaScript来获取数字的第n个根,但是我看不到使用内置Math对象来实现的方法。我在俯视什么吗? 如果不... 我可以使用具有此功能的数学库吗? 如果不... 自己完成这项工作的最佳算法是什么?


4
后缀树和尝试。有什么不同?
我正在阅读有关Tries通常称为Prefix树和的信息Suffix Trees。 虽然我找到了的代码,Trie但找不到的示例Suffix Tree。我也感觉到,构建a的代码与a的代码Trie相同,Suffix Tree唯一的区别是,在前一种情况下,我们存储前缀,而在后缀中。 这是真的?谁能帮我解决这个问题?示例代码将对您有很大的帮助!

5
具有自定义比较谓词的heapq
我正在尝试使用自定义排序谓词构建堆。由于输入的值属于“用户定义”类型,因此我无法修改其内置比较谓词。 有没有办法做类似的事情: h = heapq.heapify([...], key=my_lt_pred) h = heapq.heappush(h, key=my_lt_pred) 甚至更好的是,我可以将heapq函数包装在自己的容器中,这样就不需要继续传递谓词。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.