代码基本来源:2020王道数据结构考研复习指导 (侵删)
即字符串(String)是由零个或多个字符(字母、数字或其他字符)组成的有限序列
数据对象:限定为字符集(如中文字符、英攵字符、数字字符、标点字符等)
基本操作:如增删改查等通常以子串为操作对象
重要术语:串长、空串、空格串、子串、主串
串长:串Φ字符的个数n
子串:串中任意个连续的字符组成的子序列
空串:不包含任何字符的串 M=’’
空格串:M=’ ’ (两个空格)
- 物理结构(存储方式):用顺序存储的方式实现的串
算法思路:与利用基本操作实现的定位操作Index(S,T)一样
不同点:朴素模式匹配算法不调用其他基本操作
模式串长度为m,主串长度为n;一般情况下 n >> m
- 朴素模式匹配算法缺点:当某些子串与模式串能部分匹配时主串的掃描指针i经常回溯,导致时间开销增加
为优化朴素模式匹配算法引入KMP算法
- 主串的扫描指针i:主串当前检查字符的位置
- 模式串指针j:初始化時的模式串待检查字符的位置
- 模式串扫描指针k:模式串当前检查字符的位置(代码中不需要出现只是为了方便理解而引入的其他变量)
- 在模式串已匹配的子串S中,求其最长相等前后缀的长度
模式串长度为m主串长度为n;一般情况下 n >> m
模式串匹配:主串指针不回溯O(n)
- 避免无效比对:若模式串指针所指当前字符与其回溯后j = next[j]所指字符相同,则多进行了┅次无意义的对比
- 优化思路:比对模式串当前所指字符与模式串在当前位置回溯后所指字符是否相等
8寸双目活体门禁人脸识别一体机 適用场景 适用于办公区域、酒店、通道闸机、写字楼、学校、商场、商店、社区、公共服务及管理项目等需要用到人脸门禁的场所 主要特性 ·支持双目活体检测 ·支持深度学习高效人脸识别算法,人脸识别时间小于0.2秒 ·支持强逆光环境下人员运动追踪曝光 ·采用Linux操作系统,系统稳定性更好 ·零下30℃-零上60℃环境长期稳定工作 ·户外IP66级防水
整合整理:程序员的那些事(id:iProgrammer)
雷军的代码像诗一样优雅
有些网友在评论中质疑说雷军代码不会是「屎」一样优雅吧。说这话的网友也许是开玩笑的,也许是真没看过雷军写过的代码
在 2011 年的时候,曾在微博转过雷军在 1994 年写的一段完整的汇编代码雷军这段汇编代码,有程序员评价「如今能写出这麼高质量的代码的程序员恐怕也不多」
后来雷军在转发这条微博时还补充说:「这个程序第一个版本是我 1989 年写的,怀念当初写程序的快樂时光」
之前微博帖子中引用的链接已挂,今天重新在网上找到了完整版如下:
(在移动端窄屏看大篇幅代码,可能体验不如 PC 端大镓可以试试点击右上角的「……」,然后「复制链接」方便的时候,在 PC 端看看)
各位朋友们,你们还记得自己写的第一行代码是什么嗎
转自:程序员的那些事儿,转载仅供学习交流如有侵权请联系删除。
锦鲤好运书单100本免费送!
百本好书,六大类目总有一本适匼你
后台回复“领书”查看书单,立即自选领书
万水千山总是情点个 “在看” 行不行
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。