





定价:49元
印次:1-2
ISBN:9787302505570
出版日期:2018.06.01
印刷日期:2018.10.23
图书责编:郑寅堃
图书分类:教材
本书系统完整地介绍了线性表、栈和队列、树和二叉树、图和字符串等数据结构的抽象数据类型、操作实现和应用实例,并讨论了各种查找技术和排序算法。通过数据结构抽象数据类型定义和接口封装,培养读者的抽象思维能力。书中的算法采用规范完整的C语言描述,读者只需添加主程序就能够运行程序,进而能够在调试层面理解算法,从而跨越抽象和具体之间的鸿沟。本书通过每章开头的两个关键词进行章节主要内容概览,通过大量的图表辅助读者理解复杂的算法过程,通过应用实例和习题中的算法设计题目及应用题目强化、提高读者的应用实践能力。 本书既可作为高等院校计算机类相关专业的教材,也可作为高职院校计算机类相关专业的教材,还可作为计算机爱好者的自学书籍和计算机软件开发的工程技术人员的参考书。
《数据结构与算法》在具体内容上按照数据结构基本算法-初步应用-高级应用拓展逐步递进展开,使不同层次的学生都学有所得
前言 “数据结构”是计算机大类相关专业的一门重要的专业基础课,既是计算机大类相关专业考研的必考科目,又是从事IT相关工作必须掌握的专业基础素养。 “数据结构”课程的教学目的是使学生能够针对具体问题选择合适的数据结构,并合理地组织数据,有效地存储和处理数据,以培养学生的数据抽象能力; 使学生能够将数据结构和应用付诸编程实践,正确地设计、编制高效算法,并对算法进行分析和评价,以培养学生良好的程序设计开发技能; 使学生能够应用工程知识和专业背景知识分析复杂工程问题,进行复杂程序设计的训练,解决工程实践问题,以培养学生的工程实践能力。这里围绕教学目的就教学改革、教材内容安排和资源等方面展开说明。 数据结构的教学与改革 在近十年的数据结构教学中,围绕着课程教学目的,编者在以下几个方面体会深刻。 1. 处理好数据结构中抽象与具体的关系 现有的教科书对概念和算法的讲解过于抽象,初学者不容易接受。在数据结构的教学过程中要注意化抽象为具体,同时也要注重培养学生的抽象思维能力。数据结构的基本操作的算法实现设计更为具体,读者只要添加主程序就可以直接执行,另外每种数据结构都设计了抽象数据类型,能提高读者的抽象思维能力,并且在基本线性表部分通过动态链接库指导学生掌握封装的技术。 2. 通过编程调试理解算法 在课堂教学中,编者通过调试讲解算法,使学生所见即所得,得到了学生的一致认可。例如在学习指针时,教师虽然做了一些比喻,但学生总是觉得和计算机程序真正运行起来相比还是有差距的。在教学开发环境中将调试信息给学生看,观看真正分配的内存地址,指针变量所在的位置,函数调...
目录
第1章绪论
1.1为什么要学习数据结构
1.2抽象数据类型
1.3数据结构
1.3.1数据结构的基本术语
1.3.2数据结构研究的三要素
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线性表的概念
2.1.1线性表的定义
2.1.2线性表的抽象数据类型定义
2.1.3顺序表VS链表
2.2顺序表的建立与判空
2.2.1创建空的顺序表
2.2.2判断顺序表为空
2.2.3扩展延伸: 通过调试理解算法
2.3顺序表的插入和删除
2.3.1插入算法
2.3.2删除算法
2.3.3小白实践: 完整示例
2.4顺序表的查找定位
2.4.1查找算法
2.4.2二分查找
2.5单链表的建立与判空
2.5.1建立单链表
2.5.2链表的判空
2.5.3用头插法建立单链表
2.5.4用尾插法建立单链表
2.6单链表的查找
2.7单链表的插入
2.7.1后插算法
2.7.2前插算法
2.8单链表的删除
2.8.1按位置删除
2.8.2按值删除
2.9单循环链表
2.10双链表和双循环链表
2.10.1双链表
...