数据结构 - 基础合集
文章平均质量分 91
数据结构
繁凡さん
只想当个小透明,就图一乐^q^,希望可以做出一些微小的贡献(目前研究方向:自然语言处理、深度学习中的对抗攻击、元学习,欢迎大佬们来与我交流^0^)
展开
-
数据结构——线性表
线性表——栈,队列,链表目录一.栈1.函数实现栈2.宏定义实现栈3.STL实现栈例题1:P1241 括号序列例题2:P1449 后缀表达式二.队列实现队列例题1.约瑟夫问题三.双端队列链表一.栈栈(stack)(last in first out);后进先出1.函数实现栈#include<cstdio>using namespace std;int s[10005];i...原创 2020-01-17 14:16:39 · 7180 阅读 · 1 评论 -
0x17.基础数据结构 - 二叉堆
目录0.AcWing 145. 超市声明: 本系列博客是《算法竞赛进阶指南》+《算法竞赛入门经典》+《挑战程序设计竞赛》的学习笔记,主要是因为我三本都买了 按照《算法竞赛进阶指南》的目录顺序学习,包含书中的少部分重要知识点、例题解题报告及我个人的学习心得和对该算法的补充拓展,仅用于学习交流和复习,无任何商业用途。博客中部分内容来源于书本和网络(我尽量减少书中引用),由我个人整理总结(习题和代码可全都是我自己敲哒)部分内容由我个人编写而成,如果想要有更好的学习体验或者希望学习到更全面的知识,请于京东搜索原创 2020-05-19 18:05:10 · 511 阅读 · 0 评论 -
【牛客每日一题】tokitsukaze and Soldier 题目精讲 贪心、优先队列、堆
链接:https://ac.nowcoder.com/acm/problem/50439来源:牛客网ACM在线模板今天才发现牛客推出了一个每日一题的版块,3月25号就开始了,今天才发现,赶紧补救一下。题目描述在一个游戏中,tokitsukazetokitsukazetokitsukaze需要在n个士兵中选出一些士兵组成一个团去打副本。 第i个士兵的战力为v[i]v[i]v[i],团的战力...原创 2020-04-13 22:02:45 · 285 阅读 · 0 评论 -
SP348 EXPEDI - Expedition(有趣的贪心,优先队列)
SP348 EXPEDI - Expedition144 45 211 515 1025 102以下来自《挑战程序设计竞赛》以及我的辣鸡程序(竟然没超时!)#include<bits/stdc++.h>using namespace std;#define debug(x) cout<<"# "<<x<<" "&...原创 2020-02-24 20:51:21 · 837 阅读 · 0 评论 -
【数据结构】堆,大根堆,小根堆,优先队列 详解
堆要了解堆之前,请先了解树,因为堆是一颗完全二叉树如果不知道的话请点击下方链接了解树,二叉树,完全二叉树详解要注意的是首先堆是一颗完全二叉树其次堆中存储的值是偏序Min-heap(小根堆): 父节点的值小于或等于子节点的值Max-heap(大根堆): 父节点的值大于或等于子节点的值好吧其实就是实现自动排序O(logn)时间复杂度内实现插入,删除,O(1)查询1....原创 2020-02-24 20:39:27 · 13857 阅读 · 0 评论 -
合并果子(贪心,优先队列)
(菜鸡错题本)洛谷错题记录原创 2019-10-24 15:57:28 · 404 阅读 · 0 评论 -
P1944 最长括号匹配(栈模拟/DP)
P1944 最长括号匹配可以直接用栈模拟,把匹配好的标记一下, 最后找到最长的匹配输出即可。如果是要求最长的长度的题那么只需要求数就行了,没必要把原序列真的按照题意改变如果要求序列,那么只需要按照题意把答案标记出来输出即可,没必要真的一段一段找。#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<bitset>#includ原创 2020-05-28 10:59:36 · 416 阅读 · 1 评论 -
0x11.基本数据结构 — 栈与单调栈
目录一、栈0.AcWing 41. 包含min函数的栈 (自己造栈)1.AcWing 128. 编辑器 (对顶栈)二、各种表达式计算递归法求中缀表达式的值,O(n^2)后缀表达式转中缀表达式,同时求值,O(n)中缀表达式转后缀表达式,同时对后缀表达式求值三、单调栈声明:本系列博客是《算法竞赛进阶指南》+《算法竞赛入门经典》+《挑战程序设计竞赛》的学习笔记,主要是因为我三本都买了 按照《算法竞...原创 2020-05-02 10:56:10 · 1116 阅读 · 1 评论 -
数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解
单链表顺序存储结构单链表强调元素在逻辑上紧密相邻,所以首先想到用数组存储。但是普通数组有着无法克服的容量限制,在不知道输入有多少的情况下,很难确定出一个合适的容量。对此,一个较好的解决方案就是使用动态数组。首先用malloc申请一块拥有指定初始容量的内存,这块内存用作存储单链表元素,当录入的内容不断增加,以至于超出了初始容量时,就用calloc扩展内存容量,这样就做到了既不浪费内存,又可以让单链...原创 2020-04-29 11:03:15 · 62702 阅读 · 25 评论 -
《数据结构》C语言版(清华严蔚敏考研版) 全书知识梳理 + 练习习题详解(超详细清晰易懂)
《数据结构》知识梳理,适合考前复习,高分冲刺。包含大量习题,偷偷告诉你,考试就考这个原创 2020-04-15 12:09:39 · 223731 阅读 · 54 评论 -
【图论】图,实现图(三种方式),二分图 详解
目录一.图的基本概念1.度2.连通(1)连通图(2)强连通/强连通图3.回路4.完全图二. 邻接矩阵实现图三.邻接表实现图四.链式前向星实现图五. 二分图1.简单应用—二分图的判定2.P1155 双栈排序(二分图的染色判断+链式前向星)一.图的基本概念图(graph)并不是指图形图像(image)或地图(map)。通常来说,我们会把图视为一种由“顶点”组成的抽象网络,网络中的各顶点可以通过“边...原创 2020-02-25 21:11:36 · 6806 阅读 · 2 评论 -
树和二叉树(四种遍历,建树)详解+二叉排序树(包含图像和相关习题)
目录树和二叉树一.树2.有序树和无序树3.森林4.树的基本性质二.二叉树的概念1.二叉树和度为2的有序树的区别:2.满二叉树3.完全二叉树:4.平衡二叉树:5.二叉树的遍历1.先序遍历(1)递归写法(2)先序非递归写法2.中序遍历3.后序遍历UVA548 树 Tree(通过中序遍历和后续遍历建树)4.层序遍历UVA122 树的层次遍历 Trees on the level(两种方法详解)6.二叉树...原创 2020-02-24 12:02:35 · 5364 阅读 · 1 评论 -
线段树 从入门到进阶(超清晰,简单易懂)
目录第一部 概念引入第二部 简单(无pushdown)的线段树1、单点修改,区间查询2、区间修改,单点查询第三部 进阶线段树第四部 乘法(根号)线段树1、乘法线段树2、根号线段树模板题与代码:单点修改,区间查询:洛谷树状数组模板1区间修改,单点查询:洛谷树状数组模板2区间加法,洛谷线段树模板1区间乘法:洛谷线段树模板2区间根号,bzoj3211线段树是什么??线段树怎么写??如果你在考提高组前...转载 2020-02-12 11:08:57 · 84267 阅读 · 127 评论 -
线段树 (经典题目合集)
P3372 【模板】线段树 1#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll N=1e5+7;const ll mod=2147483647;ll n,m;struct node{ ll l,r,sum,lz;}tree[N];ll arr[N];void b...原创 2020-02-11 22:28:47 · 1508 阅读 · 0 评论 -
二叉排序树(完整代码)
目录二.二叉排序树1.二叉排序树(代码)P1087 FBI树 (建树)HDU 4707 Pet二.二叉排序树先序遍历:根->左->右中序遍历:左->根->右后序遍历:左->右->根1.二叉排序树(代码)输入75 4 3 3 3 2 1输出1 2 3 3 3 4 5//二叉排序树(左<根<右)#include<...原创 2020-01-23 17:21:15 · 1951 阅读 · 0 评论 -
C语言的链表—完整代码
#include<stdio.h>#include<malloc.h>#include<string.h>typedef int Elempty;typedef struct student{ int score;//数据域; struct student *next;//指针域;}Linklist;Linklist *creat(i...原创 2019-12-06 12:09:03 · 10428 阅读 · 10 评论