数据结构
Freeman Z
都柏林理工大学博士录取
巴黎高等电子学院工程师录取
李莫瑞克大学硕士在读(主持爱尔兰软件研究中心)
重庆2022优秀毕业生
展开
-
[AcWing]835. Trie字符串统计
算法标签 Trie,字典树题目简叙思路多叉树存储字符串利用公共前缀提高效率如图,参照代码看:思路不知道怎么写,都贴代码上了代码#include<iostream>#include<string>using namespace std;const int N = 2*1e4+10;int tree[N][26];//多叉树,N表示总数,26表示子节点共有26个字母多个,值存储idx int cnt[N];//记录对应字符的出现的次数int idx;/原创 2020-07-26 20:57:00 · 230 阅读 · 0 评论 -
[AcWing]830. 单调栈
算法标签:单调栈题目简叙思路单调栈的概念是栈内所有数据都是单调递增或者递减这里我们只需要构造一个单调递增的栈,然后反复查看栈顶,此时的栈顶元素必然为栈内最大元素,如果栈顶比目标值大,就弹出该元素,直至栈顶元素比目标值小这样我们栈内的元素必然是单调递增的这样我们就可以获得左边第一个比它小的数代码#include<iostream>using namespace std;const int N = 1e5+10;int stk[N],tt;int main(){原创 2020-07-23 21:45:00 · 219 阅读 · 0 评论 -
[AcWing] 829. 模拟队列
算法标签 队列题目简叙思路后进先出的原则我们用 st,ed两个变量表示队列的对头和队尾push queue[++ed]=tmpn;插入时,队尾开始移动并添加数据pop start++;弹出队头数据时,我们用指针略过当前数据表示弹出于是队头++,这样我们就不会扫描到队头元素,相当于弹出empty cout<<queue[start]<<endl;直接查询队头元素query cout<<(start>ed?"YES":"NO")&原创 2020-07-23 21:00:11 · 194 阅读 · 0 评论 -
[Acwing]828. 模拟栈
算法标签 栈题目简叙思路push stk[++tt]=tmpN; pop tt--;query cout<<stk[tt]<<endl;empty if(tt>0)cout<<"NO"; else cout<<"YES";代码数组模拟#include<iostream>#include<string.h>using namespace std;const int N = 100000+原创 2020-07-23 20:21:35 · 178 阅读 · 0 评论 -
[计蒜客][队列]报数
题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)算法标签 队列,循环队列题目描述思路1.显然我们要弹出m时的队列元素,直到只剩下一个元素位置2.但是因为队列的性质,队伍中的元素显然无法直接被弹出3.因为我们要构成成为一个简单的队列,计数没有到M的时候就从队头弹出放到队尾4.而到M的时候就直接弹出,重新开始计数5.输出队尾对头元素即可AC代码#include<iostre...原创 2020-05-02 01:28:40 · 473 阅读 · 0 评论 -
[数据结构]简单数据结构总结及链接{栈|队列|树|链表}
A.编写部分*写完了 栈 链 队 二叉树 标记为重点的部分12.1顺序表单链表双向链表12.3循环链表双向循环链表一元多项式表示与相加有序表的合并O12.4QueueStack12.5TreeStack有序表的合并*B.相关链接注:均经过gcc编译。栈进制转换括号匹配数组模拟栈及其基本操作链表模拟栈及其基本操作N表达式求值...原创 2020-03-09 22:20:57 · 246 阅读 · 0 评论 -
[数据结构][树]链表模拟二叉树及其基本操作
#include<iostream>#include<cstdio>using namespace std;typedef int Status;typedef char Elem;typedef struct BiTNode //猜猜问什么叫BiTNode 我猜是因为全称是 Binary Tree Node 二叉树结点的意思{ /* data */ E...原创 2020-03-08 22:03:31 · 269 阅读 · 0 评论 -
[数据结构][栈]栈基本操作总结与相关链接
A.注释1. 熟练掌握栈的定义、特性和栈的抽象数据类型,2.定义是 限定 仅在队尾 进行插入或删除操作的 先行比爱3.特性3.1表尾端 栈顶 top3.2后进先出 原则抽象数据类型P574.栈与递归的关系4.1.1递归4.1.1.1定义是递归的解释:存在一个函数 过程 数据结构 定义的内部 直接或者间接 出现定义本身的应用, 则称为递归的适用于:阶乘 分治法 等4.1....原创 2020-03-08 22:01:49 · 258 阅读 · 0 评论 -
[数据结构][栈]进制转换
#include <iostream>#include <cstdio>using namespace std;#define MAXSIZE 100typedef int Status;typedef int Elem;typedef struct sqStack{ int len; Elem *base; Elem *top;}sqStack...原创 2020-03-08 21:38:13 · 537 阅读 · 0 评论 -
[数据结构]括号匹配
#include <iostream>#include <cstdio>using namespace std;#define MAXSIZE 100typedef int Status;typedef char Elem;typedef struct sqStack{ int len; Elem *base; Elem *top;}sqStac...原创 2020-03-08 21:37:25 · 178 阅读 · 0 评论 -
[数据结构][栈]N表达式求值
//书上缺失的太多 这个非常贴近 但是感觉很复杂?//转载于 https://blog.csdn.net/libingbojava/article/details/81035975#include<iostream>#include<stdlib.h>#define STACK_INIT_SIZE 100 //存储空间初始分配量 #define STACKIN...原创 2020-03-08 21:36:29 · 183 阅读 · 0 评论 -
[数据结构][栈]数组模拟栈及其基本操作
#include <iostream>#include <cstdio>using namespace std;#define MAXSIZE 100typedef int Status;typedef int Elem;typedef struct sqStack{ int len; Elem *base; Elem *top;}sqStack...原创 2020-03-08 21:32:45 · 165 阅读 · 0 评论 -
[数据结构][栈]链表模拟栈及其基本操作
#include <iostream>#include <cstdio>using namespace std;typedef int Status;typedef int Elem;typedef struct StackNode{ /* data */ Elem data; struct StackNode *next;}StackNode, *...原创 2020-03-08 21:32:04 · 166 阅读 · 0 评论 -
[数据结构]队列基本操作总结及其链接
A.注释熟练掌握队列的定义、特性和队列的抽象数据类型,队列的顺序表示、链接表示以及相应操作的实现。特别是循环队列中队头与队尾指针的变化情况,队空和队满的条件。1.定义与栈类似,但是,删除是在表的头部进行的2.抽象数据类型P693.队空和队满的条件if ((Q.rear + 1) % MAXSIZE == Q.front)B.模拟队列的相关链接链表模拟队列相关操作C.编写日志这...原创 2020-03-08 21:31:01 · 331 阅读 · 0 评论 -
[数据结构]数组模拟队列操作
#include<iostream>#include<cstdio>using namespace std;#define MAXSIZE 100typedef int Status;typedef int Elem;typedef struct SqQueue{ /* data */ Elem *base; int front; int rea...原创 2020-03-08 21:26:42 · 328 阅读 · 0 评论 -
[数据结构][队列]链表模拟队列操作
#include<iostream>#include<cstdio>using namespace std;#define MAXSIZE 100typedef int Status;typedef int Elem;typedef struct QNode{ /* data */ Elem data; struct QNode *next;}...原创 2020-03-08 21:25:57 · 263 阅读 · 0 评论 -
[数据结构][链表]链表相关操作的总结与所有连接
A.注释理解线性表的基本概念(逻辑特性、术语及物理存储)1.基本概念n (n>=0)个数据特性相同的元素构成的有限序列称为 线性表2.逻辑特性存在 唯一的一个 被称作 “第一个” 的 数据元素存在 唯一的一个 被称作 “最后一个” 的 数据元素除第一个之外,结构中 每个元素 只有一个前驱除最后一个之外,结构中 每个元素 只有一个后驱3.术语4.物理存储一片连续的 存储地...原创 2020-03-08 21:23:11 · 335 阅读 · 0 评论 -
[数据结构]有序表的合并
/* * @Author: * @Date: 2019-12-03 20:18:46 * @Last Modified by: * @Last Modified time: 2019-12-03 20:44:28 */#include <iostream>#include <cstdio>using namespace std;#define MA...原创 2020-03-08 21:11:54 · 973 阅读 · 0 评论 -
[数据结构]一元多项式的表示与相加
/* * @Author: * @Date: 2019-12-03 20:48:51 * @Last Modified by: * @Last Modified time: 2019-12-03 21:05:06 */#include <iostream>#include <cstdio>using namespace std;typedef ...原创 2020-03-08 21:11:18 · 337 阅读 · 0 评论 -
[数据结构]循环链表及其基本操作
/* * @Author: * @data: 2019-12-03 19:47:29 * @Last Modified by: * @Last Modified time: 2019-12-03 20:00:06 */#include <iostream>#include <cstdio>using namespace std;typedef ...原创 2020-03-08 21:10:09 · 520 阅读 · 1 评论 -
[数据结构]循环表及其基本操作
/* * @Author: * @data: 2019-12-02 13:46:20 * @Last Modified by: * @Last Modified time: 2019-12-03 20:18:30 */#include <iostream>#include <cstdio>using namespace std;#define MAX...原创 2020-03-08 21:09:02 · 381 阅读 · 0 评论 -
[数据结构]双向循环链表及其基本操作
#include <iostream>#include <cstdio>using namespace std;typedef int Elem;typedef int Status;typedef struct DulList{ /* data */ Elem data; struct DulList *prior; struct DulList...原创 2020-03-08 21:08:21 · 395 阅读 · 0 评论 -
[数据结构]双向链表及其基本操作
#include <iostream>#include <cstdio>using namespace std;typedef int Elem;typedef int Status;typedef struct DulList //我猜是 doubole list...{ /* data */ Elem data; struct DulList *...原创 2020-03-08 21:07:39 · 317 阅读 · 0 评论 -
[数据结构]单链表及其基本操作
/* * @Author: * @data: 2019-12-02 14:49:03 * @Last Modified by: * @Last Modified time: 2019-12-02 15:54:49 */#include <iostream>#include <cstdio>using namespace std;typedef i...原创 2020-03-08 21:07:03 · 278 阅读 · 0 评论 -
[链表]用静态数组模拟单链表
来源: 模板题算法标签 链表题目描述实现一个单链表,链表初始为空,支持三种操作:(1) 向链表头插入一个数;(2) 删除第k个插入的数后面的数;(3) 在第k个插入的数后插入一个数现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入的...原创 2020-03-06 17:34:14 · 318 阅读 · 0 评论 -
C 二叉树模板及笔记
文章目录链表二叉树链表二叉树#include<iostream>#include<cstdio>using namespace std;typedef int Status;typedef char Elem;typedef struct BiTNode //猜猜问什么叫BiTNode 我猜是因为全称是 Binary Tree Node 二叉树结点的意思...原创 2019-12-06 14:19:21 · 324 阅读 · 0 评论 -
C 队列模板及模板
文章目录顺序队列链表队列顺序队列#include<iostream>#include<cstdio>using namespace std;#define MAXSIZE 100typedef int Status;typedef int Elem;typedef struct SqQueue{ /* data */ Elem *base; i...原创 2019-12-06 14:18:20 · 257 阅读 · 0 评论 -
C 栈模板及笔记
文章目录顺序栈链表栈进制转换括号匹配顺序栈#include <iostream>#include <cstdio>using namespace std;#define MAXSIZE 100typedef int Status;typedef int Elem;typedef struct sqStack{ int len; Elem *bas...原创 2019-12-06 14:16:33 · 314 阅读 · 0 评论 -
C 链表模板及笔记
文章目录单链表双向链表双向循环链表顺序表循环链表一元多项式的表示与相加有序表的合并单链表/* * @Author: * @data: 2019-12-02 14:49:03 * @Last Modified by: * @Last Modified time: 2019-12-02 15:54:49 */#include <iostream>#include &...原创 2019-12-06 14:14:44 · 223 阅读 · 0 评论