数据结构简明教程(第2版·微课版)

李春葆
内容简介 本书内容包括概论、线性表、栈和队列、串、数组和稀疏矩阵、树和二叉树、图、查找和排序,附录中给出了书中全部算法代码清单和2018年全国计算机专业数据结构考研大纲。 本书具有概念清楚、表述明晰、示例丰富、图示准确和内容完整等特点,尤其注重知识点之间结构关系的展示和通用算法设计方法的提炼。每个知识点都提供了配套的微课视频。 本书可用作高等院校计算机及相关专业本、专科生数据结构课程的教材,也适合计算机爱好者和参加各类计算机考试的人员研习。 前言 用计算机求解实际问题时,必然涉及数据组织及数据处理,这些正是“数据结构”课程的主要学习内容。“数据结构”课程在计算机科学中是一门综合性的专业基础课。在计算机科学中,数据结构内容不仅作为一般程序设计的必备知识,而且是设计编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。 “数据结构”课程主要的学习内容有:数据的逻辑结构描述,即表示求解问题中的数据和数据元素之间的逻辑关系;数据的存储结构设计,即将数据逻辑结构在计算机内存中表示出来;运算算法设计,即实现求解问题的功能,如设计插入、删除、修改、查询和排序算法等。 很多学习“数据结构”课程的学生都感觉数据结构比较抽象,算法理解比较困难,这很大程度上是由于没有领会数据结构的特点。首先,一个学习计算机专业的学生必须具有某种计算机语言编程能力,能够将求解问题的思路转换成计算机可以执行的程序代码,会编写基本的程序就像一个小学生识字和掌握基本的词汇一样重要;其次,必须掌握用计算机求解问题的三个层次,即提取求解问题中数据的逻辑结构、设计相应的存储结构和在存储结构上实现求解问题的算法。在设计一个算法时,先要充分理解相关的存储结构,试想一下,一个图的邻接表存储结构还没有弄清楚,如何设计一个图的遍历算法呢?所以在写算法时脑海里要准确地呈现数据的存储结构,这样才会下笔有“神”,流畅地…