mirror of
https://github.com/golang/go.git
synced 2025-05-29 03:11:26 +00:00
container/heap: add available godoc link
Change-Id: I886a8869ba885286ac8219bc7e245c9237ad4c99 Reviewed-on: https://go-review.googlesource.com/c/go/+/534777 Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: shuang cui <imcusg@gmail.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
This commit is contained in:
parent
cf97cd317b
commit
ade730a96c
@ -21,13 +21,13 @@ import "sort"
|
||||
// for a type using the routines in this package.
|
||||
// Any type that implements it may be used as a
|
||||
// min-heap with the following invariants (established after
|
||||
// Init has been called or if the data is empty or sorted):
|
||||
// [Init] has been called or if the data is empty or sorted):
|
||||
//
|
||||
// !h.Less(j, i) for 0 <= i < h.Len() and 2*i+1 <= j <= 2*i+2 and j < h.Len()
|
||||
//
|
||||
// Note that Push and Pop in this interface are for package heap's
|
||||
// Note that [Push] and [Pop] in this interface are for package heap's
|
||||
// implementation to call. To add and remove things from the heap,
|
||||
// use heap.Push and heap.Pop.
|
||||
// use [heap.Push] and [heap.Pop].
|
||||
type Interface interface {
|
||||
sort.Interface
|
||||
Push(x any) // add x as element Len()
|
||||
@ -55,7 +55,7 @@ func Push(h Interface, x any) {
|
||||
|
||||
// Pop removes and returns the minimum element (according to Less) from the heap.
|
||||
// The complexity is O(log n) where n = h.Len().
|
||||
// Pop is equivalent to Remove(h, 0).
|
||||
// Pop is equivalent to [Remove](h, 0).
|
||||
func Pop(h Interface) any {
|
||||
n := h.Len() - 1
|
||||
h.Swap(0, n)
|
||||
@ -78,7 +78,7 @@ func Remove(h Interface, i int) any {
|
||||
|
||||
// Fix re-establishes the heap ordering after the element at index i has changed its value.
|
||||
// Changing the value of the element at index i and then calling Fix is equivalent to,
|
||||
// but less expensive than, calling Remove(h, i) followed by a Push of the new value.
|
||||
// but less expensive than, calling [Remove](h, i) followed by a Push of the new value.
|
||||
// The complexity is O(log n) where n = h.Len().
|
||||
func Fix(h Interface, i int) {
|
||||
if !down(h, i, h.Len()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user