摘要:
Trie树及模板 1.Trie树介绍 Trie树又称字典树(单词查找树),是用来高效地存储和查找字符串集合的数据结构。 2. Trie树的操作 我们假设要用Trie树来存储上述的字符串,那么过程如下: 1. 首先,我们需要创建Trie树的根节点。创建之后存储abcdef字符串。首先,从前往后遍历这样 阅读全文
posted @ 2023-08-31 23:40
夏目^_^
阅读(47)
评论(0)
推荐(0)
摘要:
KMP算法及模板 1.字符串匹配问题 所谓字符串匹配问题就是指:给定一个父串S,有子串p,从父串中找到子串,返回子串在父串的起始位置。若找不到则返回-1。 2.解决上述问题的暴力匹配算法 首先,我们可以利用暴力匹配算法来解决此问题。过程如下: 1. 首先,指针i指向父串S的起始位置 2. 指针j指向 阅读全文
posted @ 2023-08-31 23:37
夏目^_^
阅读(228)
评论(0)
推荐(0)
摘要:
单调队列及模板 1.单调队列的应用场景 单调队列的应用场景也比较单一,主要围绕着如下问题进行展开: 求滑动窗口中的最大值/最小值。 2.暴力做法分析 我们可以用队列来维护一个滑动窗口。在窗口的滑动过程中,实际上就是在往队列中添加/删除元素的过程。(具体来说,当窗口往右移动时,实际上就是在队尾中添加一 阅读全文
posted @ 2023-08-31 23:36
夏目^_^
阅读(101)
评论(0)
推荐(0)
摘要:
单调栈及模板 1.单调栈的应用 单调栈的应用是非常有限的,一般只适用于如下的模型: 给定一个序列,对于序列中的每一个数,找到这个数左边/右边离它最近的比它大/小的数是谁?如果找不到,返回-1或其他操作。 如果某一个问题,满足上述的模型,那么我们就可以用单调栈来进行解决。 例如,我们可以通过如上的案例 阅读全文
posted @ 2023-08-31 23:35
夏目^_^
阅读(57)
评论(0)
推荐(0)
摘要:
队列及模板 1. 队列的定义 队列也是操作受限的线性表,满足先进先出特性。 2. 数组模拟队列 在这里,我们采用数组q来模拟队列,hh代表队头指针,tt代表队尾指针。 队列的常用操作如下: 1. 往队列中插入一个元素 q[++tt] = x; 2. 往队列中弹出一个元素 hh++; 3. 判断队列是 阅读全文
posted @ 2023-08-31 23:35
夏目^_^
阅读(48)
评论(0)
推荐(0)
摘要:
栈及模板 1.栈的定义 栈可以理解为是操作受限的线性表。栈满足后进先出或先进后出的特性。 在这里,我们采用数组来模拟栈。 2.数组模拟栈 我们可以用数组stk来模拟栈本身,tt代表栈顶的下标。 栈具有如下操作:(注意:不同人实现栈的方法是不同的,但是思想都是相同的。我们用本文中的方法来实现栈) 1. 阅读全文
posted @ 2023-08-31 23:34
夏目^_^
阅读(25)
评论(0)
推荐(0)
摘要:
链表及模板 1.注意事项 这里讲述的都是用数组来模拟链表。为什么要用数组来模拟链表呢?原因如下: 1. 数组相比于之前所学的动态创建链表,效率更高。 2. 用数组实现更加简洁,操作简单。 因此,这里采用数组来模拟链表,模拟单链表和双链表两种。 2.单链表和双链表的应用 1. 单链表主要用来表示邻接表 阅读全文
posted @ 2023-08-31 23:31
夏目^_^
阅读(70)
评论(0)
推荐(0)
摘要:
区间合并及模板 1. 区间合并的应用 假设,我们拥有很多区间,我们需要将有交集的区间合并成为一个区间。类似于这样的问题就叫做区间合并问题。请看上图: 区间合并算法就是要尽可能快的完成上述操作。 区间合并算法有时会需要处理一下边界问题,这种情况需要具体问题具体分析。边界问题指的就是当两个区间只有端点重 阅读全文
posted @ 2023-08-31 23:30
夏目^_^
阅读(219)
评论(0)
推荐(0)
摘要:
离散化及模板 1.离散化的定义及问题引出 在讲解之前,需要注意:我们这里的离散化特指整数离散化,而且是有序(保序)的离散化。这里的有序指的就是原数组A是有序的。保序指的就是原数组A被离散化之后,顺序不发生变化。 在提出上述内容后,我们来阐述一下离散化的定义。假如有这样的一个应用场景:我们需要将10的 阅读全文
posted @ 2023-08-31 23:28
夏目^_^
阅读(109)
评论(0)
推荐(0)
摘要:
位运算及模板 1.位运算的问题引出及解决方案 关于位运算,有两个常见问题。 1. 给定一个数n,对于n的二进制表示,求其第k位是几。(注意:k是从0开始编号)。 2. 编写一个函数lowbit(x),返回x的二进制表示的最后一位1(这里的x为正数/负数/0均可)。 例如: x = 1010 lowb 阅读全文
posted @ 2023-08-31 23:27
夏目^_^
阅读(45)
评论(0)
推荐(0)

浙公网安备 33010602011771号