临街小站


  • 首页

  • 归档

  • 标签

  • 相册

  • 搜索
close
临街小站

KMP笔记

发表于 2016-07-11 | 分类于 algorithm | 阅读次数

文章来源:c_cloud KMP

思想

KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(The Knuth-Morris-Pratt Algorithm,简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息

首先介绍几个算法的术语:

  1. 前缀

前缀指除了最后一个字符以外,一个字符串的全部头部组合

阅读全文 »
临街小站

Matlab学习(五)

发表于 2016-07-11 | 分类于 matlab | 阅读次数

绘图

单变量函数

在 MATLAB 中绘图包含下面三个步骤:

  1. 定义函数

  2. 指定要绘制的函数图形的值范围

  3. 调用 MATLAB 的 plot(x, y)函数

阅读全文 »
临街小站

Matlab学习(四)

发表于 2016-07-10 | 分类于 matlab | 阅读次数

矩阵

矩阵是两维数字数组,要在 MATLAB 创建矩阵,输入的行各元素之间用空格或逗号分隔,行末使用分号标记。

1
2
3
4
5
6
7
8
9
>> A = [-1,6; 7, 11]
A =
-1 6
7 11
>> B = [2,0,1;-1,7,4; 3,0,1]
B =
2 0 1
-1 7 4
3 0 1
阅读全文 »
临街小站

Matlab学习(三)

发表于 2016-07-10 | 分类于 matlab | 阅读次数

文件存储

.mat

在Matlab中,为了方便我们在之后的工作中随时进行中断的工作,我们可以在IDE中通过:

  1. 点击“文件(File)”下接菜单
  2. 选择“保存工作区为(Save Workspace As…)”
  3. 输入文件名
  4. 点击“保存(Save)”按钮

将当前工作状态保存为.mat文件,之后我们就可以随时、随地在任何安装Matlab软件的计算机上使用当前工作状态。

阅读全文 »
临街小站

Matlab学习(二)

发表于 2016-07-08 | 分类于 matlab | 阅读次数

辅助指令

help工具

  • help 目录名 显示指定目录中的所有命令及其函数

  • help lang 将列出与 MATLAB 编程语言的所有命令及其函数

  • help matfun 将列出与数值线性代数有关的所有矩阵函数

  • help elfun 列出所有基本函数

    阅读全文 »
临街小站

Matlab学习

发表于 2016-07-08 | 分类于 matlab | 阅读次数

matlab小序

MALAB译于矩阵实验室MATrix LABoratory是用来提供通往LINPACK 和 EISPACK 矩阵软件包接口的,后来,它渐渐发展成了通用科技计算图视交互系统和程序语言。

MATLAB 的基本数据单位是矩阵 它的指令表达与数学 工程中常用的习惯形式十分相似 比如 矩阵方程 Ax=b 在 MATLAB 中被写成 A*x=b 而若要通过 A,b 求 x 那么只要写 x=A\b 即可。完全不需要对矩阵的乘法和求逆进行编程因此 用MATLAB 解算问题要比用C Fortran 等语言简捷得多。

阅读全文 »
临街小站

多线程刷票

发表于 2016-07-07 | 分类于 python | 阅读次数

需求

最近突然有朋友对投票刷票有需求,正好自己空了下来,就帮他写了个简单的多线程投票脚本。因为不想考虑过多的session、cookie以及post data,所以直接使用了自动化工具Selenium

简单地说,Selenium就是一个通过执行预先设置的Browser的指令,解放双手,提高工作效率。

不同于通用的流行python网络模块,Selenium更像是市面上流行的按键精灵类似的软件,通过设定特定的工作流程,保证任务的完成。任务的实际执行者是Browser本身。

Selenium对网页的request、response、解析等操作都是另外的伪浏览器进程执行,然后将获取的数据返回。而传统的python网络模块则通过python进程,对网页请求、回应。显然网络模块会更加高效,而对于普通人,Selenium的操作更加直观。

阅读全文 »
临街小站

图的遍历

发表于 2016-07-04 | 分类于 algorithm | 阅读次数

一般来讲,图的遍历主要分为深度优先遍历(DFS,Depth-First Traversa)和广度优先遍历(BFS,Breadth-First Traversa)。

DFS

在G中任选一顶点v为初始出发点(源点),则深度优先遍历可定义如下:

首先访问出发点v,并将其标记为已访问过;

依次从v出发搜索v的每个邻接点w。若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。

若此时图中仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至图中所有顶点均已被访问为止。可以看出深度优先遍历是一个递归的过程。

阅读全文 »
1…91011…24
clinjie

clinjie

189 日志
38 分类
69 标签
RSS
github weibo zhihu
Creative Commons
© 2019 clinjie
由 Hexo 强力驱动
主题 - NexT.Muse