相关疑难解决方法(0)

我在Python中使用什么来实现最大堆实现?

Python包含用于min-sheaps的heapq模块,但我需要一个最大堆.我应该在Python中使用什么来实现max-heap实现?

python heap recursive-datastructures data-structures

197
推荐指数
10
解决办法
10万
查看次数

如何使heapq评估特定属性的堆?

我希望拥有一堆物品,而不仅仅是数字.它们将具有一个整数属性,堆可以按其排序.在python中使用堆的最简单方法是heapq,但是在使用heapq时如何告诉它按特定属性排序?

python heap data-structures

38
推荐指数
6
解决办法
4万
查看次数

python中的最小堆

我想通过定义自定义比较函数将一组对象存储在最小堆中.我看到有一个heapq模块可用作python发行版的一部分.有没有办法在这个模块上使用自定义比较器?如果没有,是否有其他人建立了自定义最小堆?

python heap object min-heap

11
推荐指数
2
解决办法
7266
查看次数

快速找到离点最近的多边形的方法

我有一个Shapely多边形列表和一个像这样的点:

from shapely.geometry import Point, Polygon

polygons = [Polygon(...), Polygon(...), ...]
point = Point(2.5, 5.7)
Run Code Online (Sandbox Code Playgroud)

我想在列表中找到最接近该点的多边形。我已经知道object.distance(other)返回两个几何形状之间的最小距离的函数,我想过计算循环中的所有距离以找到最近的多边形:

polygons = [Polygon(...), Polygon(...), ...]
point = Point(2.5, 5.7)
min_dist = 10000
closest_polygon = None

for polygon in polygons:
    dist = polygon.distance(point)
    if dist < min_dist:
        min_dist = dist
        closest_polygon = polygon
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有更有效的方法来做到这一点?

python polygon shapely

5
推荐指数
1
解决办法
2884
查看次数

如何按自定义对象的字段进行堆积

我从客户端接收服务器对象(每个对象具有相同的结构,并具有字段self.utc_time,其中包含创建该对象的时间).我需要存储在一些结构中所以我总是按升序排序所以当我弹出时,我通过utc_time弹出最旧的对象,而不是我收到的时间.我想从heapq中使用优先级队列,但是如何通过自定义对象的utc_time字段来说明heaify?有更好的解决方案吗?

python python-2.7

4
推荐指数
2
解决办法
7475
查看次数

为了插入到嵌套列表

假设我有一个类似的嵌套列表:

nested_list=[[123,'Aaron','CA'],[124,'Bob','WY'],[125,'John','TX']]
insert_me=[122,'George','AL']
Run Code Online (Sandbox Code Playgroud)

该列表当前按每个子列表的中间值排序(按字母顺序),我想在嵌套列表中的正确位置添加值insert_me。为了保持字母顺序,需要在列表之间添加“ Bob”和“ John”的列表。我知道bisect通常将用于带有列表的此类任务,但不了解如何将bisect用于此类的嵌套列表。

python nested-lists

3
推荐指数
1
解决办法
1111
查看次数

在Python中,我应该如何在元组列表上实现最小堆?

我正在尝试在元组列表上实现最小堆。例如:

A=[('a',2),('b',1)]
Run Code Online (Sandbox Code Playgroud)

我如何根据这些元组的第二个元素堆化 A ,以便将 A 堆化为[('b',1),('a',2)]?(我必须维护一个最小堆。)

python heap tuples priority-queue

3
推荐指数
1
解决办法
9267
查看次数