新書推薦:

《
教育研究量表手册 21世纪教育科学系列教材
》
售價:HK$
97.9

《
真事隐:康熙废储与正史虚构
》
售價:HK$
85.8

《
工艺之美(席曼婷)
》
售價:HK$
97.9

《
揭秘煤气灯效应:心理操控的哲学透视
》
售價:HK$
60.5

《
走,去地下 探索地球内部的秘密【精装大本】
》
售價:HK$
96.8
![含混的哲思——梅洛-庞蒂·杨大春讲梅洛-庞蒂[修订本合集]](//img.megbook.hk/upload/mall/productImages/26/7/9787303310944.jpg)
《
含混的哲思——梅洛-庞蒂·杨大春讲梅洛-庞蒂[修订本合集]
》
售價:HK$
184.8

《
财务炼金术:AI时代从财务小白到超级个体的成长手册
》
售價:HK$
97.9

《
粤港澳大湾区的创新创业故事
》
售價:HK$
96.8
|
| 內容簡介: |
《图解算法入门:一本书掌握算法要点与诀窍》以直观的图解方式,系统讲解了算法的基本概念、常用数据结构和典型算法实现,帮助读者建立起清晰的算法思维框架。全书内容分为两大部分:基础知识篇和算法篇。基础知识篇涵盖变量、数组、数据结构等编程基础;算法篇详细解析递归、排序等核心算法,并通过大量插图和生活化案例(如找零钱、汉诺塔谜题等)将抽象概念具象化,极大降低了理解难度。书中还提供了JavaScript示例程序,读者无需搭建复杂环境,通过浏览器即可动手实践,增强学习体验。本书突出特点是“图解+实战”,几乎每个算法都配有步骤图示和伪代码分析,避免纯文字描述的枯燥,让读者在视觉化过程中轻松掌握算法的本质与应用场景。无论是希望入门编程的读者,还是想要巩固算法基础的学习者,都能从中获得扎实的知识储备和解决实际问题的能力。 本书适合编程初学者、学生以及对算法感兴趣的读者阅读学习。
|
| 目錄:
|
第1章 算法 01 什么是算法 002 解决问题的处理步骤 002 02 在日常生活中下意识地使用的算法 004 找零的数量 004 03 了解算法能有什么优势 006 能够帮助提升工作效率或优化经营方案 006 04 算法和程序的关系 008 算法在程序中的重要性 008 05 结构化程序设计010 解答复杂的问题010 什么是结构化编程010 三种控制结构012
第2章 变量和数组 01 表示数据的“值”016 表达式和值016 02 表示数据类型的“类型”018 类型018 03 表示数据存放的箱子“变量”020 变量020 04 将数据放入变量“赋值”022 把数据装进箱子里022 变量的代入022 计算结果的赋值022 05 多个数据一起存放“数组”024 数组024 数组元素024 06 字符串“数组”026 逐字分解的数组026 搜索字符串数组的算法026 07 二维数组028
第3章 算法中常用的数据结构 01 数据结构032 什么是数据结构032 基本数据结构032 02 数组(相同类型的变量连续排列的结构)034 数组的特点034 数组的缺点034 03 按顺序列出并链接数据(链表)036 链表的特点036 单向链表038 循环链表038 双向链表038 静态链表(散列)040 静态链表的特点040 04 堆栈(后入先出的链表结构)042 什么是堆栈042 堆栈的特点042 压入和弹出(push和pop)044 日常生活中使用堆栈的场合046 05 队列(先入先出的链表结构)048 什么是队列048 队列的特点048 入队和出队050 日常生活中使用队列的场合052 06 树结构(包括层次关系的非线性数据结构)054 什么是树结构054 树结构的特点054 二叉树056 二叉树的特征056 二叉搜索树058 二叉搜索树遍历060
第4章 基本算法 01 算法的基础是“重复”066 重复(循环)使用的场合066 流程图和伪代码066 02 习惯使用流程图068 流程图中出现的符号068 符号的意义068 尝试使用流程图070 03 习惯伪代码的阅读方法072 一般的程序结构072 声明部分的描述形式074 程序和函数(子程序)声明074 处理部分的描述形式076 选择的描述形式076 循环(重复)的描述形式078 先判断型和后判断型080 函数(子程序)的描述形式082 实际参数(实参)和形式参数(形参)083 变量的作用域(有效范围)084 04 求数据的和086 求和的步骤086 求课程总分的流程图088 求课程总分的程序089 05 求数据的平均值090 求平均值的流程图090 求平均值程序091 06 交换两个数据092 交换数据的步骤092 交换数组元素的流程图094 交换数组元素的程序095 07 求数据的最大值096 求最大值的步骤096 求最大值的流程图098 求最大值程序099 08求数据的最小值100 求最小值的步骤100 求最小值的流程图102 求最小值的程序103
第5章 递归算法 01 什么是“递归”106 像“平行镜”一样的状态106 02 熟悉递归处理108 吃到盘子空了108 递归处理流程110 03 通过递归求数据的和112 求100个数字的总和112 流程图114 04 通过递归求数据的阶乘116 什么是阶乘116 流程图和程序118 05 “汉诺塔”问题怎么解决120 什么是汉诺塔120 汉诺塔(一层)122 汉诺塔(两层)122 汉诺塔(三层)124 06 用算法解决“汉诺塔”问题126 如何解决N层的汉诺塔126 移动N层汉诺塔的步骤128 准备绘制流程图130 汉诺塔函数H与移动的对应关系132 汉诺塔函数流程图(未完成)134 汉诺塔函数结束条件136 汉诺塔函数流程图(完成)138 找出移动步骤的程序138 验证汉诺塔函数的流程140 用JavaScript执行汉诺塔的移动142
第6章 排序算法 01 什么是排序146 数据排序146 7个典型排序146 02 冒泡排序(基本交换法)148 两两比较148 冒泡排序流程图150 冒泡排序程序152 降序(从大到小)的冒泡排序153 03 选择排序(基本选择法)154 冒泡排序的改良版154 选择排序流程图156 选择排序程序158 按降序进行选择排序(从大到小)160 04 插入排序(基本插入法)162 插入到已排列好的数组中162 插入排序流程图164 插入排序程序166 05 希尔排序168 插入排序改进版168 分组方法170 希尔排序流程图172 排序程序176 06 合并排序(归并排序法)178 什么是合并排序178 合并排序的递归处理180 合并排序函数是什么样子呢182 子链表的位置范围怎么表示184 合并排序函数的结束条件186 子链表的排序结束后做什么188 合并排序流程图190 合并排序程序192 07 堆排序194 什么是堆排序194 堆排序的步骤196 堆排序的整体流程图202 堆排序流程图(最小堆函数)204 堆排序程序206 08快速排序208 什么是快速排序208 快速排序示例210 快速排序的步骤(步骤1~步骤2)216 快速排序的步骤(步骤3)218 快速排序流程图(总体)220 分组流程图222 快速排序程序224
结束语
|
| 內容試閱:
|
这本书作为一本算法的入门书籍,主要针对没有经验但是接下来想要学习编程的人或少量接触过编程的入门者。 ·本书目的 以不考虑编程语言的种类,通过切身体验,获得把算法应用到编程中的基本能力为目标。 ·通过这本书可以学到的东西 了解算法所需的基础知识(变量、数组、函数等)和作为算法基础的数据的排序。 ·这本书的特点 几乎没有过多的文字解释,而是通过搭配大量的插图帮助读者简单明了地理解“把什么样的数据排列成什么样的顺序具体应怎么做”。 ·可以迅速尝试的示例程序 即使没有特定的编程环境,只要通过电脑的浏览器访问专用网站就可以下载并快速尝试JavaScript 的例子。 ·本书结构 前半部分介绍基础知识,后半部分详细讲解算法。 基础知识篇 第1章 算法 第2章 变量和数组 第3章 算法中常用的数据结构 算法篇 第4章 基本算法 第5章 递归算法 第6章 排序算法 如果能够让您从本书中获得的算法的思考方式在实际的编程学习中活学活用,或是让更多的人能喜欢用编程的方式思考问题,笔者将感到无比荣幸。
中田亨
|
|