- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学计算机基础教程讲解
8.2.1 算法的基本概念(续) 4.算法设计的基本方法 列举法 归纳法 递推 递归 减半递推技术 回溯法 8.2.2 算法复杂度 算法复杂度:时间复杂度、空间复杂度 1.算法的时间复杂度 执行算法所需要的计算工作量 与下列因素有关: 书写算法的程序设计语言 编译产生的机器语言,代码质量 机器执行指令的速度 问题的规模 8.2.2 算法复杂度(续) 问题的规模函数 算法的工作量=f(n) 算法中基本操作重复执行的频率T(n),是问题规模n的某个函数f(n),记作: T(n)=O(f(n)) 记号“O”读作“大O”。表示随问题规模n的增加,算法执行时间的增长率和f(n)相应增加。 常见算法复杂度: O(1):常数阶 O(n):作线性阶 O(n2):平方阶 O(n3):立方阶 O(logn):对数阶 O(2n):指数阶 8.2.2 算法复杂度(续) n×n矩阵相乘算法: 时间复杂度为O(n3)。 8.2.2 算法复杂度(续) 分析算法的工作量两种方法: 平均性态 最坏情况复杂性 8.2.2 算法复杂度(续) 2.算法的空间复杂度 算法执行过程中所需的最大存储空间 存储量包括以下三部分 算法程序所占的空间 输入的初始数据所占的存储空间 算法执行过程中所要的额外空间 算法空间复杂度可定义为: S(n)=O(f(n)) 原地工作(in place)的算法:记作O(1) 压缩存储技术 8.2.3 数据结构的基本概念 数据结构研究的主要内容 数据的逻辑结构 数据的存储结构 对各种数据结构进行的运算 研究数据结构目的 提高数据处理的速度 尽量节省在数据处理过程中所占用的计算机存储空间 8.2.3 数据结构的基本概念(续) 1.数据的逻辑结构 2、数据的存储结构 3、数据的运算:检索、排序、插入、删除、修改等。 A.线性结构 B.非线性结构 A 顺序存储 B 链式存储 线性表 栈 队 树形结构 图形结构 数据结构的三个方面 8.2.3 数据结构的基本概念(续) 1.什么是数据结构 数据结构的定义 相互有关联的数据元素的集合 数据元素之间的关系可以用前后件关系来描述 一个数据结构应包含以下两方面信息: 表示数据元素的信息 表示各数据元素之间的前后件关系 8.2.3 数据结构的基本概念(续) (1)数据的逻辑结构 对数据元素之间的逻辑关系的描述 只抽象地反映数据元素之间的逻辑关系,与计算机中的存储无关 两个要素: 数据元素的集合,通常记为D; 前后件关系,通常记为R 一个数据结构B可以表示为: B=(D,R) 8.2.3 数据结构的基本概念(续) (2)数据的存储结构 数据的逻辑结构在计算机存储空间中的存放形式 常用的存储结构: 顺序 链式 索引 一种数据结构可根据需要采用不同的存储结构。采用不同的存储结构,其数据处理的效率是不同 8.2.3 数据结构的基本概念(续) 2.数据结构的图形表示 数据结点:用方框表示 根结点、终端结点 前后件关系:用有向线段表示 基本运算: 插入运算 删除运算 查找、分类、合并、分解、复制、修改、…… 数据结构 操作系统 单片机 (a) 所修课程的数据结构 XX大学 (b) 学院行政关系的数据结构 计算机系 数学系 8.2.3 数据结构的基本概念(续) 3.线性结构与非线性结构 空的数据结构:一个数据元素都没有 线性结构 如果一个非空数据结构满足下列两个条件: 有且只有一个根结点; 每一个结点最多有一个前件,也最多有一个后件。 常见的线性结构有:线性表、栈与队列、线性链表 非线性结构 如果一个数据结构不是线性结构 常见的非线性结构有:树、二叉树、图 8.2.4 线性表 1.基本概念:由n(n≥0)个相同类型数据元素构成的有限序列: n定义为线性表的表长;n=0 时的线性表被称为空表。称i为在线性表中的位序。 例如: 英文小写字母表(a,b,c,…,z)是一个长度为26的线性表 8.2.4 线性表(续) 线性表的结构特征 数据元素在表中的位置由序号决定,数据元素之间的相对位置是线性的; 对于一个非空线性表,有且只有一个根结点a1,它无前件,有且只有一个终端结点an,它无后件,除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。 线性表的存储结构 顺序存储 链式存储 8.2.4 线性表(续) 两个基本特点: 线性表中所有元素所占的存储空间是连续的。 线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 存储示意图 8.2.4 线性表(续) (a)初始表 (b)插入25后 顺序表插入操作示意图 (c)插入16后 54 6 40 30 12 11 53 54 25
文档评论(0)