欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 图解算法/图解新科技系列
      • 作者:(日)增井敏克|责编:何英娇|译者:潘咏雪
      • 出版社:中国科学技术
      • ISBN:9787523605394
      • 出版日期:2024/06/01
      • 页数:218
    • 售价:27.6
  • 内容大纲

        许多人听到“算法”这个词,就觉得它很难懂,需要专业的编程知识才能明白。然而,算法只是一个计算的“步骤”,不需要计算机和编程语言基础。
        本书介绍了算法的基础知识,数据的储存、分类、查找方法,以及机器学习中使用的算法等,由浅入深,图文配套,并结合使用场景和案例进行细致讲解,初学者读起来也毫无压力。
        除了按顺序阅读,获取系统的知识,读者还可以从目录中挑选感兴趣的主题和关键词,按照自己的需求阅读,是一本实用性满分的算法入门书。
  • 作者介绍

        增井敏克,1979年生于奈良,毕业于大阪府立大学研究生院。增井IT工程师事务所代表、注册工程师(信息工程学方向)。从事旨在“将商务、数学和IT结合以正确、高效使用计算机”的技能提升指导、软件开发以及信息安全咨询等工作。掌握C/C++、C#、Java、PHP和Ruby等20多种编程语言。著作有《在家就能学会的安全基础》等。目前在面向IT工程师提供业务技能评估服务的平台CodeIQ上负责人气栏目“每周算法”的出题和评审工作。
  • 目录

    第1章  算法基础知识~算法的作用是什么?~
      1-1  进行快速准确运算的步骤
        编程、算法
      1-2  让数据更容易处理
        文本文件、二进制文件、非结构化数据、结构化数据、数据结构
      1-3  什么是好的计算机程序
        使用效率
      1-4  比较各种算法的标准
        计算复杂性、渐进、渐进符号
      1-5  差异取决于实施的语言
        编程语言、编译器、解释器、即时编译
      1-6  一套便捷的算法集合
        库
      1-7  算法权利
        专利权、软件专利、著作权、开放源代码
      1-8  使用图片讲解算法
        流程图
      1-9  纸上计算的算法
        笔算
      1-10  寻找素数
        素数、埃拉托斯特尼筛法
      1-11  找出最大公约数
        最大公约数、欧几里得算法
      1-12  通过拼图学习算法
        汉诺塔问题
      1-13  使用随机值进行检查
        随机数、伪随机数、随机种子、蒙特卡罗方法
    第2章  如何存储数据?~它们各自的结构和特点~
      2-1  整数是如何表示的
        十进制、二进制、十六进制
      2-2  数据的单位
        比特、字节
      2-3  小数是如何表示的?
        小数、浮点数、实数类型
      2-4  字符表示
        字符、字符代码、ASCII、2字节字符、乱码字符
      2-5  一个接一个地分配
        变量、赋值、常量
      2-6  要存储的数据大小
        数据类型、整数类型、数据类型转换
      2-7  在连续的区域内存储
        数组、元素、索引
      2-8  以人们容易理解的方式表示
        关联数组、字典、散列表、地图、碰撞
      2-9  存储数据的位置
        地址、指针
      2-10  以表格形式存储数据
        二维数组、多维数组
      2-11  存储单词和句子
        字符串、空字符

      2-12  表达复杂的数据结构
        结构体、枚举类型
      2-13  排成一排的形式
        链表
      2-14  双向链接的形式
        双向链表、循环链表
      2-15  存储在一个分支结构中
        树状结构、二叉树、完整二叉树
      2-16  满足条件的树状结构
        堆
      2-17  适合搜索算法的数据结构
        二叉搜索树、平衡树
      2-18  平衡树的类型
        B树、B+树、B*树
      2-19  存储无序的数据
        集合
      2-20  从最后的存储中检索
        堆栈、LIFO、推入、弹出
      2-21  便于按其保存的顺序进行检索的格式
        队列、FIFO、排队、脱队
      2-22  虚拟内存分页算法
        虚拟内存、分页算法、LFU、LRU
    第3章  对数据进行分类~按照规则排列数字~
      3-1  升序或降序分拣
        排序
      3-2  维持相同值的顺序
        稳定排序、内部排序、外部排序
      3-3  通过选择最大或最小值进行排序
        选择排序
      3-4  将数据添加到一个对齐的数组中
        插入排序
      3-5  与紧随其后的元素进行比较
        气泡排序
      3-6  数组的双向排序
        鸡尾酒排序
      3-7  交换排序和插入排序相结合,速度更快
        希尔排序
      3-8  在创建堆的同时进行排序
        堆排序
      3-9  通过比较合并多个数据
        合并排序
      3-10  一般性的快速和常用排序
        快速排序、分治法
      3-11  当可能的值有限制时很有用的排序方法
        桶排序、箱排序、基数排序
      3-12  通过提供空隙进行排序
        图书馆排序、跳跃列表
      3-13  趣味排序方法
        独裁者排序、猴子排序
      3-14  我应该选择哪种方法?

        计算复杂性的比较
    第4章  查找数据~如何快速找到所需的值?~
      4-1  从多个数据集中找到符合标准的那一个
        搜索
      4-2  一个不漏地搜索
        全局搜索、彻底搜索
      4-3  从头开始检查
        线性搜索
      4-4  从排序后的数据中搜索
        二分搜索
      4-5  按距离远近顺序搜索
        广度优先搜索
      4-6  依次搜索相邻的对象
        深度优先搜索、回溯
      4-7  深入搜索层次结构
        递归、递归调用、分支定界
      4-8  差异取决于树状结构的遍历顺序
        前序遍历、后序遍历、中序遍历、波兰表示法、逆波兰表示法
      4-9  也可以在相反的方向进行搜索
        双向搜索
      4-10  通过改变起点和终点进行搜索
        尺取法
      4-11  通过关注边缘寻找最短路径
        最短路径问题、贝尔曼-福特算法
      4-12  通过关注节点找到最短路径
        戴克斯特拉算法
      4-13  使用经验法则进行搜索
        A*算法、欧几里得距离、曼哈顿距离
      4-14  找到损害最小的那一个
        极小化极大算法、Alpha-Beta算法
      4-15  在句子中搜索文本字符串
        暴力搜索、穷举搜索、KMP算法
      4-16  以一种巧妙的方式搜索字符串
        BM算法
      4-17  搜索符合特定模式
        正则表达式
    第5章  机器学习中使用的算法~支持人工智能的计算方法~
      5-1  从数据中进行分类和预测
        机器学习、统计机器学习
      5-2  基于正确数据的学习
        有监督学习、过拟合
      5-3  通过从数据中提取特征进行分类
        无监督学习、聚类
      5-4  奖励预期结果
        强化学习、行为、代理、环境、状态、多代理
      5-5  用于分类和回归的树状结构
        决策树、不纯度、信息增益
      5-6  多重决策树下的少数服从多数
        随机森林、集成学习、装袋算法、提升算法
      5-7  分离时最大限度地增加与边界的间距

        支持向量机、超平面、硬间隔、软间隔
      5-8  0到1范围内的概率预测
        回归分析、最小二乘法、逻辑回归分析
      5-9  模仿人脑信号交换的数学模型
        神经网络、反向传播算法
      5-10  深化层次结构
        深度学习、CNN、RNN
      5-11  能够生成不存在数据的人工智能
        GAN、深度伪造
      5-12  图像去噪和边界增强
        图像过滤、平滑、边缘检测
      5-13  处理和执行过程中的随机选择
        随机选择算法、启发式算法
      5-14  模仿生物进化
        遗传算法
      5-15  随着时间的推移改变随机性
        爬山算法、模拟退火算法
      5-16  对附近的物体有很强的学习能力
        自组织映射
      5-17  快速求导近似解
        牛顿法、梯度下降法、随机梯度下降法
      5-18  对大量的数据进行分类
        k均值算法
      5-19  数据的维度被缩小,并在新的指标中表达
        主成分分析
    第6章  其他算法~典型案例~
      6-1  将问题分割成更小的问题并记录结果
        动态编程、记忆化
      6-2  减少数据量
        压缩、解压
      6-3  压缩重复的内容
        运行长度编码、哈夫曼编码
      6-4  检测输入的错误
        校验码、奇偶校验码
      6-5  消除噪声和杂声
        纠错码、汉明码
      6-6  通过加密算法提高安全性
        加密、解密、密文、明文
      6-7  简单密码及其破译
        恺撒密码、ROT13
      6-8  低负载加密技术
        共享密钥加密、私钥加密、密钥配送问题
      6-9  安全的密钥共享
        Diffie-Hellman密钥交换
      6-10  利用大整数分解素因数的困难
        公钥加密、RSA加密算法
      6-11  用短密钥保证安全
        椭圆曲线加密、密码危机
      6-12  用于社交媒体的算法
        脸书、推特、六度分隔

      6-13  谷歌的算法
        网页排名、RankBrain
      6-14  在没有事先获得信息的情况下做出决定
        A/B测试、Bandit算法
      6-15  使访问所有城市的成本最小化
        旅行推销员问题、调度问题
      6-16  使所装货物的价值最大化
        背包问题、0-1背包问题
      6-17  无法解决的算法
        图灵机、停机问题
      6-18  如果解决了就能得到一百万美元?非常难以解决的问题
        P类、NP类、P=NP、NP困难、NP完全