自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python:编码与字符串

如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。# -*- coding:utf-8 -*- 1. 字符串1.1 常用的string方法str.strip('x') #消去头尾处,指定字符x,默认是空格str.split(' ',num) #按照指定的分隔符,默认是空格,对str进行切片。其中num可

2016-04-29 10:33:06 758

原创 二分图的最大匹配:匈牙利算法

1. 二分图的匹配问题1.1 二分图简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。 准确地说:把一个图的顶点划分为两个不相交集 U 和 V ,使得每一条边都分别连接U 、 V 中的顶点。如果存在这样的划分,则此图为一个二分图。 二分图的一个等价定义是:不含有「含奇数条边的环」的图。图 1 是一个二分图。为了清晰,我们以后都把它画成图 2 的形式。

2016-04-29 00:56:39 4682

原创 图的最小生成树:Prim算法和Kruskal算法

1. 图的最小生成树生成树的定义:如果连通图G的一个子图是一棵包含G的所有顶点的树,则该子图称为G的生成树。 生成树是连通图的包含图中的所有顶点的极小连通子图。它并不唯一,从不同的顶点出发进行遍历,可以得到不同的生成树。其中,权值最小的树就是最小生成树。关于最小生成树最经典的应用模型就是城市通信线路网最小造价的问题:网络G表示n个城市之间的通信线路(其中顶点表示城市,边表示两个城市之

2016-04-29 00:33:01 14983 1

原创 PAT:二分查找

1010 RadixGiven a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is “yes”, if 6 is a decimal number and 110 is a binary number.Now for any pair of posi

2016-04-27 12:48:45 604

原创 图的遍历:DFS和BFS算法

DFS(深度优先算法)1. 原理概述最基本的DFS是用来解决无向图的遍历问题的。无向图用沿主对角线对称的邻接矩阵存储。DFS算法最基本的代码实现如下:void dfs(int cur)//cur是当前所在的顶点编号{ sum++;//每访问一个顶点,sum+1 if(sum==n) return; for(i=1;i//从1号顶点到n号顶点依次尝试,看哪些

2016-04-16 12:44:58 3416

原创 PAT:图的最短路径

1003 求无向图中最短路径的条数和最大权重和思路:在dj算法的基础上,还要增加两个数组pathNum[]和sum[]。当更新最短路径时,if(dis[j]>(dis[u]+e[u][j])){ dis[j]=(dis[u]+e[u][j]);//正常更新最短路径 pathNum[j]=pathNum[u];//pathNum更新 sum[j]=sum[u]+num[j];/

2016-04-16 10:20:19 613

转载 图的最短路径:Dijkstra、Bellman-Ford、SPFA、Floyd、A*算法

Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,E) 中,假设每条边 E[i] 的长度为 w[i],找到由顶点 V0 到其余各点的最短路径。(单源最短路径)2.算法描述求下图中的1号顶点到2、3、

2016-04-15 21:34:12 10463 1

原创 Python:函数式编程与函数

1. lambda 单行函数lambda允许用户快速定义单行函数,目的是简化用户定义使用函数的过程。func =lambda x: x *2 # 定义lambda函数,通过赋值给func进行调用 func(3) >>> 6lambda参数列表可以包含多个参数,如 lambda x, y: x + y2. map(func,seq1[,seq2])将func作用于seq中的每个元素,并用一个列表

2016-04-05 14:31:19 443

原创 Python:类与结构体

class people: #定义一个类people def _init_(self,name,age,sex): self.Name=name self.Age=age self.Sex=sex def speak(self): #定义一个方法speak print "my name"+self.Name实例化对象:

2016-04-05 14:21:51 63568 2

原创 Python:random模块

random模块用于生成各种随机数,主要的函数有random.random() #生成一个0-1的随机浮点数random.uniform(a,b) #生成一个[a,b]范围内的随机浮点数random.randint(a,b) #生成一个[a,b]范围内的随机整数random.randrange(10,100,2) #在指定范围内,按基数递增的集合中获取一个随机

2016-04-05 13:29:37 299

原创 Python:正则表达式模块

1. 模式语法. #匹配任意除"\n"之外的字符\ #转义字符[...] #字符集,形式诸如[abc]、[a-c]、[^abc],对应的位置可以是字符集中任意字符2. 预定义字符集,可写在[…]中\d #数字[0-9]\D #非数字[^\d]\s #空白字符[\t\r\n\f\v]\S #非空白字符[^\s]\w #单词字符[A-Za-z0

2016-04-05 12:54:10 547

转载 C++:标准IO(输入输出)

发斯蒂芬

2016-04-04 13:42:56 650

原创 PAT:注意事项

1. include相应的头文件PAT是基于IDE的,所以要提交能在IDE上正确运行的程序。必须include相应的头文件,如#include<stdlib.h>#include <iostream>#include<cmath>#include <stack>#include<vector>#include<string>也不要忘了using namespace std;否则不能直接使用

2016-04-04 00:25:32 2955

空空如也

空空如也

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

TA关注的人

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