Python 3.x 多个关键优先级的数据结构

Python 3.x 多个关键优先级的数据结构,python-3.x,data-structures,Python 3.x,Data Structures,我一直在尝试为我的程序设计一个类似堆的数据结构。 在这个程序中,我有节点对象。节点有两个数字字段:时间和方向(两个自然数,我们可以假设相同的时间意味着不同的方向)。我在节点中定义了: def\uu lt\uuu(自身、其他): 如果self.time

我一直在尝试为我的程序设计一个类似堆的数据结构。 在这个程序中,我有节点对象。节点有两个数字字段:时间和方向(两个自然数,我们可以假设相同的时间意味着不同的方向)。我在节点中定义了:

def\uu lt\uuu(自身、其他):
如果self.time
数据结构将获得一个排序依据的函数(获取一个节点,返回一个值)。 pop操作应:

  • 如果节点N的值不同,则返回具有最小f(N)的节点N
  • 如果存在多个最小值,则返回具有最小时间的最小值(如果它是不同的)
  • 如果时间上存在多个最小值,则返回方向上的最小值
问题是,是否有一种简单的方法来维护结构,以便根据f()进行比较,但如果存在多个最小值,则它会求助于节点本身