一、rmq问题 1.st表 2.线段树 3.树状数组 二、lca 三、基本数据结构 1.栈 2.队列 3.单调栈 4.链表 5.stl 6.并查集 7.堆/优先队列 四、分治 1.点分治 2.边分治 3.树链剖分 4.基于询问的分治 5.cdq分治 五、其他 1.可持久化线段树 2.KD-tree ...
分类:
其他好文 时间:
2019-08-11 17:27:04
阅读次数:
70
栈 栈是一种只能在一端进行插入或删除操作的线性表。 线性表:栈的逻辑结构属于线性表,只不过在操作上加了一些约束。 一端:可以插入或者删除元素的一端叫栈顶,另一端叫栈底。 顺序栈 链栈 队列 队列是一种插入元素只能在一端能进,删除元素只能在另一端进行的线性表。 线性表:队列的逻辑结构属于线性表,只不过 ...
分类:
其他好文 时间:
2019-07-13 12:08:21
阅读次数:
114
void init(stacknode **s) { (*s) = (stacknode*)malloc(sizeof(stacknode)); (*s)->next = NULL;} //一般会犯的错误是以为参数传递的是某类型的地址,那么就以改变这一类型的值,实际上,有个条件,即通过调用指针的方式 ...
分类:
其他好文 时间:
2019-07-10 15:06:52
阅读次数:
88
常见的数据结构链表、队列、栈、二叉树、堆使用内置结构实现高级数据结构,比如内置的list/deque实现栈 链表有单链表、双链表、循环双端链表如何使用python来表示链表结构 实现链表常见操作,比如插入节点,反转链表,合并多个链表 leetcode练习常见链表题目 队列是先进先出结构实现队列的ap ...
分类:
其他好文 时间:
2019-07-08 09:30:29
阅读次数:
134
Stack(栈) 栈的结构: 下面是数据结构的集中类型: 顺序结构的栈: 链式结构的栈: //队列吗 讲不完 注意:循环队列 队列满 头尾重合 队列的大小 size 或者num 或者count计数 Typdef struct { Int data[100]; Int front; Int end; ...
分类:
其他好文 时间:
2019-07-04 14:25:44
阅读次数:
90
链式栈 static.h static.c main.c 测试: success ! ...
分类:
其他好文 时间:
2019-06-26 19:25:33
阅读次数:
116
栈可以分为 顺序栈: 数组实现 链式栈: 链表实现 空间复杂度 栈的空间复杂度: 有一个n个元素的栈, 在入栈和出栈过程中, 只需要存储一个临时变量存储空间, 所以空间复杂度是O(1) 并不是说栈有n个元素, 空间复杂度就是O(n), 而是指除了原本的空间外, 算法需要的额外空间 栈要满足 的特性, ...
分类:
编程语言 时间:
2019-06-07 22:47:28
阅读次数:
126
目录 链表的增删(不带头结点) 栈(链表应用) 链表相关面试题 合并两个有序链表 单链表原地逆置 找出链表的倒数第四个节点 找出链表的中间节点 判断单链表是否有环 求链表交点 删除有序单链表中重复的元素 链表按奇数、偶数值拆分 二叉树层次建树 利用队列动态实现二叉树层次建树 ( ) 链表的增删(不带 ...
分类:
编程语言 时间:
2019-04-07 14:23:09
阅读次数:
162
这里顺序栈和链栈的基本操作和差别在之前的线性表操作中是一样的,目前栈对我而言在实际使用中使用哪一种差别并没有很大,顺序栈用起来会方便一点 顺序栈 >>ADT: >>入栈: >>出栈: 链栈 >>入栈: >>出栈: 栈的应用 1. 进制转化 思路:用短除法(具体原理可以去看数学证明)求余数时,结果要逆 ...
分类:
其他好文 时间:
2019-04-01 22:45:41
阅读次数:
226
第三章我们学了后进先出的栈以及先进先出的队,栈是限定仅在表尾进行插入或删除的线性表,顺序表示顺栈,链式表示链栈,主要操作是进栈和出栈,顺序栈的进出要注意判断栈满或栈空。而队只允许在表的一端进行插入,同样也要注意队满或队空,并且凡涉及队头或队尾指针的修改都要将其对MAXQSIZE求模。虽然在理解上还不 ...
分类:
其他好文 时间:
2019-04-01 01:13:21
阅读次数:
106