-
【数据结构】莫队(二)
所属栏目:[安全] 日期:2021-04-01 热度:146
今天的内容是带修莫队。 例题:P1903 [国家集训队]数颜色 / 维护队列 题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令: 1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同[详细]
-
【数据结构】二叉树的创建与遍历
所属栏目:[安全] 日期:2021-04-01 热度:185
#include stdio.h#include string.h#include stdlib.h#include math.h#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status;typedef char TElemType; /* 假定二叉树的元素都是字符类[详细]
-
【数据结构】线段树(Segment Tree)
所属栏目:[安全] 日期:2021-04-01 热度:142
副标题#e# ? 假设我们现在拿到了一个非常大的数组,对于这个数组里面的数字要反复不断地做两个操作。 1、(query)随机在这个数组中选一个区间,求出这个区间所有数的和。 2、(update)不断地随机修改这个数组中的某一个值。 时间复杂度: 枚举: 枚举L~R[详细]
-
『数据结构』线段树
所属栏目:[安全] 日期:2021-03-31 热度:110
线段树原理 线段树,类似区间树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为(O(logn))。 线段树的每个节点表示一个区间,子节点则分别表示父节点的[详细]
-
【数据结构】【CF1073D】 Berland Fair
所属栏目:[安全] 日期:2021-03-31 热度:191
副标题#e# Description 给定 (n) 个商店,他们围成一个圆圈,按照顺时针从 (1) 到 (n) 编号。你有 (T) 元钱,从 (1) 号点开始按照顺时针方向走,每到一个商店,只要钱够就必须买这个商店的物品。商店中物品是无限的,即多次到达可能多次购买。求[详细]
-
【数据结构】 最小生成树(四)——利用kruskal算法搞定例题×3+
所属栏目:[安全] 日期:2021-03-31 热度:161
副标题#e# 在这一专辑(最小生成树)中的上一期讲到了prim算法,但是prim算法比较难懂,为了避免看不懂,就先用kruskal算法写题吧,下面将会将三道例题,加一道变形,以及一道大水题,水到不用高级数据结构,建树,画图,最短路径什么的,统统不需要。废话[详细]
-
《数据结构》中的英语名词
所属栏目:[安全] 日期:2021-03-31 热度:150
data 数据data element 数据元素data item 数据项data object 数据对象data structure 数据结构ADT (Abstruct Date Type) 抽象数据类型alogrithm 算法correctness 正确性readability 可读性robustness 健壮性frequency count 频度asymptotic time complexi[详细]
-
【数据结构】二、线性表
所属栏目:[安全] 日期:2021-03-31 热度:115
2.1. 定义与特点 定义 ? 具有相同数据类型的 (n(ngeq0)) 个数据元素的有限序列。(n) 是表长,当 (n=0) 时该线性表是一个空表。若用 (L) 表示线性表,一般表示为: [ L=(a_1,a_2,...,a_i,a_{i+1},a_n) ] 特点 元素个数有限 元素具有逻辑上的顺序[详细]
-
【数据结构】第二章小结
所属栏目:[安全] 日期:2021-03-31 热度:67
副标题#e# ps:第一次用博客园写,记录第一次 一、数据结构第二章主要为:顺序表和链表的构造及其增删查改的一些基本操作,以及粗略计算它们的时间or空间的复杂度。 ? ? ? 1、顺序表: ? ? ? ? ? ? ? ? ? ? ? ? ?(1)? 特点:逻辑结构上相邻,物理存储上也[详细]
-
【数据结构】 单向链表
所属栏目:[安全] 日期:2021-03-31 热度:59
【1】错误:H-next =NULL 或其他“让指针指向空”的语句运行报错:“ ‘NULL‘ : undeclared identifier”? 、 “ ‘=‘ : cannot convert from ‘int‘ to ‘struct node *‘? ” 原因:未引入头文件 #include “stdio.h”?,把NULL定义为一个空地址是在 s[详细]
-
[JZOJ6089]【CodeChef 2014 April Challenge】Final Battle of C
所属栏目:[安全] 日期:2021-03-31 热度:102
Description (n,q,Vleq 100000,w_ileq 10^9) Solution 又是一道大数据结构 由于有一个下取整,这就导致了不同时间的修改值是不能简单的直接加在一起的。 容易发现,1操作的影响只会影响到距离不超过log的点。 这样我们很容易得到一个(qlog nlog ^2V[详细]
-
【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
所属栏目:[安全] 日期:2021-03-31 热度:171
副标题#e# SortSet 有序的Set,其实在Java中TreeSet是SortSet的唯一实现类,内部通过TreeMap实现的;而TreeMap是通过红黑树实现的;而在Redis中是通过跳表实现的; SkipList 跳表,思想类似平衡二叉树,但又不一样;下面摘了一个介绍: skiplist数据结构简[详细]
-
《数据结构》实验二: 线性表实验
所属栏目:[安全] 日期:2021-03-31 热度:71
《数据结构》实验二:?????线性表实验 一..实验目的 ?????巩固线性表的数据结构,学会线性表的应用。 1.回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2.学习运用线性表的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程[详细]
-
【数据结构】红黑树
所属栏目:[安全] 日期:2021-03-31 热度:156
副标题#e# ? ? ? ? ?红黑树是一种二叉平衡树,在每一个结点增加了一个存储位表示结点的颜色,以维持它的平衡; 红黑树性质 (1)红黑树结点有如下域:color,key,left,right,p;我们把这些NIL结点是为指向外结点的指针,可以自己定义; (2)每一个结点[详细]
-
《数据结构》实验四: 字符串和多维数组 实验
所属栏目:[安全] 日期:2021-03-30 热度:139
《数据结构》实验四:????字符串和多维数组?实验 一..实验目的 ?????巩固字符串和多维数组相关知识,学会运用灵活应用。 1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2.学习运用字符串和和数组的知识来解决实[详细]
-
《数据结构》实验一: VC编程工具的灵活使用
所属栏目:[安全] 日期:2021-03-30 热度:62
副标题#e# 《数据结构》实验一:VC编程工具的灵活使用 一、实验目的 ???? 复习巩固VC编程环境的使用,以及C++模板设计。 1、回顾并掌握VC单文件结构程序设计过程。 2、回顾并掌握VC多文件工程设计过程 3、掌握VC程序调试过程。 4、回顾C++模板和模板的程序[详细]
-
【数据结构】 第一章 绪论
所属栏目:[安全] 日期:2021-03-30 热度:149
§1.1 什么是数据结构 数据结构是介于数学 计算机软件和计算机硬件三者之间的一门核心课程。 §1.2 基本概念和术语 数据结构通常有下列4种基本结构 ①集合 ②线性结构 ③树形结构 ④图状结构(网状结构) 数据结构是一个二元组: Data Structure = (D,S) D[详细]
-
【数据结构】第二章 线性表
所属栏目:[安全] 日期:2021-03-30 热度:136
§2.1线性表的定义 §2.2线性表的顺序表示和实现 优点: 随机 存储 §2.3线性表的链式表示和实现 ?链式表示优点:灵活 ? ? 缺点:不随机存储 ?2.3.1线性链表:储存单元可以是连续的 也可以是不连续的。 ?对于数据元素ai来说,除了存储其本身的信息之外,还[详细]
-
【数据结构】顺序栈
所属栏目:[安全] 日期:2021-03-30 热度:90
#include STDIO.H#include STRING.H#include STDLIB.Htypedef struct SeqStack{int length;int top;char *data;}seqstack;seqstack* CreatStack(seqstack *s,int n){s=(seqstack *)malloc(sizeof(seqstack)+n*sizeof(char));if(s==NULL) return NULL;memse[详细]
-
【数据结构】单链表
所属栏目:[安全] 日期:2021-03-30 热度:86
#include stdio.h#include stdlib.h#include STRING.Htypedef struct LinkNode{int date; //数据域struct LinkNode * next;}linkNode;typedef struct Linklist{int length; linkNode *head;}linklist;linklist *Creatlist(){linklist *list;list=(linklist[详细]
-
【数据结构】图的遍历方法 深度优先遍历和广度优先遍历
所属栏目:[安全] 日期:2021-03-30 热度:51
接着上次的文章“图的构建(邻接链表法)”,邻接链表法构建图相对来说比较简单,并且遍历起来也相对简单,但是要是动态添加图的节点和图的边,则是实在不方便,不过现在不管那么多,今天的主题是遍历。? -?有另外一种图的构建方法,叫做十字链表法,插入[详细]
-
算法图解之快速排序
所属栏目:[安全] 日期:2021-03-19 热度:53
副标题#e# 分而治之(又称DC) 书中举了一个例子,假设你是农场主,有一块土地,如图所示: ? 你要将这块地均匀分成方块,且分出的方块要尽可能大。 ? ? 从图上看,显然是不符合预期结果的。 那么如何将一块地均匀分成方块,并确保分出的方块是最大的呢?使用D[详细]
-
lt;数据结构与算法分析gt;读书笔记--利用Java5泛型实现泛型构
所属栏目:[安全] 日期:2021-03-19 热度:119
副标题#e# ? 一、简单的泛型类和接口 当指定一个泛型类时,类的声明则包括一个或多个类型参数,这些参数被放入在类名后面的一对尖括号内。 示例一: package cn.generic.example;public class GenericMemoryCell AnyType{ public AnyType read() { return st[详细]
-
lt;数据结构与算法分析gt;读书笔记--函数对象
所属栏目:[安全] 日期:2021-03-19 热度:119
关于函数对象,百度百科对它是这样定义的: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。又称仿函数。 ? 听起来确实很难懂,通过搜索我找到一篇博客,作者对其是这样的描述: 如果把对象理解成指针的话[详细]
-
lt;数据结构与算法分析gt;读书笔记--运行时间计算
所属栏目:[安全] 日期:2021-03-19 热度:78
有几种方法估计一个程序的运行时间。前面的表是凭经验得到的(可以参考:数据结构与算法分析读书笔记--要分析的问题) 如果认为两个程序花费大致相同的时间,要确定哪个程序更快的最好方法很可能将它们编码并运行。 一般地,存在几种算法思想,而我们总愿意尽[详细]

浙公网安备 33038102330478号