自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KK_2018的博客-从前现在过去了再不来

想法太多,能力太弱,时间太少.

  • 博客(207)
  • 资源 (19)
  • 收藏
  • 关注

原创 各种内部排序算法的比较(超详细)

先来个表格总结直观展示下:各种内部排序算法的性质 算法种类 时间复杂度 空间复 杂度 稳定性 最好情况 平均情况 最坏情况 插入排序 直接插入排序 O(n) O(n^2) O(n^2) O(1) 稳定 折半插入排序 O(n) O(n^2) O(n^2) O(1) 稳定 希尔排序 O(n^1.3) O(nlogn) ...

2020-11-30 15:42:40 1

原创 堆排序分析(大根堆为例,由小到大排序)

时间复杂度为O(nlogn),思路就是从最后一个非叶结点开始,依次往回遍历每个结点,将以该结点为根的子树建立成大根堆,直到遍历到整棵完全二叉树的根结点时为止,此时整棵树为大根堆。以当前结点为根的子树建立大根堆://向下调整,将该结点的子树变成大根堆 void AdjustDown(int A[],int k,int len){ //k为根结点编号,len为数组长度 int i,j; A[0]=A[k]; for(j=2*k;j<=len;j*=2){ if(j<len&a

2020-11-30 10:58:33 8

原创 中断和异常

来自王道计算机组成原理

2020-11-29 20:57:06 7

原创 总线标准的发展

其中ISA(并行总线)、EISA(并行总线)、PCI(并行总线)、PCI-E-全称是PCI-Express(串行总线)、USB(串行总线)这五种考试频率较高!

2020-11-26 16:04:12

原创 让你秒懂的折半查找(二分查找)

折半查找又称二分查找,只能适用于有序的顺序表。//折半查找int Bsearch(int R[],int low,int high,int key){ int min; while(low<=high){ mid=(low+high)/2; //取中间位置 if(R[mid]==key) //查找成功 return mid; else if(R[mid]>key) high=mid-1; //从前半部分继续查找 else low=mid+1; //

2020-11-24 17:37:48 16

原创 DAG图之拓扑排序

拓扑排序的时间复杂度为O(V+E),其中V、E分别为顶点和边的个数。#include <iostream>using namespace std;#define Maxsize 100typedef char VertexType;typedef int EdgeType;typedef struct ArcNode{ //存储边 int adjvex; //该弧所指向的顶点 struct ArcNode *nextarc; //指向下一条弧 //InfoType i

2020-11-23 16:06:50 11

原创 最短路径-Floyd(佛洛伊德算法)

佛洛伊德算法时间复杂度为O(n^3),其中n为顶点的个数。Floyd可求出任何一对顶点之间的最短路径。允许图中有带负权值的边,但是不允许有包含带负权值的边组成的回路。#include <iostream>using namespace std;#define Maxsize 100typedef char VertexType;typedef int EdgeType;typedef struct{ VertexType Vex[Maxsize]; EdgeType

2020-11-22 21:41:37 13

原创 单源最短路径-Dijkstra(迪杰斯特拉算法)

迪杰斯特拉算法时间复杂度为O(n^2),其中n为顶点个数。该算法用于求单源最短路径。#include <iostream>using namespace std;#define Maxsize 100typedef char VertexType;typedef int EdgeType;typedef struct{ VertexType Vex[Maxsize]; EdgeType edge[Maxsize][Maxsize]; int vexnum,arcnu

2020-11-22 21:30:49 33

原创 机器学习考试简答题

目录1、什么是机器学习?简述机器学习的一般过程。2、简述K折交叉验证与留一法的基本思想及其特点。3、简述什么是欠拟合和过拟合、产生的原因以及如何解决。4、简述线性回归与逻辑回归的区别。5、简述剪枝的目的以及常用的两种剪枝方式的基本过程。6、简述K均值聚类算法的流程。7、简述什么是降维以及PCA算法的流程。8、简述贝叶斯网的组成,贝叶斯网中结点的三种连接方式,并分析它们的独立性。9、简述卷积神经网络与传统的神经网络的区别。10、简述基于核函数的非线性支持向量机的基本思想

