登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書

『簡體書』程序员必会的50种算法(原书第2版)

書城自編碼: 4138164
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [加]伊姆兰·艾哈迈德
國際書號(ISBN): 9787111783831
出版社: 机械工业出版社
出版日期: 2025-07-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 141.9

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
中西交通史 陆海书系
《 中西交通史 陆海书系 》

售價:HK$ 63.8
图说新质生产力1 科技创新 落地化解读新质生产力的内涵和精髓
《 图说新质生产力1 科技创新 落地化解读新质生产力的内涵和精髓 》

售價:HK$ 64.9
雪
《 雪 》

售價:HK$ 75.9
当代学术·中古中国与粟特文明
《 当代学术·中古中国与粟特文明 》

售價:HK$ 140.8
魏特琳日记(重新修订,震撼上市)
《 魏特琳日记(重新修订,震撼上市) 》

售價:HK$ 96.8
幻灭与觉醒:1861年的内乱、外交与政局
《 幻灭与觉醒:1861年的内乱、外交与政局 》

售價:HK$ 96.8
文明等级论的表与里
《 文明等级论的表与里 》

售價:HK$ 85.8
《联合国国际货物销售合同公约》适用评释(修订版)
《 《联合国国际货物销售合同公约》适用评释(修订版) 》

售價:HK$ 272.8

