![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 61
Silent Knight
拿着包子,我忽然明白,原来有些东西,没有就是没有,不行就是不行,没有鱼丸,没有粗面,没有马尔代夫,没有奖牌,没有张保仔的宝藏,张保仔也没有吃过那包子。
展开
-
电子量产工具项目框架--基本思想
电子量产项目下的最重要的思想--管理器的思想理解与实现,最后是代码的分析。原创 2022-07-26 16:08:40 · 1402 阅读 · 0 评论 -
单片机多级菜单
多级菜单框架,使用简易,纯ANSIC 支持任何平台。原创 2022-07-18 22:15:58 · 5034 阅读 · 2 评论 -
自定义串口协议
文章目录前言一、有限状态机有限状态机代码接收数据缓冲缓冲要求循环队列一、循环队列代码实现循环队列头文件:源文件:二、有限状态机与解码有限状态机核心实现代码有限状态机与解码头文件源文件三、使用小例子总结前言此篇将结合有限状态机与循环队列,构建一个稳定可靠的自定义串口协议,如果代码有点难懂,可以直接移植使用,看使用demo就好啦,我都封装好了。简单提一下实现的主要功能:一·:命令模式,根据输入字符与缓冲区的内容进行比对,返回真假值。二·:调参模式,根据输入字符与缓冲区的内容进行比对,返回传入数字的值原创 2022-04-04 23:10:57 · 1900 阅读 · 0 评论 -
数据结构和算法–静态链表
静态链表用数组描述的链表是静态链表,描述的方法是游标实现法。游标实现法:屁股指向头,头指向第一个没有数据的地方,头没有数据,通过游标找到数据找到下一个下标。#define MAXSIZE 1000typedef struct{ ElemType data; int cur;//游标}Component,StaticLinkList[MAXSIZE]...原创 2021-03-25 21:57:14 · 171 阅读 · 0 评论 -
单链表结构和顺序存储结构的优缺点
单链表结构和顺序存储结构的优缺点存储的分配方式顺序存储结构:需要用一串连续的空间存储,对内存比较要求比较苛刻链式存储结构:存储的空间不连续,十分灵活时间性能查找:顺序存储结构查找的时间复杂度为O(1)链式存储结构查找的时间复杂度为O(n)插入和删除:顺序存储结构插入和删除时间复杂度为O(n)链式存储结构插入和删除时间复杂度为O(1)空间性能顺序存储结构需要分配好空间,容易溢出或者浪费链式存储结构需不要分配好空间,不容易溢出或者浪费使用场合:对于不需要频繁插入和删除的原创 2021-03-24 16:11:10 · 776 阅读 · 0 评论 -
数据结构和算法–单链表的整表创建
数据结构和算法–单链表的整表创建头插法从头开始插入,按顺序插入,优点是算法简单,缺点是插入的数据和内存的数据储存顺序不一样。头插法,就是后一个节点头指向前一个节点尾,因此新建的节点指向下一个节点的头。C代码void CreatListHead(LinkList *L,int n){ LinkList p; int i; srand(time(0));//初始化随机种子 *L=(LinkList)malloc(sizeof(Node));//创建头指针 (*L)->next=NU原创 2021-03-15 15:46:55 · 522 阅读 · 0 评论 -
数据结构和算法–单链表(1)
数据结构和算法–链表头指针与头节点的区别:头指针指向头节点,头节点指向下一个节点。头指针是必要的,不然找不到第一个节点,数据就会丢失。这个头节点不一定要有,也可以没有,头指针就指向NULL结构指针:typedef struct Node{ ElemType data;//数据域 struct Node *Next;//指针域 }Node;typedef struct Node *LinkList;单链表的读取,读取的时候,只需要从第一个节点,遍历到需要读取的第i个节点就好了。S原创 2021-03-15 14:21:18 · 119 阅读 · 0 评论 -
数据结构和算法–顺序线性表
线性表感性认知:类似一个长长的队伍,这个队伍排成一条线,有头有尾,这样形式的就是线性表。定义:由零个(空表)或者多个元素组成的有限序列,是有先后顺序的。一个元素前面的那个元素称为前驱,后面的一个元素称为后继,头元素无前驱,最后的一个元素无后继。...原创 2021-03-12 21:33:13 · 170 阅读 · 0 评论 -
数据结构和算法---数据类型与抽象数据类型
数据类型与抽象数据类型抽象,抽象的意思就是“不具体”,把具体的东西的特征提炼出来,从而在思考问题的时候,可以不去管具体的实现细节,只需要考虑其性质。数据类型数据类型,是一类数据定义的方式,例如C语言中的int,float,double型。分类:基础型:语言里面,已经定义好不可再分的最小的数据类型,比如C中的int,float构造类:通过一定的方法,能够把基础型的数据进行组合形成新的数据类型的方法,比如C中的数据与结构体。抽象数据类型(ADT)定义:一个数学模型以及定义在该模型上的一组操作。原创 2021-03-09 21:50:55 · 1221 阅读 · 0 评论 -
数据结构和算法–时间复杂度和空间复杂度
数据结构和算法–时间复杂度继上一篇算法复杂度定义:一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称**O(f(n))**为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。也就是同构导数判断算法时间的复杂度,关键也是看数量级,大概可以看上一篇的简要描述,数量级越小越好。描述算法复杂度用大O()表原创 2021-03-07 19:36:05 · 193 阅读 · 0 评论 -
数据结构和算法–效率的度量方法
算法效率度量方法事后统计方法简介: 类似利用计时器对不同的算法的运行时间进行比较,时间短的效率高。**优点:**容易理解,实现不难缺陷:测试程序需要提前编写,需要花费不少时间不同的设计环境的效果差别大前分析方法简介: 编写程序前,利用统计的方法对算法进行估计。影响时间效率取决与一下的几个因素算法采用的策略,方案(重点)编译器编译产生代码的质量问题的输入规模机器执行指令的效率将算法复杂度进行抽象:这个是分析算法时间一个重要的方法,只需要知道算法执行次数的数量级即可。数量级越原创 2021-03-07 18:33:29 · 293 阅读 · 0 评论