priorityqueue

package
v0.0.0-...-6786673 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AscendingPriorityQueue

type AscendingPriorityQueue[T cmp.Ordered] interface {
	PriorityQueue[T]
	//Return minimum item without removing it from the queue
	GetMin() T
	//Remove and return minimum item
	DeleteMin() T
}

type BinarySearchTreePriorityQueue

type BinarySearchTreePriorityQueue[T cmp.Ordered] struct {
	tree.BinarySearchTree[T]
	// contains filtered or unexported fields
}

func NewBinarySearchTreePriorityQueue

func NewBinarySearchTreePriorityQueue[T cmp.Ordered]() BinarySearchTreePriorityQueue[T]

func (*BinarySearchTreePriorityQueue[T]) DeleteMax

func (queue *BinarySearchTreePriorityQueue[T]) DeleteMax() T

func (*BinarySearchTreePriorityQueue[T]) DeleteMin

func (queue *BinarySearchTreePriorityQueue[T]) DeleteMin() T

func (BinarySearchTreePriorityQueue[T]) GetMax

func (queue BinarySearchTreePriorityQueue[T]) GetMax() T

func (BinarySearchTreePriorityQueue[T]) GetMin

func (queue BinarySearchTreePriorityQueue[T]) GetMin() T

func (*BinarySearchTreePriorityQueue[T]) Insert

func (queue *BinarySearchTreePriorityQueue[T]) Insert(data T)

func (BinarySearchTreePriorityQueue[T]) Length

func (queue BinarySearchTreePriorityQueue[T]) Length() int

type DescendingPriorityQueue

type DescendingPriorityQueue[T cmp.Ordered] interface {
	PriorityQueue[T]
	//Return maximum item without removing it from the queue
	GetMax() T
	//Remove and return maximum item
	DeleteMax() T
}

type DoubleEndedPriorityQueue

type DoubleEndedPriorityQueue[T cmp.Ordered] interface {
	AscendingPriorityQueue[T]
	DescendingPriorityQueue[T]
}

type HeapAscendingPriorityQueue

type HeapAscendingPriorityQueue[T cmp.Ordered] struct {
	// contains filtered or unexported fields
}

func NewHeapAscendingPriorityQueue

func NewHeapAscendingPriorityQueue[T cmp.Ordered]() HeapAscendingPriorityQueue[T]

func (*HeapAscendingPriorityQueue[T]) DeleteMin

func (queue *HeapAscendingPriorityQueue[T]) DeleteMin() T

func (HeapAscendingPriorityQueue[T]) GetMin

func (queue HeapAscendingPriorityQueue[T]) GetMin() T

func (*HeapAscendingPriorityQueue) Insert

func (queue *HeapAscendingPriorityQueue) Insert(data T)

func (HeapAscendingPriorityQueue) Length

func (queue HeapAscendingPriorityQueue) Length() int

type HeapDescendingPriorityQueue

type HeapDescendingPriorityQueue[T cmp.Ordered] struct {
	// contains filtered or unexported fields
}

func NewHeapDescendingPriorityQueue

func NewHeapDescendingPriorityQueue[T cmp.Ordered]() HeapDescendingPriorityQueue[T]

func (*HeapDescendingPriorityQueue[T]) DeleteMax

func (queue *HeapDescendingPriorityQueue[T]) DeleteMax() T

func (HeapDescendingPriorityQueue[T]) GetMax

func (queue HeapDescendingPriorityQueue[T]) GetMax() T

func (*HeapDescendingPriorityQueue) Insert

func (queue *HeapDescendingPriorityQueue) Insert(data T)

func (HeapDescendingPriorityQueue) Length

func (queue HeapDescendingPriorityQueue) Length() int

type LinkedListPriorityQueue

type LinkedListPriorityQueue[T cmp.Ordered] struct {
	*linkedlist.SinglyLinkedList[T]
}

func NewLinkedListPriorityQueue

func NewLinkedListPriorityQueue[T cmp.Ordered]() LinkedListPriorityQueue[T]

func (*LinkedListPriorityQueue[T]) DeleteMax

func (queue *LinkedListPriorityQueue[T]) DeleteMax() T

func (*LinkedListPriorityQueue[T]) DeleteMin

