内容简介数据结构与算法息息相关,本书以浅显易懂的文字与各种运用方式来说明各个主题,并对问题的解决方法与流程做详尽的图形剖析,辅以算法与程序代码的实例,从而增进读者对问题与结构的理解。全书共分13章,各章的主题分别为数据结构概论、数组、算法、数组结构的算法应用、查找算法、排序算法、堆栈、队列、链表、递归、树、图、散列。本书非常适合刚学习数据结构课程的学生研读,从书中的内容与顺序的编排来看本书也非常适合大专院校作为教材。在信息科学的领域中,数据结构是一门基础学科,有关人工智能、图像处理、语音识别、并行处理等相关应用的研究,都需要这门学科的辅助;算法是解决问题的方法,要解决问题,只使用数据结构这个工具还稍嫌不足,还需要学习不同的算法,进而在未来的学习道路上,才能不断思考、不断地进步。数据结构与算法息息相关。本书以浅显易懂的文字与各种运用方式来说明各个主题,并对问题的解决方法与流程作详尽的图形剖析,辅以算法与程序代码的实例来,从而增进读者对问题与结构的理解。全书共分13章,各章的主要内容分述如下:第1章"数据结构概论",介绍数据与结构、数据结构与算法等概念。第2章"数组",介绍数组的概念、数组类别和计量、数组的遍历和矩阵运算等。第3章"算法",介绍算法的概念、算法的效率分析及渐进式表示等。第4章"数组结构的算法应用",介绍数组在多项式的运算、捉大头抽签游戏、魔术方块算法中的应用,对奖算法与数据结构等。第5章"查找算法",介绍查找算法概述、线性查找法、二分查找法、插补查找法等。第6章"排序算法",介绍排序算法概述、冒泡排序法、交换排序法、选择排序法、插入排序法、谢尔排序法、基数排序法、快速排序法、归并排序法等。第7章"堆栈",介绍堆栈概述、堆栈的数据结构和操作、表达式的应用、后缀表达式求值和转换机器码。第8章"队列",介绍队列概述、队列的数据结构和操作、循环队列、双向队列和特殊队列。第9章"链表",介绍链表概述、以数组表示单链表和双向链表、以指针和结构表示链表、链表在其他结构中的应用等。第10章"递归",介绍递归关系以及递归算法在几种数学问题、汉诺塔问题、迷宫问题中的应用等。第11章"树",介绍树型结构和特性、二叉树的概念、二叉树的数据结构、二叉树的遍历、二叉运算树、堆、二叉查找树等。第12章"图",介绍图型结构的概念、图的数据结构、图的遍历、生成树和最小成本生成树、最短路径、拓扑排序等。第13章"散列",介绍散列概述、散列应用与散列函数、溢出处理、散列查找法等。本书的章节安排由浅入深,目的是培养读者对数据结构与算法的高度兴趣,从最基本的数组结构的使用及其在各种问题上的应用开始谈起:再来介绍算法的分析方法及简单的练习;再进到最常用的搜索算法与排序算法,此为第一阶段,主要使读者与程序设计课程建立联系,读者只要会基本的程序基础,就可利用程序语言编写各种实用的程序。第二阶段介绍利用数组结构扩展到堆栈结构、队列结构、链表结构等,增强读者对线性问题的解决能力。第三阶段介绍递归关系、树型结构和图型结构等较深问题的处理方法,增强读者对空间类问题的解决能力。本书具有如下特色:●每个章节的主题、结构与算法都有详细的图解说明;●每个算法都有实际对应的范例程序代码;●每个程序都有实际运行结果;●公式或运算式有推导过程,详细说明;●书中的程序代码以C语言为主,可以在各种版本的C语言开发环境中编译执行,如TurboC、VisualC++、BorlandC++Builder等;●学习评估及范例、练习等除了作者自己编的题材外,另外参考了多种数据结构与算法的典型考题:●书中结构层次分明,适合学校教师采用为教材;●本书注重训练思考的方法,解决问题的步骤,适合训练程序设计人员的程序设计能力。期望阅读本书的读者,除子能理解数据结构与算法领域的知识与技能之外,更能从本书的解题思路中得到灵感,可举一反三,将此学科的知识与技能应用在其他信息科技领域中。