数据结构
记录学习数据结构的过程。
maorv
这个作者很懒,什么都没留下…
展开
-
【数据结构】字典树模板
【代码】【数据结构】字典树模板。原创 2023-11-06 14:11:59 · 69 阅读 · 1 评论 -
【数据结构】队列应用-单调队列
按照惯例,先想暴力做法。每移动一次窗口遍历一次窗口内元素,记录最值,时间复杂度O(nk)。那么该怎么优化呢,遍历n次窗口肯定没办法减少,那就只能从搜索窗口内最值元素的速度入手了。很自然的就能想到,如果我们让窗口内的元素排好序,那么搜索的时候只要输出端点值就好了。可这还有几个问题,窗口内的元素会变化,总不能变化一次排序一次吧,那也太花时间了。能不能让窗口内的元素变化的时候就自动排序好呢?欸!单调队列恰好能解决这个问题。原创 2023-11-05 15:24:15 · 62 阅读 · 0 评论 -
【数据结构】栈的经典应用-单调栈
首先让我们想一下暴力该怎么做,当然是要用两层循环啦。第一层循环遍历数列,第二层循环从后往前遍历已经完成过第一次遍历的整数,直到找到一个小于当前这个数的数并将其输出。可以发现,有些数一定不会是答案。例如 1 4 3 x 5 这个数列,让我们来看第四个数左边第一个比他小的数是什么,在这里我们将第四个数设成x是为了推广出更通用的结论。如果x大于3,那么答案就是3;如果x大于4,答案依然是3;如果x大于1,那么1、3都有可能,为什么4没有可能呢,因为如果4比x小,3一定小,输出答案。原创 2023-11-05 14:34:58 · 64 阅读 · 0 评论 -
【数据结构】数组模拟队列
使用数组模拟队列和模拟栈十分相似,唯一的区别是多了一个头结点hh,以及tt初始化时从-1开始。原创 2023-11-05 13:51:07 · 44 阅读 · 0 评论 -
【数据结构】栈的基础应用-表达式求值
这道题是栈的经典应用。原创 2023-11-04 21:08:48 · 136 阅读 · 1 评论 -
【数据结构】数组模拟栈
十分简单的数组模拟栈原创 2023-11-04 19:52:24 · 27 阅读 · 1 评论 -
【数据结构】数组模拟双链表
【代码】【数据结构】数组模拟双链表。原创 2023-11-04 19:28:01 · 33 阅读 · 1 评论 -
【数据结构】数组模拟单链表
【代码】【数据结构】数组模拟单链表。原创 2023-11-04 18:46:31 · 36 阅读 · 1 评论 -
【数据结构】并查集基础模板
并查集模板原创 2023-10-30 13:06:10 · 88 阅读 · 1 评论