【数据结构】绪论

参考资料:《数据结构(C语言版)严蔚敏著》
版权说明:未经作者允许,禁止转载。如引用本文内容,需标明作者及出处。如本文侵犯了您的权益,请联系我删除并致歉。
文章说明:如文章中出现错误,请联系我更改。如您对文章的内容有任何疑问,也欢迎来与我讨论。
本文正在施工中...请稍等...


基本概念

1、数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
2、数据元素数据元素是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位。
3、数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
4、数据类型:数据类型是一个值的集合和定义在这个值集上的一组操作的总称。按“值”的不同特性,高级程序语言中的数据类型分为两类:一类是原子类型,其值不可再分。另一类是结构类型,其值可以再分解成若干成分的数据类型。
5、抽象数据类型:抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。按其值的不同特性,可细分为三类:原子类型、固定聚合类型、可变聚合类型。属于原子类型的变量的值不可分解;属于固定聚合类型的变量的值由确定数目的成分按某种结构组成;属于可变聚合类型的变量的值的由不确定数目的成分按某种结构组成。抽象数据类型可用三元组 (D, S, P) 表示,其中D是数据对象,S是D上的关系集,P是对D的基本操作集。采用如下格式定义抽象数据类型

ADT 抽象数据类型名{
    数据对象:<数据对象的定义>
    数据关系:<数据关系的定义>
    基本操作:<基本操作的定义>
}ADT 抽象数据类型名

其中,数据对象和数据关系的定义用伪码表示,基本操作的定义采用如下格式:

基本操作名(参数表)
    初始条件:<初始条件描述>
    操作结果:<操作结果描述>

其中,参数包含两种:赋值参数、引用参数。“初始条件”描述了操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息,若无初始条件,可以省略。“操作结果”说明了操作正常完成之后,数据结构的变化状况和应返回的结果。(注意,为了结构简单和描述方便,在后续文章中使用“引用”。但在C语言中没有引用类型,引用可理解为变量的别名,对引用的操作实际上是对变量本身的操作,可使用指针相应替代)
6、多形数据类型:多形数据类型是指其值的成分不确定的数据类型。
7、数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合,可以用二元组 (D, S) 表示,其中D是数据对象,S是D上的关系集。完整的数据结构由三部分组成:数据的逻辑结构数据的存储结构数据的运算。逻辑结构即数据元素之间的逻辑关系,通常有下列4类:集合线性结构树形结构图状结构或网状结构。存储结构即数据结构在计算机中的表示,又称为物理结构,主要有下列4种:顺序存储链式存储索引存储散列存储。数据的运算包括数据在逻辑结构上的定义和在存储结构上的实现。
8、算法:算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。算法具有5个重要的特性:有穷性确定性可行性输入输出。一个优秀的算法应考虑达到以下目标:正确性可读性健壮性高效率与低存储量需求
9、算法效率的度量:用时间复杂度描述。
10、算法的存储空间需求:用空间复杂度描述。

常见时间复杂度(由小到大):
常数级O(1)
对数级O(log(n))
线性级O(n)
线性对数级O(nlog(n))
平方级O(n^{2})
立方级O(n^{3})
......
k次方级O(n^{k})
指数级O(2^{n})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wingrez

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

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

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

打赏作者

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

抵扣说明:

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

余额充值