ArrayList简介: ArrayList是基于Array数组(数组是一段连续的内存空间)的封装,所以是一种线性数据结构,相当于能够动态改变大小的数组。 1、添加元素时会检查是否数组的容量是否足够,如果不够的话会新创建一个数组,新数组的大小为原数组大小的(1.5倍+1)。 2、删除元素时会使用将删 ...
分类:
其他好文 时间:
2018-04-15 11:53:32
阅读次数:
147
队列是一种基本的线性数据结构。它满足先进先出(First In ,First Out)的原则。 我们可以应用这种数据结构实现很多复杂的问题。但每次要手写队列的相关函数并不省事,我们便可以应用STL中的queue库来使用队列。 1调用头文件 #include<queue> 2.定义队列 queue<i ...
分类:
其他好文 时间:
2018-02-13 19:29:55
阅读次数:
118
标准模板库STL初学 线性数据结构 vector 一维向量,相当于数组 list 链表 map 映射,提供(Key,Value)式操作,相当于哈希表 string char字符串 queue 队列,先入先出的线性表 stack 栈,先入后出的线性表 set 集合 deque 双向链表 一、vecto ...
分类:
其他好文 时间:
2018-01-24 00:50:21
阅读次数:
212
队列 / Queue 数组队列 数组队列是队列基于数组的一种实现,其实现类似于数组栈,是一种FIFO的线性数据结构。 下面将使用Python中的list来替代C语言中的数组实现数组队列的数据结构。 Note: 这里的实现并没有像C语言中的申请一块固定大小的数组,手动的定制数组中队列的头尾位置,而是利 ...
分类:
编程语言 时间:
2018-01-15 00:31:31
阅读次数:
166
单链表 / Linked List 目录 链表是一种基本的线性数据结构,在C语言中,这种数据结构通过指针实现,由于存储空间不要求连续性,因此插入和删除操作将变得十分快速。下面将利用Python来完成单链表的实现。 1 单链表 不带表头的单链表通常形式如下, 完整代码 1 class Node: 2 ...
分类:
编程语言 时间:
2018-01-14 20:18:39
阅读次数:
292
在数据结构中,栈和队列是两种重要的线性数据结构。它们的主要不同在于:栈中存储的元素,是先进后出;队列中存储的元素是先进先出。我们接下来通过LinkedList集合来演示栈和队列的操作。 import java.util.LinkedList; /** * 用LinkedList集合演示栈和队列操作 ...
分类:
其他好文 时间:
2017-12-28 19:48:59
阅读次数:
192
这题需要维护连通性,看到有连接删除,很容易直接就想LCT了。然而这题点数20w操作10w,LCT卡常估计过不去。看到这个东西只有两行,考虑能否用魔改后的线性数据结构去维护。我想到了线段树。 考虑如果两个点相连,能有几种情况。有一种是两个点直接经过中间的路径相连,这个满足合并性,很容易维护。然后就是某 ...
分类:
其他好文 时间:
2017-12-27 21:34:03
阅读次数:
148
线性数据结构 线性表-顺序表 代码实现: #include <bits/stdc++.h> #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 #d ...
分类:
其他好文 时间:
2017-12-06 00:00:16
阅读次数:
206
上次说了,一头进一头出的就是栈,那么什么是队列(queue)呢,就是一头进另一头出。正如我们排队一样,来了人只能站在队尾,先走的人只能是队头。在队列中,总是遵循fifo,fist in first out。 队列通常分为以下几种:顺序队列和循环队列还有链队列。本文主要讲循环队列 顺序队列 这个就不再 ...
分类:
其他好文 时间:
2017-11-11 21:29:07
阅读次数:
175
树的基本概念 (1)树(Tree)的概念:树是一种递归定义的数据结构,是一种重要的非线性数据结构。树可以是一棵空树,它没有任何的结点;也可以是一棵非空树,至少含有一个结点。 (2)根(Root):有且仅有一个结点的非空树,那个结点就是根。 (3)子树(Subtree):在一棵非空树中,除根外,其余所 ...
分类:
其他好文 时间:
2017-10-10 21:49:46
阅读次数:
184