【数据结构】
文章平均质量分 53
也可视作个人学习C++算法的学习笔记
WA的一声哭了出来
这个人很懒,但也写了一点东西。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于链表的一些面试题型(双指针)
文章目录1、链表中环的入口结点2、判断链表中是否有环3、合并两个排序的链表4、两个链表的第一个公共结点1、链表中环的入口结点初始化:快指针fast指向头结点, 慢指针slow指向头结点让fast一次走两步, slow一次走一步,第一次相遇在C处,停止然后让fast指向头结点,slow原地不动,让后fast,slow每次走一步,当再次相遇,就是入口结点。/*struct ListNode { int val; struct ListNode *next; List原创 2022-03-03 10:49:53 · 267 阅读 · 0 评论 -
单调栈、单调对列
1.单调栈的应用模板#include <bits/stdc++.h>using namespace std;const int N = 1e5+10;int stk[N],tt;int main(){ int n; cin>>n; while(n--) { int x; cin>>x; while(tt && stk[tt]>=x)原创 2020-11-16 22:44:38 · 164 阅读 · 0 评论 -
静态链表(数组模拟链表)
1、单链表#include <iostream>using namespace std;const int N = 100010;// head 表示头结点的下标// e[i] 表示节点i的值// ne[i] 表示节点i的next指针是多少// idx 存储当前已经用到了哪个点int head, e[N], ne[N], idx;// 初始化void init(){ head = -1; idx = 0;}// 将x插到头结点void ad原创 2020-11-14 13:33:08 · 227 阅读 · 0 评论 -
树及其基础操作
1、先序遍历序列创建二叉树#include <bits/stdc++.h>using namespace std;typedef struct node//二叉树的结构{ char data; struct node *lchild,*rchild;}Node, *Tree;Tree stk[100];void PreCreateTree(Tree &t)//先序遍历序列创建二叉树{ char ch; cin>>ch;原创 2020-11-14 11:49:26 · 153 阅读 · 0 评论 -
2020.7.14大一练习:并查集基础
文章目录@[toc][A: AcWing 837. 连通块中点的数量](https://www.acwing.com/problem/content/839/)[B: 洛谷 P2024 [NOI2001]食物链](https://www.luogu.com.cn/problem/P2024)C:畅通工程并查集版A: AcWing 837. 连通块中点的数量#include <bits/stdc++.h>using namespace std;const int N = 100010;原创 2020-09-06 09:53:20 · 128 阅读 · 0 评论 -
2020.7.14大一练习:Trie树
1、Trie树作用:高效地处理字符串的存储与查找2、模板:int son[N][26], cnt[N], idx;// 0号点既是根节点,又是空节点// son[][]存储树中每个节点的子节点// cnt[]存储以每个节点结尾的单词数量// 插入一个字符串void insert(char *str){ int p = 0; for (int i = 0; str[i]; i ++ ) { int u = str[i] - 'a'; i原创 2020-07-14 13:55:34 · 178 阅读 · 0 评论 -
2020.4.5大一练习:链表
洛谷:P1160 队列安排#include <bits/stdc++.h>using namespace std;struct node{ int num; struct node *leftp = NULL; struct node *rightp = NULL;} student[100005];int main(){ int n; ...原创 2020-04-05 19:50:23 · 187 阅读 · 0 评论
分享