- 博客(76)
- 收藏
- 关注
原创 单调队列总结
单调队列 一、单调队列1.定义单调队列就是队内元素保持一定单调性的队列,及从队首到队尾单调递增(单调递增队列)或递减(单调递减队列);2.性质满足队尾到队头入队顺序从早到晚;队列中元素的大小从队首到队尾必须是单调递(增,减,自定义);二、实现1. 对于单调递增:思路:使用双端队列模拟,使用结构体存储数字的入队时间与数值,如果队列不为空且当前入队的元素与当前在队首的元素入队时间差小于队列长度,则将队首元素出队,如果队列不为空且入队元素小于队首元素值,则说明入队会破坏队的单调性,因此需.
2021-11-12 18:34:53 259
原创 单调栈总结
单调栈 一、单调栈1.定义单调栈就是站内元素保持一定单调性的栈,及从栈顶到栈尾单调递增(单调递增栈)或递减(单调递减栈);2.性质1.满足栈底到栈顶入栈顺序从早到晚;2.栈中元素的大小从栈顶到栈底必须是单调递(增,减,自定义);二、实现对于单调递增的栈:如果栈为空或入栈元素大于等于栈顶元素值,则入栈;否则,若入栈回破坏栈的单调性,因此需要将比入栈元素大的元素全部出栈;对于单调递减的栈:如果栈为空或入栈元素小于等于栈顶元素值,则入栈;否则,若入栈回破坏栈的单调性,因此需要将比入栈元素小.
2021-11-07 09:35:12 170
原创 堆
堆 一、概念堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节占比子节点大(或小)。当根节点保存堆中最大值时,称为大根堆反之,则称为小根堆。二叉堆(BinaryHeap)是最简单、常用的堆,是一棵符合堆的性质的完全二叉树。它可以实现O(log2n)O(log_2n)O(log2n)地插入或删除某个值,并且O(1)O(1)O(1)地查询最大(或最小)值。二、存储方式作为一棵完全二叉树,二叉堆完全可以用一个111~nnn的数组来存储,对于节点p,,p∗2p*2p∗2即为左儿子,p∗2+.
2021-07-25 13:13:32 144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人