自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 curl -sSL https://get.rvm.io | bash -s stable出现 curl: (7) couldn‘t connect to host

curl -sSL https://get.rvm.io | bash -s stable出现Connecting to raw.githubusercontent.com failed: Connection refused 拒绝连接对于这样的错误(主机不可达)先检查端口是否开启,我的是本地虚拟机,防火墙已关闭,无需管理端口了;就去配置hosts解析sudo vim /etc/hosts#绑定host199.232.28.133 raw.githubusercontent.com然后再去执行如

2020-08-17 10:41:13 5047 1

原创 数据结构之图的拓扑排序和关键路径

拓扑排序百度百科上对拓扑排序的解释:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。图的拓扑排序是解决工程能否顺序执行。...

2019-10-07 00:46:27 989

原创 数据结构之图的最短路径

图的最短路径迪杰斯特拉(Dijkstra)算法迪杰斯特拉算法是计算无向图或有向图的最短路径,而且是运用了深度遍历的方法来计算的。其中数组 Patharc[MAXVEX] 用来存储最短路径中每个顶点的下标ShortPathTable[MAXVEX] 用来存放起始顶点到各顶点最短路径的权值和Final[k] 用来标记顶点 k 存在于最短路径的顶点集中进行简单的演示先来张无向图...

2019-09-29 23:33:48 1144

原创 解决java web项目运行时出现的java.lang.NoClassDefFoundError错误

关于在运行java web项目运行时出现的java.lang.NoClassDefFoundError错误首先我在 javaee 下创建了一个 Dynamic Web Project 项目,先在eclipse中导入我需要的包,如下图用 eclip + tomcat + SQL 写好登录小demo后,开始运行,运行成功此时,非常开心的输入 SQL 中的用户名和密码样例进行登录,但...

2019-09-27 20:43:22 2700 3

原创 图的最小生成树之普里姆和克鲁斯卡尔算法

普里姆(Prim)和克鲁斯卡尔(Kruskal)算法这两种算法都是来求图的最小生成树,先来张图的图片吧(来源于书上)普里姆算法从图的一个顶点出发,寻找到与该顶点构成的权值最小的邻接顶点,然后将该邻接顶点存放到,一该顶点数字标识符为索引的数组下,且将读到的权值存入权值数组中(无论有无权值)来标记顶点已加入生成树中;就这样依次循环。该算法中由于循环嵌套非常明显,经过估算其时间复杂度为 ...

2019-09-18 23:20:37 2290

原创 编译原理(一)

编译原理(一)最近在学习编译原理这一门课程,顺便来对所学知识进行一下回忆开篇翻译程序和编译程序翻译程序:翻译不就和中英互译很像吗?这样一想,那翻译可以用 JAVA 版的 Hello World 程序翻译为 C++ 版的 Hello World 解释,这解释应该还可以吧,也是一种语言翻译成另一种语言。编译程序:这个就相对复杂一些,但也有翻译程序的影子;编译程序是将高级语言作为源程序...

2019-09-17 23:57:46 161

原创 数据结构之图的创建以及深度和广度优先遍历

图的存储结构图这种结构想想就复杂,图中既有顶点还有两顶点构成的边,依靠简单的顺序存储结构是无法来表达的。因此就有了邻接矩阵存储邻接表存储邻接矩阵用矩阵来存储图,想想就是二维数组啦;不过只用二维数组来存储元素来说,如果这些元素是字符,那岂不是很麻烦,如果是将其转换为数字关系来存储会非常方便;于是就另需要一个一维数组来存储这些元素,用这些元素对应的数组的索引来表示图的关系.先来看...

2019-09-07 23:01:44 1972

原创 数据结构之线索二叉树

线索二叉树在二叉树的前、中、后序三种遍历出来的树的结点,将其每一种遍历出现的结果换个角度将其排列成一个线性序列,再细看,这些这些线性序列中的每一个元素(结点)都有且仅有一个前驱结点和后继结点。而且更重要的是二叉树的每个叶子结点的左右指针都是空的,是不是觉得不够节约,那么综合上述及其他因素,就有了线索二叉树。先看看原始的二叉树的图再来看看将上图线索化后的图(中序遍历版)讲一讲二...

2019-08-31 00:02:52 173

原创 二叉树三种遍历的递归和非递归版本

二叉树(书上定义)定义:二叉树(Binary Tree)是包含n个节点的有限集合,该集合或者为空集(此时,二叉树称为空树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。这二叉树就是树的一种特殊结构,特殊在一个结点最多只能有两个子结点特殊二叉树斜树定义:所有结点都只有左子树的二叉树叫左斜树,所有结点都只有右子树的二叉树叫右斜树,这两者...

2019-08-28 00:26:34 251

原创 数据结构之树的存储结构

树树是一种一对多的数据结构,这个一对多很好解释,就比如一只狗妈妈,会有多只小奶狗,这不就有一对多的意思吗!树的根节点有且只有一个,就比如小奶狗们只有一个亲狗妈。 那么图上的 B C D E 都是树的根节点 A 的孩子; 总之,树就是有很多结点构成,只不过这些结点在树中会有不同的称呼,来分析一下下图 度----结点拥有的子树数称为结点的度, 度为 0 的结点称为树...

2019-08-28 00:23:37 328

原创 数据结构之链队列(c语言实现)

队列的链式存储——链队列话说链栈有一个栈顶指针;而队列和栈是有差别的,队列只能一头进另一头出,而链队列的进出口都有警卫把守,分别是队头指针(front)大哥和队尾指针(rear)小弟,有的剧情会是这样:大哥躺在椅子上小弟帮大哥办事,那么这头指针大哥就是在队的头部始终不动,稳如狗,而尾指针小弟就随着队列有元素入队,尾指针就要往右移动。小弟都是这样,再累也不怕。来看一看大哥和小弟的生活图...

2019-08-16 22:45:06 371

原创 数据结构之循环队列(c语言实现)

队列——循环队列一般队列的顺序存储如图这种队列顺序存储和插入元素用头插法的顺序表的顺序存储简直一模一样,不过在顺序表的顺序存储的数组的有值部分的最右边加一个对标记(图中多了一个标记),即可。循环队列会更加方便入队和出队,不过作为顺序存储,循环队列面临着数组可能会溢出的问题。还是来看看,循环队列的图吧。循环队列的抽象数据类型> init_Queue(&Q); ...

2019-08-14 23:21:14 1187

原创 栈的应用之四则表达式中缀转后缀(c语言实现)

栈的应用——四则表达式中缀转后缀#include <stdio.h>#include <stdlib.h>#include <string.h>typedef char ElemType;typedef struct StackNode{ ElemType data; struct StackNode *next;}Stack...

2019-08-14 22:09:37 345

原创 数据结构之栈的链式存储(c语言实现)

栈的链式存储——链栈链栈似乎和单链表有着不可告人的“血缘”关系,想一想都是线性结构,关系是摆脱不鸟的;先看一个来自《大话数据结构》一书中的一图:让咋们把头向右旋转 90° (不要维持太久),是不是惊讶到不就是抛弃了头节点的单链表吗!那么,这关系是不是很明显了。不过为了方便链栈定义的结构体在单链表上的定义做了改动,改动后如下typedef char ElemType;typ...

2019-08-12 22:33:33 1009

原创 数据结构之栈的顺序存储(c语言实现)

栈的顺序存储栈属于线性结构,所以栈的顺序存储和顺序表的顺序存储以及链式储存有点相似。《大话数据结构》上解释道:栈是限定仅在表尾进行插入和删除操作的线性表在栈中允许插入和删除的一端称为栈顶,那么另一端称为栈底。栈的操作是先进后出。来个栈的相关图栈的顺序存储的结构体的定义typedef struct{ SElemType data[MAXSIZE]; ...

2019-08-09 22:59:08 807

原创 数据结构之双向链表(c语言实现)

双向链表想来个维基百科上的解释:双向链表,又稱為双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。图片双向循环链表是结合了单链表和单循环链表,也就是将双链表的头和尾指针指向的 NULL 改为相互指向,即可;且判断条件克根据单循环链表以及双链表来做小改动关于双链表的插入和删...

2019-08-07 23:33:07 360

原创 数据结构之循环链表(c语言实现)

循环链表形成:将单链表中的尾节点的指针端指向头节点,这样整个单链表形成了一个环,因此称为单循环链表,也叫循环链表。来个空表和非空表的图循环链表的插入和删除和单链表很相似,就不详细介绍了再来个合并 rearA 和 rearB 两个循环链表的图代码篇#include <stdio.h>#include <stdlib.h>typedef int E...

2019-08-06 22:43:24 3002

原创 数据结构之静态链表(c语言实现)

#单链表之静态链表静态链表是没有指针的 “单链表” ,它用数组进行描述先来个空的静态链表: 此表的右上方的小方框就类似与指针了,只是把它作为了游标 cur ;静态链表中的第一个元素和最后一个元素作为特殊处理,且最后一个元素类似于单链表中的头节点。不断插入元素后,最后一个元素的游标就将存入第一个元素的数组下标接着来一个已经插入了几个元素的静态链表插入元素后静态链表就...

2019-08-04 00:07:37 367

原创 数据结构之单链表

这次介绍一下线性表的链式存储——单链表来个关于链式存储的详细图关于链表的插入和删除的图就不贴出来了,直接上代码#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct Node{ ElemType data; struct Node *next;...

2019-07-31 23:52:54 93

原创 数据结构之线性表顺序存储

先给出书上关于顺序存储定义线性表的顺序存储结构(先称它顺序表),指的是用一段地址连续的存储单元依次存储线性表的数据元素就拿数组来说吧,以长度为 100 的数组,从它的开始连续的存储数据,其中那段存储了数据部分随着存入的数据增多,其长度也在变化。顺序表的结构体定义如下typedef int ElemType;typedef struct SqList{ ElemType da...

2019-07-24 00:47:39 115

原创 数据结构之开场白(Data Structure--Prologue)

就来谈谈数据结构的两种分法:逻辑结构和物理结构逻辑结构定义:指数据对象中数据元素之间的相互关系集合结构集合结构中的数据元素只有一种关系——属于同一个集合(但是不是gay)就比如数学中的集合: 线性结构线性结构中的数据元素之间是一对一的关系见图树形结构树形结构中的数据元素之间存在一对多的层次关系见图4. 图形结构- **图形结构中的数据...

2019-07-24 00:44:47 291

原创 数的计数(加强版)

数的计数(加强版) 描述先输入一个自然数n(n≤3000000),然后对此自然数按照如下方法进行处理 1·不作任何处理: 2·在它的左边加上一个自然数,但该自然数不能超过原数的一半; 3·加上数后,继续按此规则进行处理,直到不能再而 自然数为止。 ...

2019-07-16 13:54:42 587

原创 排序算法总结

排序冒泡排序冒泡排序就是每次比较两个元素;冒泡排序对 n 个数需要 O(n^2) 的比较次数;对于 n 比较大的话,效率会非常的低,但是稳定,适用于教学。图片演示 void bubbleSort(int a[], int len) { int i, j; int temp; //临时值 for...

2019-06-27 17:13:56 556

原创 我要通过

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbT...

2019-06-12 20:10:29 103

原创 c语言遇到的问题

关于 getchar() 的使用getchar() 是处理屏幕上输入的字符或整数(每次只读取一个),如果输出用 %c 则输出其原始数据,若用 %d 输出对应的ASCII码。 char a[50]; t = 0; a[t] = getchar(); printf ("%c",a[t]); //上面是将单个字符赋值给 a[]接下来举个整数的例子int a[50];t = 0...

2019-04-29 16:51:12 167

空空如也

空空如也

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

TA关注的人

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