重读数据结构——严蔚敏C语言版
来源:互联网 发布:多益网络老板广州首富 编辑:程序博客网 时间:2024/06/06 02:22
第一章 绪论
“数据结构”是介于数学、计算机硬件和计算机软件三者之间的一门核心课程
数据(data)是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素(data element)是数据的基本单位,在计算机程序中痛处作为一个整体进行考虑和处理。数据项是数据的不可分割的最小单位。
数据对象(data object) 是性质相同的数据元素的集合,是数据的一个子集。
数据结构(data structure) 是相互之间存在一种或多种特点关系的数据元素的集合。
基本结构: 集合——结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系;
线性结构——结构中的数据元素之间存在一个对一个的关系;
树形结构——结构中的数据元素之间存在一个对多个的关系;
图状结构或网状结构——结构中的数据元素之间存在多个对多个的关系。
结构定义中的“关系”描述的是数据元素之间的逻辑关系,称为数据的逻辑结构;数据结构在计算机中的表示(映像)称为数据的物理结构,又称为存储结构。
一个含有抽象数据类型的软件模块通常应包含定义、表示和实现3个部分。抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。按其值得不同特性可细分为:
原子类型 atomic data type 属原子类型的变量的值是不可分解的。
固定聚合类型 fixed-aggregate data type 属该类型的变量,其值由确定数目的称为按某种结构组成;
可变聚合类型 variable-aggregate data type 构成可变聚合类型“值”的成分的数目不确定。
抽象数据类型三元组表示:(D, S, P)
ADT抽象数据类型名 {
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}
其中数据对象和数据关系的定义用伪码描述,基本操作的定义格式为
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
算法algorithm 是对特定问题求解步骤的一种描述,它是指令的有限序列,其中一条指令表示一个或多个操作;
算法的重要特性:
有穷性
确定性
可行性
输入
输出
算法设计的要求:
正确性correctness 算法应当满足具体问题的要求;
可读性 readability 算法主要是为了人的阅读与交流,其次才是机器执行;
健壮性 robustness
效率与地存储量需求 效率指的是算法执行的时间。
算法效率的度量——时间复杂度
算法的存储空间存储空间需求——空间复杂度space complexity
- 重读数据结构——严蔚敏C语言版
- 数据结构——单链表的实现——C语言版
- 离散事件模拟实现——数据结构(C语言版)
- 数据结构C语言版——初始化一个线性表
- 数据结构(c语言版)学习笔记——排序算法
- 数据结构(c语言版)学习笔记——排序算法
- 深入浅出数据结构C语言版(14)——散列表
- 深入浅出数据结构C语言版(14)——散列表
- 深入浅出数据结构C语言版(16)——插入排序
- 熟悉笔记—数据结构(c语言版) 之 顺序表
- 重读数据结构——线性表
- 收藏 《数据结构(C语言版)视频全集》—清华大学严蔚敏主讲
- 严蔚敏--数据结构(C语言版)学习笔记
- 数据结构题集C语言版严蔚敏
- 数据结构C语言版 哈希表
- 数据结构(C语言版)
- 数据结构(C语言版)
- 数据结构-c语言版大纲
- 7-1程序改错
- Linq To Entity经验:如何解决按需所取
- 快速排除空闲等待事件得到敏感的非空闲等待事件
- 非阻塞模式(ioctlsocket)
- iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
- 重读数据结构——严蔚敏C语言版
- Linux 信号signal处理机制
- 配置 CACTI 监控 MySQL 数据库状态
- 常见的数据库基础面试题大全
- iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
- hadoop 学习地址
- Pinterest谈实战经验:如何在两年内实现零到数百亿的月访问
- iOS学习之UINavigationController详解与使用(三)ToolBar
- 黑马程序员--java基础加强2