当前位置:首页 > 旅游指南

入是什么结构 嵌入式程序员要学习的 经典数据结构

去学习吧

1.什么是数据结构?

如果现在要整理书籍,而且书很多,怎么整理?最简单的一个一个摆放;或者把书分类,然后按照大分类进行分类整合;或者直接细分为多个类别,每个类别之间肯定会有很多关系;但是你有没有想过这本书应该放在哪里?什么情况下应该保存?这就需要从不同的角度考虑每种排序方法,是放在一个书架的一楼,还是放在不同的书架隔间,还是放在图书馆不同的书架上;这种提到整理书籍和讨论事情,就是数据结构要研究的。回到我们的程序员,我们需要用计算机记录上面研究的整理方法和存储形式,因为毕竟整理书籍的目的是为了方便管理和使用。所以说到底还是要把这种抽象的数据和数据之间的关系反映到计算中去,用编程语言来实现。那么就可以知道数据结构研究的是数据之间的关系!

2.为什么要研究数据结构?

详细研究数据的管理机制,形成数据结构模型,在实际情况中可以借鉴,更快的应用到编程中,设计编写更好的软件,从本质上提高工程质量!

3.什么是数据结构?

大家应该都知道一个经典的思路:程序=数据结构+算法;

然后再来说两者的关系以及嵌入式程序员应该注意的点。作为嵌入式程序员,要注重嵌入式编程思维,也就是要注重实用性。所以学习的重点是数据结构的管理数据思想;算法是算法工程师的深入研究,是一种研究方法论。我们很少遇到复杂的算法应用。因此,我们学习一些经典数据结构中涉及的算法就足够了。以后如果有兴趣,可以继续深入了解算法这门学科;注意这个阶段学习中心在哪里。

数据结构研究有三个视角:逻辑关系、存储关系和操作关系。

下图显示了数据结构中三个角度的研究关系:

逻辑关系是对数据之间关系的抽象研究。存储关系需要对应物理存储,操作关系是物理存储确定后待研究数据的应用操作。

4.几种经典的线性结构:

(1)顺序表

上图是一个空表,没有存储有效数据。storage 空之间有一个数组,有效数据的最后更新位置记录为整数last,整体表结构为结构体。

结构代码模型如下:

#定义最大尺寸10

typedef int datatype

typedef int postype

结构列表{

数据类型数据[N];

postype last

};

(2)单向链表

上图是一个单向链表,有头节点,不断增加新的数据节点。storage 空之间有一个结构,结构中有一个数据字段和一个指针字段。数据字段存储要存储的数据,指针字段记录下一个数据节点的第一个地址。

结构代码模型如下:

typedef int datatype

typedef结构节点{

数据类型数据;

struct node * next

}Linknode,* Linklist

(3)双向循环链表

上图是一个双向循环链表,有头节点和n个数据节点。storage 空之间有一个结构,需要一个数据字段和两个指针字段。数据字段存储要存储的数据。第一指针字段记录前一数据节点的第一地址,第二指针字段记录下一数据节点的第一地址。

结构代码模型如下:

typedef int datatype

typedef结构节点{

数据类型数据;

结构节点* previous;

struct node * next

}DLinkNode,* DLinkList

(4)线性结构的应用结构:

(1)堆栈-先进先出

1)序列堆栈:

上图是一个序列栈,有n个数据存储空。结构是堆栈结构,需要有一个数据字段和两个整数标签。数据字段是要存储在阵列存储中的数据。第一个tag top要记录最后一个堆栈数据的数组下标,第二个tag len要记录整个存储的大小空,方便知道堆栈的存储容量。

结构代码模型如下:

typedef int datatype

typedef结构节点{

数据类型*数据;

int maxlen

int top

}SeqStack,* SEqstack _ t;

2)链栈

上图是头节点和n个数据存储空之间的链栈。结构是一个数据节点,需要一个数据字段和一个指针字段。数据字段是要存储在阵列存储中的数据。指针字段应该记录前一个栈节点的第一个地址,栈顶是链表头节点之后的第一个数据节点。

结构代码模型如下:

typedef int datatype

typedef结构节点{

数据类型数据;

struct lstacknode * next

} LinkStacknode,* Linkstatknode _ t;

(1)排队-先进先出、后进先出

1)序列队列

上图显示了一个有n个数据存储的顺序队列空。需要注意的是,这只是一个理想的模型。在实际使用中,需要丢弃一个store 空来判断空表已满,只使用n-1个store空。结构是一个顺序队列,结构中有两个标签,分别为data storage 空。第一个标记记录队列头数据所在的前一个位置的数组下标,第二个标记记录队列尾数据的数组下标。

