高级数据结构
文章平均质量分 60
m0_50968181
这个作者很懒,什么都没留下…
展开
-
高级数据结构(五)ac自动机
高级数据结构(五)ac自动机前言一、ac自动机二、代码演示前言ac自动机是解决多模式字符串匹配的算法。KMP是单模式字符串匹配算法。Trie也可以解决多模式匹配的问题。但是Trie在匹配多个模式串时需要回溯。ac自动机就是在Trie的基础上,通过构建fail指针(失配指针)来避免回溯。一、ac自动机偷个懒,理解ac自动机请看这篇文章AC自动机讲解超详细二、代码演示//// Created by lhx on 7/24/21.//#include <stdio.h>#incl原创 2021-07-24 13:24:14 · 114 阅读 · 0 评论 -
高级数据结构(四)字符串匹配算法
高级数据结构(四)字符串匹配算法前言一、KMP算法二、Sunday算法三、代码实现前言字符串匹配算法解决的问题是:在母串中查找子串出现的位置。例如 母串:abcdabc 模式串:abc。能够看到模式串abc存在于母串中,返回0,若模式串是bcd,则返回1;字符串匹配算法我知道的有5种:暴力匹配法、hash匹配法、KMP、Sunday、shift-end;本文中只将KMP和Sunday算法。如果想要了解另外几种算法,自行搜索下。一、KMP算法KMP算法的核心思想就是,要利用之前遍历过的信息,减少不原创 2021-07-23 23:27:30 · 215 阅读 · 0 评论 -
高级数据结构(一)二叉查找树
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例原创 2021-07-22 21:02:34 · 105 阅读 · 1 评论 -
高级数据结构(三)字典树
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-07-23 13:27:51 · 85 阅读 · 0 评论 -
高级数据结构(二)平衡二叉查找树
平衡二叉查找树(avl树)一、平衡二叉查找树二、代码实现二、实验结果总结一、平衡二叉查找树avl树是对二叉查找树的改进,应该对比二叉查找树来学。性质1.具有二叉查找树的所有性质2.平衡条件:任意一个根左右三元组,要满足左子树与右子树高度之差不超过13.旋转操作:保证插入删除后,整棵树满足平衡条件,旋转后的序列顺序应保持不变。有LL、RR、LR、RL类型的旋转。适用场景由于插入删除操作要做旋转操作满足平衡条件,所以适用于查询多、插入删除少的场景。二、代码实现//// Cr原创 2021-07-23 09:45:17 · 103 阅读 · 0 评论