数据结构绪论、数据结构基本概念、逻辑结构、存储结构、抽象数据类型、算法与算法分析

一、基本概念和术语

(1)数据

1.数据的定义:数据是能输入计算机且能被计算机处理的各种符号的集合。
2.数据的形式
数值形数据:整数、实数等。
非数值数据:文字、图像、声音等

(2)数据元素

1.数据元素的定义:在程序中通常作为一个整体考虑,比如java语言中类、C语言中的结构体等。
2.数据元素与数据的关系:数据元素是组成数据的基本单位。
3.数据元素与数据项的关系:一个数据元素由若干个数据项构成。

(3)数据项

1.数据项的定义:构成数据元素的不可分割的最小单位,比如mysql表中的一列。
2.数据项、数据元素、数据项的关系:数据包含若干数据元素,数据元素包含若干数据项。

(4)数据对象

1.数据元素的定义:数据对象是性质相同的数据元素的集合,是数据的一个子集。
2.数据对象与数据、数据元素、数据项的关系
数据对象是数据的一个子集。
数据对象包含多个某一性质相同的数据元素。
数据对象的每一个元素包含若干数据项。

(4)数据结构

1.数据结构的定义:数据结构就是带着结构的数据对象或者说是带着结构的数据元素的集合。
2.数据结构的三方面ok逻辑结构:数据元素之间存在的逻辑关系,独立于存储结构。
存储结构(物理结构):数据元素及其关系在计算机内存中的表示。
数据的运算和实现:对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。
逻辑结构与存储结构的关系
1.存储结构是逻辑关系的映象与数据本身的映象。
2.逻辑结构是数据结构的抽象,存储结构是数据结构的实现。


二、逻辑结构与存储结构

(1)逻辑结构

1.逻辑结构:数据元素之间存在的逻辑关系,独立于存储结构。
2.逻辑结构的分类一
(1)线性结构:有且只有一个开始结点和一个终端结点,并且所有节点都最多只有一个前驱节点和一个直接前趋和一个直接后继结点。
例如:线性表、栈、队列、串。

(2)非线形结构:一个结点可能有多个直接前趋和直接后继。
例如:树、图
2.逻辑结构的分类二
(1)集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无任何其他关系。
(2)线性结构:结构中的数据元素之间存在着一对一的关系,也就是开始结点和终端结点外,每个结点只有一个直接前趋和一个直接后继。
(3)树形结构:结构中的数据元素之间存在着一对多的层次关系。
(4)图状结构(网状结构):结构中的数据元素之间存在着多对多的任意关系。

(2)存储结构

四种基本的存储结构
(1)顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由数据的存储位置表示。
C语言中使用数组表示顺序存储结构。
(2)链式存储结构:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系使用指针来表示。
C语言中使用指针来实现链式存储结构。
(3)索引存储结构:在存储结点信息的同时建立索引表,索引表的每一项称为一个索引项,索引项为k-v形式,关键字可以唯一标识一个结点的元素。
(4)散列存储结构:根据结点的k值计算出该点的存储地址。


三、数据类型与抽象数据类型

(1)数据类型

1.数据类型:数据类型是一组性质相同的值的集合以及定义与这个值集合上的一组操作。比如java语言中int类型既规定了取值范围也规定了操作(加减乘除等操作)。
2.数据类型的作用:约束变量的取值范围、约束变量或常量的操作。

(2)抽象数据类型

1.抽象数据类型:从问题抽象出数据模型以及在此数据模型上的一组操作,不考虑计算机内的具体存储结构与算法的具体实现。
2.抽象数据类型的定义格式
抽象数据类型的定义格式
举例:长方形
在这里插入图片描述

四、算法与算法分析

(1)算法

算法:对特定问题求解方法和步骤的一种描述,它是指令的有限序列,其中每个指令表示一个或多个操作。
算法的特性:有穷性、确定性(无二义性)、可行性、输入(0个或多个)、输出(1个或多个)。

(2)算法分析

算法运行时间=总语句数*该语句执行一次所需要的时间(假设每条语句执行的时间为单位时间)
1.时间复杂度
2.空间复杂度

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值