结构代码模型如下:

#定义N 10

typedef int datatype

typedef结构seqqueue{

数据类型数据[N];

在前部、后部;

}SeqQueue,* SeqQueue _ t;

2)链式队列

上图是头节点和n个数据存储空之间的链式队列。链式队列有两种结构模型,数据节点是第一种结构。这个结构需要有一个数据字段和一个指针字段。数据字段是要存储在数组存储中的数据,指针字段应该记录下一个队列节点的第一个地址。第二种结构是队列模型,需要两个指针字段。指针类型是第一个结构类型的指针。一个指针,前,记录队列头的头地址,这是链表头节点之后的第一个数据节点,另一个指针,后,记录队列尾的头地址,这是链表的最后一个数据节点。

结构代码模型如下:

typedef int datatype

typedef结构节点{

数据类型数据;

struct linkqueuenode * next

}Queuenode,* queue node _ t;

typedef struct linkqueue{

linkqueue_pnode前置,后置;

}LinkQueue,* Linkqueue _ t;

数据结构中还有其他非线性数据模型,空间有限,这里就不一一列举了。下次再聊。以上结构应用广泛。有兴趣的话一定要学习实践!

1.《入是什么结构 嵌入式程序员要学习的 经典数据结构》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《入是什么结构 嵌入式程序员要学习的 经典数据结构》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1511970.html

上一篇

缓解疲劳的方法 运动后疲劳恢复的方法 如何消除运动后疲劳

下一篇

乌溜溜的黑眼睛 神农架赏秋之旅

计算机病毒之父 计算机病毒之父将首度来华 推销数据保护全球标准

北京,9月2日(新华社)——弗雷德·科恩被称为计算机病毒之父。他在1987年首次定义了计算病毒的概念。作为安全行业的先锋,弗雷德·科恩(Fred Cohen)将在媒体淡出多年后,来中国推广他最新的研究成果——全球数据保...

数据透视表学习视频 Excel数据透视表视频教程学习,看这里!

联系客服QQ: 800094815,或者微信:13388182428,报名老师的Excel速通班~ ~ 客服老师会给你发试听视频,告诉你报名和学习过程。...

公安改革 8组数据告诉你 2020年昆明公安做了什么

公安改革 8组数据告诉你 2020年昆明公安做了什么

2020年昆明警方做了什么?12月31日,记者从昆明市公安局获悉,2020年,昆明市公安局将全力以赴抗击疫情,防范风险,确保安全,维护稳定,为全市整体政治社会稳定和经济社会发展做出积极贡献。其中,专项扫黄打非斗争中的战...

奉贤足球网 未来一站式满足健身需求 中体城奉贤都市运动中心迎来关键节点

东方。com 11月29日报道:今天上午11点18分,中国体育产业集团打造的中国体育城?奉贤市体育中心迎来装修开工。记者获悉,该项目将于明年3月15日前完成,商业综合体计划于明年6月开放。据悉,该项目不仅拥有室外足球场...

也的结构 深度丨你也应该学会的结构化思维

工作内外,经常帮别人修改文档,发现写的时候有一个通病:事实堆积。 这背后一般有两个借口: 我花了那么多时间找资料,不能浪费! 至少要让领导看到,就算最后的内容没有通过,也有没有功劳的苦劳! 本质上是缺乏结构化思维。...

飞瓜快数 飞瓜快数专访高梵董事长吴昆明:数据拆解高梵直播破亿之战

  • 飞瓜快数 飞瓜快数专访高梵董事长吴昆明:数据拆解高梵直播破亿之战
  • 飞瓜快数 飞瓜快数专访高梵董事长吴昆明:数据拆解高梵直播破亿之战
  • 飞瓜快数 飞瓜快数专访高梵董事长吴昆明:数据拆解高梵直播破亿之战
十一选五遗漏数据 11选5最大遗漏值追任二的绝密方法

十一选五遗漏数据 11选5最大遗漏值追任二的绝密方法

五分之十一彩票图表分析一:观察最新图表,分析历史最大缺失值和当前缺失数。从任意两个遗漏的最新走势图来看,发现1-5组合最大遗漏59期,2-5;组合3-6最大的遗漏就是56期。5中11彩票排行榜分析2:观察最新排行榜,发...

台风最新消息2017年7月 7月无台风或将打破历史纪录 大数据揭秘为何台风“缺席”

七月没有台风。过去71年的第一个大数据揭示了为什么台风“缺席”专家顾问:向春怡,中国气象局台风海洋气象中心高级工程师国家气候中心首席预报员王永光采访人:中国气象报记者沈去年7月天气舞台上常见的台风,今年“缺席”!自20...