排序算法 直接插入排序:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过 希尔排序:将待排序数组按照步长gap进行分组,然后将每组的元素利用直接插入排序的方法进行排序;每次将gap折半减小,循环上述操作;当gap=1时,利用直接插入,完成 ...
分类:
编程语言 时间:
2020-04-06 09:46:47
阅读次数:
78
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。 暴力匹配算法 假设现在我们面临这样一个 ...
分类:
编程语言 时间:
2020-04-05 22:07:42
阅读次数:
60
0.PTA得分截图 1.本周学习总结(0 5分) 1.1 总结树及串内容 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth Morris Prat ...
分类:
其他好文 时间:
2020-04-05 13:20:47
阅读次数:
89
文件搜索命令 文件搜索命令find 1.find 其他搜索命令 1.locate 2.which 3.grep ...
分类:
其他好文 时间:
2020-04-03 21:55:23
阅读次数:
69
Python正则表达式(3)--匹配开头结尾 字符 功能 ^ 匹配字符串开头 $ 匹配字符串结尾 示例1:$ 需求:匹配163.com的邮箱地址 import re email_list = ["xiaoWang@163.com","xiaoWang@163.comheihei",".comxinz ...
分类:
编程语言 时间:
2020-04-02 22:50:05
阅读次数:
229
题目描述 字符串中只含有括号 (),[],<>,{},判断输入的字符串中括号是否匹配。如果括号有互相包含的形式,从内到外必须是<>,(),[],{},例如。输入: [()] 输出:YES,而输入([]), ([])都应该输出NO。 输入 文件的第一行为一个整数n,表示以下有多少个由括好组成的字符串。 ...
分类:
编程语言 时间:
2020-03-28 20:26:44
阅读次数:
93
Hash 模板 http://xlorpaste.cn/y0xia1 例题 Google Kick Start Round A 题意 有L个单词,现在给定一个字符串S,长度为N. 1 一个单词和S串匹配的方法是: 这个单词和S的一个子串的首字符和尾字符相同,中间的字母种类个数相同,但是顺序随意,求有 ...
分类:
其他好文 时间:
2020-03-28 00:59:16
阅读次数:
67
AC自动机 ~~Accepted~~ Aho Corasick 性质 AC自动机/AC算法 (Aho Corasick automaton),是著名的多模式串匹配算法。 前置知识 1. 字典树( 重要 ) 2. KMP算法(了解Next数组的作用) 典例与算法复杂度分析 典型例题是:给定一个主串 S ...
分类:
编程语言 时间:
2020-03-27 09:11:10
阅读次数:
73
由暴力匹配引入KMP算法 > 暴力匹配算法 问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置。 如果用暴力匹配的思路,并假设现在文本串S匹配到 i 位置,模式串P匹配到 j 位置,则有: 如果当前字符匹配成功(即S[i] == P[j]),则i++,j++,继续匹配下一个字符; 如果失 ...
分类:
编程语言 时间:
2020-03-25 23:48:43
阅读次数:
147
#include<stdio.h>#include<string.h>voidsstring(chara,charb)//将一个字符串整体后移一个单位方便后续计算{intlen,i;a[0]=strlen(b);for(i=1;i<=a[0];i++)a[i]=b[i-1];return;}voidget_next(charT,intnext)//next函数求法运用
分类:
编程语言 时间:
2020-03-23 18:33:23
阅读次数:
91