
数据结构
yjr-1100
( ´・ω・)ノ(._.`),关注我,一起学习
展开
-
线段树 The Child and Sequence CF(438D)
The Child and Sequence题目解题思路题目题目大意:给一组数据:执行一下操作1.输出l-r 所有数据的和2.把l-r的所有数据 mod x3.把数据a[k]的值改为x解题思路操作1和3 就是单纯的 区间求和,单点修改,没有什么难度对于操作2, 区间取模如果取模的数比这段区间所有的数都大,那取模就是没有意义的,就是说,如果取模的数比区间最大的数还大,那么就不用取模了,所以我们在线段树里再记录一个区间最大值考虑每次取模,对于每一个数x,取模y 的值必然比y小,原创 2020-07-21 10:07:20 · 189 阅读 · 0 评论 -
数据结构——排序总结 (插入排序,交换排序,选择排序,归并排序,基数排序)
排序那么多(1)直接插入排序,2-路插入排序和希尔排序(2)冒泡排序,双向冒泡排序和快速排序(3) 简单选择排序,堆排序(4) 归并排序(5) 基数排序。看了这篇文章,统统拿下。原创 2020-05-18 21:46:52 · 1661 阅读 · 0 评论 -
数据结构——栈和队列的应用(进制转化,表达式求值,迷宫问题)
文章目录栈的应用1.进制转换2.表达式求值3. 迷宫问题栈的应用1.进制转换进制转化主要的数学依据是短除法//栈的应用 1 #include<stdio.h>#include<stdlib.h>const int maxn=1e6,mod=8;//这里转化八进制 typedef struct { int a[maxn]; int top;}SqSt...原创 2020-03-24 07:57:36 · 807 阅读 · 2 评论 -
数据结构——队列(顺序队列,链队列)
文章目录队列队列的定义队列的顺序存储结构普通顺序队列环形顺序队列环形队列2链队列有头节点的链队没有头节点的链队队列队列的定义队列简称队,它是一种运算受限的线性表,其仅允许在表的一端进行插入,而在表的另一端进行删除。把进行插入的一端称做队尾(rear),进行删除的一端称做队头(front)。特点:先进先出队列的顺序存储结构普通顺序队列先定义一下顺序队列的数据类型:const int ...原创 2020-03-18 15:06:43 · 1249 阅读 · 0 评论 -
数据结构——栈(顺序栈,链栈)
文章目录栈的定义栈的顺序存储结构栈的链式存储结构栈的定义栈是一种只能在一端进行插入或删除操作的线性表。 表中允许进行插入、删除作的一端称为栈顶.栈顶的当前位置是动态的,栈顶的当前位置由一个称为栈顶指针的位置指示器指示。表的另一端称为栈底。当栈中没有数据元素时,称为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通 常称为退栈或出栈。特点:是“后进先出”,即后进栈的元素先出栈。栈的顺序...原创 2020-03-11 21:46:17 · 818 阅读 · 0 评论 -
数据结构——双链表和循环链表
文章目录双链表的运算循环链表双链表的运算先定定义一下双链表的数据类型typedef struct Dnode{ int data; struct Dnode *prior;//指向前驱节点 struct Dnode *next;//指向后驱节点} DLinkList;插入和删除节点插入节点DLinkList *p //这是指向原来在链表中的DLinkL...原创 2020-03-09 21:44:23 · 285 阅读 · 0 评论 -
数据结构——单链表
线性表的链式存储结构目录**线性表的链式存储结构**单链表的相关运算线性表基本运算在单链表上的实现一道例题在每个节点中除包含有数据域外,只设置一个指针域 ,用以指向其后继节点,这样构成的链接表称为线性单向链 接表,简称单链表,为了便于插入和删除运算的实 现,每个链表带有一个头节点,并通过头节点的指针唯一标识该链表。单链表的缺点:当访问过一个节点后,只能接着访问它的 后继节点,而无法访问它的前...原创 2020-03-05 20:35:24 · 3719 阅读 · 0 评论 -
数据结构——顺序表 SqList *L 和 SqList * &L的区别
线性表是数据结构中的一种基本结构,但是在线性表的一些基本运算中,涉及到C++里的引用,对C语言的学习者可能带来一些困惑,下面就具体操作一下线性表,来实现一些基本运算,体会其用法基本运算:始化线性表InitList(&L) :构造一个空的线性表 L 。销毁线性表DestroyList(&L) :释放线性表 L 占用的内存空间。判线性表是否为空表ListEmpty(L) :若...原创 2020-03-03 22:37:56 · 9596 阅读 · 1 评论