logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

[C++] 前缀函数 & KMP算法

本文介绍了KMP字符串匹配算法及其核心组件前缀函数。前缀函数定义为字符串子串的最长相等真前缀和真后缀长度,具有非严格递增性质。文章提供了前缀函数的计算模板和示例分析,并详细解释了KMP算法通过预处理模式串的前缀函数来优化匹配过程,避免不必要的回溯。KMP算法的时间复杂度为O(n+m),包含模式串预处理和主循环匹配两个阶段。文中给出了完整的C++实现代码,展示了如何利用前缀函数高效地查找所有匹配位置

#算法#c++#数据结构
最短路(Floyd & Bellman_Ford &Dijkstra)

本文总结了三种常见的最短路算法:Floyd全源最短路、Bellman-Ford单源最短路和Dijkstra单源最短路。Floyd算法适用于小规模图(n≤500),通过动态规划计算所有点对间的最短路径;Bellman-Ford能处理负权边并检测负权环;Dijkstra是处理无负权边图的高效算法,包括朴素实现和优先队列优化版本。每种算法均给出核心思路和代码模板,其中Floyd和Dijkstra还展示了

#图论#算法#c++
到底了