mirror of
https://github.com/python/cpython.git
synced 2025-09-30 20:31:52 +00:00
[3.12] gh-114466: explicitly define heap invariant (GH-117778) (#117835)
I think the choice of wording in these docs is great and doesn't
need to change. However, it could be useful to explicitly define
this term / the cost of doing so seems relatively low.
(cherry picked from commit 37a4cbd872
)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
This commit is contained in:
parent
0b11f0ef4f
commit
14cdb0d7a5
1 changed files with 3 additions and 2 deletions
|
@ -17,7 +17,9 @@ This module provides an implementation of the heap queue algorithm, also known
|
||||||
as the priority queue algorithm.
|
as the priority queue algorithm.
|
||||||
|
|
||||||
Heaps are binary trees for which every parent node has a value less than or
|
Heaps are binary trees for which every parent node has a value less than or
|
||||||
equal to any of its children. This implementation uses arrays for which
|
equal to any of its children. We refer to this condition as the heap invariant.
|
||||||
|
|
||||||
|
This implementation uses arrays for which
|
||||||
``heap[k] <= heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]`` for all *k*, counting
|
``heap[k] <= heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]`` for all *k*, counting
|
||||||
elements from zero. For the sake of comparison, non-existing elements are
|
elements from zero. For the sake of comparison, non-existing elements are
|
||||||
considered to be infinite. The interesting property of a heap is that its
|
considered to be infinite. The interesting property of a heap is that its
|
||||||
|
@ -319,4 +321,3 @@ applications, and I think it is good to keep a 'heap' module around. :-)
|
||||||
backwards, and this was also used to avoid the rewinding time. Believe me, real
|
backwards, and this was also used to avoid the rewinding time. Believe me, real
|
||||||
good tape sorts were quite spectacular to watch! From all times, sorting has
|
good tape sorts were quite spectacular to watch! From all times, sorting has
|
||||||
always been a Great Art! :-)
|
always been a Great Art! :-)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue