什么是数据结构 抽象数据类型及面向对象概念 模板 算法定义.ppt
《什么是数据结构 抽象数据类型及面向对象概念 模板 算法定义.ppt》由会员分享,可在线阅读,更多相关《什么是数据结构 抽象数据类型及面向对象概念 模板 算法定义.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURESn 什么是数据结构什么是数据结构n 抽象数据类型及面向对象概念抽象数据类型及面向对象概念n 模板模板n 算法定义算法定义n 算法性能分析与度量算法性能分析与度量Chapter 1 基本概念和算法分析 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES1.1 什么是数据结构什么是数据结构n数据:数据是信息的载体,是描
2、述客观事物的数据:数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中并被计数、字符、以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。算机程序识别和处理的符号的集合。P.2 数值数据数值数据, 非数值性数据非数值性数据n数据对象:数据的子集。具有相同性质的数据数据对象:数据的子集。具有相同性质的数据成员(数据元素)的集合。成员(数据元素)的集合。整数数据对象整数数据对象 N = 0, 1, 2, 学生数据对象学生数据对象 Department of Computer Science & Technology, Nanjing University fallDATA
3、 STRUCTURES Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES如:如: 152643152643 复数的数据结构定义如下:复数的数据结构定义如下: Complex=(C,R)C是包含两个实数的集合是包含两个实数的集合C1,C2R=P,P是定义在集合上的一种关系是定义在集合上的一种关系C1,C2。 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES数据结构
4、是数据的组织形式n包括三个方面:包括三个方面:u数据元素间的逻辑关系,即数据的数据元素间的逻辑关系,即数据的逻辑结构逻辑结构;u数据元素及其关系在计算机存储内的表示,即数数据元素及其关系在计算机存储内的表示,即数据的据的存储表示存储表示;u数据的运算,即对数据元素施加的数据的运算,即对数据元素施加的操作操作。 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES相关:相关: 逻辑结构逻辑结构 物理结构物理结构 相关操作相关操作 实现实现 Department of Computer
5、 Science & Technology, Nanjing University fallDATA STRUCTURES数据的逻辑结构n数据的逻辑结构从逻辑关系上描述数据,与数据数据的逻辑结构从逻辑关系上描述数据,与数据的存储无关;的存储无关;n数据的逻辑结构可以看作是从具体问题抽象出来数据的逻辑结构可以看作是从具体问题抽象出来的数据模型;的数据模型;n数据的逻辑结构与数据元素本身的形式、内容无数据的逻辑结构与数据元素本身的形式、内容无关;关;n数据的逻辑结构与数据元素的相对存储位置无关。数据的逻辑结构与数据元素的相对存储位置无关。 Department of Computer Scienc
6、e & Technology, Nanjing University fallDATA STRUCTURES数据的逻辑结构分类n线性结构线性结构u 线性表线性表n非线性结构非线性结构u 树树u 图(或网络)图(或网络) Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES线性结构bindevetclibuser Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES树形结
7、构树形结构树树 二叉树二叉树 二叉搜索树二叉搜索树14131211234567891031587101199874566231311 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES堆结构123548711102916410121151236987 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES图结构图结构 网络结构网络结构125436113318146651
8、61921125634 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES数据的存储结构n数据的存储结构是逻辑结构用计算机语言的数据的存储结构是逻辑结构用计算机语言的实现;实现;n数据的存储结构依赖于计算机语言。数据的存储结构依赖于计算机语言。u 顺序存储表示顺序存储表示u 链接存储表示链接存储表示u 索引存储表示索引存储表示u 散列存储表示散列存储表示主要用于内存的主要用于内存的存储表示存储表示主要用于外存主要用于外存 (文文件件) 的存储表示的存储表示 Department
9、of Computer Science & Technology, Nanjing University fallDATA STRUCTURES1.2 抽象数据类型及面向对象概念抽象数据类型及面向对象概念 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES例:自然数的抽象数据类型定义例:自然数的抽象数据类型定义 (P.8)一个整数的有序子集合一个整数的有序子集合,它开始于它开始于0, 结束于机器能表示的最大整数结束于机器能表示的最大整数(MaxInt)。 Department o
10、f Computer Science & Technology, Nanjing University fallDATA STRUCTURES Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES1.3 模板模板 Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES(dataList) #ifndef DATALIST_H #define DATALIST_H #inc
11、lude template class dataList private: Type *Element; int ArraySize; void Swap (const int m1, const int m2); int MaxKey (const int low, const int high); Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES public: dataList (int size = 10) : ArraySize (size), Element (ne
12、w Type Size) dataList ( ) delete Element; void Sort ( ); friend ostream& operator (ostream& outStream, const datalist& outList); friend istream& operator (istream& inStream, const datalist& inList); ; #endif Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES #ifndef
13、SELECTTM_H #define SELECTTM_H #include “datalist.h” template void dataList : Swap (const int m1, const int m2) Type temp = Element m1; Element m1 = Element m2; Element m2 = temp; Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES template int dataList: MaxKey (const
14、int low, const int high) int max = low; for (int k = low+1, k = high, k+) if ( Elementmax Elementk ) max = k; return max; Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES template ostream&operator (ostream& OutStream, const dataList OutList) OutStream “Array Conten
15、ts : n”; for (int i = 0; i OutList.ArraySize; i+) OutStream OutList.Elementi ; OutStream endl; OuStream “Array Current Size : ” OutList.ArraySize endl; return OutStream; Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES template istream& operator (istream& InStream,
16、 dataList InList) cout InList.ArraySize; cout “Enter array elements : n”; for (int i = 0; i InList.ArraySize; i+) cout “Elememt” i InList.Elementi; return InStream; Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES template void dataList:Sort ( ) for ( int i = Array
17、Size -1; i 0; i- ) int j = MaxKey (0, i); if ( j != i ) swap (j, i); #endif Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES #include “selecttm.h” const int SIZE = 10; int main ( ) dataList TestList (SIZE); cin TestList; cout “Testing Selection Sort : n” TestList e
18、ndl; TestList.Sort ( ); cout “After sorting : n” TestList endl; return 0; Department of Computer Science & Technology, Nanjing University fallDATA STRUCTURES定义定义: 是对特定问题求解步骤的一种描述,是对特定问题求解步骤的一种描述,算法是算法是指令指令的的有限有限序列,其中每一条指令表示序列,其中每一条指令表示一个或多个操作。一个或多个操作。l特性特性:u输入输入u输出输出u确定性确定性u有穷性有穷性 u有效性有效性1.4 算法定义算法定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 什么是数据结构 抽象数据类型及面向对象概念 模板 算法定义 什么是 数据结构 抽象 数据类型 面向 对象 概念 算法 定义
限制150内