![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 76
不见风月
这个作者很懒,什么都没留下…
展开
-
[230601 lc295] 数据流的中位数
我们使用大顶堆和小顶堆的数据结构,把所有数据看成一个有序数组,左半部分存放在大顶堆中,右半部分存放在小顶堆中,并维护大顶堆的大小始终与小顶堆的大小相等,或者大顶堆的大小比小顶堆的大小大 1。在这样的情况下,如果数组大小为奇数,那么大顶堆的堆顶元素就是中位数;如果数组大小为偶数,那么大顶堆的堆顶元素和小顶堆的堆顶元素的均值就是中位数。是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。在,当向数据结构中加入元素的时候,该怎么加。理解了大顶堆、小顶堆以后代码真的很好写。原创 2023-06-01 21:00:00 · 90 阅读 · 0 评论 -
[230529 lc215] 数组中的第K个最大元素
快速排序的实现:传入一个乱序数组,选中最右边的元素为主元,在剩余元素中使用双指针的做法,i 指针扫过的值均为小于主元的值,当 j 指针遍历完剩余元素后,交换 i 位置和主元位置上的元素,此时 pivot 就位,然后递归地调用 quickSort 函数对左右两边的子数组进行快排。堆排序的思路:先把原数组初始化为一个大顶堆,此时数组中第一个元素即最大元素,然后交换最大元素和最后一个元素的位置,接着调整前 size - 1 个元素为大顶堆,找到第二大的元素,交换位置。请注意,你需要找的是数组排序后的第。原创 2023-05-30 02:00:00 · 43 阅读 · 0 评论 -
[230527 lc84] 柱状图中最大的矩形
一道很典型的单调栈的题目。思路是利用单调栈找到每一个高度左边的第一个较小高度和右边的第一个较小高度,记录其下标,根据下标计算出对应高度所能达到的最大宽度,计算其面积。对于单调栈来说,理解到找较小元素应该使用递增单调栈、找较大元素应该使用递减单调栈即可。找当前元素左边的第一个元素,使用倒序遍历。左边元素数组应该初始化为 -1,右边元素数组应该初始化为 size。:求出以矩阵的每一行为底对应的柱状图,然后求每一个柱状图中的最大矩形面积,从中取最大值。求在该柱状图中,能够勾勒出来的矩形的最大面积。原创 2023-05-27 22:00:00 · 32 阅读 · 0 评论 -
[230526 lc42] 接雨水
维护一个非严格单调递减的单调栈,为了保证数组中的每一个元素都合法地入栈,要用一个循环去 pop 出比当前元素小的元素,并且在弹出的时候,对这个面积进行计算。我们可以把要求的雨水面积划分为一个一个小矩形,每个小矩形的底都是一,高度取每个高度左边的最大高度和右边的最大高度的最小值,减去当前的这个高度。我们需要从左到右遍历数组,找到左边的最大高度;从右到左遍历数组,找到右边的最大数组。使用单调栈来解题,关键点在确定小矩形的长和宽。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。原创 2023-05-27 06:00:00 · 40 阅读 · 0 评论 -
[230527] Page Cache
这个描述的是操作系统的预读机制(基于局部性原理)和可能产生的。原创 2023-05-27 06:00:00 · 74 阅读 · 0 评论 -
[230523] 堆排序
heapify(递归过程)的目的是使原 array 中每一个非叶子节点都下沉至满足大顶堆/小顶堆限制条件的最底层(说大白话就是,如果在一次 heapify 中破坏了大顶堆/小顶堆的性质,则要继续调用 heapify 维护大顶堆/小顶堆的性质)(注意:由于在第一轮 heapify 中我们已经构造好了一个大顶堆,所以在 swap 以后只有堆顶元素是非法的,所以在 heapSort 中只需要对堆顶元素进行 heapify)第十轮 heapify 结束后,补充:利用小顶堆构造降序序列。原创 2023-05-24 03:00:00 · 32 阅读 · 0 评论 -
[230421] 可扩展哈希
可扩展哈希是一种动态哈希,可扩展哈希的哈希函数也是动态变化的。主要技术:directory 和 bucketdirectories:每一个 directory 都有一个唯一的 id,当进行哈希扩展时 direcotry 的 id 可能会改变。directory 中存储的是对应 bucket 的指针。哈希函数返回 directory 的 id,用于找到对应的 bucket。directory 的数目 = 2 ^ global depth。buckets: 存储实际数据。原创 2023-04-22 02:00:00 · 915 阅读 · 1 评论