2013~2014数据结构复习.doc
上传人:sy****28 上传时间:2024-09-11 格式:DOC 页数:4 大小:28KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

2013~2014数据结构复习.doc

2013~2014数据结构复习.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据结构数据是对客观事务的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理数据项多个数据项可组成一个数据元素,数据项是数据的不可分割的最小单位。数据对象是性质相同的数据元素的集合,是数据的一个子集。数据的结构是相互之间存在一种或多种特定关系的数据元素的集合四类基本结构(1)集合2)线性结构3)树形结构4)图状结构或网状结构逻辑结构:数据结构的二元组定义只是对操作对象的一种数学描述,反映的是数据元素之间的逻辑关系,所以称为数据结构的逻辑结构。储存结构:数据结构在计算机中的表示称为物理结构。又称存储结构。算法的设计取决于选定的逻辑结构算法的实现依赖于采用的存储结构数据的结构的表示:顺序存储结构、链式存储结构数据类型:是一个值的集合和定义在这个值上的一组操作的总称1)原子数据类型2)结构数据类型抽象数据类型:是指数学模型以及定义在该模型上的一组操作。它可以通过固有的数据类型来表示和实现。1)原子数据类型(2)固定聚合类型(3)可变聚合类型算法:是对特定问题求解步骤的一种描述。算法的五个特性:1)有穷性2)确定性3)可行性4)输入5)输出算法的描述(1)自然语言(2)专用工具:流程图、表格、伪代码(3)程序设计语言算法设计的要求:1)正确性a.程序不含语法错误b.程序对几组输入有正确输出c.程序对几组典型、苛刻的输入有正确输出d.程序对一切合法输入有正确输出(2)可读性(3)健壮性(4)高效率与低存储量需求一个程序的执行时间通常有两种方法:(1)事后统计的方法。缺点:不利于较大范围内的算法比较。(异地,异时,异境)(2)事前分析估算的方法。一个程序的执行时间取决于以下因素:(1)算法的策略(2)问题的规模(3)书写程序的语言(4)编译程序所产生的机器代码的质量(5)机器执行指令的速度算法的时间量度:从算法中选取一种原操作(对于所研究的问题来说是基本运算),以该基本操作重复执行的次数(执行频度)作为算法的时间量度。时间复杂度:T(n)=O(f(n))上示表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。解决的方法:(1)平均时间复杂度(2)最坏情况的时间复杂度类似于算法的时间复杂度,空间复杂度可以作为算法所需存储空间的量度,记为:S(n)=O(f(n))2.1线性表的概念说明:设A=(a1,a2,...,ai-1,ai,ai+1,…,an)是一线性表1)线性表的数据元素可以是各种各样的,但同一线性表中的元素必须是同一类型的;2)在表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱,ai+1是ai的直接后继;3)在线性表中,除第一个元素和最后一个元素之外,其他元素都有且仅有一个直接前驱,有且仅有一个直接后继,具有这种结构特征的数据结构称为线性结构。线性表是一种线性数据结构;4)线性表中元素的个数n称为线性表的长度,n=0时称为空表;5)ai是线性表的第i个元素,称i为数据元素ai的序号,每一个元素在线性表中的位置,仅取决于它的序号;顶点:表示数据边:表示是数据间的顺序结构关系线性表的顺序存储结构,就是用一组连续的内存单元依次存放线性表的数据元素。·在顺序存储结构下,线性表元素之间的逻辑关系,通过元素的存储顺序反映(表示)出来;·假设线性表中每个数据元素占用t个存储单元,那么,在顺序存储结构中,线性表的第i个元素的存储位置与第1个元素的存储位置的关系是:Loc(ai)=Loc(a1)+(i–1)t线性表的链式存储结构是用一组任意的存储单元存储线性表的各个数据元素。为了表示线性表中元素的先后关系,每个元素除了需要存储自身的信息外还需保存直接前趋元素或直接后继元素的存储位置。结点:数据元素及直接后继的存储位置(地址)组成一个数据元素的存储结构,称为一个结点;结点的数据域:结点中用于保存数据元素的部分;结点的指针域:结点中用于保存数据元素直接后继存储地址的部分;栈是限定仅能在表尾一端进行插入、删除操作的线性表第一个进栈的元素在栈底,最后一个进栈的元素在栈顶,第一个出栈的元素为栈顶元素,最后一个出栈的元素为栈底元素队列是限定仅能在表头进行删除,表尾进行插入的线性表第一个入队的元素在队头,最后一个入队的元素在队尾,第一个出队的元素为队头元素,最后一个出队的元素为队尾元素队空、队满都有front=rear如何判断循环队列队空、队满?有两种方法:1)另设一个标志位以区分队空、队满。2)少用一个存储单元,队满条件:front=rear+1;4.1串类型的定义一、串和基本概念1、串(String)是