自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【数据结构】图—弗洛伊德(Floyd)算法

前言上文介绍了迪杰斯特拉(Dijkstra)算法,计算网图的某个源点到其余各个顶点的最短路径问题(边权值为非负值),本文介绍另一个求最短路径的算法——弗洛伊德算法,它是计算所有顶点到所有顶点的最短路径,其时间复杂度为O(n3)O(n^3)O(n3),其算法相比Dijkstra算法更加简洁易懂。算法思路在迪杰斯特拉算法中,定义了两个一维数组int D[MAXVEX]和 int P[MAXVEX],D表示源点到其他顶点的最短路径和,P表示对应顶点的最小路径的前驱矩阵。因为弗洛伊德算法中,以所有顶..

2022-05-13 09:49:51 4965 4

原创 【数据结构】图—迪杰斯特拉(Dijkstra)算法

迪杰斯特拉(Dijkstra)算法是一个按路径长度递增的次序产生最短路径的算法。

2022-05-11 15:28:38 8153 2

原创 【数据结构】图—克鲁斯卡尔算法(原理及C程序详解)

克鲁斯卡尔(Kruskal)算法是以边为目标,直接寻找权值最小的边来构建生成树,并在构建中不形成回路。

2022-05-07 19:02:23 3543 1

原创 【数据结构】图—普里姆(Prim)算法(原理和C程序解释)

无向连通图的最小生成树生成算法---普利姆算法解析,实现原理及程序构造详细解析。

2022-05-07 11:19:21 9028

原创 【数据结构】栈(顺序存储、链式存储)

栈(stack)是限定仅在表尾插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出的线性表。

2022-05-05 16:20:13 1071

原创 【数据结构】队列(顺序存储结构、链式存储结构) C语言例程

队列(queue)是只允许在一段进行插入操作,而在另一端进行删除操作的线性表。具有先进先出的特点,允许插入的一段称为队尾,允许删除的一端称为队头。

2022-04-29 19:23:36 2225

原创 【数据结构】图的创建与遍历

【数据结构】图的存储方式和遍历方法介绍,以及C语言代码编写例程。存储方式包括邻接矩阵、邻接表、十字链表、邻接多重表、边集数组;遍历方法包括深度优先遍历和广度优先遍历算法。

2022-04-29 10:38:54 6716 1

原创 哈夫曼编码(文件编码与解码)

利用哈夫曼(Huffman)编码,对text文件中的英文篇章进行编码,并根据编码表对原码进行译码。

2022-04-24 11:00:05 6885 11

原创 哈夫曼编码

哈夫曼(Huffman)编码原理的介绍以及C程序编写

2022-04-21 11:20:39 3724

原创 二叉树创建及其线索化

目录二叉链表二叉树创建二叉树遍历线索二叉树线索二叉树的创建中序遍历线索二叉树二叉树是n( n ⩾\geqslant⩾ 0 )个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两个互不相交的、分别称为根节点的左子树和右子树的二叉树组成。二叉链表因为二叉数每个结点最多只有两个孩子,所以我们可以通过链表的方式表示,链表由一个数据域和两个指针域组成。lchilddatarchild指向左孩子指针数据域指向右孩子指针typedef struct B..

2022-04-19 15:12:44 450

原创 KMP模式匹配算法

目录朴素模式匹配KMP模式匹配朴素模式匹配串的模式匹配指的是子串在主串中的定位匹配,例如主串A = “abcdef”,子串B = “cd”,那么子串与主串的第三、四位相同。思路:(1)首先应该让主串的第一位与子串的第一位对比,相等则对比第二位,否则子串向后移一位,子串第一位与主串第二位对比。(2)子串的第一位依次与主串的第1-5位匹配对比。/****************************************\*输入:char Fat[]--主串,char Son[]--子串..

2022-04-13 11:05:00 1023

原创 线性表总结(顺序存储、链表)

目录线性表的顺序存储结构线性表插入线性表删除链表创建链表扫描链表查找结点插入结点删除链表静态链表插入结点删除结点双向链表插入结点删除结点循环链表单循环链表双向循环链表线性表的顺序存储结构线性表插入思路:(1)判断线性表是否已经满员,以及插入的位置是否在线性表范围内。(2)从线性表最后一位开始向后移位,知道要插入的位置。(3)将此位置赋值为要插入的元素。#include <stdio.h>#include <string.h>typedef enum _BOO..

2022-04-08 10:15:13 1630

原创 C++重载

目录重载覆盖隐藏重载运算符重载是C++新增的机制,将语义和功能相似的函数用同一个名字表示,提高函数的通用性。重载特征:(1)相同范围(2)函数名相同(3)参数不同(4)virtual可有可无全局函数和成员函数即使名称和参数相同,两者也是互不干扰。在同一范围内,各种参数类型的MyPrint函数都可以直接调用,只要明确实参的类型即可。#include <iostream>using namespace std;void MyPrint(int num){ cou..

2022-03-27 10:19:41 8562

原创 C语言指针总结与应用

比较全面的指针相关知识总结

2022-03-24 15:55:25 961

原创 PID控制算法

目录前言原理公式推导位置式PID增量式PIDPID性能指标超调量调节时间震荡频率上升时间PID算法改进上下限设定法死区设定法积分部分改进微分部分改进不完全微分法微分先行法前言PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。PID控制算法是结合比例、积分和微分三种环节于一体的控制算法。PID是闭环控制算法中最简单的一种,常应用于温度、电机控制等等。原理公式推导PID公式:u(t)=Kp[e(t)+1Ti∫0te(t) d..

2022-01-07 14:06:33 9370 1

原创 单片机温度计算差值法

目录前言思路前言前面我们在根据AD值计算温度时,用到的是二分查找法,此种方法的复杂度为O(log⁡2n\log_{2}{n}log2​n),如果n较大时,仍然有不小的工作量,因此本文在此方法的基础上进一步改进,减少计算复杂度。思路二分法的计算方法如下:mid=begin+(end−begin)/2mid = begin + (end - begin)/2mid=begin+(end−begin)/2我们可以将12\frac{1}{2}21​更改为更接近于目标值的位置,一般来说温度与AD值..

2022-01-04 18:03:52 318

原创 单片机ADC消抖处理 温度转换

单片机ADC滤波消抖处理,并将AD值转化为温度

2021-12-31 14:51:42 2436

原创 单片机按键识别

单片机按键检测:按下、弹起、长按

2021-12-30 22:41:41 2937

原创 stm8s硬件层配置

stm8s硬件层配置

2021-12-29 22:27:49 720

原创 stm8lLCD显示

stm8l关于LCD数码显示屏的硬件配置

2021-12-29 22:15:02 842

原创 使用hexo搭建github

title: windows使用hexo搭建githubdate: 2021-12-12 23:12:20tags:toc: true安装Nodejs首先进入nodejs官网,建议选择LTS recommended for most users版本,即被大多数用户推荐的长期支持版本。下载后直接双击安装包安装,一直点击下一步,安装完成后关闭。安装hexo快捷键win + R,输入cmd命令,回车,进入cmd命令窗口。首先输入一下命令检查node和npm是否安装正常。$ node -v$.

2021-12-14 23:38:44 514

空空如也

空空如也

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

TA关注的人

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