func (queue *LinkedListPriorityQueue[T]) DeleteMin() T

func (LinkedListPriorityQueue[T]) GetMax

func (queue LinkedListPriorityQueue[T]) GetMax() T

func (LinkedListPriorityQueue[T]) GetMin

func (queue LinkedListPriorityQueue[T]) GetMin() T

func (*LinkedListPriorityQueue[T]) Insert

func (queue *LinkedListPriorityQueue[T]) Insert(data T)

func (LinkedListPriorityQueue[T]) Length

func (queue LinkedListPriorityQueue[T]) Length() int

type PriorityQueue

type PriorityQueue[T cmp.Ordered] interface {
	//Add new item to the priority queue
	Insert(data T)
	//Get priority queue length
	Length() int
}

Priority queue is a data structure used to find the maximum or minimum element among a collection of elements. Ascending priority queues are used to find the minimum element (DeleteMin). Descending priority queues are used to find the maximum element (DeleteMax). Priority queues are used for data compression, graph algorithms and sorting.

type SlicePriorityQueue

type SlicePriorityQueue[T cmp.Ordered] []T

func NewSlicePriorityQueue

func NewSlicePriorityQueue[T cmp.Ordered]() SlicePriorityQueue[T]

func (*SlicePriorityQueue[T]) DeleteMax

func (queue *SlicePriorityQueue[T]) DeleteMax() T

func (*SlicePriorityQueue[T]) DeleteMin

func (queue *SlicePriorityQueue[T]) DeleteMin() T

func (SlicePriorityQueue[T]) GetMax

func (queue SlicePriorityQueue[T]) GetMax() T

func (SlicePriorityQueue[T]) GetMin

func (queue SlicePriorityQueue[T]) GetMin() T

func (*SlicePriorityQueue[T]) Insert

func (queue *SlicePriorityQueue[T]) Insert(data T)

func (SlicePriorityQueue[T]) Length

func (queue SlicePriorityQueue[T]) Length() int

type SortedLinkedListPriorityQueue

type SortedLinkedListPriorityQueue[T cmp.Ordered] struct {
	*linkedlist.SinglyLinkedList[T]
}

func NewSortedLinkedListPriorityQueue

func NewSortedLinkedListPriorityQueue[T cmp.Ordered]() SortedLinkedListPriorityQueue[T]

func (*SortedLinkedListPriorityQueue[T]) DeleteMax

func (queue *SortedLinkedListPriorityQueue[T]) DeleteMax() T

func (*SortedLinkedListPriorityQueue[T]) DeleteMin

func (queue *SortedLinkedListPriorityQueue[T]) DeleteMin() T

func (SortedLinkedListPriorityQueue[T]) GetMax

func (queue SortedLinkedListPriorityQueue[T]) GetMax() T

func (SortedLinkedListPriorityQueue[T]) GetMin

func (queue SortedLinkedListPriorityQueue[T]) GetMin() T

func (*SortedLinkedListPriorityQueue[T]) Insert

func (queue *SortedLinkedListPriorityQueue[T]) Insert(data T)

func (SortedLinkedListPriorityQueue[T]) Length

func (queue SortedLinkedListPriorityQueue[T]) Length() int

type SortedSlicePriorityQueue

type SortedSlicePriorityQueue[T cmp.Ordered] []T

func NewSortedSlicePriorityQueue

func NewSortedSlicePriorityQueue[T cmp.Ordered]() SortedSlicePriorityQueue[T]

func (*SortedSlicePriorityQueue[T]) DeleteMax

func (queue *SortedSlicePriorityQueue[T]) DeleteMax() T

func (*SortedSlicePriorityQueue[T]) DeleteMin

func (queue *SortedSlicePriorityQueue[T]) DeleteMin() T

func (SortedSlicePriorityQueue[T]) GetMax

func (queue SortedSlicePriorityQueue[T]) GetMax() T

func (SortedSlicePriorityQueue[T]) GetMin

func (queue SortedSlicePriorityQueue[T]) GetMin() T

func (*SortedSlicePriorityQueue[T]) Insert

func (queue *SortedSlicePriorityQueue[T]) Insert(data T)

func (SortedSlicePriorityQueue[T]) Length

func (queue SortedSlicePriorityQueue[T]) Length() int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL