写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

[只看PO]No.63929406 - Mlk0的本科学习生活 - 学业打卡


•欢迎各路学霸考王互触
•可以询问备考问题、日西考试成绩
•本版发文间隔15秒


Mlk0的本科学习生活 无名氏 2024-09-30(一)00:56:40 ID:Mlk0Yai [举报] [订阅] [返回主串] No.63929406 [回应] 管理
以及26跨考
无标题 无名氏 2024-12-03(二)20:06:37 ID:Mlk0Yai (PO主) [举报] No.64580911 管理
计算机系统的分层思想-逻辑电路层….我需要去学数字电路吗
无标题 无名氏 2024-12-29(日)10:58:51 ID:Mlk0Yai (PO主) [举报] No.64837689 管理
好久没来了
期末周了都在复习期末考试的内容
放假再开408吧 哎
无标题 无名氏 2025-03-02(日)04:08:33 ID:Mlk0Yai (PO主) [举报] No.65415050 管理
我到底在干嘛?
无标题 无名氏 2025-03-02(日)04:08:56 ID:Mlk0Yai (PO主) [举报] No.65415052 管理
今天下午看生化 晚上看数据结构
无标题 无名氏 2025-03-03(一)20:55:01 ID:Mlk0Yai (PO主) [举报] No.65429422 管理
完蛋咯,时间复杂度一点不会算
无标题 无名氏 2025-03-03(一)23:37:21 ID:Mlk0Yai (PO主) [举报] No.65431124 管理
我勒个等差等比数列求和还有大求和符号啊 几年没学数学没用过不会用了
无标题 无名氏 2025-03-04(二)21:08:40 ID:Mlk0Yai (PO主) [举报] No.65438827 管理
好烦啊 之前刚学完指针看的书 代码部分看得明明白白的 现在全忘了给看懵了都
无标题 无名氏 2025-03-05(三)22:32:00 ID:Mlk0Yai (PO主) [举报] No.65450292 管理
不是 我真觉得我懂了但是正确率怎么才五六十啊 还有有时候我真的觉得这数据结构的题目在玩文字游戏
无标题 无名氏 2025-03-05(三)22:33:12 ID:Mlk0Yai (PO主) [举报] No.65450303 管理
我哪里还做得不够好啊( ;`д´; )快反思快反思
无标题 无名氏 2025-03-06(四)22:05:50 ID:Mlk0Yai (PO主) [举报] No.65460162 管理
今天学栈 正确率还算能看
感觉我得过过一轮才会比较迅速的察觉此前问题所在
还好之前过了一遍数据结构
但是没过其他的 不过感觉后面的课如果都是偏记忆的话那也没啥
无标题 无名氏 2025-03-11(二)18:42:57 ID:Mlk0Yai (PO主) [举报] No.65504952 管理
>>No.65498363
能上岸就够了 我只想把现实因素抛之脑后
无标题 无名氏 2025-03-11(二)22:58:40 ID:Mlk0Yai (PO主) [举报] No.65507486 管理
这next数组存的是下标而不是跳过几个字符吧??
无标题 无名氏 2025-03-11(二)23:04:46 ID:Mlk0Yai (PO主) [举报] No.65507555 管理
>>No.65507486
不,…就是跳过几个。
无标题 无名氏 2025-03-11(二)23:32:53 ID:Mlk0Yai (PO主) [举报] No.65507934 管理
等等
我脑子里能把next数组直接算出来,但是我不理解实现这个算法的代码背后的逻辑
无标题 无名氏 2025-03-11(二)23:39:34 ID:Mlk0Yai (PO主) [举报] No.65508024 管理
还有,我知道next数组为kmp算法服务但是我捋不清next数组如何联系kmp算法,我是说next数组这套方法是怎么能套在kmp算法上的
无标题 无名氏 2025-03-11(二)23:40:06 ID:Mlk0Yai (PO主) [举报] No.65508028 管理
不行我感觉我提的问题也不是很清楚 有点混乱
无标题 无名氏 2025-03-12(三)01:05:40 ID:Mlk0Yai (PO主) [举报] No.65508993 管理
我的理解里,kmp算法就是要看模式串里前缀后缀有没有共同的地方。当主串指针和模式串指针行进到不能匹配的位置时,主串指针先不动,根据已经通过匹配的子串,看模式串里(已经通过匹配的部分)前后缀是否有相同。若存在相同,则模式串指针移动到公共后缀的后一个字符(不包含公共前缀),然后再去和主串尝试匹配,也就是说这相当于前缀移动到后缀的位置(于是就实现了“主串当前指针之前通过匹配的子串不需要再参与匹配”)。
那么我的问题是?…

next数组产生的逻辑?…对,我能依靠记忆里的方法算出每个next值但是我不知道这样算背后的逻辑。

根据我的第一段描述里,我是知道要寻找公共前后缀。那么相应的,我就需要找到模式串里所有的公共前后缀。当然这些公共前后缀的长度会有所不同,又因为第一段里我说过模式串的指针需要移动到公共前缀后一个字符再尝试与主串匹配,那么模式串指针移动的终点与…当然会与匹配的公共前后缀长度相关。
这么一想,我又觉得认为“next数组中存储的是’当该字符不匹配时,对应的next数为 模式串指针应当传送至的模式串中的对应字符 的数组下标(数组下标从0开始)‘ ”仿佛可取,又或者“跳过”的说法和这个其个其实一样只是我没琢磨出来。主要是看的几个视频举的例子都符合我的这个思路,不知道是不是巧合,我也不敢确定我的思路一定可以推广到全部。是我走错路了也有可能。

果然…到底是怎么得来的next数组啊,为什么是这种方式实现的…果然是卡在了这里。
先睡觉吧
无标题 无名氏 2025-03-12(三)22:59:35 ID:Mlk0Yai (PO主) [举报] No.65518653 管理
>>No.65508993
我艹我在说什么 我又不懂了
无标题 无名氏 2025-03-12(三)23:01:28 ID:Mlk0Yai (PO主) [举报] No.65518680 管理
>>No.65508993
这里第一段应该是“模式串指针移到公共「前」缀的后一个字符”

UP主: