本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | 数据结构实验指导教程(C语言版) |
作者: | 杨海军,马彦,叶燕文 著 |
定价: | 48.0 |
出版社: | 清华大学出版社 |
出版日期: | 2018-09-01 |
ISBN: | 9787302362593 |
印次: | |
版次: | |
装帧: | |
开本: | 16开 |
内容简介 |
|
目录 |
第1章 预备知识 |
前言 |
数据结构是计算机程序设计的重要基础,如何培养学生的实际动手能力,从而解决具体问题就是本课程的基本任务之一。我们在实际教学中发现,虽然学生对数据结构基本概念及基础操作有一定认识,但仍然难以独立设计测试环境和测例,在面对具体应用问题时,缺乏选择适当的数据结构及实现算法的能力。我们认为,解决以上问题是数据结构教学中存在的“难教难学”状况的重要途径,为此,编写了这本《数据结构实验指导教程》。本实验教程通常理论及实验教学内容以“基本数据结构—实现”和“问题识别—设计实现”的层行组织。为了降低学,导入了软件设计的基本概念,安排了测试环境、测例设计的基础内容,同时在基础实验与综合应用实验间安排了简单应用实验,以实现从概念到简单应用再到复杂应用滑过渡。简单应用实验选择比较单一的实际问题,分析其逻辑结构,然后考虑在计算机环境下如何表达其结构,再利用现有四种基本数据结构中的一种算法来实现和完成。综合应用实验一般较复杂,需要利用多种基本数据结构来完成。基础实验部分对应“基本数据结构—实现”层次,用以深化数据结构基本概念及其机器实现;简单应用实验部分和综合应用实验部分对应“问题识别—设计实现”层次,先识别具体问题含哪些基本数据结构,再根据前面的实现来完成设计。本书从内容上共分三部分。 |
摘要 |
第pan>章预备知识 了解软件开发的基本过程和步骤,掌握软件设计的基本原理,熟悉高级语言编程工具以及测试调试的主要概念和方法,不仅能够有效地表示和实现数据结构及相关算法,也是完成本教程实验的重要保证。 1.pan>软件开发过程与设计原理 1.1.pan>软件开发的一般步骤 通常依据生命周期(Life Cycle)理论将软件开发步骤分为需求分析、软件设计、编码实现、测试及维护五个阶段。软件生命周期是指这样一个过程:从用户需求开始,经过开发、交付使用,在使用中不断地增补修订,直至软件报废。需求分析阶段的主要任务是地确定“软件系统必须做什么”,及确定软件系统必须具备能。概要设计就是决定软件由哪些模块组成、每个模能以及模块间的调用关系和参数传递情况;同时决定该软件要存储的数据、这些数据的组成和相互关系,即设计该软件体数据结构或数据库结构。利用程序流程图、伪码等工具,将概要设计阶段确定每个模块的能转换为的、结构化的过程描述是详细设计阶段的主要任务。编码阶段就是把每个模块的控制结构转换成计算机可接受的程序代码,即写成以某特定程序设计语言表示的“源程序”。测试是保证软件质量的重要手段,其主要方式是利用测例检验软件的各个组成部分是否满足规格要求。一般的,将测试分为模块测试、集成测试和确认测试。软件正式运行后,入软件维护阶段,它可以持续几年甚至几十年,它是软件生存期中时间长的阶段。 1.1.2软件设计的基本原理 模块(Module)是构成程序的基本构件,是基本的设计元素。通常使用软件结构概念表示程序是由哪些模块构成的,以及这些模块相互间的关系。软件结构以层次表示程序的系统结构,即一种控制的层次体系,表示了软件元素(模块)之间的关系,如调用关系含关系、从属关系和嵌套关系等,并不表示软件执行的具体过程。 介绍几个与软件结构相关的概念。 1.模块化 模块是由边界元素限定的相邻程序元素的序列,且有一体标识符代表它,如过程、函数、子程序、宏等。 模块化((Modularity)是将系统划分为若干个模块,每个模块完成一能。模块化的目的是将系统“分而治之”,因此能够降低问题的复杂性,使软件结构清晰,易修改、易阅读、易理解,因而也有助于提高软件的可靠性,同时使得系统各个部分可以并行开发,提高软件的生产率。但并非模块分得越小越好,原因是随着模块规模变小,模块的数量会增多,这样会引起模块之间接口的复杂度和工作量增加。 提高模块质量在于提高模块独立性。模块独立性的准则用耦合性和内聚性来衡量行系统模块划分时尽量做到高内聚、低耦合,即要使模块的内部联系尽可能地强,而模块间的外部联系尽可能地弱,这样就尽可能地提高模块的相对独立性。C语言开发中,一个模块对应一个函数或宏,也就是说采用函数和宏实现模块。 2.软件结构的描述 通常采用软件结构概念来描述软件的组成模块、各能以及模块间通信协调的方法和方式,反映了软件的静态特性。软件结构决定了整个系统的结构,也确定了系统的质量。软件结构图、层次图是描述软件结构的常用工具。 (pan>)软件结构图 软件结构图是描述软件结构的图形表示方法。它以特定的符号表示模块、模块间的调用关系和模块间信息的传递。软件结构图的主要元素有模块、调用和数据。 ·模块:用矩形框表示,框中写有模块的名字,说明模能。模块是程序对象有名字的集合。如图1-pan>中的“计算通信费用”“计算市话费”等。 调用:从一个模块指向另一个模块的箭头表示前一模块对后一模块的调用,一般是上层调用下层。在图1-pan>中,在计算通信费用模块中调用计算市话费、计算国内长途费和计算国际长途费三个模块。 数据:调用箭头边上的短箭头表示调用时从一个模块传送给另一模块的数据。通常在短箭头应注有信息的名字,如图1-pan>所示。 数据又分为数据信息和控制信息两类,如果要区分这两类信息,通常可用尾端带有空心圆的短箭头表示数据信息,用尾端带有实心圆的短箭头表示控制信息。有的结构图对这两种信息不加以区别,一律用注有信息名的短箭头来表示。 (2)层次图 层次图用来描绘软件的层次结构,层次图中的一个矩形框代表一个模块,方框间的连…… |