什么是优先队列? 我们在常见的线性结构中,已经知道什么是普通队列了,普通队列就是一种“先进先出,后进后出”的数据结构,即普通队列的出队顺序和入队顺序是一样的,但我们的优先队列,它的出队顺序和入队顺序无关,它的出队顺序是和优先级相关的,当然这个优先级我们可以自己定义。 为什么使用优先队列? 举一个生活 ...
分类:
其他好文 时间:
2020-04-06 09:38:48
阅读次数:
63
堆栈是一种数据结构,指的是数据存取的方式,当定义一个变量时,内存会开辟一段空间 栈(Stack): 先进后出(FILO),在栈顶做插入(压栈)和删除操作(出栈)。 队列: 先进先出(FIFO),在队头做删除操作,在队尾做插入操作。 堆: 堆和它们不同,代码执行时系统动态分配,不存在是先进后出还是先进 ...
分类:
其他好文 时间:
2020-04-05 22:40:44
阅读次数:
97
Channel是一个数据结构--队列 数据是先进先出 channel是线程安全的,多线程访问时不需要枷锁 channel是有类型的,声明时需要绑定数据类型 var chan int//双向管道 var chan<- int //只写管道 var <-chan int//只读管道 //上诉管道中的数据 ...
分类:
其他好文 时间:
2020-04-05 18:14:04
阅读次数:
78
前面介绍的Stack是新进后出,而Queue是先进先出的 1、Queue结构 public interface Queue<E> extends Collection<E> { boolean add(E e); boolean offer(E e); E remove(); E poll(); E ...
分类:
其他好文 时间:
2020-04-05 13:19:01
阅读次数:
90
什么是顺序发送: 消息生产和消息消费都严格按照先进先出的原则 顺序消息分为两种: 全局顺序: top下所有的queue都要进行FIFO 生产和消费,这种比较少用,会造成消息的堵塞,吞吐量不高, 局部顺序消息 确保top下面的一组队列 queque 顺序保存一直就行了,先发送的消息一定先被消费,比如我 ...
分类:
其他好文 时间:
2020-04-03 18:14:40
阅读次数:
64
基于空间:指缓存设置了存储空间,如果设置为10MB,当达到存储空间上限时,按照一定的策略移除数据。 基于容量:指缓存设置了最大大小,当缓存的条目超过最大大小时,按照一定的策略移除旧数据。 基于时间 TTL(Time To Live):存活期,即缓存数据从创建开始直到到期的一个时间段。 TTI(Tim ...
分类:
其他好文 时间:
2020-04-01 14:58:01
阅读次数:
76
(1)先进先出 import queue q=queue.Queue() q.put('first') q.put('second') q.put('third') print(q.get()) print(q.get()) print(q.get()) ''' first second third ...
分类:
编程语言 时间:
2020-03-29 10:47:39
阅读次数:
60
//堆栈 stack 一个有0个或多个元素的又穷线性表//长度为MaxSize 的堆栈Stack CreateStack(int MaxSize); //生成空栈表,最大MaxSizeint IsFull(Stack S, int MaxSize); //判断堆栈S是否已满void Push(Sta ...
分类:
其他好文 时间:
2020-03-28 20:05:46
阅读次数:
77
队列:具有一定操作约束的线性表,只能在一端插入,在另一端删除。 特点:先来先服务,先进先出表 头front,尾rear 顺序存储 1 #define MaxSize <储存数据元素的最大个数> 2 3 struct QNode { 4 5 ElementType Data[MaxSize]; 6 7 ...
分类:
其他好文 时间:
2020-03-26 01:27:23
阅读次数:
94
队列是先进先出(first in first out)的线性表,简称 FIFO。 假设循环队列: 队头:front 队尾:rear 最大尺寸:queue size 队列满:(rear + 1)% queue size == front 通用队列长度计算: (rear - front + queue ...
分类:
其他好文 时间:
2020-03-23 20:44:53
阅读次数:
104