内置结构
文章平均质量分 68
提升算法能力
小呆鸟_coding
阿里云专家博主,在读机器人研究生,喜欢编程,通过写文章记录自己的生活,以及学习的点点滴滴。希望我们共勉。一起努力冲向远方
展开
-
【16. 单链表】
原因:在笔试当中,通常可以使用的方式实现,链表,但是由于每次都需要,所以会导致时间超时,或者可以,但是这样做就和用差不多了.单链表:用的最多的是,邻接表主要用来存储和双链表:优化某些问题单链表单链表的每一个节点,用来存和.数组模拟链表int , 我们通过的方式将和]联系在一起将 x插到下标是k的点后面将下标是k的点后面的点删掉题目实现一个单链表,链表初始为空,支持三种操作:现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 k 个插入的原创 2022-07-05 22:02:35 · 132 阅读 · 11 评论 -
【17. 双链表】
双链表和单链表原理是一样的,只不过双链表有俩个指针,一个指向前,一个指向后。(具体单链表可以看这里单链表)原创 2022-07-06 10:43:04 · 244 阅读 · 1 评论 -
【18. 模拟栈和队列】
特点:栈是先进后出。模拟队列特点:先进先出。原创 2022-07-06 14:53:35 · 101 阅读 · 2 评论 -
【19. 单调栈】
用途:主要找到每个数左边离他最近的且比它小的数在什么地方(或者找到每个数右边离他最近的且比它大的数在什么地方)原创 2022-07-06 16:16:03 · 202 阅读 · 1 评论 -
【20. 滑动窗口】
滑动窗口原创 2022-07-06 17:44:03 · 118 阅读 · 6 评论 -
【21. KMP算法】
KMP能解决。在文本串中是否出现模式串。思路:KMP算法:思路:前缀:包含首字母,不包含尾字母的所有子串。后缀:不包含首字母,包含尾字母的所有子串。模式串。最长相等前后缀:没有相等前后缀只有本身:前缀a, 后缀a,相等前后缀长度是1. :没有相等前后缀:前缀a, 后缀a,相等前后缀长度是1. :前缀aa, 后缀aa,相等前后缀长度是2. :没有相等前后缀next数组为什么 ,而不是;next数组的性质:匹配例子:可以参考https://www.zhihu.com/question/21原创 2022-07-09 22:11:52 · 166 阅读 · 5 评论 -
【22. Trie树】
用途主要思想:例子原创 2022-07-10 10:22:12 · 164 阅读 · 4 评论 -
【23. 并查集】
用途:基本原理:问题:合并优化(路径压缩)原创 2022-07-10 16:25:27 · 131 阅读 · 22 评论 -
【24. 堆排序及模拟堆】
下面分别介绍完全二叉树、小根堆、大根堆用上面小根堆举例子:思路原创 2022-07-12 14:24:15 · 275 阅读 · 8 评论 -
【25. 哈希表】
概述用途思路哈希表与离散化区别步骤处理冲突主要通过数组,下面拉一个链表的方式,所以简称拉链法当几个原始值,通过Hash函数映射到同一个值时,我们就把它们依次挂载到该值下面的链表上。为了减少冲突次数,这里mod的那个数一般值质数找到大于100000的质数代码开放寻址法开放寻址法一般开 , 这样大概率就没有冲突了拉链法中的N 是最接近最大范围(10的5次方的质数) 开放寻址法中,一般需要开(防止冲突,故选择2*10的五次方最近的质数(只有这样开,不冲突的概率为99.99)步骤......原创 2022-07-14 09:32:18 · 246 阅读 · 9 评论 -
【26. 字符串哈希】
用到字符串的地方一般可以用KMP算法。用KMP算法的一般都可以用字符串哈希。代码更简单。(特殊的哈希方式,字符串前缀哈希法)把字符串变成一个p进制数字(哈希值),实现不同的字符串映射到不同的数字。(比较俩个区间字符串前缀是否相等就变成了比较俩个区间字符串哈希是否相同)对形如X1X2X3⋯Xn-1Xn的字符串,采用字符的ascii码乘上P的次方来计算哈希值。(X1×Pn-1+X2×Pn-2+⋯+Xn-1×P1+Xn×P0)modQ字符串AAB。.........原创 2022-07-14 22:05:45 · 268 阅读 · 6 评论 -
【27. 表达式求值(中缀表达式)】
接下来,运算符和操作数才能继续入栈。下一个操作符要入栈时,继续比较与栈顶的优先级。(加减乘整除),可能包含括号,请你求出表达式的最终值。一开始,初始化好输入的字符串,以及操作数栈,运算符栈。如果栈顶的运算符优先级高,先出栈计算,新运算符再入栈。一步步,扫描字符串,操作数一个个入栈,运算符也入栈。栈内的优先级高,还是先计算(3*4=12),再入栈。如果栈顶的运算符优先级低,新运算符直接入栈。下一个操作符要入栈时,需要先比较优先级。栈内的优先级高,必须先计算,才能入栈。栈内的优先级低,可以直接入栈。......原创 2022-07-17 09:17:24 · 3235 阅读 · 62 评论 -
【28. 最大异或对】
最大异或对就是在给定的数中,找到俩个数使得,这俩个数异或后的结果最大。一般采用暴力法和字典树的方法。原创 2022-07-17 15:42:38 · 1151 阅读 · 7 评论