自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 KMP算法

KMP算法(Knuth-Morris-Pratt算法)是一种用于字符串匹配的经典算法,其目的是在一个主文本串(text)中高效地查找一个模式串(pattern)的出现位置。相较于朴素的字符串匹配算法,KMP算法具有更高的效率,特别是在处理大文本和长模式串时。引出KMP算法之前,我们必须了解朴素的字符串匹配算法(暴力算法)的实现假设主文本串 text = “ababcabcababcab”,模式串 pattern = “ababcab”

2024-07-19 14:53:41 1164

原创 数据结构-trie树 插入,查询操作详解

Trie树(也称为字典树、前缀树)是一种专门用于处理字符串的数据结构。它的主要特点是能够提供高效的插入、查找操作,尤其适用于需要频繁搜索、前缀匹配和大量字符串存储的应用场景。需要明确的是:1.Trie树是一种树形结构,每个节点代表一个字符或者字符串的一部分。2.每个节点通常有多个子节点,每个子节点对应一个字符,从而形成树状结构。我们根据这两个特征来进行插入操作,通过一道模板题更直观的理解代码实现。

2024-07-16 18:41:16 843

原创 并查集(标准并查集、带权并查集、扩展域并查集)

并查集是一种数据结构,用来管理集合之间的关系,可以用来进行判断是否属于同一集合或将不同的集合合并等操作。我们用个生活中的例子来说明一下原本小明家这个集合只有小明,小红家只有小红,那么他们结婚后(合并)就属于一个家庭(一个集合),像这样,通过并查集我们能够合并不同的集合,然后还能快速地查找他们是不是同一个集合。

2024-07-15 18:06:38 1821

原创 堆,向下调整的递归和非递归实现,堆排序,STL中的优先队列,

在交换值得同时,由于值对应的下标有所改变,那么下标对应的k值一定发生了变化,那么ph里面的值就要发生改变,但如果要改变ph中的值,那我们就要开一个数组来记录下标对应的k值,然后根据这个k值,作为ph的索引,改变两个不同k值对应的下标。这里需要用到插入,插入肯定是在末尾插入的,那么有向下调整的操作,那么一定有向上调整的操作,和向下调整同理,如果孩子节点比父亲节点小,那么需要进行向上调整。2.4的节点仍然没有满足大于两个孩子节点的条件,所以继续调整,到了最终状态,满足小根堆的条件。

2024-07-14 20:20:14 889 1

原创 哈希和字符串哈希

字符串哈希就是一个将字符串映射到一个数上的过程,可以通过哈希值,可以用来判断字符串是否相等等问题。

2024-07-14 09:52:02 296 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除