2020-11-22 15:21:57 34

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

克鲁斯卡尔算法时间复杂度与排序算法sort有关,适合于稀疏图。#include <iostream>using namespace std;#define Maxsize 100typedef char VertexType;typedef int EdgeType;typedef struct{ VertexType Vex[Maxsize]; EdgeType edge[Maxsize][Maxsize]; int vexnum,arcnum;}MGraph;typ

2020-11-21 20:45:22 12

原创 求最小生成树-Prim(普里姆算法)

普里姆算法时间复杂度为O(V^2),适用于稠密图#include <iostream>using namespace std;#define Maxsize 100typedef char VertexType;typedef int EdgeType;type struct{ VertexType Vex[Maxsize]; EdgeType edge[Maxsize][Maxsize]; int vexnum,arcnum;}MGraph;//Prim-普里姆算法

2020-11-21 20:29:07 17

转载 Floyd-傻子也能看懂的弗洛伊德算法

暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。 上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之间的最短路程,也就是求任意两个点之间的最短路径。这个问题这也被称为“多源最短路径”问题。 现在需要一个数据结构来存储图的信息,我们仍然可以用一个4*4...

2020-11-21 19:25:02 29

原创 BFS求无权图的单源最短路径-邻接矩阵存储

//邻接矩阵存储void BFS_MIN-Distance(Graph G,int u){ //d[i]表从u到i的最短路径 for(i=0;i<G.vexnum;i++) d[i]=INT_MAX;//无穷大 visited[u]=True; d[u]=0; EnQueue(&Q,u); while(!IsEmpty(Q)){ DeQueue(&Q,u); for(w=FirstNeighbor(G,u);w>=0;w=NextNeighbor(G,u.

2020-11-18 20:41:32 232

原创 利用邻接表完成图的BFS和DFS

#include <iostream>using namespace std;#define Maxsize 100typedef char VertexType;typedef int EdgeType;typedef struct ArcNode{ //存储边 int adjvex; struct ArcNode *nextarc;}ArcNode;typedef struct VNode{ VertexType data; ArcNode *firstarc;.

2020-11-17 22:29:06 78

原创 利用邻接矩阵实现图的BFS和DFS

#include <iostream>using namespace std;#define Maxsize 100typedef char VertexType;typedef int EdgeType;type struct{ VertexType Vex[Maxsize]; EdgeType edge[Maxsize][Maxsize]; int vexnum,arcnum;}MGraph;bool visited[Maxsize];void BFS(MGra.

2020-11-17 22:27:52 79

转载 页式存储管理

页式存储管理为操作系统中的内容,但是在计算机组成原理中的虚拟存储器部分也用到了这一方式。分区式存储管理最大的缺点是碎片问题严重,内存利用率低。究其原因,主要在于连续分配的限制,即它要求每个作用在内存中必须占一个连续的分区。如果允许将一个进程分散地装入到许多不相邻的分区中,便可充分地利用内存,而无需再进行“紧凑”。基于这一思想,产生了“非连续分配方式”,或者称为“离散分配方式”。连续分配:为用户进程分配的必须是一个连续的内存空间。非连续分配:为用户进程分配的可以是一些分散的内存空.

2020-11-05 19:55:00 190 1

原创 教你搞定补码不恢复余数除法中够减和商的关系

首先要清楚够减是什么概念,被减数的绝对值大于减数的绝对值称为“够减”。如:计算A(被除数)/B(除数)时,在后面的计算中余数为被除数,由补码的不恢复余数除法(加减交替法)我们可以知道,若A、B同号,则计算A-B得到余数R,若R与B同号,则说明|A|>|B|,亦说明够减商1,否则商0;若A、B异号,则计算A+B得到余数R,若R与B异号,则说明够减,商0.教大家一个方便记忆的方法:我们知道在补码不恢复余数除法中,若余数与除数同号则商1,异号则商0。当同号相除时,余数与除数同号表示够减;异号相除

2020-09-23 12:02:13 127

原创 利用栈完成中缀表达式到后缀表达式的转换

From王道数据结构

2020-09-12 16:46:04 28

