数据结构

【笔记】数据结构专题

恐怖 一大堆 Ynoi,一大堆不会的 以后再来吧 # 8.5 数据结构 ## 扫描线 ### P5490 【模板】扫描线 对坐标离散化。维护 $a,b$,$a$ 是相邻两个矩形高度差,$b_i$ 初始全零,操作是 $b[l,r]+=v$,询问 $\sum_{i} a[b_i\geq 1]$。维护 $ ......
数据结构 结构 笔记 专题 数据

数据结构(一)数据结构与算法

[TOC] # 算法 算法是一系列程序指令,用于处理特定的运算和逻辑问题。 例:1+2+3...+100 ```c int i, sum=0, n=100; for(i = 1; i + 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 > + 算 ......
数据结构 结构 数据 算法

【数据结构】散列表

这种查找结构与线性表和树形结构都不同,前两者的共同特点是关键字与记录位置之间没有确定关系,需要从一个起点不断进行比较查找位置。 ![image](https://img2023.cnblogs.com/blog/3213233/202308/3213233-20230805164330102-586 ......
数据结构 结构 数据

C/C++ 数据结构五大核心算法之贪心算法_钱币找零问题

贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 贪婪算法所得到的结果往往不是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果。 贪婪算法并没有固定的算法解决框架,算法的关键是贪婪策略的选择 ......
算法 数据结构 钱币 核心 结构

C/C++ 数据结构五大核心算法之回溯法-N皇后问题

N皇后问题:在 n * n 的棋盘上要摆 n 个皇后,要求:任何两个皇后不同行,不同列也不在同一条斜线上,求给一个整数 n ,返回 n 皇后的摆法数。 #include <iostream> #include <math.h> #define N 8 using namespace std; int ......
数据结构 皇后 算法 核心 结构

树上数据结构

# 树上问题 ## 树链剖分学习笔记 ### 重链剖分 对树进行重链优先搜索,暴力求一条路径的复杂度为logn #### 模板 ```cpp void tree_build(int u,int fa) {//重链优先搜索 siz[u]=1; f[u]=fa; hson[u]=0; for(auto ......
数据结构 结构 数据

数据结构(二)

[TOC] # 4.树 ## 4.1树和二叉树 树(tree)是n(n >=0)个节点的有限集,在任意一颗非空树中 1. 有且仅有一个特定的被称为根(root)的节点 2. 当n>1时,其余节点可以分为m个互不相交的有限集,T1,T2,T3...Tn,其中的每个集合本身也是一棵树,并且称为根的子树( ......
数据结构 结构 数据

数据结构学习3

树型结构: 1、树的基本概念: 一种表示层次关系(一对多)的数据结构 有且仅有一个特定节点,该节点没有前趋节点,称为这棵树的根节点 剩余有n个(n>=0)有限个多节点组成互不相交的子集,每个子集都可以是一棵树,都被称为根节点的子树 注意:树中有树,树型结构具有递归性 2、树的表示方式: 倒悬树、凹凸 ......
数据结构 结构 数据

数据结构

线段树 线段树可以在 O( logN ) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 注意点: 线段树的数组一般要开到4 * N; 位运算的写法为 N >> 2 对于懒标记:修改的时候不用用到下面的区间,查询的时候才会用到下面的区间 故每次插入懒标 ......
数据结构 结构 数据

数据结构杂烩

# 线段树 ### P4681 [[THUSC2015]平方运算](https://www.luogu.com.cn/problem/P4681) ##### 简要题意 给定一个序列,区间 ```.map([](int x) { x = x * x % p; });```,区间求和。 ```p``` ......
杂烩 数据结构 结构 数据

C练习题-数据结构与算法

1、将一棵二叉树的根节点放入队列,然后非递归的执行如下操作:将出队节点的所有子节点入队。以上操作可以实现哪种遍历( ) A、前序遍历 B、中序遍历 C、后续遍历 D、层序编历 答案:D; 二叉树的遍历: ①前序遍历:根、左、右 ②中序遍历:左、跟、右 ③后序遍历:左、右、跟 ④层序遍历:从上到下,从 ......
数据结构 练习题 算法 结构 数据

数据结构学习2

功能受限的表结构 1、队列: 只有两个口进出数据,一个专门进入数据,另一个专门出数据,先进先出,FIFO表。 顺序队列: 存储元素的连续内存的首地址 容量 队头位置(出队) 队尾位置(入队) [元素数量](可有可无) 运算:创建、销毁、清空、出队、入队、队空、队满、队头、队尾、元素数量 需要注意的问 ......
数据结构 结构 数据

接口相似数据结构复用率高?Apipost这招搞定!

在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。 为了解决这个问题,Apipost推出了数据模型板块。用户可以预先创建多个数据模型,并在API设计过程 ......
数据结构 接口 Apipost 结构 数据

数据结构三

# 复健$Day5$ ## 数据结构三 ## $4.$线段树和树状数组 ### 线段树模板(维护和) 包含区间修改,区间查询 ``` #include #include #include #include #define maxn 10010 using namespace std; int a[m ......
数据结构 结构 数据

数据结构一

# 复健$Day5$ # 数据结构一 ## $1.$单调栈和单调队列 ### $(1).$海报$PLA-Postering$ https://www.luogu.com.cn/problem/P3467 首先很明显宽度是无用的因素,直接忽略掉即可。 对于海报覆盖,我们发现只有出现这样一种情况我们的覆 ......
数据结构 结构 数据

数据结构二

# 复健$Day5$ ## 数据结构二 ## $3.$并查集 ### $(1)$​亲戚 https://www.luogu.com.cn/problem/P1551 并查集模板 ``` #include #include #include #define maxn 5010 using namesp ......
数据结构 结构 数据

BTC中的数据结构

# BTC中的数据结构 ## 普通指针 普通指针存储的是某个结构体在内存中的地址(假如P是指向一结构体的指针,那么P里面存放的就是该结构体在内存中的起始位置) ![image-20230802164519058](https://bucket01127.oss-cn-nanjing.aliyuncs ......
数据结构 结构 数据 BTC

C/C++ 数据结构五大核心算法之动态规划算法-给你一根长度为 n 的金条,请把金条剪成 m 段 (m 和 n 都是整数,n>1 并且 m>1)每断金条的长度记为 k[0],k[1],…,k[m].请问 k[0] k[1]…*k[m]可能的最大乘积是多少?

动态规划也是一种分治思想,但与分治算法不同的是,分治算法是把原问题分解为若干子问题,自顶向下,求解各子问题,合并子问题的解从而得到原问题的解。动态规划也是自顶向下把原问题分解为若干子问题,不同的是,然后自底向上,先求解最小的子问题,把结果存储在表格中,在求解大的子问题时,直接从表格中查询小的子问题的 ......
金条 算法 长度 乘积 数据结构

数据结构学习

一、什么是数据结构 1、数据结构的起源 1968年,美国高德纳教授,《计算机程序技术艺术》第一卷《基本算法》提出,开创了数据结构和算法的先河。 数据结构是一门研究数据之间关系、操作的学科,而非计算数据方法 数据结构+算法=程序 揭露了程序的本质,沃思凭借这个观点获得图灵奖 2、数据结构中的基本概念 ......
数据结构 结构 数据

《代码整洁之道》第 6 章 对象和数据结构

# 第 6 章 对象和数据结构 ## 6.1 数据抽象 隐藏实现并非只是在变量之间放上一个函数层那么简单。隐藏实现关乎抽象!类并不简单地用取值器和赋值器将其变量推向外间,而是**曝露抽象接口**,以便用户无需了解数据的实现就能操作数据本体。 看看代码清单 6-3 和代码清单 6-4。前者使用具象手段 ......
数据结构 对象 结构 代码 数据

C/C++ 数据结构五大核心算法之分治法

分治法——见名思义,即分而治之,从而得到我们想要的最终结果。分治法的思想是将一个规模为 N 的问题分解为 k 个较小的子问题,这些子问题遵循的处理方式就是互相独立且与原问题相同。 两部分组成: 分(divide):递归解决较小的问题 治(conquer):然后从子问题的解构建原问题的解 三个步骤: ......
数据结构 算法 核心 结构 数据

数据结构--排序

#### 什么是排序? **排序:将无序序列排成一个有序序列的运算.** ![image-20230802095848034](https://harper886.oss-cn-qingdao.aliyuncs.com/img/202308020958212.png) **排序的应用非常广泛.** ......
数据结构 结构 数据

freemeker 遍历map嵌套list数据结构

# 遍历嵌套数据结构 渲染map 中value是list的内容 ``` 0) > 【节点明细】${alarmLevel + ":"}${node.nodeNo}, ``` # 说明 1. 判断nodes是否为null,并判断nodes是否为空map 表达式中调用变量的判断逻辑不能用$符号,必须用() ......
数据结构 freemeker 结构 数据 list

数据结构(一)

# 并查集 * 原始版 ## 第一步先初始化 ``` int f[N]; inline void init(int n) { for(int i=1;i<=n;i++) fa[i]=i; } ``` 假如有编号1,2,3,...,n,n个元素,我们用一个数组fa[]来储存每个元素的父节点(因为每个元 ......
数据结构 结构 数据

数据结构(算法)

算法: 数据结构中的算法,指的是数据结构所具备的功能 解决特定问题的方法,学习的是前辈的优秀的经验总结 五个特征: 1、有穷性 2、确定性 3、可行性(有结果) 4、输入(0个或者多个) 5、输出(1个以上) 如何评价一个算法: 时间复杂度: 由于计算机的性能不同,无法准确地确定一个算法的执行时间 ......
数据结构 算法 结构 数据

数据库经典数据结构

背景 一般说MySQL的索引,都清楚其索引主要以B+树为主,此外还有Hash、RTree、FullText。本文简要说明一下MySQL的B+Tree索引,以及和其相关的二叉树、平衡二叉树、B-Tree,相关的知识网上很多,为了方便自己更快、清楚的了解,文本聚合一些内容以及个人的一些理解。 说明 二叉 ......
数据 数据结构 结构 数据库 经典

【数据结构】vector用法

# 1.初始化: ```c++ vector标识符 vector标识符(最大容量) vector标识符(最大容量,初始所有值) int i[5]={1,2,3,4,5} vectorvi(i,i+2);//得到i索引值为3以后的值 vector>v; 二维向量//这里最外的要有空格。否则在比较旧的编 ......
数据结构 结构 数据 vector

数据结构与算法(三):单向链表

# 链表定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑是通过链表种的指针链接次序实现的。链表由一系列节点组成,每个节点包括两部分:一个是存储数据元素的数据域,一个是存储下一个节点地址的指针域。单向链表从头节点(也可以没有头节点)开始,指针指向下一个节点的位置,只能由上一个节点 ......
数据结构 单向 算法 结构 数据

线性数据结构和 STL

## `vector` 容器 `(container)` ### 定义及头文件引入 - 定义:一个可变长数组 - 头文件:`#include ` ### 常用变量定义及函数解析 - `end()`:尾后迭代器。 - `push_back(x)`:在末端插入元素 `x`(自动扩容)。 - 构造函数 - ......
数据结构 线性 结构 数据 STL