数据结构概述

1.1 数据结构的研究内容

数据结构时一门研究非数值计算程序设计中操作对象,以及这些对象之间的关系和操作的学科。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

1.2 基本概念和术语

1.2.1 数据、数据元素、数据项和数据对象

数据 (Data) 是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素(Data Element)是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。在有些情况下,数据元素也称为元素、记录等。数据元素用千完整地描述一个对象。

数据项 (Data Item) 是组成数据元素的、有独立含义的、不可分割的最小单位。 

数据对象 (Data Object) 是性质相同的数据元素的集合,是数据的一个子集。

1.2.2 数据结构

数据结构 (Data Structure) 是相互之间存在一种或多种特定关系的数据元素的集合。换句话说,数据结构是带 ”结构" 的数据元素的集合, “结构” 就是指数据元素之间存在的关系。

1)逻辑结构

(1)集合机构:属于同一集合关系

(2)线性结构:一对一关系

(3)树结构:一对多关系

(4)图结构或网状结构:多对多关系

2)存储结构(物理结构)

(1)顺序存储结构

(2)链式存储结构

1.2.3 数据类型和抽象数据类型

1)数据类型:是一个值的集合和定义在这个值集上的一组操作总称。

2)抽象数据类型:一般指由用户定义的,表示应用到问题的数学模型,以及定义在这个模型上的一组操作的总称。包括三部分:数据对象,数据对象上关系的集合,以及对数据对象的基本操作的集合。

1.3 抽象数据类型的表示与实现

抽象数据类型的概念与面向对象方法的思想一致。

1)预定义常量及类型:#define

2)数据结构的表示(存储结构)用类型定义(typedef)描述;数据元素类型约定为ElemType。由用户在使用该数据类型时自行定义。

3)基本操作的算法都用如下格式的函数来描述

函数类型 函数名 (函数参数表){

//算法描述

语句序列

}//函数名

  1. 内存的动态分配与释放

分配空间  指针变量=new 数据类型

释放空间  delete指针变量

  1. 复制语句
  2. 选择语句
  3. 循环语句
  4. 结束语句
  5. 输入输出语句
  6. 基本函数

1.4 算法和算法分析

1.4.1 算法的定义及特性

(1)有穷性

(2)确定性

(3)可行性

(4)输入

(5)输出

1.4.2 评价算法优劣的基本标准

(1)正确性

(2)可读性

(3)健壮性

(4)高效性:时间复杂度和空间复杂度时衡量算法的两个主要指标。

1.4.3 算法的时间复杂度

一条语句的重复执行次数称作语句的频度

一个算法的时间复杂度时该算法的执行时间,为T(n)。

算法的时间复杂度不仅和问题的规模大小有关,还与问题数据的初始状态有关。这样就有了算法在最好,最坏以及在平均状态下的时间复杂度的概念。

常见的时间复杂度按数量级递增排列依次为:

1<logn<n<nlogn<n<n<n<2

1.4.4 算法的空间复杂度

算法所需存储空间的量度为空间复杂度,记作S(n)=O(f(n))。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BridgeCloud

生活不易,多多支持!

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

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

打赏作者

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

抵扣说明:

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

余额充值