自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python+Kivy APP开发中文显示问题的解决办法

Windows系统下的解决办法:1.下载字体‘SourceHanSerifCN-Light.ttf’https://source.typekit.com/source-han-serif/cn/#get-the-fonts;2.将字体‘SourceHanSerifCN-Light.ttf’放在Kivy的字体文件夹里,如我的“D:\Python\python3.7\Lib\site-packages\kivy\data\fonts”3.在‘用户名’文件夹里---如我的“C:\Users\chenj

2021-01-03 16:30:45 1163 2

原创 使用VI编辑保存fstab文件

要查看或修改fstab文件:1.输入代码vi /etc/fstab,就打开了fstab文件;打开文件后,是处于不可编辑状态的*2.要修改文件,需要按下键盘上的Insert键底部会出现“-- INSERT – ”的提示*3.使用键盘上的左右上下键,移动光标到需要操作的地方4.修改完成后,再次按下insert键将部会出现“-- REPLACE --”的提示表示,已经替换(修改)文件*5.编辑完成内容后,按下Esc键,接着输入“:wq”,再按回车,就可以保存并退出vi编辑器了6.如果不想对文件进

2020-10-25 14:40:16 7381 3

原创 leetcode之两数之和:哈希表算法与暴力算法的比较(C语言)

暴力算法:两层遍历循环,第一层找出一个i,第二层找出j,如果i+j=target,则返回;复杂度为O(n^2)。哈希表算法:先将数组各数及其索引绑定插入哈希表中,从循环遍历数组nums[i],看target-nums[i]是否在哈希表中,如果哈希表中存在nums[j]==target-nums[i],则nums[i]+nums[j]==target,返回(i,j);遍历数组的复杂度为O(n),从...

2020-03-28 09:38:25 745

原创 pandas中DataFrame数据结构的方法之sort_index

##pd.DataFrame.sort_index##pd.DataFrame.sort_index(self,axis=0,level=None,ascending=True,inplace=False,kind=‘quicksort’,na_position=‘last’,sort_remaining=True,by=None,)Docstring:Sort obje...

2020-01-07 21:14:35 991

原创 Scrapy之3种模拟登陆方法

方法一:通过登陆后的cookies来维持登陆状态,爬取只有登陆后才能爬取的网页,具体方法见https://blog.csdn.net/weixin_43213382/article/details/103219239方法二:通过post方法爬取,将登陆账号等信息通过字典post进去。具体步骤为:a.随意输入账号、密码登陆,在network中找到session,在它的Header里找到Fo...

2019-11-24 16:43:52 245

原创 Scrapy之设置cookies

在spider页面重写start_requests方法,将登陆后的cookies复制过来,并处理成字典格式,在start_requests方法里yield一个请求,将cookies作为参数添加进去即可。关于如何准确获取登陆后的cookies只要是在完成账号登陆后打开的页面,保存的cookies都是一样的,随意复制即可。def start_requests(self): #复制过来的c...

2019-11-23 21:53:58 643

原创 Scrapy之设置随机User-Agent

首先,scrapy爬虫的User-Agent是在下载器中间件中设置的,即middlewares.py文件。具体步骤如下:1.在settings.py中设置User-Agent列表,列表中包含可选的user-agents;2.在middlewares.py中自定义一个类RandomUserAgentMiddleware(名字自取);3.在该类中通过from_crawler方法获取settin...

2019-11-19 22:50:22 661

原创 图的最短路径之Dijkstra算法

