如何在python中实现负无穷大?

dor*_*mon 4 python algorithm numbers

我正在尝试实现Heap定义的优先级队列,该算法来自CLRS第6章.伪代码如下所示:

Max_Heap_Insert(A, key):
    A.heap_size = A.heap_size + 1
    A[A.heap_size] = -?
    Heap_Increase_Key(A, A.heap_size, key)
Run Code Online (Sandbox Code Playgroud)

我的问题是使用python,我该如何定义-∞?

小智 11

Python有特殊的价值float('inf')float('-inf').


Yuv*_*mus 6

碰巧,在 Python 2 中,None小于任何整数,因此您可以使用None. 在 Python 3 中,你(至少)有四种选择:

\n\n
    \n
  1. 使用分钟(A) - 1。
  2. \n
  3. 使用None,并且每当比较两个值时,显式测试它们是否为None
  4. \n
  5. 定义一个由整数或 -\xe2\x88\x9e 组成的新数据类型,并正确处理比较。
  6. \n
  7. 修改算法以消除第 2 行。你将不得不以Heap-Increase-Key某种方式修补。
  8. \n
\n