編輯推薦:
本书内容丰富,涉及算法基础、设计技术、分析方法、排序算法、搜索算法、图算法、机器学习算法(含无监督/监督学习算法、神经网络算法、自然语言处理算法以及LLM相关算法)、推荐引擎、密码算法、大规模算法等内容,新增GAN、Transformer 等生成模型与现代序列模型内容,以Python为工具,详解算法实现、性能对比与实战技巧,搭配欺诈检测、天气预测等真实案例,助力程序员快速掌握解决问题的算法思维。
內容簡介:
本书是算法学习的宝典,为解决实际编程难题提供了强大工具。书中精心挑选50种在软件开发中极为重要的算法,对每种算法与示例都进行了详尽解释,涵盖数据结构操作、搜索策略、排序方法、图形处理技术等。相比第1版,新版内容更丰富,范围更广泛,更新了部分过时信息,增加了如机器学习中的算法优化技巧、大数据处理方法,以及现代顺序模型及其变体、实现大语言模型(LLM)的算法、方法和架构等新兴领域算法。每一章都遵循相同结构:先介绍算法基本概念与适用场景,接着通过代码展示工作原理,最后进行实际案例分析,助力读者将知识转化为实践技能。此外,本书注重培养算法思维,剖析算法背后的逻辑推理过程,可帮助读者学会设计有效算法,在不断变化的技术环境中保持竞争力,是程序员提升自我的宝藏资源 。
關於作者:
伊姆兰·艾哈迈德(Imran Ahmad),博士,目前在加拿大联邦政府的高级分析解决方案中心担任数据科学家,利用机器学习算法进行关键任务应用。他在2010年的博士论文中介绍了一种基于线性规划的算法,用于在大规模云计算环境中进行最优资源分配。2017年,他开发了一个实时分析框架StreamSensing,成为他多篇研究论文的基础,该框架用于处理各种机器学习范式中的多媒体数据。他还是渥太华卡尔顿大学的客座教授,以及Google Cloud和AWS的授权讲师。
目錄
目  录 Contents序前言作者简介审校者简介第一部分 基础算法和核心算法第1章 算法概述 21.1 什么是算法 31.1.1 算法的各个阶段 31.1.2 开发环境 41.2 Python包 51.3 算法设计技巧 71.3.1 数据维度 71.3.2 计算维度 91.4 性能分析 91.4.1 空间复杂度分析 91.4.2 时间复杂度分析 111.4.3 性能评估 121.4.4 大O记号 121.4.5 常数时间复杂度 141.4.6 线性时间复杂度 151.4.7 平方时间复杂度 151.4.8 对数时间复杂度 161.5 选择算法 171.6 验证算法 171.6.1 精确算法、近似算法和随机算法 171.6.2 可解释性 181.7 小结 19第2章 算法中的数据结构 202.1 探讨Python中的数据结构 202.1.1 列表 212.1.2 元组 252.1.3 字典和集合 262.1.4 使用序列和数据帧 302.1.5 矩阵 332.2 探索抽象数据类型 342.2.1 向量 342.2.2 栈 352.2.3 队列 372.2.4 树 392.3 小结 42第3章 排序算法和搜索算法 433.1 排序算法简介 433.1.1 在Python中交换变量 443.1.2 冒泡排序 443.1.3 插入排序 473.1.4 归并排序 493.1.5 希尔排序 523.1.6 选择排序 533.1.7 选择一种排序算法 543.2 搜索算法简介 553.2.1 线性搜索 563.2.2 二分搜索 563.2.3 插值搜索 573.3 实际应用 583.4 小结 60第4章 算法设计 614.1 算法设计基本概念简介 614.1.1 正确性:所设计的算法是否会产生我们期望的结果 624.1.2 性能:所设计算法是获取结果的最佳方法吗 634.1.3 可扩展性:所设计算法在更大的数据集上表现得怎么样 674.2 理解算法策略 674.2.1 理解分治策略 684.2.2 理解动态规划策略 704.2.3 理解贪婪算法 714.3 实际应用—求解TSP 724.3.1 使用蛮力策略 734.3.2 使用贪婪算法 764.3.3 两种策略比较 774.4 PageRank算法 774.4.1 问题定义 774.4.2 实现PageRank算法 784.5 理解线性规划 804.5.1 线性规划问题的形式化描述 814.5.2 实际应用—用线性规划实现产量规划 814.6 小结 83第5章 图算法 845.1 理解图:简要介绍 855.1.1 图:现代数据网络的支柱 855.1.2 图的基础:顶点(或节点) 865.2 图论与网络分析 875.3 图的表示 875.4 图的机制和类型 875.5 网络分析理论简介 895.5.1 理解最短路径 905.5.2 理解中心性度量 925.5.3 用Python计算中心性指标 945.5.4 社交网络分析 975.6 理解图的遍历 975.6.1 广度优先搜索 975.6.2 深度优先搜索 1015.7 案例研究:使用SNA进行欺诈检测 1035.7.1 介绍 1035.7.2 在这种情况下,什么是欺诈 1035.7.3 进行简单的欺诈分析 1055.7.4 瞭望塔欺诈分析法 1065.8 小结 108第二部分 机器学习算法第6章 无监督机器学习算法 1106.1 无监督学习简介 1106.1.1 数据挖掘生命周期中的无监督学习 1116.1.2 无监督学习的当前研究趋势 1146.1.3 实例 1146.2 理解聚类算法 1156.2.1 量化相似性 1156.2.2 k-means 聚类算法 1186.3 分层聚类的步骤 1226.4 编写分层聚类算法 1236.5 理解DBSCAN 1246.6 在Python中使用DBSCAN创建簇 1256.7 评估聚类效果 1266.8 降维 1276.9 关联规则挖掘 1336.9.1 关联规则的类型 1336.9.2 关联分析算法 1366.10 小结 141第7章 传统的监督学习算法 1427.1 理解监督机器学习 1437.2 描述监督机器学习 1437.2.1 理解使能条件 1467.2.2 区分分类器和回归器 1467.3 理解分类算法 1477.3.1 分类器挑战性问题 1477.3.2 混淆矩阵 1537.3.3 理解召回率和精确度的权衡 1557.4 决策树分类算法 1627.4.1 理解决策树的分类算法 1627.4.2 决策树分类器的优势和劣势 1657.4.3 用例 1657.5 理解集成方法 1667.5.1 用XGBoost算法实现梯度提升算法 1667.5.2 区分随机森林算法和集成提升算法 1697.5.3 用随机森林算法求解分类器挑战性问题 1697.6 逻辑回归 1707.6.1 假设 1717.6.2 建立关系 1717.6.3 损失函数和代价函数 1727.6.4 何时使用逻辑回归 1727.6.5 用逻辑回归算法求解分类器挑战性问题 1737.7 支持向量机算法 1737.7.1 用支持向量机算法求解分类器挑战性问题 1757.7.2 理解朴素贝叶斯算法 1757.8 贝叶斯定理 1767.8.1 计算概率 1767.8.2 和(AND)事件的乘法原则 1777.8.3 一般乘法原则 1777.8.4 或(OR)事件的加法原则 1777.8.5 用朴素贝叶斯算法求解分类器挑战性问题 1787.9 各种分类算法的胜者 1787.9.1 理解回归算法 1797.9.2 回归器挑战性问题 1807.9.3 描述回归器挑战性问题 1807.9.4 了解历史数据集 1807.9.5 用数据管道实施特征工程 1817.10 线性回归 1827.10.1 简单线性回归 1827.10.2 评价回归器 1837.10.3 多元回归 1847.10.4 用线性回归算法求解回归器挑战性问题 1857.10.5 何时使用线性回归 1857.10.6 线性回归的缺点 1857.10.7 回归树算法 1867.10.8 用回归树算法求解回归器挑战性问题 1867.10.9 梯度提升回归算法 1867.10.10 用梯度提升回归算法求解回归器挑战性问题 1877.11 各种回归算法的胜者 1887.12 实例—如何预测天气 1887.13 小结 190第8章 神经网络算法 1918.1 神经网络的演变 1928.1.1 时代背景 1928.1.2 人工智能之冬和人工智能之春 1938.2 理解神经网络 1948.2.1 理解感知器 1948.2.2 理解神经网络背后的原理 1958.2.3 理解分层的深度学习架构 1968.3 训练神经网络 1998.4 解析神经网络结构 1998.5 定义梯度下降 2008.6 激活函数 2028.6.1 阈值函数 2028.6.2 Sigmoid函数 2038.6.3 线性整流函数 2048.6.4 双曲正切函数 2068.6.5 Softmax函数 2078.7 工具和框架 2078.8 选择顺序性模型或功能性模型 2128.8.1 理解TensorFlow 2138.8.2 TensorFlow的基本概念 2138.8.3 理解张量数学 2148.9 理解神经网络的类型 2158.9.1 卷积神经网络 2158.9.2 生成对抗网络 2168.10 迁移学习 2178.11 案例研究:使用深度学习实现欺诈检测 2188.12 小结 221第9章 自然语言处理算法 2229.1 自然语言处理简介 2229.2 理解自然语言处理术语 2239.3 使用Python清洗数据 2289.4 理解术语文档矩阵 2309.4.1 词频-逆文档频率 2319.4.2 结果摘要与讨论 2329.5 词嵌入简介 2329.6 利用Word2Vec实现词嵌入 2339.6.1 解释相似性得分 2349.6.2 Word2Vec的优点和缺点 2359.7 案例研究:餐厅评论情感分析 2369.7.1 导入所需的库并加载数据集 2369.7.2 构建一个干净的语料库:预处理文本数据 2369.7.3 将文本数据转换为数值特征 2379.7.4 分析结果 2379.8 自然语言处理的应用 2389.9 小结 238第10章 理解序列模型 23910.1 理解序列数据 24010.2 序列模型的数据表示 24310.3 循环神经网络简介 24410.3.1 理解循环神经网络的架构 24410.3.2 在第一个时间步长训练RNN 24610.3.3 时间反向传播 25010.3.4 基础RNN的局限性 25110.4 门控循环单元 25310.4.1 更新门简介 25410.4.2 实施更新门 25510.4.3 更新隐藏单元 25510.5 长短期记忆网络 25610.5.1 遗忘门简介 25710.5.2 候选细胞状态 25710.5.3 更新门 25810.5.4 计算记忆状态 25810.5.5 输出门 25910.5.6 将所有内容整合在一起 25910.5.7 编写序列模型 26010.6 小结 265第11章 高级序列建模算法 26611.1 高级序列建模技术的演变 26711.2 探索自动编码器 26711.2.1 编码一个自动编码器 26811.2.2 设置环境 26911.3 理解Seq2Seq模型 27111.3.1 编码器 27111.3.2 思想向量 27211.3.3 解码器或生成器 27211.3.4 Seq2Seq中的特殊标记 27211.3.5 信息瓶颈困境 27211.4 理解注意力机制 27311.4.1 注意力在神经网络中是什么 27311.4.2 注意力机制的三个关键方面 27411.4.3 深入探讨注意力机制 27511.4.4 注意力机制的挑战问题 27611.5 深入探讨自注意力 27611.5.1 注意力权重 27711.5.2 编码器:双向RNN 27811.5.3 思想向量 27811.5.4 解码器:常规RNN 27811.5.5 训练与推断 27911.6 Transformer:自注意力之后的神经网络演变 27911.6.1 为什么Transformer出类拔萃 28011.6.2 Python代码分解 28011.6.3 输出的理解 28111.7 大型语言模型 28211.7.1 理解LLM中的注意力机制 28211.7.2 探索自然语言处理的强大工具:GPT和BERT 28311.7.3 利用深度和广度模型创建强大的LLM 28411.8 底部的表单 28411.9 小结 285第三部分 高级主题第12章 推荐引擎 28812.1 推荐引擎简介 28912.2 推荐引擎的类型 28912.2.1 基于内容的推荐引擎 28912.2.2 协同过滤推荐引擎 29112.2.3 混合推荐引擎 29212.3 理解推荐系统的局限性 29412.3.1 冷启动问题 29412.3.2 元数据需求 29512.3.3 数据稀疏性问题 29512.3.4 推荐系统中社交影响是一把双刃剑 29512.4 实际应用领域 29612.4.1 Netflix对数据驱动推荐的掌握 29612.4.2 亚马逊推荐系统的演变 29612.5 实例—创建推荐引擎 29712.5.1 搭建框架 29712.5.2 数据加载:导入评论和标题 29712.5.3 数据合并:创建一个全面的视图 29812.5.4 描述性分析:从评分中获取信息 29912.5.5 为推荐系统构建结构:创建矩阵 29912.5.6 测试引擎:推荐电影 30012.6 小结 302第13章 数据处理的算法策略 30313.1 数据算法简介 30413.1.1 CAP定理在数据算法背景下的重要性 30413.1.2 分布式环境中的存储 30413.1.3 连接CAP定理和数据压缩 30413.2 CAP定理介绍 30513.2.1 CA系统 30613.2.2 AP系统 30613.2.3 CP系统 30713.3 解码数据压缩算法 30713.4 实例—AWS中的数据管理:聚焦于CAP定理和压缩算法 31213.4.1 应用CAP定理 31213.4.2 使用压缩算法 31313.4.3 量化收益 31313.5 小结 314第14章 密码算法 31514.1 密码算法简介 31514.1.1 理解最薄弱环节的重要性 31614.1.2 基本术语 31614.1.3 理解安全性需求 31714.1.4 理解密码的基本设计 31914.2 理解加密技术的类型 32214.2.1 使用加密散列函数 32214.2.2 使用对称加密 32614.2.3 使用非对称加密 32714.3 实例—部署机器学习模型时的安全问题 33114.3.1 MITM攻击 33214.3.2 避免伪装 33314.3.3 数据加密和模型加密 33314.4 小结 335第15章 大规模算法 33615.1 大规模算法简介 33615.2 描述大规模算法的高性能基础设施 33715.2.1 弹性 33715.2.2 对设计良好的大规模算法进行特征描述 33815.3 多资源处理的策略制定 34015.4 理解并行计算的理论限制 34115.4.1 阿姆达尔定律 34115.4.2 推导阿姆达尔定律 34115.4.3 CUDA:释放GPU架构在并行计算中的潜力 34415.4.4 利用Apache Spark实现集群计算的优势 34715.5 Apache Spark如何实现大规模的算法处理 34915.5.1 分布式计算 34915.5.2 内存处理 34915.6 在云计算中使用大规模算法 34915.7 小结 350第16章 实际问题 35116.1 算法解决方案面临的挑战 35216.2 Twitter AI机器人Tay的失败 35316.3 算法的可解释性 35316.4 理解伦理与算法 35916.4.1 使用学习算法易出现的问题 35916.4.2 理解伦理考量 36016.4.3 影响算法解决方案的因素 36116.5 减少模型中的偏差 36216.6 何时使用算法 36216.7 小结 364
內容試閱
前  言 Preface在计算机领域,从基础理论到实际应用,算法是推动技术进步的关键。在本书中,我们进一步深入研究了算法的动态世界,扩大了我们解决现实世界中迫切问题的范围。从算法的基础知识开始,我们通过多种设计技术进行探索,涉及线性编程、页面排序、图等复杂领域,并深入探讨了机器学习和其他相关技术。为了确保我们始终处于技术进步的前沿,我们还进行了大量关于时序网络、LLM、LSTM、GRU以及在密码学和云计算环境下部署大规模算法的讨论。在当今数字时代,推荐系统至关重要,算法在其中扮演着关键的角色。为了有效地应用这些算法,深入理解它们的数学和逻辑原理是非常重要的。本书中的实践案例研究涵盖了多个领域,从天气预报、推特分析到电影推荐,甚至对LLM进行了深入研究,以便更好地展示它们的实际应用。通过这些案例,本书详细阐述了算法的细微差别和它们在实际场景中的应用。本书的目的是帮助读者增强在部署算法来应对现代计算挑战方面的信心。在当今不断发展的数字时代,我们需要不断探索并掌握算法的各种应用。希望本书能带领读者踏上一段学习和利用算法的拓展之旅。目标读者如果你是一位渴望利用算法解决问题、编写高效代码的程序员或开发者,那么本书非常适合你。它涵盖了从经典且广泛应用的算法到最新的数据科学、机器学习和密码学的全面内容。如果你熟悉Python编程,会对理解本书内容更有帮助,但并不是必需的。无论你是初学者还是有经验的专业人士,本书都将为你提供宝贵的见解和实用的指导。无论你具备哪种编程语言的基础,本书都对你非常有用。此外,即使你不是一名程序员,但对技术有一定的偏好,你也可以通过本书深入了解解决问题的算法这一广阔世界。本书内容第一部分:基础算法和核心算法第1章提供了对算法基本原理的介绍。它从算法的基本概念开始,讲述人们如何使用算法来描述问题,以及不同算法的局限性。由于本书中使用Python编写算法,因此将解释如何设置Python环境来运行这些示例。接着,我们研究了如何量化算法的性能,并与其他算法进行比较。第2章讨论了算法上下文中的数据结构。由于我们在本书中使用的是Python,因此该章重点关注Python数据结构,但所提供的概念可以在其他语言中使用,如Java和C++。该章展示了Python如何处理复杂的数据结构,并介绍哪些数据结构适用于某些类型的数据。第3章首先介绍了不同类型的排序算法和各种设计方法。然后,通过实际示例,讨论了搜索算法。第4章讨论了描述我们正在试图解决的问题使用算法设计的重要性。接下来,应用我们介绍的设计技术来求解著名的旅行商问题(TSP)。最后,介绍了线性规划,并讨论了其应用。第5章涵盖了我们可以捕获图形来表示数据结构的方法。它涵盖了一些与图算法相关的基本理论、技术和方法,如网络理论分析和图遍历。我们通过一个案例来研究图算法在欺诈分析方面的应用。第二部分:机器学习算法第6章阐释了无监督机器学习如何应用于现实世界的问题。我们介绍了它的基本算法和方法,如聚类算法、降维算法和关联规则挖掘。第7章深入研究了监督机器学习的本质,即具有分类器和回归器的特征。我们将利用现实世界的问题作为案例来探索它们的作用。本书先后介绍了6种不同的分类算法和3种回归算法。最后,通过比较它们的结果,以得出关键结论。第8章介绍了典型神经网络的主要概念和组成部分。然后介绍了各种类型的神经网络,并阐述了用于实现这些神经网络的各种激活函数。之后,详细讨论了反向传播算法,这是目前应用最广泛的神经网络训练算法。最后,给出一个学习示例,讨论如何在现实世界中利用深度学习进行欺诈检测。第9章介绍了自然语言处理(Natural Language Processing,NLP)的算法。该章介绍了NLP的基础知识以及如何为NLP任务准备数据。接下来解释了向量化文本数据和词嵌入的概念。最后给出了一个详细的用例。第10章深入探讨了针对序列数据训练神经网络的方法。该章涵盖了序列模型的核心原理,并初步概述了其技术和方法。接下来,该章探讨了深度学习如何改进自然语言处理技术。第11章探讨了序列模型的局限性以及序列建模如何发展以克服这些局限性,还深入探讨了序列模型的高级方面,以帮助读者理解复杂配置的创建过程。首先,对自动编码器和序列到序列(Seq2Seq)模型等关键要素进行了分解。接下来研究了注意力机制和Transformer,它们在大型语言模型(LLM)的开发中起着关键作用。第三部分:高级主题第12章详细介绍了主要类型的推荐引擎及其内部工作原理。这些系统能够熟练地向用户推荐个性化的物品或产品,但同时也面临一些挑战。我们深入探讨了它们的优点和局限性。最后介绍如何利用推荐引擎来解决现实世界中的问题。第13章介绍了数据算法和数据分类背后的基本概念。我们研究了用于有效管理数据的数据存储和数据压缩算法,以帮助读者理解在设计和实现以数据为中心的算法时所需要考虑的权衡。第14章介绍了与密码学相关的算法。在讨论对称加密算法之前,该章先介绍密码学的背景,涵盖消息摘要(MD5)算法和安全散列算法(SHA),以及每种算法的局限性和弱点。然后,讨论非对称加密算法,以及如何使用它们来创建数字证书。最后,举一个实例来总结所有这些技术。第15章首先介绍了大规模算法和支持它们所需的高效基础设施。我们探讨了管理多资源处理的各种策略,审视了阿姆达尔(Amdahl)定律所概述的并行处理的局限性,并研究了图形处理单元(GPU)的使用。完成该章后,你将对设计大规模算法所必需的基本策略有扎实的基础。第16章提出了关于算法可解释性的问题,即算法的内部机制可以用易于理解的术语来解释的程度。然后,我们介绍了算法伦理学,并探讨了在实施算法时产生偏差的可能性。接下来讨论处理NP难问题的技术。最后,我们研究了在选择算法之前需要考虑的各种因素。下载示例代码文件和彩色图像书中的代码也可以通过访问GitHub代码库(https://github.com/cloudanum/50Algorithms)获取。还可以通过访问https://github.com/PacktPublishing/了解其他书籍的代码和视频。我们还提供了一个PDF文件,其中包含本书中使用的屏幕截图和图表的彩色图像。你可以在https://packt.link/UBw6g下载。排版约定本书中使用了一些排版约定。代码体:表示文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄。例如,“让我们尝试使用Python中的networtx包创建一个简单的图。”粗体:表示新术语、重要单词或屏幕上显示的内容。例如,新的术语出现在这样的文本中:“Python也可以用于各种云计算基础设施中,如亚马逊网络服务(AWS)和谷歌云平台(GCP)。”

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2025 (香港)大書城有限公司  All Rights Reserved.