全书以Java 为基础,将面向对象的思想融入数据结构设计和算法设计之中,通过精选基础理论内容、降低理论难度和抽象性、加强实践环节等措施来提高学生的面向对象程序设计理论知识水平和增强学生实践操作的能力,并力求以全国计算机等级考试大纲中对于数据结构与算法的考核知识点为基准,来组织和设计教材。同时,基于Java语言已经提供了诸如栈、队列、链表、字符串、数组、集合等内置数据结构的状况,并兼顾大数据技术、物联网技术等新专业方向对地理位置、图像、视频等数据处理的需要,本书强化了诸如串、矩阵、广义表、树和图等数据结构的设计和应用,从而为新兴的技术应用提供更多的支持。本书以面向高等职业院校的学生为主,兼顾计算机等级考试者、计算机爱好者的需求,立足于把数据结构的基本概念和基本算法讲清楚,讲透彻。为了方便教学,本书还配有电子课件等教学资源包,任课教师和学生可以登录我们爱读书网(www.ibook4us.com)注册并浏览,任课教师还可以发邮件至hustpeiit@163.com索取。
全书以Java 为基础,将面向对象的思想融入数据结构设计和算法设计之中,通过精选基础理论内容、降低理论难度和抽象性、加强实践环节等措施来提高学生的面向对象程序设计理论知识水平和增强学生实践操作的能力,并力求以全国计算机等级考试大纲中对于数据结构与算法的考核知识点为基准,来组织和设计教材。同时,基于Java语言已经提供了诸如栈、队列、链表、字符串、数组、集合等内置数据结构的状况,并兼顾大数据技术、物联网技术等新专业方向对地理位置、图像、视频等数据处理的需要,本书强化了诸如串、矩阵、广义表、树和图等数据结构的设计和应用,从而为新兴的技术应用提供更多的支持。
本书的主要特点如下。
(1) 教学定位清楚,本书以面向高等职业院校的学生为主,兼顾计算机等级考试者、计算机爱好者的需求,立足于把数据结构的基本概念和基本算法讲清楚,讲透彻。
(2) 教学内容先进,全书以Java 语言为工具,用面向对象的思想来描述各种数据结构的定义和相关操作算法的实现。
(3) 教学目标明确,知识结构完整。在教学内容安排方面强调既要方便教学,又要方便自学,因此针对数据结构的基本算法提供完整的Java源代码实现。
(4) 教学理念先进,坚持以应用为纲,避免了传统数据结构教材重理论轻实用的弊端,因此本书针对每种数据结构的讲解都特别突出了对应数据结构的应用与教学做一体化设计,后还配置了一个综合实训项目。
为了方便教学,本书还配有电子课件等教学资源包,任课教师和学生可以登录我们爱读书网(www.ibook4us.com)注册并浏览,任课教师还可以发邮件至hustpeiit@163.com索取。
由于本书在总体内容策划及实现方法方面做了一些新尝试,加之作者水平有限,时间仓促,因此本书中难免有错误和遗漏之处,敬请读者和同行予以批评指正。
项目1导论/1
任务1课程的初步认识/1
任务2数据结构中常用的术语与概念/3
任务3数据类型及面向对象的概念/5
任务4算法/9
项目2线性表/14
任务1线性表的相关概念及抽象数据类型/14
任务2顺序表/17
任务3单链表/25
项目3堆栈/39
任务1栈的相关概念及抽象数据类型/39
任务2顺序栈/41
任务3链栈/46
项目4队列/53
任务1队列的相关概念及抽象数据类
型/53
任务2链队列/55
任务3循环队列/62
项目5串/70
任务1串的相关概念/70
任务2串的存储与基本运算实现/71
项目6数组、矩阵和集合/78
任务1认识数组/78
任务2矩阵/81
任务3集合/86
项目7广义表/93
任务1广义表的相关概念及抽象数据类型/93
任务2广义表的存储结构/95
任务3广义表的基本运算/96
项目8树与二叉树/99
任务1树/99
任务2二叉树/101
任务3树、树林与二叉树/119
任务4树与树林的遍历/121
项目9图/125
任务1图的相关概念及其抽象数据类
型/125
任务2图的存储方式/128
任务3图的遍历/132
任务4图的应用/138
项目10查找/152
任务1查找简介/152
任务2常用见查找方法/153
项目11排序/162
任务1排序简介/162
任务2内部排序法/163
任务3外部排序法/178
项目12综合实训/180
参考文献/186