欢迎光临
免费的PDF电子书下载网站

数据结构(山西省高等学校省级教学成果奖配套教材;普通高等教育“十二五”应用型本科规划教材·计算机系列) PDF下载

编辑推荐

暂无

内容简介

  本教材简明扼要地介绍了各种典型数据结构的逻辑特性、存储表示和基本运算。主要内容包括:线性表与特殊线性表、栈与队列、树与二叉树、图与网络、查找与内排序、文件与外排序等。存储结构分别采用具有丰富数据类型与良好结构的类PASCAL语言和较流行的C语言进行描述;算法采用结构化流程图(N-S图)进行描述;主要算法以C语言实现;给出算法执行示例。书中配有大量的实例和图示,每章都有丰富的练习题和课程设计,旨在提高读者的算法设计能力和培养读者计算思维能力。

作者简介

  冯俊,山西财经大学教授,从事计算机方面的教学和科研工作31年,多次被评为优秀教师,2006年被授予山西财经大学第4届教学名师,发表《应用软件开发中的几个重要问题》、《浅谈商业现代化复合型人才培养》《商业自动化与电子货币工程》等几十篇论文;主持完成3项省级教育教学改革项目,并多次获得省级教学成果奖;参加研制开发管理信息系统多项,取得了一定的经济效益和社会效益。鉴定结论达到国内领先。曾经编写过《大学计算机应用基础》等十四本教材。

数据结构(山西省高等学校省级教学成果奖配套教材;普通高等教育“十二五”应用型本科规划教材·计算机系列) PDF下载

目录

第1章 绪论
 1.1 数据结构
  1.1.1 学习数据结构的重要性
  1.1.2 什么是数据结构
  1.1.3 数据的逻辑结构
  1.1.4 数据的存储结构
  1.1.5 数据的运算
 1.2 算法
  1.2.1 什么是算法
  1.2.2 算法的描述
  1.2.3 算法设计
  1.2.4 算法设计要求
  1.2.5 算法分析
 1.3 程序、程序设计与程序设计方法学
  1.3.1 程序
  1.3.2 程序设计
  1.3.3 程序设计方法学
 1.4 计算思维与抽象数据类型
  1.4.1 计算思维
  1.4.2 计算机求解问题
  1.4.3 抽象数据类型 
  1.4.4 数据类型、数据结构与抽象数据类型
 1.5 课程设计相关知识
  1.5.1 课程设计目的与内涵
  1.5.2 课程设计步骤 
  1.5.3 课程设计报告规范
 课后练习与课程设计
第2章 线性表
 2.1 线性表ADT
 2.2 顺序表
  2.2.1 向量的顺序存储表示
  2.2.2 向量运算
  2.2.3 应用举例
  2.2.4 不等长结点的索引表示——目录表
 2.3 链表
  2.3.1 指针与指针对象
  2.3.2 单链表
  2.3.3 线性表的两种存储比较
  2.3.4 可利用空间袁及其管理
 2.4 线性表的其他链接存储表示
  2.4.1 循环链表
  2.4.2 双向链表
  2.4.3 静态链表
 2.5 课程设计相关知识与应用示例
  2.5.1 算法设计中的基本方法
  2.5.2 一元多项式相乘
  课后练习与课程设计
第3章 栈和队列
 3.1 栈ADT
 3.2 顺序栈
  3.2.1 顺序栈的存储表示
  3.2.2 顺序栈基本运算的实现
 3.3 链接栈
  3.3.1 链接栈的存储表示
  3.3.2 链接栈基本运算的实现
 3.4 栈的应用举例
  3.4.1 教制转换
 ……
第4章 几种特殊线性表
第5章 内排序
第6章 树和二叉树
第7章 图
第8章 查找
第9章 文件与外部排序

