数据结构(c语言版)第一章

第一章 绪论
1.1 什么是数据结构
数据结构:相互之间存在一种或多种特定关系的数据元素的集合
数据结构=数据对象+结构
1.2 基本概念和术语
数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被程序处理的符号的总称。
数据元素:是数据的基本单位,在计算机程序通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项 组成 ,例如 一本书的书目信息为一个数据元素,而书目信息的每一项(如书名、作者名等)为一个数据项。数据项是数据的不可分割的最小单位。
数据对象 :是性质相同的数据元素的集合,是数据的一个子集。
数据元素之间不同关系的不同特性,通常有下列四种结构
(1)集合 结构中的数据元素之间除了“同属一个集合”的关系外,别无其他关系。
(2)线性结构 结构中的数据元素之间存在一个对一个的关系。
(3)树形结构 结构中的数据元素之间存在一个对多个的关系。
(4)图状结构或网状结构结构中的数据元素之间存在多个对多个的关系。
抽象数据类型(abstract data type,简称ADT)
格式
ADT抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT抽象数据类型名
基本操作名(参数列表)
初始条件:<初始条件描述>
操作结果:<操作结构描述>
1.3 抽象数据类型的表示与实现
(1)预定义常量和类型
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
(2)数据结构的表示(存储结构)用类型定义(typedef)描述。数据类型约定为ElemType,用户在使用该数据类型时自行定义。
(3) 基本操作的算法都用下列形式的函数描述:
函数类型 函数名(函数参数列表){
//算法说明
语句序列
}//函数名
1.4 算法和算法分析
1.41 算法
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个多个操作。
算法五大特性:
(1)有穷性一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。
(2)确定性相同的输入只能得到相同的输出。
(3)可行性一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。
(4)输入一个算法有零个或多个输入。
(5)输出 一个算法有一个或多个输出。
1.42 算法设计的要求
(1)正确性
(2)可读性
(3)健壮性
(4)效率与低存储量需求
1.43 算法效率的度量
时间复杂度
常见时间复杂度:O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)
<O(n^3)
<O(n^n)
<O(2^n)
1.44 算法的存储空间需求
空间复杂度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值