- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构是一门研究非数值计算的程序设计问 题中计算机的操作对象以及它们之间的关系和 操作等等的学科。 4.4.2 基本概念和术语 顺序存储结构的优缺点 优点 逻辑相邻,物理相邻 可随机存取任一元素 存储空间使用紧凑 缺点 插入、删除操作需要移动大量的元素 预先分配空间需按最大空间分配,利用不充分 表容量难以扩充 4.3:查找技术 只适用于顺序存储的有序表。 2、二分法查找 对长度为n的有序线性表,在最坏情况下,二分查找只需比较log2n次,而顺序查找要比较n次。 9 8 7 6 5 4 3 2 1 假设有5个数:9,8,6,4,3要排序。 9 8 6 4 3 8 9 6 4 3 8 6 9 4 3 8 6 4 9 3 8 6 4 3 9 第一轮(趟)把9沉底共比4次 排序分为:交换类排序法、插入类排序法、选择类排序法和归并排序。 4.4:排序技术 (1)冒泡排序法。 1.交换类排序法:借助元素之间的互相交换进行排序的方法。 8 6 4 3 9 6 8 4 3 9 6 4 8 3 9 6 4 3 8 9 第二轮(趟)把8沉底共比3次 第三轮(趟)把6沉底共比2次 第四轮(趟)把4沉底共比1次 设线性表的长度为n,则最坏情况下,冒泡排序要经过n/2遍从前向后的扫描和n/2遍从后向前的扫描。需要比较的次数是n(n-1)/2次。 (2)快速排序方法 5 6 2 3 7 1 9 其思路是:线性中任意取一个数,比如取5,把其放在T变量中,T=5。 由于它比冒泡排序速度快,所以称快速排序。 9 6 7 5 3 1 2 然后把小于T的元素移到T的前面,大于T的元素移到T的后面。 设线性表的长度为n,则最坏情况下,快速排序要比较的次数是nlog2n次。 2、插入类排序法 5 6 2 3 7 1 9 是指将无序序列中的各元素依次插入到已经有序的线性表中。 5 6 2 3 7 9 1 5 6 2 3 9 7 1 5 6 2 9 7 3 1 5 6 9 7 3 2 1 5 9 7 6 3 2 1 9 7 6 5 3 2 1 第一趟(前2个数比) 第二趟(前3个数比) 第三趟(前4个数比) 第四趟(前5个数比) 第五趟(前6个数比) 第六趟(前7个数比) 长度为n,最坏情况下,需要比较的次数是n(n-1)/2次 3、选择类排序法 5 6 1 2 7 3 9 其思路是:先在线性表中找到最小数并记下其位置,然后与第一个数交换,再找第二小的并记下其位置,然后与第二个数交换…….。 5 6 9 2 7 3 1 第一趟 5 6 9 3 7 2 1 第二趟 长度为n,最坏情况下,需要比较的次数是n(n-1)/2次 一、软件的定义与特点 计算机软件(software)是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。 软件的特点: 1、软件是一种逻辑实体,而不是物理实体,具有抽象性。 2、软件的生产与硬件不同,它没有明显的制作过程。 3、软件在运行、使用期间不存在磨损、老化的问题。 4、软件的开发、运行受计算机系统的限制。 5、软件复杂度高,成本昂贵。 6、软件开发设计诸多的社会因素。 4.4 软件工程的基本概念 软件是程序、数据和_____________的集合。 软件是程序、数据和_____________的集合。 20世纪60年代末,软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1、软件的需求的增长得不到满足、开发成本和进度无法控制 3、软件质量难以保证、不可维护或维护程度非常低 5、软件的成本不断提高。 6、软件开发生产率的提高赶不上硬件的发展和应用需求的增长。 可以将软件危机归结为成本、质量、生产率等问题。 “软件危机”是指( )A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 二、软件危机与软件工程 软件工程的概念的出现源自软件危机。 “软件危机”是指( )
A. 计算机病毒的出现
B. 利用计算机进行经济犯罪活动
C. 软件开发和维护中出现的一系列问题
D. 人们过分迷恋计算机系统
1968年在北大西洋公约组织会议上,软件工程作为一个概念首次被提出。 下面不属于软件工程的3个要素的是______ A. 工具 B. 过程 C. 方法 D. 环境 软件工程:是开发、维护和修复软件的系统方法 软件工程包括3个要素:方法、工具和过程 下面不属于软件工程的3个要素的是______。(D)
A. 工具
B. 过程
C. 方法
D. 环境 1、通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。 定义阶段 开发阶段 维护阶段 软件生
文档评论(0)