1 #include <cstdio> 2 #include <iostream> 3 4 using namespace std; 5 6 const int MAX_N = 1000; 7 8 // 用数组来实现二叉树 9 // 左儿子编号=自己*2 + 1 10 // 右儿子编号=自己*2 + ...
分类:
其他好文 时间:
2020-02-05 16:24:06
阅读次数:
48
Python程序中的线程操作 线程队列 [TOC] 一、线程队列 queue队列:使用 ,用法与进程Queue一样 queue is especially useful in threaded programming when information must be exchanged safely ...
分类:
编程语言 时间:
2020-02-04 10:35:27
阅读次数:
100
队列Queue、栈LifoQueue、优先级队列PriorityQueue 队列:队列是先进先出。 栈:栈是先进后出。 优先级队列:优先队列是根据优先级判定谁先出来,如果优先级一样,则按数据的ascii码输出。 import queue q = queue.PriorityQueue() q.put ...
分类:
其他好文 时间:
2020-02-02 23:26:30
阅读次数:
95
头文件是<queue> 操作很简单 #include <iostream> #include <cstdio> #include <queue> using namespace std; int main() { // 默认定义最大值优先级队列 priority_queue<int> p1; p1. ...
分类:
其他好文 时间:
2020-01-29 21:34:40
阅读次数:
72
priority_queue<int> q;//默认优先级队列的定义。 在默认的优先队列中,优先级高的先出队。在默认的int型中先出队的为较大的数。 #include <iostream> #include <vector> #include <queue> using namespace std; ...
分类:
编程语言 时间:
2020-01-17 22:40:55
阅读次数:
77
优先级队列的底层实现是堆(最大堆、最小堆) 堆的特点 1. 完全二叉树 2. 每个节点的值都必须大于等于或小于等于子树中节点的值(对应最大堆、最小堆) 3. 往堆中插入和删除一个元素的时间复杂度都是O(logn) 一、实现 最大堆和最小堆实现原理基本一样,下面实现一个最大堆 输出 二、堆排序 1.每 ...
分类:
其他好文 时间:
2020-01-07 14:44:07
阅读次数:
81
目录 什么是Redis 为什么用Redis 如何使用Redis 什么是Redis Redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色 为什么用Redis(特性) 存储结构 支持字符串、散列、列 ...
分类:
编程语言 时间:
2020-01-05 15:46:23
阅读次数:
96
头条算法一面,记录一下 实现优先级队列(小根堆) 1 class prioQueue: 2 def __init__(self, elist=[]): 3 self._elems = list(elist) 4 if elist: 5 self.buildheap() 6 def siftdown( ...
分类:
其他好文 时间:
2020-01-02 20:34:22
阅读次数:
85
课程回顾: 线程池 队列:同一进程内的队列 先进先出 后进先出 优先级队列 线程池中的回调函数是谁在调用? 线程池中的回调函数是子线程调用的,和父线程没有关系 进程池中的会点函数是父进程调用的,和子进程没有关系 今日内容: 为什么要有协程? 因为想要在单线程内实现并发的效果 因为CPthon有GIL ...
分类:
其他好文 时间:
2019-12-21 13:48:17
阅读次数:
67
合并K个排序链表 "git代码地址" 题目描述 基本思路 这道题属于双链表合并的进阶。理解这道题首先需要了解有序双链表合并的解法。 已知链表有序,使用两个指针指向两个链表,逐一比较大小移动指针。代码很简单如下所示。 方法二:优先级队列 使用大小为链表长度的优先级队列,可以将优先级队列看成大小为k的小 ...
分类:
编程语言 时间:
2019-12-18 15:05:17
阅读次数:
95