原创 原码的一位乘法和补码的一位乘法对比

来自王道计算机组成原理

2020-09-11 15:41:09 63

原创 基数排序

空间复杂度:O(r),r为队列的个数,同时也是基数的值,如果每位取值为0~9,则r=10时间复杂度:O(d(n+r)),d为位数,比如每个数字有百位、十位和个位,则d=3,n为数字的个数,r为队列的个数稳定性:稳定...

2020-08-23 11:29:46 37

原创 归并排序

空间复杂度:O(n)时间复杂度:O(nlogn)稳定性:稳定//归并排序int *B=(int *)malloc((n+1)*sizeof(int)); //构造辅助数组Bvoid Merge(int A[],int low,int high,int mid){ //二路归并 for(int k=low;k<=high;k++){ B[k]=A[k]; //将待排序的元素复制到B中 } for(i=low,j=mid+1,k=i;i<=mid&&am

2020-08-23 11:10:37 79

原创 两种选择排序算法:简单选择排序、堆排序

一、简单选择排序空间复杂度:O(1)时间复杂度:O(n^2)稳定性:不稳定适用性:顺序表、链表//简单选择排序void SelectSort(int A[],int n){ for(i=0;i<n-1;i++){ min=i; for(j=i+1;j<n;j++){ if(A[j]<A[min]) min=j; } if(min!=i) swap(A[i],A[min]); }}二、堆排序空间复杂度:O(1)时间

2020-08-21 23:45:48 48

原创 两种交换排序算法:冒泡排序和快速排序

一、冒泡排序空间复杂度:O(1)时间复杂度:最好O(n),最坏和平均为O(n^2)稳定性:稳定适用性:顺序表、链表//冒泡排序void BubbleSort(int A[],int n){ for(i=0;i<n-1;i++){ flag=false; //本趟是否发生了交换 for(j=n-1;j>i;j--){ if(A[j]<A[j-1]){

2020-08-20 22:38:47 58

原创 三种插入排序算法:直接插入排序、折半插入排序、希尔插入排序

一、直接插入排序空间复杂度:O(1)时间复杂度:O(n^2)稳定性:稳定适用性:顺序表和链表//直接插入排序void InsertSort1(int A[],int n){ int i,j,temp; for(i=1;i<n;i++){ if(A[i]<A[i-1]){ temp=A[i]; for(j=i-1;j>=0&&A[j]>temp;j--){

2020-08-18 22:52:10 57

原创 B树和B+树的区别

From王道数据结构

2020-08-12 17:23:15 38

原创 DFS实现逆拓扑排序

多思考递归的过程!//DFS实现逆拓扑排序bool visited[MaxVertexNum];void DFSTraverse(Graph G){ for(v=0;v<G.vexnum;v++) visited[v]=FALSE; for(v=0;v<G.vexnum;v++) if(!visited[v]) DFS(G,v);}void DFS(Graph G,int v){ visit(v);.

2020-08-06 18:43:53 206

原创 求最短路径——BFS、Dijkstra、Prim算法对比

来自王道数据结构

2020-08-06 18:40:16 49

原创 图的两种遍历算法——BFS和DFS

一、BFS,也称广度优先搜索,和二叉树的层次遍历算法类似//BFSbool visited[MaxVertexNum];void BFSTraverse(Graph G){ for(i=0;i<G.vexnum;i++) visited[i]=FALSE; InitQueue(Q); for(i=0;i<G.vexnum;i++) if(!visited[i]) BFS(G,i);}void BFS(G

2020-08-05 14:43:04 87

原创 图的邻接矩阵存储和邻接表存储定义方法

一、邻接矩阵#include <iostream>using namespace std;#define MaxVertexNum 100 //顶点最大数目//邻接矩阵存储结构typedef struct{ char Vex[MaxVertexNum]; //顶点表 int Edge[MaxVertexNum][MaxVertexNum]; //边表 int vexnum,arcnum; //图当前顶点数

2020-08-05 14:37:20 83

原创 递归和非递归实现二叉排序树(BST)的查找操作

