数据结构基础概念

数据结构基础概念

1.什么是数据结构
1.1 数据
    数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。

表示一个事物的一组数据称为 数据元素(data element)数据元素是数据的基本单位,构成数据元素的数据称为该元素的数据项(data item)

1.2 数据类型
    类型是同一组值的集合,数据类型(dataType)是指一个类型和定义在该类型上的操作集合,数据类型定义了数据的性质。取值范围以及对数据所能进行的各种操作。

1.3 抽象数据类型
     抽象数据类型(Abstract dataType)是指一个逻辑概念上的类型和该类型的操作集合。没有定义具体数据类型的元素称为抽象数据元素。数据类型和抽象数据类型定义基本相同,不同在于,数据类型指的是高级语言的基本类型(int,char,byte,float,double,long…),而抽象数据类型指的是在基本数据类型支持下用户新设计的数据类型,(表,栈,队列,数组,图,二叉树…)

1.4 数据结构
    计算机处理的数据不是杂乱无章的,而是有着内在联系的,只有分析清楚他们的内在联系,对大量的,复杂的数据才能进行合理的组织和有效的处理。对一个数据元素集合来说。如果在数据之间存在一种或者多种特定的关系。则被称为数据结构(data structure) 因此 结构就是指数据元素之间存在的关系。数据结构和数据类型是2个不同的概念:

数据类型是研究每一类数据的共有特性,关注的是数据集合是怎样的。该数据集合上允许进行哪些操作

数据结构研究的是相互关联的数据间的关系,数据结构关注数据间的关系是怎样,(顺序关系,层级关系)

2. 数据的逻辑结构
   数据逻辑结构是对数据元素之间逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合上的若干关系来表示,数据的逻辑结构经常被简化成数据结构

2.1.线性结构
    除了第一个和最后一个元素外,每个元素只有一个前置元素和一个后置元素,第一个元素没前置元素,最后一个元素没有后置元素。

在这里插入图片描述

2.2树结构

除了根节点外,每个元素只有一个前置元素,可以有零个或者多个后置元素。根节点没有前置元素

在这里插入图片描述

2.3.图结构

每个数据元素可有零个或若干个前驱数据元素,零个或若干个后继数据元素

在这里插入图片描述

3.认识下一些常用的数据集合:

线性表表示可重复的无序集合,元素间具有前驱、后继次序关系;不同元素的关键字可重复,采用序号能够识别关键字重复的数据元素。

排序线性表表示可重复的排序集合,元素按关键字大小次序排序。

散列表表示不可重复的无序集合,元素关键字不重复,元素间没有次序,不排序。

二叉排序树表示不可重复的排序集合,元素关键字不重复,元素按关键字升/降序排序。

4.时间复杂度:随着问题规模n的增大,算法执行时间的增长率f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度。

T(n) = O(f(n))

5.空间复杂度:对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

newcatowen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值