数据结构及应用:C语言描述
基本信息
- 作者: 沈华
- 丛书名: 高等院校计算机教材系列
- 出版社:机械工业出版社
- ISBN:9787111321552
- 上架时间:2010-12-22
- 出版日期:2011 年1月
- 开本:16开
- 页码:275
- 版次:1-1
- 所属分类:
计算机 > 计算机科学理论与基础知识 > 数据结构
计算机 > 软件与程序设计 > C/Turbo C > C
内容简介回到顶部↑
本书系统地介绍各种常用的数据结构以及排序、查找的各种算法,阐述各种数据结构的逻辑关系、存储表示及运算,涵盖研究生入学考试大纲的所有内容。全书采用c语言作为数据结构和算法的描述语言,并对c语言描述的算法作了详细的注解和简要的性能分析。全书共分为六个部分:第一部分主要介绍什么是数据结构,什么是算法,它们之间有着怎样的联系,如何进行算法分析;第二部分针对后续学习的需要帮助读者温习一些相关知识;第三部分和第四部分分别重点介绍几种常见的线性结构和非线性结构;第五部分介绍在实际应用中最常遇到的两个运算——查找(即搜索)和排序,以及实现这两种运算的各种算法;第六部分则简要介绍文件和外排序的相关内容。
为了帮助读者直观、正确地理解各种数据结构和算法的要旨,本书利用大量的图表进行诠释,并通过典型的思考题、例题和习题来加深读者对相关知识的理解。
本书内容丰富、概念清楚、逻辑推理严谨、通俗易懂,可以作为计算机科学与技术及相关专业本科生的教材,也可以作为高等院校计算机专业硕士研究生入学考试的复习用书,同时还可以作为广大工程技术人员的参考资料。
为了帮助读者直观、正确地理解各种数据结构和算法的要旨,本书利用大量的图表进行诠释,并通过典型的思考题、例题和习题来加深读者对相关知识的理解。
本书内容丰富、概念清楚、逻辑推理严谨、通俗易懂,可以作为计算机科学与技术及相关专业本科生的教材,也可以作为高等院校计算机专业硕士研究生入学考试的复习用书,同时还可以作为广大工程技术人员的参考资料。
目录回到顶部↑
序
前言
教学建议
第一部分概论
第1章数据结构3
1.1什么是数据3
1.2什么是数据结构3
1.2.1数据的逻辑结构3
1.2.2数据的存储结构4
1.2.3数据的运算5
1.3什么是数据类型5
1.4知识点小结6
习题6
第2章算法7
2.1什么是算法7
2.2算法的描述7
2.3算法分析8
2.3.1时间复杂度8
2.3.2渐近符号9
2.3.3空间复杂度10
前言
教学建议
第一部分概论
第1章数据结构3
1.1什么是数据3
1.2什么是数据结构3
1.2.1数据的逻辑结构3
1.2.2数据的存储结构4
1.2.3数据的运算5
1.3什么是数据类型5
1.4知识点小结6
习题6
第2章算法7
2.1什么是算法7
2.2算法的描述7
2.3算法分析8
2.3.1时间复杂度8
2.3.2渐近符号9
2.3.3空间复杂度10
前言回到顶部↑
在国外是从1968年才开始将“数据结构”作为一门独立的课程的。1968年,美国唐纳德E.克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计艺术:第1卷基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”是计算机科学与技术、信息类相关专业的一门重要的综合性专业基础课。它是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。当用计算机解决实际问题时,必然会涉及信息表示和信息处理的问题,而这正是“数据结构”课程主要的研究内容。“数据结构”不仅是一般程序设计(特别是非数值性程序设计)的基础,也是编译程序、操作系统、数据库系统等系统程序的重要基础。
本书分六部分共14章,如下图所示。
第一部分包括第1章和第2章,主要介绍数据结构的概念、算法的概念、数据结构和算法之间的密切联系以及简单的算法分析。
第二部分包括第3章,主要介绍C语言中的函数参数传递及函数处理结果返回、结构体、指针等相关内容,两种递归方式,以及操作系统为一个准备运行的程序分配内存空间的情况。
第三部分包括第4章至第8章,这一部分以“线性表”为主线分别详细讨论六种常见的线性结构。
第四部分包括第9章和第10章,重点介绍两种重要的非线性结构——树和图。
第五部分包括第11章和第12章,讨论两种重要的运算——查找和(内部)排序,在介绍各种经典的查找算法和(内部)排序算法的同时,展现各种数据结构的完美应用。
第六部分包括第13章和第14章,讨论数据在外存上的存储形式,以及如何对外存中的文件进行排序。这部分内容为选学内容,章名前以“*”号指示。
本书主要采用面向过程的C语言作为数据结构和算法的描述手段,在保持C语言优点的同时,尽量使算法描述简单清晰。
本书配套的教辅资源包括:电子课件以及课后习题参考答案。
在本书的编写过程中,机械工业出版社负责本书的编辑为本书的出版付出了大量辛勤的劳动。何炎祥教授在百忙之中认真审阅了全书,提出了许多宝贵和中肯的意见。在此,谨向每一位关心和支持本书编写工作的各位朋友、老师表示衷心的谢意!
由于作者的知识和写作水平有限,书中难免有错误和不足之处,恳请各位专家、读者批评指正。作者E-mail:nancy78733@126.com。
沈华
2010年8月于武汉南湖
本书分六部分共14章,如下图所示。
第一部分包括第1章和第2章,主要介绍数据结构的概念、算法的概念、数据结构和算法之间的密切联系以及简单的算法分析。
第二部分包括第3章,主要介绍C语言中的函数参数传递及函数处理结果返回、结构体、指针等相关内容,两种递归方式,以及操作系统为一个准备运行的程序分配内存空间的情况。
第三部分包括第4章至第8章,这一部分以“线性表”为主线分别详细讨论六种常见的线性结构。
第四部分包括第9章和第10章,重点介绍两种重要的非线性结构——树和图。
第五部分包括第11章和第12章,讨论两种重要的运算——查找和(内部)排序,在介绍各种经典的查找算法和(内部)排序算法的同时,展现各种数据结构的完美应用。
第六部分包括第13章和第14章,讨论数据在外存上的存储形式,以及如何对外存中的文件进行排序。这部分内容为选学内容,章名前以“*”号指示。
本书主要采用面向过程的C语言作为数据结构和算法的描述手段,在保持C语言优点的同时,尽量使算法描述简单清晰。
本书配套的教辅资源包括:电子课件以及课后习题参考答案。
在本书的编写过程中,机械工业出版社负责本书的编辑为本书的出版付出了大量辛勤的劳动。何炎祥教授在百忙之中认真审阅了全书,提出了许多宝贵和中肯的意见。在此,谨向每一位关心和支持本书编写工作的各位朋友、老师表示衷心的谢意!
由于作者的知识和写作水平有限,书中难免有错误和不足之处,恳请各位专家、读者批评指正。作者E-mail:nancy78733@126.com。
沈华
2010年8月于武汉南湖
序言回到顶部↑
在计算机科学中,数据结构是一种在计算机中组织和存储数据,以便高效利用这些数据的有效方式。几乎所有的程序或软件系统都用到了数据结构。数据结构是许多高效算法的基本要素,同时它也使得管理大规模数据成为可能。数据结构课程是计算机科学的一门非常重要的专业基础课,也是IT类各专业的核心基础课。
数据结构中的数据和结构是两个紧密联系而又相互关联的概念,数据是数据结构的主要组成部分,它不涉及数据之间的关系;结构才涉及而且只涉及数据之间的关系。从中文构词上来看,数据结构更强调的是结构,即数据之间的关联方式。我们需要将适用于计算机的问题求解策略用计算机能自理解的形式输入到计算机中,告诉计算机如何一步一步地处理数据并最终得到问题的解,这就是算法。因此,从抽象层面卜讲,数据结构是为算法服务的。不同的应用需求需要不同的算法,不同的算法需要不同的数据结构来支持。从实现层面上讲,数据结构是为算法实现服务的。
本书作者具有多年的教学和科研经验,对各种数据结构及应用算法有深入的了解。本书对什么是数据结构,什么是算法,算法和数据结构之间的关系进行了生动的阐述,并对各种线性数据结构、非线性数据结构、查找算法和排序算法等作了详尽的描述和分析。本书基本概念清晰,重点和难点问题讨论深入,而且循序渐进,为读者深入理解和应用数据结构给出了启示。本书既注重对数据结构经典内容的沦述,又强调数据结构的应用,对相关内容进行了启发式讨论,是一本值得阅读和选用的教科书。
何炎祥
武汉大学计算机学院
2010年8月18日于武汉珞珈山
数据结构中的数据和结构是两个紧密联系而又相互关联的概念,数据是数据结构的主要组成部分,它不涉及数据之间的关系;结构才涉及而且只涉及数据之间的关系。从中文构词上来看,数据结构更强调的是结构,即数据之间的关联方式。我们需要将适用于计算机的问题求解策略用计算机能自理解的形式输入到计算机中,告诉计算机如何一步一步地处理数据并最终得到问题的解,这就是算法。因此,从抽象层面卜讲,数据结构是为算法服务的。不同的应用需求需要不同的算法,不同的算法需要不同的数据结构来支持。从实现层面上讲,数据结构是为算法实现服务的。
本书作者具有多年的教学和科研经验,对各种数据结构及应用算法有深入的了解。本书对什么是数据结构,什么是算法,算法和数据结构之间的关系进行了生动的阐述,并对各种线性数据结构、非线性数据结构、查找算法和排序算法等作了详尽的描述和分析。本书基本概念清晰,重点和难点问题讨论深入,而且循序渐进,为读者深入理解和应用数据结构给出了启示。本书既注重对数据结构经典内容的沦述,又强调数据结构的应用,对相关内容进行了启发式讨论,是一本值得阅读和选用的教科书。
何炎祥
武汉大学计算机学院
2010年8月18日于武汉珞珈山
【插图】







点击看大图
加载中...

