C语言高级-1数据结构引入

前言:学习数据结构3点要求:1要先掌握C语言基础,尤其是结构体,内存分配;2放松心态,不要怕难;3把代码量提升上去,多尝试,多练习。

目录

一、初识数据结构

1、数据结构解决什么问题?

2、数据结构的意义

二、什么是数据结构

1、数据的逻辑结构

2、数据的存储结构

(1)顺序存储(Sequential Storage):

(2)链式存储

(3)索引存储

(4)散列存储

三、基本概念

1.数据(Data)

2.数据元素(Data Element)


一、初识数据结构

1、数据结构解决什么问题?

生活中把一些复杂的数据,理清楚逻辑关系,想清楚存储方式,以后更高效的去管理。 比如物流,比如图书馆。

例如:

设田径比赛项目有:A(跳高)、B(跳远)、C(标枪)、D(铅球)、E(100m跑)、F(200m跑)。参赛选手的项目表,如下表所列:

姓名项目1项目2项目3
丁一ABE
马二CD
张三CEF
李四DFA
王五BF

问如何安排比赛时间,才能使得:

  • 每个比赛项目都能顺利进行(无冲突)?
  • 尽可能缩短比赛时间.

图的“染色”问题:设项目A~F各表示一数据元素,以O表示。若两个项目不能同时举行,则将其连线。若用四种颜色表示4个时间段,一种着色方案如图所示。

红色时间段(如8-10点)-A、C项目;

浅蓝时间段(如10-12点)B、D项目;

深蓝时间段(如13-15点)E项目;

紫色时间段(如15-17点)F项目。

2、数据结构的意义

  • 提高编程能力
  • 可复用性,维护性,可读性,效率提升

二、什么是数据结构

数据结构研究计算机数据间关系;
包括数据的逻辑结构存储结构及其操作;

1、数据的逻辑结构

数据元素之间存在某种关系

               1:1                       1:n                      n:n

表示数据运算之间的抽象关系按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为
“线性结构”和“非线性结构”两大类。

2、数据的存储结构

存储结构:逻辑结构在计算机中的具体实现方法。
存储结构是通过计算机语言所编制的程序来实现的,因而是依赖于具体的计算机语言的。

(1)顺序存储(Sequential Storage):

将数据结构中各元素按照其逻辑顺序存放于存储器一片连续的存储空间中如c语言的一维数组,如表 L=(a1,a2,……,an)的顺序结构

(2)链式存储

将数据结构中各元素分布到存储器的不同点,用地址(或链指针)方式建立它们之间的联系
数据结构中元素之间的关系在计算机内部很大程度上是通过地址或指针来建立的。

(3)索引存储

在存储数据的同时,建立一个附加的索引表,即索引存储结构=数据文件+索引表。

 

(4)散列存储

根据数据元素的特殊字段(称为关键字key),计算数据元素的存放地址,然后数据元素按地址存放

三、基本概念

1.数据(Data)

数据即信息的载体,是能够输入到计算机中并且能被计算机识别、存储和处理的符号总称。

2.数据元素(Data Element)

数据元素是数据的基本单位,又称之为记录(Record)。一般,数据元素由若干基本项(或称字段、域、属性)组成。这个才是我们研究的,这个才有意义。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

4IOT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值