二叉排序树又称二叉查找树非递归实现BST的查找操作空间复杂度为O(1),但是递归实现的空间复杂度为O(h),h为树的高度#include <iostream>using namespace std;typedef struct BSTNode{ int key; struct BSTNode *lchild,*rchild;}BSTNode,*BSTree;//非递归,空间复杂度为O(1)BSTNode *BST_Search(BSTree T,int k.

2020-07-28 19:46:51 66

原创 树和森林转二叉树,二叉树无右孩子(或右指针域为空)的结点个数计算思路

前提是知道非终端结点(分支结点)的个数,假设非终端结点的个数为n1.对于树转二叉树:因为转化规则是“左孩子右兄弟”,如果有n个分支结点,因为每个分支结点都会有孩子,这些孩子都是兄弟,然而最右边的孩子已经没有右兄弟了,没有右兄弟就意味着在转化为二叉树后这个孩子没有右孩子——即右指针域为空。又因为每个分支结点都存在一个没有右兄弟的孩子,所以n个分支结点就存在n个没有右兄弟的孩子,在转化为二叉树后这些孩子的右指针域都为空。最后,不要忘记树的根结点是没有兄弟的,所有在转化为二叉树后根结点的右指针域也

2020-07-27 22:51:13 1025 2

原创 先序序列为a、b、c、d的不同二叉树的个数是多少(卡特兰数)

除了逻辑清晰的挨个画出来之外,还有一种方法需要大家牢记!因为前序序列和中序序列可以唯一地确定一棵二叉树,并且题目已经给出了先序序列,所以我们只需要知道由该先序序列可以确定多少个中序序列即可,确定多少个中序序列就是可以确定多少棵二叉树!那么,问题来了,由一个先序序列如何确定有多少个中序序列呢?这就有两个“公式”需要大家去牢记了!1、先序序列和中序序列的关系为:以先序序列入栈,则出栈序列必为中序序列。2、一个入栈顺序可以确定的出栈顺序为C(2n,n) / (n+1)(卡特兰数)。..

2020-07-26 18:59:29 2264

原创 二叉树的先序线索化、中序线索化、后序线索化的对比

有一点需要注意:在先序遍历一个节点的左子树时,需要判断其ltag的值是否为0,如果为0可以正常遍历,但是,如果为1就不能进行遍历。因为ltag的值为1说明该结点的左指针指向的是它的前驱结点而不是左孩子(左孩子其实并不存在),继续遍历的话就会陷入“转圈圈”(前驱结点、该结点、前驱结点、该结点……)因为在中序遍历的顺序为左孩子、跟结点、右孩子,后序遍历的顺序为左孩子、右孩子、根结点。在遍历到跟结点时它的左孩子肯定是已经被遍历过了,不存在上述“转圈圈”的问题,所以可以正常遍历。右指针要么指向右孩子,要么指

2020-07-25 15:48:52 181 6

原创 二叉树的四种遍历方法:前序、中序、后序、层次

前/中/后序遍历也可分别称为前/中/后根遍历#include <iostream>using namespace std;//二叉树的链式存储的结点typedef struct BiTNode{ int data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;//链式队列结点typedef struct LinkNode{ BiTNode *data; struct LinkNode *ne

2020-07-25 00:00:49 53

原创 树的常考性质

版权归王道所有

2020-07-19 22:49:57 40

原创 串的模式匹配、KMP算法、nextval数组求法

一、暴力匹配#include <iostream>using namespace std;#define MAXLEN 255typedef struct{ char ch[MAXLEN]; int length;}SString;//S为主串,T为子串//暴力匹配int Index(SString S,SString T){ int i=1,j=1; int k=1; while(i<=S.length &&

2020-07-17 23:50:53 184

原创 稀疏矩阵的压缩存储的两种策略

来自王道数据结构

2020-07-15 22:15:32 109

原创 三对角矩阵(带状矩阵)的压缩存储原理

来自王道数据结构

2020-07-15 22:13:28 277

原创 分别用顺序表和链表实现队列

一、顺序表实现队列#include <iostream>using namespace std;#define MaxSize 50typedef struct{ int data[MaxSize]; int front,rear;}SqQueue;void InitQueue(SqQueue &Q){ Q.front=Q.rear=0;}bool IsEmpty(SqQueue Q){ if(Q.front==Q.rear)