```c//---最短路径之Dijkstra算法:从某个源点到其余各顶点的最短路径---//1.选择集合V-S中距离集合S中点最近的点,加入集合S,//2.再通过新加入的点更新从集合S中的点到集合V-S中的点的距离。//P[i]=w表示从源点到点i的最短路径须先从源点到w点,再通过P[w]往前推,即可算出从源点到i点的最短路径经过的所有点#include <stdio.h>...

2019-09-24 22:00:41 266

原创 有向无环图的关键路径算法(修正)

//---关键路径算法---//关键路径:在边表示活动网(AOE-网)中,从开始点到完成点的最长路径。//最早开始时间等于最迟开始时间的活动即为关键活动,e(i)==l(i)。//而活动的最早开始时间等于弧尾结点表示的事件的最早发生时间,e(i)==ve(j)//活动的最迟开始时间等于弧头结点表示的事件的最迟发生时间减去活动所需时间,l(i)==vl(k)-dut(<j,k>)...

2019-09-21 22:59:32 539

原创 有向无环图的拓扑排序

//---拓扑排序算法---//拓扑序列是指顶点活动网(AOV-网)中将活动(即顶点)按发生的先后次序(即从弧尾顶点弧头顶点)进行的一种排列//1.在有向图中选一个没有前驱的顶点且输出之;//2.从图中删除顶点和所有以它为尾的弧;//3.重复上述两步,如果全部顶点已输出,则完成,如果最后图中不存在无前驱的顶点,则图中存在环。#include <stdio.h>#includ...

2019-09-18 22:42:07 549

原创 连通图的关节点算法及双连通分量的输出

//---连通图的关节点寻找算法及输出双连通分量---////连通图的深度优先生成树中关节点特性://1.若生成树的根有两棵或两棵以上的子树,则此根顶点必为关节点,因为图中不存在联结不同子树中顶点的边;//2.若生成树中某个非叶子顶点,其某棵子树的结点均没有指向该结点的祖先的回边,则该结点必为关节点。//双连通分量:去掉任意一个结点都不会改变图的连通性,即不存在关节点//双连通分量算法:...

2019-09-17 21:20:42 587 1

原创 连通图的关节点算法

//---连通图的关节点寻找算法---////连通图的深度优先生成树中关节点特性://1.若生成树的根有两棵或两棵以上的子树,则此根顶点必为关节点,因为图中不存在联结不同子树中顶点的边;//2.若生成树中某个非叶子顶点,其某棵子树的结点均没有指向该结点的祖先的回边,则该结点必为关节点。#include <stdio.h>#include <stdlib.h>#i...

2019-09-08 11:10:51 1638 2

原创 最小生成树算法之克鲁斯卡尔(Kruskal)算法_修改版

//---Kruskal最小生成树算法---////1. 将各弧存放在线性表L中,并通过堆排序将其按弧权值从小到大排序//2.设置集合S,集合中数组表示图中的各个顶点//3.根据线性表L中各弧的顺序,依次选择各弧,通过判断各弧所依附顶点是否在集合S中的同一子集,来判断是否选择该弧为生成树//4.如果弧所依附的顶点分属不同的子集,则弧为生成树的弧,并将两个顶点所在集合并为同一个集合。#in...

2019-09-02 15:46:44 181

原创 最小生成树算法之克鲁斯卡尔(Kruskal)算法

//---Kruskal最小生成树算法---////1. 将各弧存放在线性表L中,并通过堆排序将其按弧权值从小到大排序//2.设置集合S,集合中数组表示图中的各个顶点//3.根据线性表L中各弧的顺序,依次选择各弧,通过判断各弧所依附顶点是否在集合S中的同一子集,来判断是否选择该弧为生成树//4.如果弧所依附的顶点分属不同的子集,则弧为生成树的弧,并将两个顶点所在集合并为同一个集合。#in...

2019-09-01 19:41:49 252

原创 最小生成树算法之普里姆(PRIM)算法

#include <stdio.h>#include <stdlib.h>#include "AdjMatrix.h" //该文件包含了邻接矩阵结构表示的图的创建程序struct{ VertexType adjvex; VRType lowcost;}closedge[MAX_VERTEX_NUM];void MiniSpanTree_PR...

2019-08-30 11:14:06 514

原创 有向图的强连通分量算法之Tarjan算法

//有向图的强连通分量:利用深度优先搜索树求有向图的强连通分量//------Tarjan算法:------\\//(1)设置DFN和LOW两个数组,其中DFN用于按搜索顺序给各个结点盖时间戳,LOW用于表示当前结点所能到达的最前的结点(即DFN/LOW最小)//(2)按深度优先搜索方法遍历,并更新各结点LOW值;//(3)最后判断DFN和LOW值是否相等,相等则该点为后续结点能到达的最前...

2019-08-29 21:12:29 141

原创 有向图的强连通分量---《数据结构C语言版》教材中算法

//有向图的强连通分量:利用深度优先搜索求有向图的强连通分量//---《数据结构C语言版》教材中算法---\\//步骤1:在有向图G上,从某个顶点出发沿以该顶点为尾的弧进行深度优先搜索遍历,//并按其所有邻接点的搜索都完成(即退出DFS函数)的顺序将顶点排列起来//步骤2:在有向图G上,从最后完成搜索的顶点出发,沿着以该顶点为头的弧作逆向的深度优先搜索遍历。#include <st...

2019-08-25 17:02:10 495

原创 有向图的强连通分量---Kosaraju算法

//有向图的强连通分量:利用深度优先搜索求有向图的强连通分量//------Kosaraju算法:------\\//(1)对原图取反,从任意一个顶点开始对反向图进行逆后续DFS遍历//(2)按照逆后续遍历中栈中的顶点出栈顺序,对原图进行DFS遍历,一次DFS遍历中访问的所有顶点都属于同一强连通分量。#include <stdio.h>#include <stdlib....

2019-08-24 16:22:40 425

原创 无向图的生成树和生成森林---孩子兄弟链表表示法

//对于非连通图,每个连通分量中的顶点集,和遍历时走过的边一起构成若干棵生成树,//这些连通分量的生成树组成非连通图的生成森林。//以孩子兄弟链表作为生成森林的存储结构,以下算法生成非连通图的深度优先生成森林。//算法的时间复杂度为遍历算法相同.#include <stdio.h>#include <stdlib.h>#define MAX 20typedef...

2019-08-20 11:22:10 1439

原创 图的广度优先搜索

#include <stdio.h>#include <stdlib.h>#define MAX 20typedef enum {FALSE,TRUE} Boolean;typedef int Status;Boolean visited[MAX];//邻接表结构表示的图#include <limits.h>#define MAX_VERTEX_...

2019-08-18 21:37:00 121

原创 图的深度优先搜索

#include <stdio.h>#include <stdlib.h>#define MAX 20typedef enum {FALSE,TRUE} Boolean;typedef int Status;Boolean visited[MAX];//邻接表结构表示的图#include <limits.h>#define MAX_VERTEX_...

2019-08-18 18:48:34 106

原创 图的表示方法---邻接多重表

//邻接多重表是无向图的另一种链式存储结构,相比较于邻接表,多重链表更易于删除弧等操作//结构上,邻接多重表和邻接表的差别,仅仅在于同一条边在邻接表中用两个结点表示,而在邻接多重表中只有一个结点#include <stdio.h>#include <stdlib.h>#include <limits.h>#define MAX_VERTEX_NUM 2...

2019-08-18 14:43:05 2798

原创 图的表示方法---十字链表

十字链表是有向图的另一种链式存储结构。可以看成是将有向图的邻接表和逆邻接表结合起来得到的一种链表。建立十字链表的时间复杂度和建立邻接表是相同的,十字链表解决了邻接表方便求出度不便求入度的问题。#include <stdio.h>#include <stdlib.h>#include <limits.h>#define MAX_VERTEX_NUM 20...

2019-08-18 11:01:57 1256

原创 图的表示方法---邻接表

在建立邻接表时,若输入的顶点信息即为顶点的编号,则建立邻接表的时间复杂度为O(n+e),否则需要通过查找才能得到顶点在图中位置,则时间复杂度为O(n*e)在邻接表上容易找到任一顶点的第一个邻接点和下一个邻接点,但要判定任意两个顶点之间是否有边,则需要搜索该链表,不及邻接矩阵方便。#include <stdio.h>#include <stdlib.h>#includ...

2019-08-16 10:03:55 439

原创 图的表示法---邻接矩阵

构造一个具有n个顶点和e条边的图的时间复杂度是O(n^2+e*n),其中对邻接矩阵的初始化耗费了O(n^2)的时间#include <stdio.h>#include <stdlib.h>#include <limits.h>typedef int Status;#define OK 1#define ERROR 0typedef int VR...

2019-08-15 14:45:21 328 1

原创 前序遍历线索化二叉树

#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0typedef enum PointerTag {Link,Thread};typedef int Status;typedef struct BiTNode{ char data; struct BiTNode *...

2019-08-08 12:39:59 1208

原创 算法与数据结构考研试题精析-第6章算法设计题70

写一非递归算法求二叉树叶子结点的数量#include <stdio.h>#include <stdlib.h>#define maxsize 100#define OK 1#define ERROR 0typedef int Status;typedef struct Node{ char data; struct Node *lchild...

2019-08-05 16:56:10 175

原创 算法与数据结构考研试题精析-第6章算法设计题60

设计算法求出二叉链表结构二叉树的顺序存储结构。#include <stdio.h>#include <stdlib.h>#define maxsize 100#define OK 1#define ERROR 0typedef int Status;typedef struct Node{ char data; struct Node *l...

2019-08-05 10:38:20 165

原创 算法与数据结构考研试题精析-第6章算法设计题50

已知中序序列和后序序列,写一个建立该二叉树的算法#include <stdio.h>#include <stdlib.h>#define maxsize 20#define OK 1#define ERROR 0typedef int Status;typedef struct Node{ char data; struct Node *l...

2019-08-04 00:06:12 196

原创 算法与数据结构考研试题精析-第6章算法设计题30

在二叉链表表示的二叉树中,增设一个指针域,初值为空,给出算法在不使用堆栈又不破坏二叉树的情况下,前序遍历二叉树。#include <stdio.h>#include <stdlib.h>#define maxsize 20typedef struct Node{ char data; struct Node *lchild,*rchild,*fa...

2019-07-21 23:22:03 177

原创 算法与数据结构考研试题精析-第6章算法设计题25

如果以二叉链表做为存储结构,编写统计二叉树非叶子结点个数的层次遍历算法#include <stdio.h>#include <stdlib.h>#define maxsize 20typedef struct Node{ char data; struct Node *lchild,*rchild;}Node,*BiTree;int Cre...

2019-07-21 20:13:37 168

原创 算法与数据结构考研试题精析-第6章算法设计题20

已知二叉树采用二叉链表存储,设计算法以输出二叉树从根结点到每个叶子结点的路径。#include <stdio.h>#include <stdlib.h>#define maxsize 20typedef struct Node{ char data; struct Node *lchild,*rchild;}Node,*BiTree;int...

2019-07-21 17:22:05 259

原创 算法与数据结构考研试题精析-第6章算法设计题15

以孩子兄弟链表为存储结构,设计递归和非递归算法求树的深度#include <stdio.h>#include <stdlib.h>#define maxsize 20typedef struct Node{ char data; struct Node *firstchild,*nextsibling;}Node,*BiTree;int C...

2019-07-21 14:57:20 121

原创 算法与数据结构考研试题精析-第6章算法设计题11

编写算法由二叉树的动态二叉链表构造出相应的静态二叉链表。答案先通过前序遍历获得静态链表的下标和data域,然后再通过队列和层次遍历获得静态链表的lchild rchild。实际上只通过前序遍历即可。#include <stdio.h>#include <stdlib.h>typedef struct{ char data; int lchild,...

2019-07-04 22:56:11 144

原创 算法与数据结构考研试题精析-第6章算法设计题10

写一非递归算法,将数组转化为二叉链表表示的二叉树#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0#define MAXSIZE 20typedef int Status;typedef struct BiTNode{ char data; struct BiTN...

2019-07-03 23:37:06 169

原创 算法与数据结构考研试题精析-第6章算法设计题8

有n个结点的完全二叉树存放在一维数组A[1…n]中,据此建立一棵用二叉链表表示的二叉树。#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0typedef int Status;typedef struct BiTNode{ int data; struct BiTN...

2019-07-02 22:14:00 480

原创 算法与数据结构考研试题精析-第6章算法设计题1

计算二叉树叶子结点的带权路径长度WPL#include <stdio.h>#include <stdlib.h>typedef struct BiTNode{ char key; int weight; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;int CreateBiTree(B...

2019-07-01 21:33:17 244

原创 四皇后、八皇后棋盘问题

数据与结构第六章第7节“回溯法与树的遍历”中关于四皇后问题//四皇后问题,或八皇后问题,即在棋盘上任何两个棋子都不占据棋盘上的同一行、同一列或同一对角线#include <stdio.h>#include <stdlib.h>#define Failed 0#define Succeed 1#define SIZE 8 //棋盘大小typedef int S...

2019-06-30 16:39:47 1434

原创 同一段代码在VC6上运行和在Codeblocks上运行结果不一致?

同样的一段代码,在VC6上运行(见图1)和在Codeblocks上运行(见图2)结果有差异,而在Codeblocks上调试找问题时,结果却又是正确的了,不知问题出在哪里?#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXWEIGHT 100typedef struct...

2019-06-30 12:06:39 1095

原创 哈夫曼编码树构建及编码求解

#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXWEIGHT 100typedef struct{ int weight; int parent,lchild,rchild;}HTNode,*HuffmanTree;typedef char * *...

2019-06-27 21:40:48 462

空空如也

空空如也

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

TA关注的人

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