Documentation
¶
Index ¶
- type ArrayQueue
- type LinkedListQueue
- func (queue *LinkedListQueue) Dequeue() (interface{}, error)
- func (queue *LinkedListQueue) Enqueue(item interface{})
- func (queue LinkedListQueue) GetFront() (interface{}, error)
- func (queue LinkedListQueue) GetSize() int
- func (queue LinkedListQueue) IsEmpty() bool
- func (queue LinkedListQueue) String() string
- type LoopQueue
- type Node
- type PriorityQueue
- type Queue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArrayQueue ¶
type ArrayQueue struct {
// contains filtered or unexported fields
}
数组实现的队列,由于ArrayQueue是基于slice实现的,并不是真正的动态数组.所以其算法渐进时间复杂度并不高. 在出队和入队操作量不是很大的时候性能甚至高于LoopQueue 在出队和入队操作量很大的时候,LoopQueue性能更高一些但相差不多,并不是量级的差异
func (ArrayQueue) String ¶
func (a ArrayQueue) String() string
type LinkedListQueue ¶
type LinkedListQueue struct {
// contains filtered or unexported fields
}
基于链表实现的队列
func (*LinkedListQueue) Dequeue ¶
func (queue *LinkedListQueue) Dequeue() (interface{}, error)
O(1)
删除队列头部的元素
func (*LinkedListQueue) Enqueue ¶
func (queue *LinkedListQueue) Enqueue(item interface{})
O(1) 队列的尾部添加元素
func (LinkedListQueue) GetFront ¶
func (queue LinkedListQueue) GetFront() (interface{}, error)
查看队首元素
func (LinkedListQueue) String ¶
func (queue LinkedListQueue) String() string
type LoopQueue ¶
type LoopQueue struct {
// contains filtered or unexported fields
}
front->item->item->tail 元素个数为3 item->tail->front-item 元素个数为3 循环队列,循环队列的好处是增加和删除元素的渐进时间复杂度都是O(1)
type PriorityQueue ¶
type PriorityQueue struct {
// contains filtered or unexported fields
}
func CreatePriorityQueue ¶
func CreatePriorityQueue(comparator func(thisValue interface{}, compareValue interface{}) int) PriorityQueue
创建优先队列
func (PriorityQueue) Dequeue ¶
func (queue PriorityQueue) Dequeue() (interface{}, error)
func (PriorityQueue) Enqueue ¶
func (queue PriorityQueue) Enqueue(item interface{})
func (PriorityQueue) GetFront ¶
func (queue PriorityQueue) GetFront() (interface{}, error)
func (PriorityQueue) GetSize ¶
func (queue PriorityQueue) GetSize() int
func (PriorityQueue) IsEmpty ¶
func (queue PriorityQueue) IsEmpty() bool
Click to show internal directories.
Click to hide internal directories.