数据结构.

文章目录


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名**"创始团队·嘉宾"** 和**"内容共创官"** ,现在我来为大家介绍一下有关物联网-嵌入式方面的内容。


🍊数据结构基础概念

简介

1968年美国克务特教授开创了数据结构的最初体系;数据结构指的是数据的逻辑结构存储结构及其操作;数据结构是一门综合性的专业课程,是是一门介于数学、计算机硬件、计算机软件之间的一门核心课程。是设计和实现编译系统、操作系统、数据库系统及其他系统程序和大型应用程序的基础。

逻辑结构:表示数据运算之间的抽象关系(如邻接关系、从属关系等),按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为**"线性结构""非线性结构"**两大类。

存储结构:逻辑结构在计算机中的具体实现方法,分为顺序存储方法、链接存储方法等。

数据运算:对数据进行的操作,如插入、删除、查找、排序等

我们嵌入式学习的数据结构的一些基础知识和用法,不会深究,所以小伙伴们不用过于担心会很难。

示例

图书管理员中的数据,如下表所示:

编号 书名 作者 出版社 出版日期 ...
a1 001 C语言 张三 科教 1998.7 ...
a2 002 数据结构 李四 国防 2002.2 ...
... ... ... ... ... ... ...

用代码来表示这些信息的话,我们可以使用结构体来进行:

c 复制代码
struct library
{
	int id;
	char book_name[];
	char author_name[];
	char publish_name[];
	struct date
	{
		int year;
		int month;
	}dt;
};

struct library lb;

lb.id;//查询编号
lb.author_name[20];//查询作者名
lb.dt.year;//查询出版年份

上表(List)中每一行为一个数据元素(或记录),记为ai(1≤i≤n),元素之间呈现的是一种线性关系。此表可表示为:

list = (a1,a2,...,an)

对其进行操作(或运算)也不是加,减,乘,除等数学运算,而是诸如:
查询,插入,修改,删除(俗称增删改查),分类

线性结构和非线性结构

线性结构

本质:一个对一个(一对一)

非线性结构

树形结构:(一对多)

图形结构:(多对多)

前驱和后继

若将线性表 记为(a1,a2,a3,...,ai-1,ai,ai+1,...an),表中ai-1领先于ai,ai领先于ai+1,则称ai-1为ai的前驱,ai+1为ai的后继

相关推荐
向哆哆26 分钟前
构建跨端健身俱乐部管理系统:Flutter × OpenHarmony 的数据结构与设计解析
数据结构·flutter·鸿蒙·openharmony·开源鸿蒙
独自破碎E2 小时前
【总和拆分 + 双变量遍历】LCR_012_寻找数组的中心下标
数据结构·算法
txzrxz2 小时前
结构体排序,双指针,单调栈
数据结构·算法·双指针算法·单调栈·结构体排序
wWYy.2 小时前
算法:二叉树最大路径和
数据结构·算法
一条大祥脚3 小时前
ABC357 基环树dp|懒标记线段树
数据结构·算法·图论
苦藤新鸡3 小时前
50.腐烂的橘子
数据结构·算法
无限进步_3 小时前
面试题 02.02. 返回倒数第 k 个节点 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
Hello World . .3 小时前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
Yvonne爱编码3 小时前
JAVA数据结构 DAY1-集合和时空复杂度
java·数据结构·python
近津薪荼4 小时前
优选算法——双指针8(单调性)
数据结构·c++·学习·算法