自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 正则表达学习笔记

1. 基础^b代表字符串必须以b开头3$代表必须以3结尾.代表任意字符*代表前面字符可以重复任意多次1+代表1至少出现一次(w.{2}w)w与w中间的字符出现2次{3,}最少3次{3,6}最少3次,最多6次import reline = "wuwei123"regex_str = "^w.*3$" if re.match(regex_str, line): print...

2019-07-25 10:22:53 149

原创 Googlebot研究报告

引言以前看别人爬虫的时候,直接设置ROBOTSTXT_OBEY = False就完事了,却不知道那是什么东西。此报告即是对Googlebot相关的研究。工程结构及关键代码图片链接可改进内容1. robots.cc 354使用’strlen(str)> 0’构造来识别空字符串,不如检查:str [0]!=’\ 0’。如果整个字符串不为空,则不必遍历整个字符串。Frombool...

2019-07-21 22:53:39 275

原创 离散数学思维导图 - 集合论,命题逻辑,谓词逻辑,二元关系,特殊关系,图论,树

离散数学思维导图大纲: 预备知识 1.集合论 set 表示方法 大写字母表示 枚举法(显示法) 叙述法(隐式法) 归纳法 递归指定集合法 文氏图解法 几个特殊集合 空集(绝对唯一) 全集(相对唯一) 无限集 等势 一一对应 两个有限集合...

2019-07-03 18:21:49 15625 3

转载 图的遍历 -深度优先与广度优先 - C语言实现

结构体定义参考图的存储深度优先:int vistited[MAX] = {0};void DFS(AdjGraph *G, int v){ ArcNode *p; vistited[v] = 1; printf("%d",v); p = G->adjlist[v].firstarc; while(p!=NULL){ if(vist...

2019-06-23 11:47:22 2102

转载 图的存储 - 邻接矩阵与邻接表 - C语言实现

邻接矩阵:#define MAXV <最大顶点个数>/* 顶点类型 */typedef struct { int no; //顶点编号 InfoType info; //顶点其它信息}VertexType;/* 完整的图邻接矩阵类型 */typedef struct { int edges[MAXV][MAXV]; in...

2019-06-23 11:27:31 1206

原创 排序算法 - 拓扑排序

定义:根据某个集合上定义的一个偏序求出该集合上的全序偏序:若集合X上的关系R是自反的,反对称的和传递的,称R是集合X上的偏序全序:设R是集合X上的偏序关系,如果对于每个 x,y∈X 必有 xRy 或 yRx,则称R是集合X上的全序关系通俗来讲,拓扑排序就是将集合上的元素按某种关系进行排序AOV网的拓扑排序算法流程在AOV网中选取一个没有前驱的顶点v开始遍历输出顶点v删除顶点v...

2019-06-23 09:35:36 276

原创 AOE网与关键路径

AOE网(Activity On Edge Network)是一个有向图:顶点:事件;弧:活动;权:完成该活动所需的时间;源点:工程的开始,入度为0的事件,AOE网只能有一个源点汇点:工程的结束,出度为0的事件,AOE网只能有一个汇点每一事件v表示:以它为弧头的所有活动已经完成每一事件v表示:以它为弧尾的所有活动可以开始例子:上图为一个AOE网有4个事件:v1,v2,v...

2019-06-22 23:38:12 856

转载 最小生成树 - 普里姆算法 Prim - C语言实现

此算法和Dijkstra算法相似。不过Dijkstra每次更新的dis数组是各个顶点到源点的距离;(dis[k]=dis[j]+e[j][k])而Prim算法每次更新的dis数组是各个顶点到生成树的距离;(dis[k]=e[j][k])void Prim(int n,int e[10][10],int dis[10],int book[10]){ int min,i,j,u,v; ...

2019-06-21 10:11:11 424

转载 最小生成树 - Kruskal 算法 - C语言实现

基本思路:先选择最小的边,每次选择后判断有没有回路。struct edge{ int u; int v; int w;};//存储边的关系void Kruskal(){ for(int i=1;i<=m;i++){ //判断一条边的两个顶点是否已经连通,即判断是否已在同一个集合中 if(disjointSetMerge(e[i]...

2019-06-20 22:28:39 895

转载 并查集 - C语言实现

#include <stdio.h>#define MAXSIZE 1000void init(int, int []);int getf(int);void disjointSetMerge(int,int);int f[MAXSIZE] = {0}; //我也不知道如何把递归函数中不用全局变量/*先阅读主函数是一个好习惯*/int main(){ in...

2019-06-20 10:38:50 3115

转载 函数传参 - 交换函数

值传递以经典的交换函数为例:#include <stdio.h>/* 变量x、y为Swap函数的形式参数 */void Swap(int x, int y){ int tmp; tmp = x; x = y; y = tmp; printf("x = %d, y = %d\n", x, y);}int main(void){ ...

2019-06-20 10:09:59 175

原创 最短路径 - 狄克斯拉特算法 Dijkstra - C语言实现

单源最短路径。源点到其余各个顶点的最短路径。例如求1号顶点到其余各点的最短路径,不停更新dis数组即可。基本思想:每次找到离源点最近的一个顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径。/*dis数组初始化*/void disInit(int sourcePoint,int n,int e[10][10],int dis[10]){ for(int i...

2019-06-19 15:45:26 1285

原创 最短路径 - 弗洛伊德算法 Floyd - C语言超简单实现

用一个二维矩阵存储网的信息。若有nnn个顶点,对任意从顶点iii到顶点jjj,权值为e[i][j]e[i][j]e[i][j]。弗洛伊德算法可以看作在在不停更新二维矩阵,核心代码如下:/* 动态规划思想 */for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(e[i][j]>e[i][k]+e...

2019-06-19 10:47:15 2555

原创 对指针作用的理解

定义变量int a; //定义一个整型变量aint *p; //定义了一个整型指针变量p指针有什么用?存储一个地址。p = &a; //整型指针p获取了整型变量a的地址指针p指向了整型变量a。作用:可以用指针p来操作变量a了。例如:{ int a = 10; int *p; p = &a; printf("%d",*p); //输出指...

2019-06-16 16:59:58 368

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除