数据结构.

文章目录

  • 自我介绍
  • 数据结构基础概念
    • 简介
    • 线性结构和非线性结构
      • 线性结构
      • 非线性结构
    • 前驱和后继


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


自我介绍

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


数据结构基础概念

简介

  1968年美国克务特教授开创了数据结构的最初体系;数据结构指的是数据的逻辑结构存储结构及其操作;数据结构是一门综合性的专业课程,是是一门介于数学、计算机硬件、计算机软件之间的一门核心课程。是设计和实现编译系统、操作系统、数据库系统及其他系统程序和大型应用程序的基础。
  逻辑结构:表示数据运算之间的抽象关系(如邻接关系、从属关系等),按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为“线性结构”“非线性结构”两大类。
  存储结构:逻辑结构在计算机中的具体实现方法,分为顺序存储方法、链接存储方法等。
  数据运算:对数据进行的操作,如插入、删除、查找、排序等

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

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

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

数据结构._第1张图片
用代码来表示这些信息的话,我们可以使用结构体来进行:

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

线性结构和非线性结构

线性结构

本质:一个对一个(一对一)
在这里插入图片描述

非线性结构

树形结构:(一对多)
数据结构._第2张图片

图形结构:(多对多)
数据结构._第3张图片

前驱和后继

若将线性表 记为(a1,a2,a3,…,ai-1,ai,ai+1,…an),表中ai-1领先于ai,ai领先于ai+1,则称ai-1为ai的前驱,ai+1为ai的后继
数据结构._第4张图片

你可能感兴趣的:(数据结构)