自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一些好用的网址

在线P图网站:https://www.uupoop.com Node.js的NPM库:https://www.npmjs.com PDF工具:https://smallpdf.com JSON相关(不止JSON):http://www.bejson.com 小书匠markdown:http://soft.xiaoshujiang.com 菜鸟教程:https://www.runoob.c...

2020-06-24 13:07:46 5470

原创 知树的层次遍历序列及每个结点的度,将其实现为孩子兄弟表示法

/** * 知树的层次遍历序列及每个结点的度,将其实现为孩子兄弟表示法 * 当前结点度为孩子的个数,除了第一个孩子作为当前结点的左孩子,当前结点第n(n > 0)个孩子的右孩子为当前结点第n + 1(n + 1 < degree)个孩子 * 除根结点外,所有结点的右孩子在其父结点时已经处理完毕,当前结点只需要处理左孩子和孩子的右结点 */ void cp(Node*[] node, int[] degree, int n) { //TODO: 先将每个结点的左右孩子指向为NULL int

2020-06-05 09:30:05 1192

原创 满二叉树知前序求后序

/** * 满二叉树的根结点把二叉树划分为两个结点数量相同的子树,以此类推 */ Elem stack[MAX]; int top = -1; void preToPost(Elem e[], int s, int t) { if(s > t) return; stack[++top] = e[s]; preToPost(e, (s + t)/2 + 1, t); preToPo...

2020-04-30 15:45:29 399

原创 层次遍历获取二叉树的宽度

/** * 2020-04-30 * 当第n层的最后一个结点被访问时,第n+1层的最后一个结点已经入队 */ int getWidthOfBinTree(BTNode T) { if(!T) return; BTNode Q[MAX], last == T; int r, f, max, max_tmp; r = f = max= max_tmp = 0; Q[++r] = T; w...

2020-04-30 13:14:17 1929 1

原创 二叉树的后序非递归及使用后序获取两个接点的第一个共同祖先

//2020-04-30 //注意c的结构体赋值并非是传递结构体的引用(指针) //js和Java写多了容易漏掉这个东西 #include<stdio.h> #include<stdlib.h> #define MAX 100 #define LEFT 0 #define RIGHT 1 typedef int Elem; typedef struct BTNode {...

2020-04-30 11:50:04 291 1

原创 js函数同步问题

let i = 1; //模拟数据库操作,因此时间不确定 //使用setInterval时,两次f1执行时内部的异步回调无保证执行顺序 function f1() { setTimeout(() => { process.stdout.write(i + ' '); setTimeout(() => { i++; }, Number.parseInt(Math.r...

2020-04-01 12:02:29 1519

原创 js比较两个数组中的元素是否相等

arr1.sort().toString() === arr2.sort().toString();

2019-12-09 14:47:18 3742

原创 JS中的switch用法

记录一下这种用法,可在case语句后做简单的判断操作 switch(true) { case item.TOEICSCORE < 250: countless250++; break; case item.TOEICSCORE >= 250 && item.TOEICSCO...

2019-11-25 10:31:25 1302

原创 docker rpm 安装

软件下载地址:https://download.docker.com 使用rpm安装时,需要的以来都在当前rpm目录下,不要瞎找

2019-10-30 23:23:51 344

原创 linux笔记

Cent OS 区分字母大小写,所有可识别的东西均已文件形式表示 命令行修改基本是临时生效,要永久修改需要修改配置文件 不以后缀名识别文件类型,文件类型是为了便于程序员识别 所有存储设备需要挂载才能使用 带空格的文件和目录在操作时用引号包含起来 129.28.78.146 基础知识 1.配置域名服务器(不一定能成功,可能需要自己配置ip) (1)修改/etc/resolv.conf,在里面添加:n...

2019-10-20 20:39:28 182

原创 CentOS7.5源码包安装git编译时报错

报错详细信息: /usr/bin/perl Makefile.PL PREFIX='/usr/software/git' INSTALL_BASE='' --localedir='/usr/software/git/share/locale' Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/pe...

2019-10-20 20:38:59 325

原创 CommonJS及其module.exports和exports

//fileName is fuckhim exports.a = xx; exports.b = yy; //fileName is fuckyou module.exports = yy; const fuckhim= require('fuckhim'); const fuckyou= require('fuckyou'); 每个模块文件为一个module对象,大概可以认为像下面这样 ...

2019-10-11 01:05:16 534

原创 express-session

前言 chrome控制台的cookie管理中,会比过期的实际时间少8个小时,但左上角中的cookie过期时间显示正常,而且cookie的过期时间也正常。 出现场景: 设置cookie的maxAge值,expire设置是否会出现这种情况,未知,但我觉得不会 ...

2019-10-11 00:07:12 312

原创 文法

文章目录文法基本概念文法的形式定义 文法 基本概念 符号:字母、数字、标点… 字母表∑:一个有穷符号集合*(比如ASCII码就是一个字母表)* 字母表的乘积 ∑1∑2 = { ab | a∈∑1,b∈∑2} 字母表的n次幂 ∑0 = ∅ Σn = Σn-1 * Σ,n > 1 字母表Σ的正闭包 Σ+ = Σ ∪ Σ2 ∪ Σ3… 可以看做是len = 1、2、...n,的字...

2019-10-08 14:42:25 344

原创 请将磁盘插入"U盘",无法对raw系统使用该命令

MotherFucker 问题出现的场景:   垃圾windows10官网的MediaCreationTool制作U盘启动盘时   花了老子无数时间,还重买了个U盘,结果出现同样的问题,老子百度烂了都没找这是什么原因,最后偶然知道[raw文件系统]( ...

2019-09-25 00:46:05 1191 1

原创 git入门

文章目录git的基本概念初始化仓库设置签名形式辨析签名级别跟踪文件查看历史版本前进或后退版本恢复被完全 删除的文件查看本地库与工作区的差异其他命令tips分支查看分支创建分支切换分支合并分支冲突解决远程仓库推送到远程仓库步骤提交本地代码从已存在的仓库中clone项目到本地从远端拉取变更tips跨团队协作`fork`操作SSH免密登录步骤本地操作远程仓库操作git文件管理机制分支领先 [^1]参考:...

2019-09-24 15:14:04 564 3

原创 十字链表的实现

/* *2018.9.12 17:09 *十字链表的实现 *注意rhead和chead都是顺序存储的 *其中的down和right并不指向某个结点 */ #include<stdio.h> #include<stdlib.h> #define COLUMN 5 typedef struct Node{ int r, c; int e; struct Node *d...

2019-09-20 10:49:36 828

原创 二叉树的非递归形式的前、中、后遍历以及层次遍历

/** *2018.09.14 17:37 *二叉树的遍历 not recursion *先根,中根,后根,层次 */ #include<stdio.h> #define MAX 100 typedef struct BTNode { int e; struct BTNode *rchild, *lchild; }BTNode; void preOrder(BTNode *p...

2019-09-20 10:49:27 161

原创 二叉树中求值为k的结点的层数

/** *2018.10.24 14:47 *二叉树中求值为k的结点的层数 */ #include<stdio.h> #define MAX 100 typedef char Elem; typedef struct BTNode{ Elem e; struct BTNode* lchild; struct BTNode* rchild; }BTNode; int ge...

2019-09-20 10:49:17 565

原创 赫夫曼编码

/** *2018.09.17 16:09 *赫夫曼编码 */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<stdbool.h> typedef struct HuffmanTree { int weight; int parent, lchild, r...

2019-09-20 10:49:06 138

原创 赫夫曼编码(从根结点开始编码)

/** *2018.09.18 14:09 *赫夫曼编码(从根结点开始编码) */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<stdbool.h> typedef struct HuffmanTree { int weight; int parent, ...

2019-09-20 10:49:00 593

原创 线索二叉树的建立及遍历(中序)

/** *2018.09.16 12:30 *线索二叉树的建立及遍历(中序) */ #include<stdio.h> #define MAX 100 typedef struct BTNode { int e; struct BTNode *rchild, *lchild; int ltag, rtag; }BTNode; void inThread(BTNode *,...

2019-09-20 10:48:52 755

原创 根据前序和中序唯一生成一颗二叉树

/** *2018.10.17 18:06 *根据前序和中序唯一生成一颗二叉树 */ #include<stdio.h> #define MAX 100 typedef char Elem; typedef struct BTNode{ Elem data; struct BTNode *lchild; struct BTNode *rchild; }BTNode; B...

2019-09-20 10:48:32 528

原创 前序满二叉树转化为后序满二叉树(递归)

/** *2018.10.24 13:51 *前序满二叉树转化为后序满二叉树 */ #include<stdio.h> #define MAX 100 void preToPost(char [], int ,int ,char [], int ,int); int main(void) { char pre[] = {'A','B','D','H','I','E','J...

2019-09-20 10:48:16 720

原创 二叉树中求根节点到每个叶子结点的路径

/** *2018.10.25 21:32 *二叉树中求根节点到每个叶子结点的路径 */ #include<stdio.h> #define MAX 100 typedef char Elem; typedef struct BTNode{ Elem e; struct BTNode* lchild; struct BTNode* rchild; }BTNode; vo...

2019-09-20 10:48:08 5504 3

原创 拓扑排序

/** *2018.9.30 15:28 *Topological *拓扑排序,用于关键路径的算法中,判断是否有环 */ #include<stdio.h> #define MAX 100 typedef struct ArcNode{ int adjvex; struct ArcNode *next; }ArcNode; typedef struct Vertex { ...

2019-09-19 23:00:56 178

原创 弗洛伊德算法

/** *2018.9.30 10:06 *floyd最短路径算法(任意两点间的最短路径,与dijkstra算法都适用于连通图) *path保存从某点a到某点b的下一个顶点的标号 */ #include<stdio.h> #define MAX 100 //表示两点之间没有路径 #define MAX_WEIGHT 1000 typedef struct Matrix { cha...

2019-09-19 22:59:35 322

原创 迪杰斯特拉算法

/** *2018.9.28 22:53 *迪杰斯特拉算法 *求源点到其余所有点的最短路径 *核心思想:cost数组表示源点到该点的距离(权重之和),path表示源点到该点的中间顶点 *set表示该点是否是否已经找到最短路径 *1.初始化cost数组(源点到各点的直接距离,路径存在则path[i] = source) set每个元素初始化为0 *2.将源点的path设置为-1,表示没有路径,并s...

2019-09-19 22:58:53 235

原创 深度优先搜索

/** *2018.09.24 14:10 *DFS *以邻接矩阵作为图的存储结构 */ #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 100 typedef struct Edge { struct Edge *nextEdge; int weight, sn...

2019-09-19 22:58:03 177

原创 广度优先搜索

/** *2018.9.24 20.00 *广度优先搜索(Broaden First Search) *1.先将当前顶点访问,将其序号进队 *2.判断队列是否为空 *3.不为空:队顶序号出队,访问其未被访问的邻接点, * 然后将其邻接点(当前未被访问到被访问的顶点)序号入队 *4.3中顶点的邻接点访问完成以后进入下一次出队访问中,直到队空 * *tips:队列中保存的是已被访问过的顶点的序号(是...

2019-09-19 22:57:31 158

原创 静态链表的实现

/** *2018-8-23 21:35 *静态链表的实现 *数组中第一个结点表示备用链表的第一个结点 *数组中最后一个结点表示链表的第一个结点 *当next域为0时均代表到了当前链表的结尾,因此有两个数组单元(0与MAX-1)无法存储目标数据 * */ #include<stdio.h> #define MAX 10 //此时静态链表中只能存储8个元素 typedef stru...

2019-09-19 22:56:44 202

原创 一般模式匹配算法改进版

/* *2018.08.29 13:32 *简单模式匹配 */ #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct { char *str; int length; }String; int patternMatching( String *pattern,...

2019-09-19 22:55:28 193

原创 一般模式匹配算法

/* *2018.08.29 13:32 *简单模式匹配 */ #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct { char *str; int length; }String; int patternMatching(const String const...

2019-09-19 22:54:36 234

原创 直接插入排序

/** *2018.10.01 22:22 *直接插入排序 */ #include<stdio.h> #define MAX 100 void directInsertSort(int array[], int n); int main(void) { int array[] = {0,2,6,9,5,2,1,5,7,9,2,4}; directInsertSort(ar...

2019-09-19 22:53:37 148

原创 快速排序

#include<stdio.h> int partition(int array[], int low , int high); int quickSort(int array[], int low , int high); int main() { int array[] = {1,2,6,9,7,41,5,787,56,9878,7456,7894,689,77}; ...

2019-09-19 22:52:08 124

原创 KMP算法

/* *2018.08.30 12:35 *KMP算法 */ #include<stdio.h> #include<stdlib.h> #include<string.h> //长度不包含空字符 typedef struct { char *str; int length; }String; void getNext(String *sub, int...

2019-09-19 22:50:16 208 3

原创 async/await函数

基本概念   将async和await看作命令   async/await就是generator函数的语法糖,但对generator函数有部分改进: generator函数执行时返回的是一个Iterator对象,而async/await立即返回一个Promise对象,相当于能够将函数内部的多个异步操作封装成为一个Promise对象。 async/await内部自带执行器,也就是调用后会自动执行,...

2019-09-13 14:59:02 1960

原创 Docker容器:container

基本概念   容器是镜像的运行实例,一般来说,镜像是一个只读文件,而容器运行时会带有可写的文件层。 基础命令 新建容器   command: docker container create [options] imageName [command] [arg…]   options: docker container create --help   根据本地已经存在的镜像来创建容器,如果本地镜像...

2019-08-27 15:13:58 396

原创 docker镜像:image

基本概念 镜像: 在 Docker 的术语里,一个只读层被称为镜像,一个镜像是永久不会变的,由于镜像不 可写,所以镜像是无状态的. 父镜像: 每一个镜像都可能依赖于由一个或多个下层的组成的另一个镜像。我们有时说,下层那个 镜像是上层镜像的父镜像。 基础镜像: 一个没有任何父镜像的镜像,谓之基础镜像。 常用命令 imageName一般都可以使用imageID去替换 获取镜像 docker...

2019-08-23 11:42:06 270

原创 Generator函数

重要概念 1.Generator函数执行后,函数并不会主动往下执行任意一个字符,而是返回一个指向内部状态的指针对象,是一个遍历器对象(Iterator Object) 2.想要函数继续执行,必须要在函数执行时返回的对象上调用next()方法: 注意: 在调用next()后,函数会一直执行到包含yield的表达式,此时,在这个表达式中,会首先执行yield后的表达式(子表达式),并将其作为n...

2019-08-20 23:55:40 240

空空如也

空空如也

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

TA关注的人

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