自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 正则表达式

借助正则表达式根据相应格式可以快速的爬取特征数据和元素 需要注意的使,一些元字符不会被爬取1. “.”匹配除了换行符之外的任何单个字符语法格式为.元素匹配到该个元素及该元素之前的一个元素content='''测试开发工程师〈C++ / python〉上海墨鹊数码科技有限公司上海-潏东新区2.5万/每月02-18未满员Python3开发工程师上海德拓信息技术股份有限公司上海-徐汇区1.3万/每月02-18剩余11人python开发工程师上海优似腰软件开发有限公司上海-浦东新区..

2021-09-14 11:25:30 653

原创 Python字符串的操作

1.字符串驻留机制在python中内容相同的字符串进行驻留,节省创建和销毁对象所需的时间。2.大小写转换upper()小写转大写lower()大写转小写swapcase()大小写互换capitalize()首字母转为大写,其他字母小写title()将每个单词第一个字母转为大写,其他字母转为小写3.字符串的查找find()从0开始正向查找字符串,未找到返回-1index()正向查找,未找到报错rfind()和rindex()从-1开始逆向查找4.字符串.

2021-09-12 14:41:28 118

原创 列表和元组

目录1.序列及其基本操作(1)索引(2)切片(3)加法(4)乘法(5)序列的查找(6)序列中还提供的一些函数2.列表(1)列表的创建(2)列表的遍历和输出(3)列表的增删改(4)列表的推导式生成指定范围的数值列表利用已有列表生成新列表3.元组1.序列及其基本操作Python中定义了一系列的被称为序列的数据结构,包括列表,元组,集合,字典和字符串等。他们有一些通用的操作,例如列表和元组都支持索引,切片和相加。它们与其它语言中的数组类似,.

2021-09-11 14:31:34 131

原创 css伪类和伪元素

在网页中往往有些信息不能被选择器选中,比如CSS没有“光标点击”“文档首字母”之类的选择器,因此引入了伪类和伪元素来解决这些问题。伪类和伪元素的区别为(1)伪类的操作对象为文档树中已有的元素,而伪元素操作的是文档数之外的元素。(2)一般来说伪类使用“:”,伪元素使用“::”双冒号,但大部分使用双冒号的伪元素也可以被浏览器识别。伪类用单冒号" : "表示伪类,表示CSS中已经定义好的,可以直接使用的某种属性,也可以理解为某种情况下的样式,或一种伪装的class类常用的伪类如下-h

2021-08-28 19:20:52 166

原创 CSS基础

CSS即层叠样式表,可以将html构建的网页进行丰富和美化,它的优势主要有(1)格式和结构分离(2)精确控制整个页面的布局(3)可以实现多个页面的同时更新CSS定义的基本语法CSS的定义主要由选择符,属性和属性值组成p/*选择器*/ { color: red;/*属性和属性值*/ font-size: 123px;}其中属性和属性值用冒号隔开,属性值后面要加分号以将每条属性分开(定义最后一个属性的时候可以不加,但每条语句后.

2021-08-24 18:08:21 376

原创 图的应用(最短路径问题)

单源最短路径单源最短路径问题可以用迪杰斯特拉算法解决,具体步骤与普利姆算法类似,不同的是在最短路径问题中加入了辅助数组中储存每个点的直接前驱和当前的最短路径长度,以及判断每个点是否被加入路径中。迪杰斯特拉算法的具体步骤如下(1)初始时,S只包含起点s;U包含除s外的其他顶点,且U中顶点的距离为"起点s到该顶点的距离"[例如,U中顶点v的距离为(s,v)的长度,然后s和v不相邻,则v的距离为∞]。(2)从U中选出"距离最短的顶点k",并将顶点k加入到S中;同时,从U中移除顶点k。(3..

2021-08-21 12:24:44 394

原创 图的应用(最小生成树)

借助图求最小生成树在多个城市之间建立通讯网时,可能的选项有很多,当在每个城市之间建立通信网的成本不同时,应当找到一个合适的选项以建立最合理的通信网,这就是最小生成树,也就是连接图中所有点的最短路径。求最小生成树的方法大多利用了一种叫MST的性质,即假设N = (V,{ E })是一个连通网,U 是顶点集V的一个非空子集。若(u , v )是一条具有最小权值(代价)的边,其中u∈U, v∈V - U,则必存在一棵包含边(u,v)的最小生成树。求最小生成树的方法主要有两种,普利姆算法,也被称为.

2021-08-20 18:57:40 287

原创 图的遍历(bfs和dfs)

1.深度优先搜索深度优先搜索遍历与树的先序遍历类似,从某个点出发,寻找其第一个未访问过的邻接点,访问该点并以该点为起点寻找其第一个未访问过的邻接点,同时申请一个一维数组,对每一个点若其已经被访问过则将该点在数组中对应的值置为1。这个过程通过递归来实现若图借助邻接矩阵法表示,dfs的实现代码如下void DFS(AMGraph G,int v)//从第几个点开始搜索 { cout<<G.vexs[v]<<endl; visited[v]=1; for(int i=

2021-08-18 18:53:30 181

原创 马踏棋盘算法(dfs)

算法背景:在国际象棋的8*8棋盘上放置一匹马,马可以以日字型的形式在棋盘上移动,寻找一条马能够踏遍整张棋盘的路径#include <iostream>using namespace std;//定义棋盘#define X 8#define Y 8int chess [X][Y];//找到下一个可以走的位置,count表示马可能走的位置对应的情况的序号int nextxy(int &x,int &y,int count) { switch(count)

2021-08-18 17:51:05 446

原创 图的存储结构

图的存储结构1.邻接矩阵表示法邻接矩阵可以表示顶点之间的关系,可以借助二维数组表示,对于无向图若两点之间的边存在,则该位置的值为1,反之则为0;对于有向图还需要考虑入点和出点的问题,若一条边从 i 点出发进入 j 点,则 a [ i ][ j ]=1,而 a [ j ][ i ]仍为0。采用邻接矩阵表示法创建图时,用一个二维数组储存边,再用一个一维数组储存点的名称和边的权值即可。下面以创建无向网为例#include <iostream>#include <string&

2021-08-15 21:18:58 283

原创 哈夫曼树和哈夫曼编码

哈夫曼树哈夫曼树是一类带权路径最短的树,构造方法是1.根据已给的权值构造一系列只有根结点的二叉树,这些二叉树构成森林。2.不断地在森林中寻找权值最小的两棵树,将两棵树的根结点作为一个新结点的左右儿子,新生成一棵树,并将新树继续加入森林之中。3.将挑出来的权值最小的两棵树从森林中删除。重复上述过程,直到森林中只有一棵树,这棵树就是哈夫曼树,它的带权路径长度最小。#include<iostream>using namespace std;typedef struct{

2021-08-12 17:29:08 278

原创 树和二叉树

目录树的定义树的存储结构树的定义树是一种重要的数据结构,它是由n个结点的有限集,对于非空的树(1)有且仅有一个称之为根的结点(2)任意一个结点下面可以接m个互不相交的有限集,称这为这棵树的子树。对于树中的每个结点,它的子结点有且仅有两个或不存在子结点,这棵树就可以被称为二叉树。而二叉树又被分为满二叉树,完全二叉树,非完全二叉树。1.满二叉树每一层上的结点数都是最大结点数。2.完全二叉树若一个二叉树深度为k,结点数为n,且从1到n的每个结点都与深度为k的完全

2021-08-10 17:06:57 103

原创 借助kmp算法实现快速求字符串的相同子串

#include <iostream>#include <algorithm>#include <string>using namespace std;int next[1000000],zhui[1000000];void get_next(string T,int next[]){ int i=0,j=-1; next[0]=-1; while(i<T.length()-1) { if(j==-1||T[i]==T[j]) { .

2021-08-07 15:31:21 123

原创 栈及其基本应用

栈以其先进先出的特性在算法中有很多的应用,其中顺序栈一般被使用的更多(不用写next指针直接用数组就可以定义),以下为顺序栈的存储结构#define maxsize 100typedef struct{ int *base; int *top; int stacksize;}sqstack;借助top指针我们可以实现对栈中元素的增删查改等基本操作。int pop(stack &s,int &e)//出栈{ if(s.top==s.base)...

2021-08-01 19:50:15 222

原创 高精度数的运算问题

高精度数的运算,就是将很大的数(爆int甚至long long)存放在数组中进行运算,难点主要在于进位,借助字符串加法可以较为简单的解决。 下面来看基础的高精度数加法。string add(string str1,string str2){ int len1,len2; int i,j; len1=str1.length(),len2=str2.length(); if(len1!=len2)//为较短的字符串补0 { if(len1>len2) { for...

2021-08-01 17:58:36 135

空空如也

空空如也

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

TA关注的人

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