数据结构与算法
文章平均质量分 87
数据结构 学习笔记 + 算法题练习笔记
沐风ya
喜欢更新写过的东西
展开
-
双指针算法例题
双指针算法原创 2024-03-21 15:49:45 · 851 阅读 · 0 评论 -
位图(模拟实现+应用题),布隆过滤器(模拟实现+降低误判率+应用题)
位图+布隆过滤器+哈希切割(介绍+应用题)原创 2023-10-13 11:35:23 · 88 阅读 · 0 评论 -
哈希桶的完善+封装成unordered set和map
哈希桶的进一步完善+各种问题+处理方法,封装哈希版的set和map原创 2023-10-11 00:00:25 · 92 阅读 · 0 评论 -
(迷宫问题)DFS(递归+非递归)
例子:迷宫原创 2023-10-10 20:02:45 · 433 阅读 · 0 评论 -
哈希+解决哈希冲突的方法(哈希表,二次探测,哈希桶)(介绍+模拟实现)
哈希表(介绍+哈希碰撞+注意点+模拟实现),哈希桶(介绍+注意点+模拟实现)原创 2023-10-10 16:08:01 · 539 阅读 · 0 评论 -
介绍基于红黑树,封装set和map
set和map基于[模拟实现的红黑树]的封装原创 2023-10-03 17:07:04 · 1482 阅读 · 0 评论 -
详细介绍红黑树+模拟实现+完整版代码(有图解)
红黑树的概念,性质,模拟实现(插入+迭代器的介绍),代码原创 2023-10-02 15:20:03 · 158 阅读 · 0 评论 -
详细介绍Avl树+模拟实现(有图解)+完整代码
avl树的介绍,模拟实现(4种旋转图解+解释,注意点,代码)原创 2023-09-23 22:47:41 · 213 阅读 · 0 评论 -
介绍map和set的接口使用,oj题(数组交集/差集,前k个高频单词,括号匹配,单词识别,复杂链表的复制)
set+multiset(介绍+接口使用,oj题),map+multimap(介绍+接口使用(insert不同传参方式+[ ])+oj题)原创 2023-09-16 00:03:34 · 116 阅读 · 0 评论 -
二叉树oj题--层序遍历,创建字符串,最近公共祖先,转换为双向链表,前序中序/中序后序构建二叉树,非递归前/中/后序
层序遍历,创建字符串,最近公共祖先(暴力+栈+队列版),双向链表和bs树,前序中序构建,中序后序构建,非递归的前/中/后序遍历原创 2023-09-13 17:43:16 · 181 阅读 · 0 评论 -
二叉搜索树
介绍+模拟实现(key版本,key_value版本+应用)原创 2023-09-10 00:04:57 · 186 阅读 · 0 评论 -
优先级队列
仿函数,优先级队列的模拟实现,oj题原创 2023-08-17 13:14:07 · 93 阅读 · 0 评论 -
stack+queue
适配器,deque,stack+queue,oj题(最小栈,匹配序列,逆波兰表达式)原创 2023-08-16 01:18:52 · 389 阅读 · 0 评论 -
list
迭代器(介绍+种类),list介绍+模拟实现原创 2023-08-15 10:54:40 · 1642 阅读 · 0 评论 -
vector
vector的介绍+模拟实现,oj题(只出现一次的数字,电话号码组合)原创 2023-08-05 16:57:47 · 57 阅读 · 0 评论 -
string
介绍,模拟实现,不同平台上的结构(底层+写时拷贝)原创 2023-07-31 22:19:59 · 52 阅读 · 0 评论 -
leetcode 每日3题(四)
这题最开始自己写没写出来,迷迷瞪瞪的,后来看了题解,可以用队列的方式,看了大概思想后恍然大悟,然后就吭哧吭哧写,然后狠狠改了很久的bug和循环条件,折磨折磨折磨(哭晕)和之前做过的那道求三数和最大的思想是一样的,只不过判断条件变一下(我竟然也会应用前面写过的题了,呜呜呜呜我成长了,多亏了写博客这一过程(跪下))因为他要找第一个不重复的字符,所以每次找到该字符后,赋的正常值是递增的,最好就直接对应它的序列。先不写leetcode了(跪),赶赶课,想写个聊天室,要学的还有好多,我咋那么没时间(哭死)原创 2023-05-24 00:28:52 · 47 阅读 · 0 评论 -
leetcode 每日6题(三)
本来想的是将数字转换为字符串(倒序储存),这样恢复过来就可以得到该数字的回文数!我没注意到会超范围!因为最大表示数只到1000,那么大于1000的数字就可能需要多个M来表示,就想到了用while循环来确保完成该次表示。直接将第一个字符串的元素作为基准,一个一个进行比对,比对成功,公共前缀就加一个字符。后来看了题解,才知道用双指针做,先将左右指针指向边界,找出两条边中的最短边。但是,有特例的捏,所以当当前字符为I,C,X时,就需要判断是否出现特例。遍历字符串,出现啥字母,就将结果加上它代表的值。原创 2023-05-17 21:57:57 · 49 阅读 · 0 评论 -
leetcode 每日3题(二)
代码的话,就按照上面给的算法过程一步一步实现就行,说的真的很详细了(诚恳)!这个我之前有实现过,所以写起来还是有点自信在身上的(神气),但还是改了好几次(1551,菜狗一枚鸭)就会导致当给的数恰好为最小值时,转换为正数会超范围(哭晕),就直接正常搞就行,还转换啥真是。最开始没看到 超范围就返回0(汗颜),一定一定一定要好好看题,自己老是改不过来。因为我还是挂在了这里捏 (不长记性捏(敲打)),不要处理它啊啊啊(撞墙)的大小(int最值的尾数是7/8喔)代码(注释会写细节)昨天没有写捏(敲打)原创 2023-05-14 22:33:33 · 47 阅读 · 0 评论 -
leetcode 每日n题(一)
由于我还没学new咋用,malloc好像在c++有问题,所以还是写的c版本(咱也看不懂这报的错是啥,盲猜是delete和malloc有冲突?给的俩数组是有序的,如果咱要找中位数,至少得把它们汇总成一个吧(思考.jpg),那么就有请我们的归并排序登场(当当当当)!这个题我看着就觉得是动态规划,但我不会(1551),然后试着写了写,不会怎么在中间取,我是笨比,只会从头或从尾走。我是笨比没仔细看题,我以为直接返回和这个值,结果是返回链表,兴致冲冲写完了才发现,呜呜。如果长度只有1,毫无疑问他就是回文。原创 2023-05-12 23:48:56 · 54 阅读 · 0 评论 -
常见排序算法
各种常见排序+快排,归排的非递归实现方法原创 2023-04-24 17:18:56 · 63 阅读 · 0 评论 -
二叉树(四)--二叉树oj题
二叉树oj题原创 2023-04-20 00:20:25 · 53 阅读 · 0 评论 -
二叉树(三)--实现二叉树
二叉树的实现原创 2023-04-19 17:37:43 · 54 阅读 · 0 评论 -
二叉树(二)--堆排序+topk问题
堆排序+时间复杂度分析,topk问题原创 2023-04-19 11:25:10 · 74 阅读 · 0 评论 -
二叉树(一)--特性+堆
树/二叉树的概念+特性,堆的创建+向上/向下调整原创 2023-04-18 20:19:04 · 94 阅读 · 0 评论 -
栈和队列--oj题
用栈实现队列,用队列实现栈,循环队列原创 2023-04-12 20:07:35 · 76 阅读 · 0 评论 -
链表(三)--链表oj题
由于他说不能改变原有顺序,因此就想着先搞两条新链表,一边遍历原链表,一边将小于x的放入链表lower,其他的就放入链表greater,最后将lower连接在greater之前即可。,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。判断回文,就是需要将该链表分成两部分,将其中一部分的链表反转(前面实现过哦),然后判断两部分的结点数值是否相同。因为两条链表的长度不一定相等,但自交点之后的链表长度就相同了,也就是说需要双指针分别。原创 2023-04-12 15:00:07 · 53 阅读 · 0 评论 -
链表(二)
双向带头循环链表,链表特性原创 2023-04-11 21:49:16 · 48 阅读 · 0 评论 -
链表(一)
详细讲解了单向链表中的内容,增删查改,合并和逆置,其中逆置为图文讲解,希望可以帮到你原创 2022-11-26 16:06:41 · 1140 阅读 · 4 评论