免费在线读

  如前所述,数据结构与算法之间存在着密切的联系。可以说,不了解施加于数据上的算法需求,就无法决定数据结构;反之,算法的方法选择和结构设计在很大程度上又依赖于作为基础的数据结构。在程序设计过程中,有相当多的时间是花费在考虑如何解决问题上,即通常所说的构思算法,一旦有了合适的算法,用某种程序设计语言来编写程序并不是一件特别困难的事。因此,要设计出一个好的程序,很大程度上取决于设计出一个好的算法。
  1.2.1什么是算法
  算法(Algorithm)称为能行方法或能行过程,是对解题过程的精确描述,它由一组定义明确且能机械执行的规则(指令、语句、命令等)组成。简单地说,算法就是一个指令的有限序列。每个算法都必须符合以下5个准则:
  (1)有穷性(Finiteness):一个算法必须在执行有穷步骤后结束。即算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成。
  (2)确定性(Definiteness):算法中的每一步或每一条指令,都必须是确切定义的,无二义性。
  (3)输入(Input):一个算法可以有零个或多个输入,这些输入取自于某个特定的数据集合。
  (4)输出(Output):一个算法至少产生一个输出,这些输出是与输入有着某些特定关系的量。
  (5)可行性(Effectiveness):算法中的每一条指令都必须充分基本,是可实现的。即算法中描述的操作都是可以通过已经实现的基本运算执行有限次完成。
  在算法的论述中,人们所探讨的是:对于一个给定的问题,用什么方法来处理它;如果有不同的方法,哪种方法更好。
  1.2.2算法的描述
  在不同层次上讨论的算法有不同的描述方法。通常可采用以下4种方法进行描述:
  (1)自然语言(NaturalLanguage)表示法:是面向问题的描述方法。用人们易于理解的自然语言粗略地描述解决问题的思路、方法和过程。可以有力地描述各个抽象层次上完整的算法结构,明确地描述各个部分的功能,而不必过早地进入细节描述,为算法的理解和交流提供方便。
  (2)源码(Source-code)表示法:是面向计算机的描述方法。用某种程序设计语言精确地描述解题过程,这种算法描述就是程序,可以直接在计算机上运行。
  (3)伪码(Pseudo-code)表示法:它是介于自然语言与源码表示法之间的一种描述方法。允许某种程序设计语言和自然语言混合使用。伪码描述对于算法的可读性和可维护性是有利的。目前,大多数《数据结构》的算法描述都采用伪码描述。
  (4)流程图(Flowchart)表示法:流程图有结构化流程图和非结构化流程图。使用流程图可以形象地描述算法中各个操作步骤的具体内容、相互联系和执行顺序,直观地表明了算法的逻辑结构。流程图作为一种形象、直观、方便的描述工具,它不仅可以用来指导编写程序,而且可以用来辅助程序调试,同时还是人们阅读、交流、改进算法(或程序)的有效工具。
  在本书中,采用类PASCAL语言和C语言(伪码)对照描述数据的存储形式;用结构化流程图描述算法结构。下面结合算法的3种基本结构简介结构化流程图——N-S图。
  结构化流程图是I.纳斯(I.Nassi)和B.施内德曼(B.Shneiderman)1973年在美国提出的,即著名的N-S图。它的最大优点是:较好地直接反映了结构算法(程序)设计的特色和风格,适合采用结构算法(程序)设计技术和方法,因而大大方便了人们对结构算法(程序)的设计、阅读、交流与教学。
  算法(程序)的基本结构有3种:顺序结构、选择结构和循环结构。结构化流程图也是由描述顺序结构、选择结构和循环结构3类基本结构框组成。
  顺序结构是最基本、最简单的算法(程序)组织结构。任何一个算法(程序)从整体上看,都可以认为是一个顺序结构。选择结构和循环结构是局部的,它们中的命令序列又可看成是顺序结构。这也体现了“自顶向下、逐步求精”的模块化、结构化算法(程序)设计思想。
  ……

数据结构(山西省高等学校省级教学成果奖配套教材;普通高等教育“十二五”应用型本科规划教材·计算机系列) pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:数据结构(山西省高等学校省级教学成果奖配套教材;普通高等教育“十二五”应用型本科规划教材·计算机系列)