作品简介

在人工智能时代下,本书将带领读者通过学习一些简单的计算机数据结构和相关算法,来提高使用编程语言的能力,从而探索更加广阔的编程世界。本书主要介绍了线性表、栈与队列、递归、搜索和排序、树、图等常用的数据结构和算法的概念和基本的应用。本书引入了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及的一些经典算法逐行分析、多算法比较。本书有趣易读,算法讲解细致深刻,是一本非常适合算法入门的读物。本书可作为青少年的自学参考书,也可作为中学生学习人工智能所应用的算法的参考教材。

徐卫,中学高级教师,苏州大市学科带头人。现任江苏省苏州第十中学校信息技术学科教师、信息中心主任、安教处主任、教务处副主任。其教科研成果获得苏州市教育教学成果一等奖。执教公开课30多节,发表论文10多篇,编写教材3部,主持或参与国家、省、市级课题4项。教学理念:培养学生的创新精神、创新意识和创新思维习惯,鼓励合作与竞争,倡导个性化的学习方式。

庄浩,中学高级教师,苏州市教育工作者、苏州市教育局“共产党员”、苏州市直属学校德育工作者、苏州市区“指导学生自学先进教师”、江苏省化学奥林匹克高级教练员。近年来,有多篇论文在省市级期刊发表或获奖,在江苏省基础教育青年教师教学基本功大赛(高中化学)中获得省一等奖、苏州市教师把握学科能力竞赛中获大市一等奖、苏州市高中化学教师评优课比赛中获得大市一等奖。曾任校督导室主任,并多年担任学校教务处主任和年级部主任等职务,积累了丰富的教育教学管理经验,现任江苏省苏州第十中学校副校长。

作品目录

  • 前言
  • 第1章 初探数据结构
  • 1.1 数据结构起源
  • 1.2 数据结构相关基本概念和专业术语
  • 1.2.1 数据
  • 1.2.2 数据元素
  • 1.2.3 数据项
  • 1.2.4 数据对象
  • 1.2.5 数据结构
  • 1.3 逻辑结构与物理结构
  • 1.3.1 逻辑结构
  • 1.3.2 物理结构
  • 1.4 参考题
  • 第2章 算法
  • 2.1 数据结构与算法的关系
  • 2.2 两种算法的比较
  • 2.3 算法的定义
  • 2.4 算法的特性
  • 2.4.1 输入输出
  • 2.4.2 有穷性
  • 2.4.3 确定性
  • 2.4.4 可行性
  • 2.5 算法设计的要求
  • 2.5.1 正确性
  • 2.5.2 可读性
  • 2.5.3 健壮性
  • 2.5.4 时间效率和存储量
  • 2.6 算法效率的度量方法
  • 2.6.1 事后统计方法
  • 2.6.2 事前分析估算方法
  • 2.7 参考题
  • 第3章 线性表
  • 3.1 线性表的定义
  • 3.2 线性表的顺序存储结构
  • 3.2.1 两种存储结构
  • 3.2.2 顺序存储结构的地址计算方法
  • 3.3 线性表的链式存储结构
  • 3.3.1 顺序存储结构的不足的解决办法
  • 3.3.2 线性表链式存储结构定义
  • 3.4 单链表结构与顺序存储结构的优缺点
  • 3.5 列表
  • 3.5.1 无序列表抽象数据类型
  • 3.5.2 实现无序列表:链表
  • 3.5.3 实现有序列表
  • 3.6 参考题
  • 第4章 栈与队列
  • 4.1 栈的定义
  • 4.2 栈的抽象数据类型
  • 4.3 用Python实现栈
  • 4.4 队列的定义
  • 4.5 队列的抽象数据类型
  • 4.6 用Python实现队列
  • 4.7 双端队列的定义
  • 4.8 双端队列的抽象数据类型
  • 4.9 用Python实现双端队列
  • 4.10 参考题
  • 第5章 递归
  • 5.1 引言
  • 5.2 何谓递归
  • 5.2.1 计算一列数之和
  • 5.2.2 递归三原则
  • 5.2.3 将整数转换成任意进制的字符串
  • 5.3 栈帧:实现递归
  • 5.4 递归可视化
  • 5.5 复杂的递归问题
  • 5.6 探索迷宫
  • 5.7 动态规划
  • 5.8 参考题
  • 第6章 搜索和排序
  • 6.1 引言
  • 6.2 搜索
  • 6.2.1 顺序搜索
  • 6.2.2 二分搜索
  • 6.2.3 散列
  • 6.3 排序
  • 6.3.1 冒泡排序
  • 6.3.2 选择排序
  • 6.3.3 插入排序
  • 6.3.4 希尔排序
  • 6.3.5 归并排序
  • 6.3.6 快速排序
  • 6.4 参考题
  • 第7章 树
  • 7.1 引言
  • 7.2 树的定义
  • 7.3 树的实现
  • 7.3.1 第一种实现方法——列表法
  • 7.3.2 第二种实现方法——节点法
  • 7.4 二叉树的应用
  • 7.4.1 解析树
  • 7.4.2 树的遍历
  • 7.5 参考题
  • 第8章 图
  • 8.1 引言
  • 8.2 定义
  • 8.3 图的抽象数据类型
  • 8.3.1 邻接矩阵
  • 8.3.2 邻接表
  • 8.3.3 实现
  • 8.4 参考题
  • 附录
展开全部