数据结构课程设计
基本信息
- 作者: 苏仕华等
- 丛书名: 高等院校计算机课程设计指导丛书
- 出版社:机械工业出版社
- ISBN:7111161815
- 上架时间:2005-5-20
- 出版日期:2005 年5月
- 开本:16开
- 页码:167
- 版次:1-1
- 所属分类:
计算机 > 计算机科学理论与基础知识 > 数据结构
教材 > 研究生/本科/专科教材 > 工学 > 计算机
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机基础课程
编辑推荐
本书依据数据结构课程教学大纲要求,同时又独立于具体的教科书,精选出适当的、与实际生活结合密切的课程设计实例加以分析实现,是一本教、学适用的辅助教材。
内容简介回到顶部↑
书籍
计算机书籍
为了配合数据结构课程的教学,加强读者对数据结构算法实际应用技能的训练,提高读者分析问题和解决问题的能力,本书选取并讨论了多种应用的课程设计。全书共分9章,基本上按数据结构教材内容的先后给出了相关的课程设计。描述了相关数据结构的存储表示及其实际应用的操作算法,对用类c语言描述的各种算法进行了详细的注释和性能分析。书中对各应用的解题思路、方法进行了较详细的分析。全书特别注重对实际应用问题的分析和理解,内容丰富,概念清楚,通俗易懂。
本书可作为高等院校各类相关专业本科生、专科生学习数据结构的辅助教材,也可作为社会大众学习数据结构的参考用书。
数据结构是计算机专业的必修、主干课程之一,课程设计可以充分弥补课堂教学和实验中的不足,帮助学生充分理解和巩固所学的基本概念,原理和方法,达到融会贯通、举一反三的目的。
本书依据数据结构课程教学大纲要求,同时又独立于具体的教科书,精选出适当的、与实际生活结合密切的课程设计实例加以分析实现,是一本教、学适用的辅助教材。
本书特色
·实例通俗易懂,既重视实践应用,又重视理论分析。
·所选课程设计难易适当,循序渐进,结合实例训练学生实际分析问题、解决问题的能力。
·对一些重要的数据结构和算法进行解读,通过让学生多做、多练、多见,使学生掌握更多的程序设计技巧和方法。
计算机书籍
为了配合数据结构课程的教学,加强读者对数据结构算法实际应用技能的训练,提高读者分析问题和解决问题的能力,本书选取并讨论了多种应用的课程设计。全书共分9章,基本上按数据结构教材内容的先后给出了相关的课程设计。描述了相关数据结构的存储表示及其实际应用的操作算法,对用类c语言描述的各种算法进行了详细的注释和性能分析。书中对各应用的解题思路、方法进行了较详细的分析。全书特别注重对实际应用问题的分析和理解,内容丰富,概念清楚,通俗易懂。
本书可作为高等院校各类相关专业本科生、专科生学习数据结构的辅助教材,也可作为社会大众学习数据结构的参考用书。
数据结构是计算机专业的必修、主干课程之一,课程设计可以充分弥补课堂教学和实验中的不足,帮助学生充分理解和巩固所学的基本概念,原理和方法,达到融会贯通、举一反三的目的。
本书依据数据结构课程教学大纲要求,同时又独立于具体的教科书,精选出适当的、与实际生活结合密切的课程设计实例加以分析实现,是一本教、学适用的辅助教材。
本书特色
·实例通俗易懂,既重视实践应用,又重视理论分析。
·所选课程设计难易适当,循序渐进,结合实例训练学生实际分析问题、解决问题的能力。
·对一些重要的数据结构和算法进行解读,通过让学生多做、多练、多见,使学生掌握更多的程序设计技巧和方法。
目录回到顶部↑
专家指导委员会
丛书序言
前言
第1章 课程设计目标 1
1.1 本书目标 1
1.2 本书结构 2
1.3 评价标准 5
第2章 链表的应用 7
2.1 设计内容 7
2.2 通讯录管理 8
2.2.1 主控菜单设计要求 8
2.2.2 设计实例 9
2.2.3 功能函数设计 11
2.2.4 完整程序清单 15
2.2.5 程序运行测试 21
2.3 约瑟夫生者死者游戏 24
2.3.1 算法设计 24
2.3.2 约瑟夫生者死者游戏的程序实现 27
2.4 评价标准 29
第3章 栈和队列的应用 31
丛书序言
前言
第1章 课程设计目标 1
1.1 本书目标 1
1.2 本书结构 2
1.3 评价标准 5
第2章 链表的应用 7
2.1 设计内容 7
2.2 通讯录管理 8
2.2.1 主控菜单设计要求 8
2.2.2 设计实例 9
2.2.3 功能函数设计 11
2.2.4 完整程序清单 15
2.2.5 程序运行测试 21
2.3 约瑟夫生者死者游戏 24
2.3.1 算法设计 24
2.3.2 约瑟夫生者死者游戏的程序实现 27
2.4 评价标准 29
第3章 栈和队列的应用 31
前言回到顶部↑
数据结构是计算机专业的必修、主干课程之一,它旨在使读者学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据逻辑结构和存储结构,以及相应的运算(操作),把现实世界中的问题转化为计算机内部的表示和处理,这是一个良好的程序设计技能训练的过程。在整个教学或学习过程中,解题能力和技巧的训练是一个重要的环节。为了帮助教师讲授“数据结构”,满足指导和评价“课程设计”的需要,为了帮助和指导读者更好地学习数据结构这门课程,我们特编写了这本《数据结构课程设计》辅助教材。
作者在长期讲授数据结构这门课程中体会到,每次在布置课程设计或作业时,总要苦思冥想。在选什么样的题,如何评分等方面难以定夺;而读者也对如何利用书本中的基本知识和方法解决一些实际问题,以及对问题的求解进行算法设计感到难以下手。实践证明,理解课程内容与较好地解决实际问题之间存在着明显差距,而算法设计完成的质量与基本的程序设计素质的培养是密切相关的。要想理解和巩固所学的基本概念、原理和方法,牢固地掌握所学的基本知识、基本技能,达到融会贯通、举一反三的目的,就必须多做、多练、多见(见多识广)。正是为了达到上述目的,书中用一些实际的应用,对一些重要的数据结构和算法进行解读。经过循序渐进地训练,就可以使读者掌握更多的程序设计技巧和方法,提高分析、解决问题的能力。
本书遵循数据结构课程的教学大纲要求,内容共分9章:第1章是综述,简要介绍后8章中各课程设计的内容概要,以便作为后面学习的引导;第2章是链表的应用,用两个课程设计实例来讨论单链表和单循环链表的存储结构及相关算法的分析和应用;第3章是栈和队列的应用,也是用了两个设计实例,讨论栈和队列的存储结构以及对栈、队列、回溯等概念的应用;第4章是串的应用,本章用了一个文本检索的设计实例,将串的存储结构、串的各种操作都蕴涵其中;第5章有两个方面的内容,一个是稀疏矩阵的存储及运算,另一个是广义表的各种操作的实现;第6章是树型结构,本章课程设计主要涉及树、二叉树的存储结构及其遍历,以及赫夫曼树及赫夫曼编码的生成及其应用;第7章是图结构,这一章讨论了两个非常有实用价值的图结构应用实例,一个是交通网络中的最短路径问题,另一个则是工程项目施工中的关键路径问题;第8章用一个课程设计实例,讨论了排序和查找两个方面的内容;最后一章是文件结构应用,它是一个综合的应用设计,不仅用到文件的概念,还用到静态链表和数组等存储结构,也用到了排序、查找等概念。
为了提高学生分析、解决问题的能力,我们对书中的主要知识进行了分析,每章都选择了一个或两个课程设计实例,这些设计内容丰富、涉及面广、难易适当,能给学习数据结构这门课程的读者以启发,达到让读者掌握相关知识和开阔视野的目的。因此,对书中大部分设计题目都作了解析,并给出了参考算法和源程序代码。
本书由苏仕华主编,参加本书编写工作的还有经纶、贾伯琪、黄学俊、余华敏、刘燕君、徐晨亮、郭草敏、吴河辉等。
在本书的编写过程中,得到了中国科学技术大学计算机系黄刘生教授的支持和帮助,他对本书的编写提出了许多宝贵意见;刘振安教授仔细审阅了全书,并提出具体修改意见,在此致以诚挚的谢意。
由于作者水平有限、时间仓促,书中难免存在一些缺点和错误,殷切希望广大读者及同行批评指正。
编 者
2004年10月于合肥
作者在长期讲授数据结构这门课程中体会到,每次在布置课程设计或作业时,总要苦思冥想。在选什么样的题,如何评分等方面难以定夺;而读者也对如何利用书本中的基本知识和方法解决一些实际问题,以及对问题的求解进行算法设计感到难以下手。实践证明,理解课程内容与较好地解决实际问题之间存在着明显差距,而算法设计完成的质量与基本的程序设计素质的培养是密切相关的。要想理解和巩固所学的基本概念、原理和方法,牢固地掌握所学的基本知识、基本技能,达到融会贯通、举一反三的目的,就必须多做、多练、多见(见多识广)。正是为了达到上述目的,书中用一些实际的应用,对一些重要的数据结构和算法进行解读。经过循序渐进地训练,就可以使读者掌握更多的程序设计技巧和方法,提高分析、解决问题的能力。
本书遵循数据结构课程的教学大纲要求,内容共分9章:第1章是综述,简要介绍后8章中各课程设计的内容概要,以便作为后面学习的引导;第2章是链表的应用,用两个课程设计实例来讨论单链表和单循环链表的存储结构及相关算法的分析和应用;第3章是栈和队列的应用,也是用了两个设计实例,讨论栈和队列的存储结构以及对栈、队列、回溯等概念的应用;第4章是串的应用,本章用了一个文本检索的设计实例,将串的存储结构、串的各种操作都蕴涵其中;第5章有两个方面的内容,一个是稀疏矩阵的存储及运算,另一个是广义表的各种操作的实现;第6章是树型结构,本章课程设计主要涉及树、二叉树的存储结构及其遍历,以及赫夫曼树及赫夫曼编码的生成及其应用;第7章是图结构,这一章讨论了两个非常有实用价值的图结构应用实例,一个是交通网络中的最短路径问题,另一个则是工程项目施工中的关键路径问题;第8章用一个课程设计实例,讨论了排序和查找两个方面的内容;最后一章是文件结构应用,它是一个综合的应用设计,不仅用到文件的概念,还用到静态链表和数组等存储结构,也用到了排序、查找等概念。
为了提高学生分析、解决问题的能力,我们对书中的主要知识进行了分析,每章都选择了一个或两个课程设计实例,这些设计内容丰富、涉及面广、难易适当,能给学习数据结构这门课程的读者以启发,达到让读者掌握相关知识和开阔视野的目的。因此,对书中大部分设计题目都作了解析,并给出了参考算法和源程序代码。
本书由苏仕华主编,参加本书编写工作的还有经纶、贾伯琪、黄学俊、余华敏、刘燕君、徐晨亮、郭草敏、吴河辉等。
在本书的编写过程中,得到了中国科学技术大学计算机系黄刘生教授的支持和帮助,他对本书的编写提出了许多宝贵意见;刘振安教授仔细审阅了全书,并提出具体修改意见,在此致以诚挚的谢意。
由于作者水平有限、时间仓促,书中难免存在一些缺点和错误,殷切希望广大读者及同行批评指正。
编 者
2004年10月于合肥
序言回到顶部↑
近年来,我国在计算机应用、计算机软件和电子类相关专业的人才培养方面,取得了长足的进展,每年的毕业生都有数十万人。但是这些毕业生走进企业、公司、政府机构或研究单位之后,往往深刻地感觉到缺乏实际开发设计项目的经验,不善于综合运用所学理论,对知识的把握缺乏融会贯通的能力。
综合考察目前高等院校教学大纲、课程设置以及内容安排等方面的情况,多数学校还是比较重视训练学生的实际设计能力。但是,从安排设计实践的内容上看,基本上是围绕相关课程教学内容而展开的,不能够构成对实际问题的解决方案;从配套程序的规模上看,一般只是几十行到几百行的源代码,或者是一个单独电路的设计,远远小于一个小型项目的规模;从设计的结构上看, 由于设计实践是围绕着课程教学内容而进行的, 问题已经高度抽象,学生很难得到有关综合运用所学知识的整体训练机会。而且,这些内容相对简单、问题域已经高度抽象、规模较小的设计实践一人基本上就能完成, 学生几乎无法通过这些设计实践,去真正获得有关项目管理和团队协作等方面的基本训练和工作经验。
由此可以看出,大多数学校对学生实际设计能力的训练与国外知名大学和国内精品课程相比较,还是存在一些差距的。为此,机械工业出版社华章分社和一批高等院校的教师,针对当前高等院校计算机硬件、软件和电子类相关课程教学中存在的问题,参考国内外知名大学相关课程成功的教学经验,设计编写了这套“高等院校计算机课程设计指导丛书”,其目的就是通过课程设计的一系列训练,把知识获取和项目实践两个方面有机地结合起来。
在这套“高等院校计算机课程设计指导丛书”中的每一门课程设计里,都安排了由多个子项目组成的一个课程设计项目。学生们可以在教师的指导下,逐步设计实现这些子项目,并最终完成一个功能相对完整,可以运行的系统,其代码可以是数千行,甚至上万行。通过这种设计课程,学生一方面可以结合课程的教学内容循序渐进地进行设计方面的实践训练,另一方面,在参与一系列子项目的实践过程中,还能提高如何综合运用所学知识解决实际问题的能力,以及获得有关项目管理和团队合作等等众多方面的具体经验,增强对相关课程具体内容的理解和掌握能力,培养对整体课程知识综合运用和融会贯通能力。
参加丛书编写的各高等院校的教师都有着丰富的教学、科研, 以及与企业合作开发项目等多方面的经验。每个课程设计中的子项目和整体项目,都来自教师们具体的科研和设计开发实践,所选设计项目与教学内容配合紧密,项目的难度与规模适宜。
最后,感谢机械工业出版社华章分社编辑们的大力支持,使出版有关这套丛书的计划,从单纯的构想演化成带有油墨芳香的真实。
丛书写作组
2004年7月
综合考察目前高等院校教学大纲、课程设置以及内容安排等方面的情况,多数学校还是比较重视训练学生的实际设计能力。但是,从安排设计实践的内容上看,基本上是围绕相关课程教学内容而展开的,不能够构成对实际问题的解决方案;从配套程序的规模上看,一般只是几十行到几百行的源代码,或者是一个单独电路的设计,远远小于一个小型项目的规模;从设计的结构上看, 由于设计实践是围绕着课程教学内容而进行的, 问题已经高度抽象,学生很难得到有关综合运用所学知识的整体训练机会。而且,这些内容相对简单、问题域已经高度抽象、规模较小的设计实践一人基本上就能完成, 学生几乎无法通过这些设计实践,去真正获得有关项目管理和团队协作等方面的基本训练和工作经验。
由此可以看出,大多数学校对学生实际设计能力的训练与国外知名大学和国内精品课程相比较,还是存在一些差距的。为此,机械工业出版社华章分社和一批高等院校的教师,针对当前高等院校计算机硬件、软件和电子类相关课程教学中存在的问题,参考国内外知名大学相关课程成功的教学经验,设计编写了这套“高等院校计算机课程设计指导丛书”,其目的就是通过课程设计的一系列训练,把知识获取和项目实践两个方面有机地结合起来。
在这套“高等院校计算机课程设计指导丛书”中的每一门课程设计里,都安排了由多个子项目组成的一个课程设计项目。学生们可以在教师的指导下,逐步设计实现这些子项目,并最终完成一个功能相对完整,可以运行的系统,其代码可以是数千行,甚至上万行。通过这种设计课程,学生一方面可以结合课程的教学内容循序渐进地进行设计方面的实践训练,另一方面,在参与一系列子项目的实践过程中,还能提高如何综合运用所学知识解决实际问题的能力,以及获得有关项目管理和团队合作等等众多方面的具体经验,增强对相关课程具体内容的理解和掌握能力,培养对整体课程知识综合运用和融会贯通能力。
参加丛书编写的各高等院校的教师都有着丰富的教学、科研, 以及与企业合作开发项目等多方面的经验。每个课程设计中的子项目和整体项目,都来自教师们具体的科研和设计开发实践,所选设计项目与教学内容配合紧密,项目的难度与规模适宜。
最后,感谢机械工业出版社华章分社编辑们的大力支持,使出版有关这套丛书的计划,从单纯的构想演化成带有油墨芳香的真实。
丛书写作组
2004年7月







点击看大图

加载中...

