[an error occurred while processing this directive]

全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 计算机原理与基础

图解算法入门(一本书掌握算法要点与诀窍)

  • 定价: ¥69.8
  • ISBN:9787122491992
  • 开 本:32开 平装
  •  
  • 折扣:
  • 出版社:化学工业
  • 页数:227页
  • 作者:(日)中田亨|责编:...
  • 立即节省:
  • 2026-01-01 第1版
  • 2026-01-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    《图解算法入门:一本书掌握算法要点与诀窍》以直观的图解方式,系统讲解了算法的基本概念、常用数据结构和典型算法实现,帮助读者建立起清晰的算法思维框架。全书内容分为两大部分:基础知识篇和算法篇。基础知识篇涵盖变量、数组、数据结构等编程基础;算法篇详细解析递归、排序等核心算法,并通过大量插图和生活化案例(如找零钱、汉诺塔谜题等)将抽象概念具象化,极大降低了理解难度。书中还提供了JavaScript示例程序,读者无需搭建复杂环境,通过浏览器即可动手实践,增强学习体验。本书突出特点是“图解+实战”,几乎每个算法都配有步骤图示和伪代码分析,避免纯文字描述的枯燥,让读者在视觉化过程中轻松掌握算法的本质与应用场景。无论是希望入门编程的读者,还是想要巩固算法基础的学习者,都能从中获得扎实的知识储备和解决实际问题的能力。
    本书适合编程初学者、学生以及对算法感兴趣的读者阅读学习。

目录

第1章  算法
  01  什么是算法
    解决问题的处理步骤
  02  在日常生活中下意识地使用的算法
    找零的数量
  03  了解算法能有什么优势
    能够帮助提升工作效率或优化经营方案
  04  算法和程序的关系
    算法在程序中的重要性
  05  结构化程序设计
    解答复杂的问题
    什么是结构化编程
    三种控制结构
第2章  变量和数组
  01  表示数据的“值”
    表达式和值
  02  表示数据类型的“类型”
    类型
  03  表示数据存放的箱子“变量”
    变量
  04  将数据放入变量“赋值”
    把数据装进箱子里
    变量的代入
    计算结果的赋值
  05  多个数据一起存放“数组”
    数组
    数组元素
  06  字符串“数组”
    逐字分解的数组
    搜索字符串数组的算法
  07  二维数组
第3章  算法中常用的数据结构
  01  数据结构
    什么是数据结构
    基本数据结构
  02  数组(相同类型的变量连续排列的结构)
    数组的特点
    数组的缺点
  03  按顺序列出并链接数据(链表)
    链表的特点
    单向链表
    循环链表
    双向链表
    静态链表(散列)
    静态链表的特点
  04  堆栈(后入先出的链表结构)
    什么是堆栈
    堆栈的特点
    压入和弹出(push和pop)
    日常生活中使用堆栈的场合
  05  队列(先入先出的链表结构)
    什么是队列
    队列的特点
    入队和出队
    日常生活中使用队列的场合
  06  树结构(包括层次关系的非线性数据结构)
    什么是树结构
    树结构的特点
    二叉树
    二叉树的特征
    二叉搜索树
    二叉搜索树遍历
第4章  基本算法
  01  算法的基础是“重复”
    重复(循环)使用的场合
    流程图和伪代码
  02  习惯使用流程图
    流程图中出现的符号
    符号的意义
    尝试使用流程图
  03  习惯伪代码的阅读方法
    一般的程序结构
    声明部分的描述形式
    程序和函数(子程序)声明
    处理部分的描述形式
    选择的描述形式
    循环(重复)的描述形式
    先判断型和后判断型
    函数(子程序)的描述形式
    实际参数(实参)和形式参数(形参)
    变量的作用域(有效范围)
  04  求数据的和
    求和的步骤
    求课程总分的流程图
    求课程总分的程序
  05  求数据的平均值
    求平均值的流程图
    求平均值程序
  06  交换两个数据
    交换数据的步骤
    交换数组元素的流程图
    交换数组元素的程序
  07  求数据的最大值
    求最大值的步骤
    求最大值的流程图
    求最大值程序
  08  求数据的最小值
    求最小值的步骤
    求最小值的流程图
    求最小值的程序
第5章  递归算法
  01  什么是“递归”
    像“平行镜”一样的状态
  02  熟悉递归处理
    吃到盘子空了
    递归处理流程
  03  通过递归求数据的和
    求100个数字的总和
    流程图
  04  通过递归求数据的阶乘
    什么是阶乘
    流程图和程序
  05  “汉诺塔”问题怎么解决
    什么是汉诺塔
    汉诺塔(一层)
    汉诺塔(两层)
    汉诺塔(三层)
  06  用算法解决“汉诺塔”问题
    如何解决N层的汉诺塔
    移动N层汉诺塔的步骤
    准备绘制流程图
    汉诺塔函数H与移动的对应关系
    汉诺塔函数流程图(未完成)
    汉诺塔函数结束条件
    汉诺塔函数流程图(完成)
    找出移动步骤的程序
    验证汉诺塔函数的流程
    用JavaScript执行汉诺塔的移动
第6章  排序算法
  01  什么是排序
    数据排序
    7个典型排序
  02  冒泡排序(基本交换法)
    两两比较
    冒泡排序流程图
    冒泡排序程序
    降序(从大到小)的冒泡排序
  03  选择排序(基本选择法)
    冒泡排序的改良版
    选择排序流程图
    选择排序程序
    按降序进行选择排序(从大到小)
  04  插入排序(基本插入法)
    插入到已排列好的数组中
    插入排序流程图
    插入排序程序
  05  希尔排序
    插入排序改进版
    分组方法
    希尔排序流程图
    排序程序
  06  合并排序(归并排序法)
    什么是合并排序
    合并排序的递归处理
    合并排序函数是什么样子呢
    子链表的位置范围怎么表示
    合并排序函数的结束条件
    子链表的排序结束后做什么
    合并排序流程图
    合并排序程序
  07  堆排序
    什么是堆排序
    堆排序的步骤
    堆排序的整体流程图
    堆排序流程图(最小堆函数)
    堆排序程序
  08  快速排序
    什么是快速排序
    快速排序示例
    快速排序的步骤(步骤1~步骤2)
    快速排序的步骤(步骤3)
    快速排序流程图(总体)
    分组流程图
    快速排序程序
结束语

 
[an error occurred while processing this directive]