2020-07-11 23:00:12 62

原创 数据结构—分别用头插法和尾插法建立单链表

#include <iostream>using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,;*LinkList;//头插法LinkList List_HeadInsert(LinkList &L){ LNode *s; int x; L=(LinkList)malloc(sizeof(LNode)); L->next=.

2020-07-07 23:37:25 162

新闻发布系统前端页面.rar

自主设计、自主制作的新闻发布系统前端页面,没用框架,利用到了JS的轮播图知识、Tab切换、HTML中的Table表格。详细图片介绍可去我博客“Web前端”栏目观看。

2020-05-25

纯JS实现前端购物车案例.rar

购物车案例功能介绍:1、添加购物车,清单库存数量会对应减少,库存不足会警告;2、从购物车删除,库存将返回清单,总价相应变化;3、点击"-",数量会返回到清单库存;4、点击"+",清单中库存会减少,库存不足会警告;5、勾选或取消勾选商品总价会相应变化;6、总价默认计算被选中的商品,添加商品到购物车时默认被选中;7、可以进行全选和反选,并一键删除,库存返回清单,总价改变。

2020-04-08

博客前端项目用到的图片(今日特价和轮播图).rar

个人博客(今日特价和轮播图两个项目)需要用到的图片素材,下载后请和代码放到同一目录,解压后文件夹命名为“images”

2020-03-19

股票列表的HTML代码和爬取结果.rar

股票列表的HTML代码和爬取结果,相关使用请看https://blog.csdn.net/KK_2018/article/details/104115099

2020-01-30

书城images.rar

黑马书城项目实战需要用到的图片!

2019-11-27

中文停用词表.rar

中文停用词表,Python做词频统计需要用到,怎么使用请看我博客!

2019-09-26

notepad++7.7.1版本安装包.rar

notepad++7.7.1版本安装包,下载解压后安装即可使用,windows64位系统适用

2019-09-26

工程数学线性代数同济大学第六版课后习题答案.rar

工程数学线性代数同济大学第六版课后习题答案,高清扫描版

2019-06-03

数据结构(C语言版)(第2版)-习题答案-前7章.doc

数据结构(C语言版)(第2版)作者:严蔚敏-习题答案-前7章答案

2019-06-03

sublime.zip

传智播客讲师用的sublime,内置多种插件、已经设置成中文,解压即可使用。

2019-05-31

Sublime Text Build 3176 x64 Setup.exe

Sublime Text Build 3176 x64,使用方法见我博客https://blog.csdn.net/KK_2018/article/details/82217505

2019-05-31

简约个人主页_e90f6.zip

HTML简约个人主页,适合自己用,背景图片啥的自己换吧

2019-05-31

smali-2.2.7.jar

smali-2.2.7,具体怎么用我也不会,有需要的朋友下载吧

2019-05-31

电脑办公软件EXCEL工具箱.rar

EXCEl工具箱,安装时务必关闭Excel,安装后再打开excel,功能强大到你想像不到!适合办公人员使用!

2019-05-31

cpu-z_1.88-cn.zip

使用这个软件可以查看CPU的信息。软件使用十分简单,下载后直接点击文件,就可以看到CPU 名称、厂商、内核进程、内部和外部时钟、局部时钟监测等参数。选购之前或者购买CPU后,如果我们要准确地判断其超频性能,就可以通过它来测量CPU实际设计的FSB频率和倍频。

2019-05-27

超级文件批量重命名工具v1.0.zip

批量修改文件名称以及后缀名,支持自定义,支持多种格式文件

2019-05-27

仿站小工具+V9.0.zip

看到别的网站设计的特别好看,也想自己仿照设计一个的话,此工具是不二首选

2019-05-27

matlab全版本.txt

Matlab全套资源,需要用百度云下载,需要会员账号的私。

2019-05-24

C++图书管理系统(对文件操作)

压缩包内有详细的使用说明,主要是对文件内容的操作(添加、修改、删除等)

2018-06-30

空空如也

空空如也

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

TA关注的人 TA的粉丝

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