-
【数据结构】【C++STL】栈和FIFO队列
所属栏目:[安全] 日期:2020-12-15 热度:169
其实我就是水一发博客 STL中自带的栈和队列 库分别是stack和queue 支持的最主要的三个操作就是push pop 和top(front) push是在栈或者队列的顶端放入一组数据 pop在栈中是取出顶端的一组数据 而在队列中是取出最底端的元素 top是访问栈中最顶端的数据 front是[详细]
-
Codeforces 794F - Leha and security system [线段树-区间更新]
所属栏目:[安全] 日期:2020-12-15 热度:103
题目链接:http://codeforces.com/problemset/problem/794/F —————————————————————————————————————— F. Leha and security system time limit per test2 seconds memory limit per test512 megabytes inputstandard[详细]
-
【数据结构】【C++STL】动态数组 集合 映射和优先队列
所属栏目:[安全] 日期:2020-12-15 热度:103
今天全都 比较 会了 2333 vector动态数组 头文件为vector 构造方式为 vector ll(类型) vec(变量名) 主要操作代码如下: int main(){ vec .push_back( 1 ); vec .push_back( 2 ); vec .push_back( 3 ); for (register int i= 0 ;i vec .size();i++) printf ([详细]
-
【数据结构】第二章 线性表
所属栏目:[安全] 日期:2020-12-15 热度:95
1 线性表的概念 (1) 定义 零个或多个数据元素的有限序列 (2) 属性 有序性:元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。 有限性:线性表元素的个数n(n≥0)定义为线性表的长度,[详细]
-
【数据结构】第一章 绪论
所属栏目:[安全] 日期:2020-12-15 热度:161
1 基本概念和术语 (1) 数据 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型 (2) 数据元素 是组成数据的、有一定意义的[详细]
-
【数据结构】1.概论
所属栏目:[安全] 日期:2020-12-15 热度:136
【什么是数据结构】 @计算机处理问题的大概步骤是:首先将具体问题抽象成数学模型,然后设计求解算法,最后编写程序直至解决问题。 @寻求数学模型的实质是分析问题,从中提取操作的对象,并找到这些对象之间含有的关系。 @这些操作对象以及它们之间的关系集[详细]
-
【数据结构】2.线性表
所属栏目:[安全] 日期:2020-12-15 热度:188
【线性结构】 @线性表是线性结构,线性结构的特点是在数据元素的非空有限集中: ● 存在唯一一个被称为第一个的数据元素 ● 存在唯一一个被称为最后一个的数据元素 ● 除第一个元素外的任意元素都有唯一一个前驱 ● 除最后一个元素外的任一元素都有唯一一个[详细]
-
【数据结构】3.栈与队列
所属栏目:[安全] 日期:2020-12-15 热度:153
【栈】 一、定义 1. 一种限定的先进后出(LIFO)的线性表:只在栈顶插入删除操作 二、应用 1. 十进制数转为指定进制数 2. 行编辑器 3. 表达式 4. 汉诺塔 5. 迷宫路径求解:有穷法 【队列】 一、定义 1. 一种限定的先进先出(FIFO)的线性表:只在一端(队尾[详细]
-
【数据结构】4.串
所属栏目:[安全] 日期:2020-12-15 热度:196
【串的定义】 一、定义 1. 由多个字符组成的有限序列叫做串 2. 序列中字符的个数称为串的长度 3. 长度为零的串叫做空串 4. 仅由空格符组成的串叫做空格串 5. 串中任意连续序列称为该串的子串,包含子串的序列为主串。 6. 字符在串中的序号称为该字符在串中的[详细]
-
【数据结构】顺序存储——定义
所属栏目:[安全] 日期:2020-12-15 热度:118
前言 小编最近一段时间在学习数据结构中顺序存储和链式存储的代码部分,发现有很多规律,在此做一个小结。 实例 1. 线性表 const int Maxsize= 100 ; //预先定义顺序表的长度 typedef struct //定义结构 { DataType data[Maxsize]; //表示存放数据的数组 int[详细]
-
【数据结构】链式存储——定义
所属栏目:[安全] 日期:2020-12-15 热度:107
前言 接着上篇博文的介绍,本篇文章我们介绍链式存储下,数据逻辑结构的定义,本文仍然会以线性表为例。 实例 1. 线性表 typedef struct node{ DataType data; //数据域 struct node * next; //指针域 }Node,*LinkList; 2. 栈 typedef struct node{ DataType[详细]
-
【数据结构】:二叉搜索树
所属栏目:[安全] 日期:2020-12-15 热度:124
二叉搜索树,也称有序二叉树,排序二叉树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意节点的左、右子树也[详细]
-
【数据结构】Treap——方便的平衡树
所属栏目:[安全] 日期:2020-12-15 热度:57
前言 顾名思义,treap就是tree+Heap,复杂度与Splay的均摊 l o g 不同,treap是期望 l o g ,但与Splay比起来,功能都差不多,但代码的长度和调试难度都比Spaly要舒服很多, 简介 treap是一棵二叉查找树,与普通的二叉查找树不同,对于每个节点,它还记录一[详细]
-
【数据结构】线性结构——初始化
所属栏目:[安全] 日期:2020-12-15 热度:107
初始化,通过指把变量赋为初始值,把某对象设为默认状态。对线性结构的初始化,无论是顺序存储还是线性存储,都是指将线性结构的某种具体表示初始设为空(空线性表,空栈,空队列)。 链式存储 (一)单链表 LinkList InitiateLinkList(){ LinkList head; //[详细]
-
【数据结构】线性结构——判空
所属栏目:[安全] 日期:2020-12-15 热度:64
如何判断栈和队列是否为空?只需判断他们的指针位置。(…这将是数据结构总结篇幅最短的一篇博客…) 顺序存储 (一)栈 int EmptyStack(SeqStk *stk) //若栈为空,则返回值1,否则返回值0 { if (stk-top== 0 ) return 1 ; else return 0 ;} (二)队列 int[详细]
-
陈越《数据结构》第四讲 树(中)
所属栏目:[安全] 日期:2020-12-15 热度:198
4.1 二叉搜索树 4.1.1 定义与抽象数据类型的基本操作 1. 定 义 : 一棵二叉树,可以为 空 ;如果不为空,满足以下性质: 1. 非空 左子树 的所有 键值小于其根结点 的键值。 2. 非空 右子树 的所有 键值大于其根结点 的键值。 3. 左、右子树都是二叉搜索树 。[详细]
-
【数据结构】:AVL树
所属栏目:[安全] 日期:2020-12-15 热度:108
AVL树又称为高度平衡二叉树,高度越低效率越好 AVL树的性质: 1,AVL树首先是一棵二叉搜索树 2,左子树和右子树的高度差不超过1 3,左右子树都是AVL树 4,平衡因子控制平衡(右子树的高度-左子树的高度) 如下图所示: AVL树的效率: 一棵AVL树有N个节点,其高[详细]
-
【数据结构】基本术语与概念
所属栏目:[安全] 日期:2020-12-15 热度:88
数据 :对客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素 :数据的基本单位。由若干数据项组成。 数据项 :数据不可分割的最小单位。 数据对象 :性质相同的数据元素的集合。 数据结构 :相互之间存在的一种或多种特[详细]
-
【数据结构】:红黑树(RB Tree)
所属栏目:[安全] 日期:2020-12-15 热度:173
红黑树是 近似平衡 的二叉搜索树。 红黑树的性质: 1,每个节点不是红色就是黑色 2,根节点必须是黑色 3,没有连续的红节点 4,每条路径上黑色节点数目相等 红黑树保证最长路径不超过最短路径的两倍。那么,为什么满足以上这些条件就能保证呢? 最短路径一定[详细]
-
【数据结构】[NOIP2004]FBI树
所属栏目:[安全] 日期:2020-12-15 热度:51
题目 就是感觉很像线段树那样建树 然后统计01就行了 代码如下 #includeiostream #includecstdio #includecctype using namespace std ; #define in = read() typedef long long ll; typedef unsigned int ui; const ll size = 1000 + 100 ; int n; int num0,[详细]
-
【数据结构】[NOIP2013]火柴排队
所属栏目:[安全] 日期:2020-12-15 热度:169
题目 要最小化 a[i]-b[i] 也就是说 a 序列第 k 大的元素必须和序列 b 中第kk 大的元素位置必须一样 那么我们我们可以把a b离散化 问题将转化为b序列要交换几次可以令其等于a 假设我们现在有离散化后的序列 a = {4,3,1,2} b = {1,2,4} 我们令 q[a[i]]=b[i] 相[详细]
-
【数据结构】---线性表
所属栏目:[安全] 日期:2020-12-15 热度:70
线性表是数据结构中最简单、最基本和最重要的结构形式之一,前来总结一下,先上思维导图: 主要是线性表的两种存储结构,分别形成了顺序表和链表,这两种存储结构各有其优缺点,不再重复介绍,下面详细介绍少这两种存储结构下的常用操作及其算法的时间复杂度[详细]
-
陈越《数据结构》第五讲 树(下)
所属栏目:[安全] 日期:2020-12-15 热度:53
5.1 堆(heap)(解决优先队列) 5.1.1 定义 定 义 : 优先队列 (Priority Queue):特殊的“ 队列 ”,取出元素的顺序是依照元素的 优先权(关键字) 大小,而不是元素进入队列的先后顺序。 即可认为 : 每个加入 队列 的值有一定的意义(大小), 进入队列[详细]
-
【数据结构】排序算法——快速排序
所属栏目:[安全] 日期:2020-12-15 热度:103
快速排排序是效率非常高的排序算法之一。 它的基本思想是:首先选择一个基准值,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都小于基准值,另一部分所有数据都大于基准值,并且经过一趟排序,所选择基准值已经换到了在它应该在的正[详细]
-
【数据结构】链接列表 Linked list
所属栏目:[安全] 日期:2020-12-15 热度:50
链接列表(Linked list) 链接列表 是 数据元素的线性集合,但是 并不会按照 线性的顺序存取数据。相反的是,每个元素 指向 另一个元素。链接列表是一个由一组代表了线性的节点组成的的数据结构。最简单的情况下,每个节点 由 数据 和 指向另一个节点的指针[详细]