在网上下载了一个用Java实现的数据结构的视频, 看了前三个视频, 感觉收获很大, 今天花了接近三小时在Java的数据结构上. 课程的目录如下: 第01讲:数组第02讲:简单排序第03讲:栈和队列第04讲:链表第05讲:双端链表和双向链表第06讲:递归的应用第07讲:递归的高级应用第08讲:希尔排序 ...
分类:
编程语言 时间:
2018-11-15 00:11:39
阅读次数:
120
一、题目 1、审题 2、分析 给出一个整形数组,一个窗口大小 k,此窗口每次包含 k 个连续元素,依次向后移动,将每次窗口中的最大元素进行记录。 二、解答 1、思路 方法一、 采用双端队列 Deque 存储每次窗口中最大元素的下标 i,且队列中存储的下标是依次增大的。 ①、循环判断队列中元素值 < ...
用双端队列,当待加入元素小于队首元素时 加入队首, 否则 加入队尾 ...
分类:
其他好文 时间:
2018-11-10 20:05:56
阅读次数:
178
题目描述: 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。 示例: 说明: 你只能使用标准的栈操作 -- 也就是只有 push to top, p ...
分类:
编程语言 时间:
2018-11-07 20:09:18
阅读次数:
163
deque $deque$头文件主要包括一个双端队列容器。是一个支持在两端插入两端删除的线性储存空间,与 "vector" 和 "queue" 相似。与$vector$比起来,$deque$可以在$O(1)$的时间内在首端插入元素。与$queue$比起来,$deque$又能像数组一样随机访问。 声明 ...
分类:
其他好文 时间:
2018-11-02 10:17:46
阅读次数:
123
java.util.concurrent(J.U.C)大大提高了并发性能,AQS 被认为是 J.U.C 的核心。 CountdownLatch 用来控制一个线程等待多个线程。 维护了一个计数器 cnt,每次调用 countDown() 方法会让计数器的值减 1,减到 0 的时候,那些因为调用 awa ...
分类:
其他好文 时间:
2018-10-31 12:33:41
阅读次数:
118
SPFA又是一个好东西,看代码吧qwq 可以用双端队列deque奥,不用了,懒得改了呢,qwq ...
分类:
其他好文 时间:
2018-10-31 01:14:14
阅读次数:
117
#include <algorithm> //STL 通用算法#include <bitset> //STL 位集容器#include <cctype>#include <cerrno>#include <clocale>#include <cmath>#include <complex> //复数 ...
分类:
其他好文 时间:
2018-10-27 13:24:23
阅读次数:
172
一、概念 能够存放一个或一组对象的容器,就叫做集合,他是一套功能完善的数据结构。(也叫做容器 也叫做集合框架) 二、集合一览表 三、Collection家族 ArrayList 在java中,数组的长度是固定的,数组在创建之后,就不能增长或减小,ArrayList就是用来解决这个问题的,ArrayL ...
分类:
编程语言 时间:
2018-10-26 22:07:28
阅读次数:
183
前面几篇文章,我们一起学习了redis用到的所有主要数据结构,比如简单动态字符串(sds)、双端链表、字典、压缩列表、整数集合等等。 redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五 ...
分类:
其他好文 时间:
2018-10-15 14:29:49
阅读次数:
200