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

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

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

『簡體書』多处理器编程的艺术(原书第2版)

書城自編碼: 3754703
分類:簡體書→大陸圖書→教材研究生/本科/专科教材
作者: [美]莫里斯·赫利希[Maurice Herlihy]
國際書號(ISBN): 9787111704324
出版社: 机械工业出版社
出版日期: 2022-05-01

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

售價:HK$ 186.3

我要買

 

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


新書推薦:
缺席者的历史:以色列十个遗失的部落
《 缺席者的历史:以色列十个遗失的部落 》

售價:HK$ 93.6
晚清洋务运动始末
《 晚清洋务运动始末 》

售價:HK$ 95.8
美索不达米亚神话
《 美索不达米亚神话 》

售價:HK$ 83.8
生活中的民法典实用全书:应知应懂的法律常识
《 生活中的民法典实用全书:应知应懂的法律常识 》

售價:HK$ 106.8
饲渊
《 饲渊 》

售價:HK$ 47.8
经纬度丛书·巴勒斯坦人的故事:流亡者的悲情、绝望与抗争
《 经纬度丛书·巴勒斯坦人的故事:流亡者的悲情、绝望与抗争 》

售價:HK$ 105.6
改变世界的哲学家们
《 改变世界的哲学家们 》

售價:HK$ 105.6
将军
《 将军 》

售價:HK$ 57.6

 

建議一齊購買:

+

HK$ 50.8
《 概率论与数理统计 》
+

HK$ 72.5
《 中医诊断学·全国中医药行业高等教育“十四五”规划教材 》
+

HK$ 130.7
《 运营管理(原书第15版) 》
+

HK$ 160.0
《 模态逻辑教程 》
+

HK$ 95.7
《 传感器与检测技术(第5版) 》
+

HK$ 57.5
《 智能媒体导论 》
內容簡介:
本书由G?del奖得主领衔撰写,主要讨论共享存储通信方式下的多处理器并发程序设计。首先介绍基本原理,分析异步并发环境中的可计算问题,包括相关度量标准和方法。然后开展应用实践,侧重于并发程序的性能分析。每一章讨论一种特定的并发数据结构、程序设计模式或算法技巧。第2版对数据并行、事务性编程、存储管理等内容做了重点更新和扩充,并采用C++语言重构相关示例,更加关注底层机制。本书适合作为高等院校计算机相关专业的课程教材,也适合作为业界技术人员的参考书籍。
關於作者:
莫里斯·赫利希(Maurice Herlihy) 布朗大学计算机科学教授,曾任职于卡内基·梅隆大学和DEC公司剑桥实验室。他获得了包括Edsger W. Dijkstra奖(2003,2012)、ACM/EATCS G?del奖(2004)、IEEE Wallace McDowell奖(2013)和Fulbright杰出讲席(2012)在内的众多荣誉。他是ACM会士,美国国家发明家科学院、美国国家工程院以及美国艺术与科学院院士。他拥有麻省理工学院计算机科学博士学位。尼尔·沙维特(Nir Shavit) 麻省理工学院计算机科学教授,特拉维夫大学计算机科学教授,曾任职于Sun实验室和Oracle实验室。他与Maurice Herlihy分享了Edsger W. Dijkstra奖(2012)和ACM/EATCS G?del奖(2004)。他拥有希伯来大学计算机科学博士学位。维克多·卢昌科(Victor Luchangco) Algorand公司高级算法研究员,曾任职于Sun实验室和Oracle实验室。他拥有麻省理工学院计算机科学博士学位。迈克尔·斯皮尔(Michael Spear) 理海大学计算机科学教授。他拥有罗切斯特大学计算机科学博士学位。
目錄
译者序前言第1章 导论11.1 共享对象和同步21.2 一则寓言故事41.2.1 互斥协议的特性61.2.2 故事的寓意71.3 生产者-消费者问题71.4 读者-写者问题91.5 并行化的严酷现实101.6 并行程序设计111.7 章节注释121.8 练习题12部分 基本原理第2章 互斥162.1 时间和事件162.2 临界区162.3 双线程解决方案192.3.1 LockOne类192.3.2 LockTwo类202.3.3 彼得森锁212.4 关于死锁的说明222.5 过滤锁232.6 公平性252.7 兰波特的面包房锁算法252.8 有界时间戳272.9 存储单元数量的下界292.10 章节注释322.11 练习题32第3章 并发对象363.1 并发性和正确性363.2 串行对象383.3 顺序一致性393.3.1 顺序一致性与实时次序413.3.2 顺序一致性是非阻塞的413.3.3 可组合性423.4 线性一致性433.4.1 可线性化点433.4.2 线性一致性和顺序一致性433.5 静态一致性443.5.1 静态一致性的特性443.6 形式化定义443.6.1 历史记录453.6.2 线性一致性463.6.3 线性一致性满足可组合性473.6.4 线性一致性是非阻塞的473.7 内存一致性模型473.8 演进条件483.8.1 无等待性483.8.2 无锁性493.8.3 无阻塞性493.8.4 阻塞演进条件503.8.5 演进条件的特征描述503.9 评析513.10 章节注释523.11 练习题52第4章 共享存储器基础574.1 寄存器空间584.2 寄存器构造624.2.1 MRSW安全寄存器634.2.2 MRSW常规布尔寄存器634.2.3 MRSW常规M-值寄存器644.2.4 SRSW原子寄存器654.2.5 MRSW原子寄存器674.2.6 MRMW原子寄存器694.3 原子快照714.3.1 无阻塞快照714.3.2 无等待快照734.3.3 正确性证明754.4 章节注释764.5 练习题77第5章 同步操作原语的相对能力805.1 共识数805.1.1 状态和价815.2 原子寄存器825.3 共识性协议845.4 FIFO队列855.5 多重赋值对象875.6 读取-修改-写入操作905.7 Common2 RMW操作915.8 compareAndSet操作925.9 章节注释935.10 练习题94第6章 共识性的通用性996.1 引言996.2 通用性996.3 无锁的通用构造1006.4 无等待的通用构造1036.5 章节注释1076.6 练习题108第二部分 应用实践第7章 自旋锁和争用1127.1 实际问题的研究1127.2 易失性字段和原子对象1147.3 测试-设置锁1157.4 指数退避算法1177.5 队列锁1197.5.1 基于数组的锁1197.5.2 CLH队列锁1217.5.3 MCS队列锁1237.6 时限队列锁1257.7 层级锁1277.7.1 层级退避锁1287.7.2 同类群组锁1297.7.3 同类群组锁的实现1307.8 复合锁1327.9 线程单独运行的快速路径1377.10 锁的选择说明1387.11 章节注释1387.12 练习题139第8章 管程和阻塞同步1418.1 引言1418.2 管程锁和条件1418.2.1 条件1428.2.2 唤醒丢失的问题1458.3 读取-写入锁1468.3.1 简单的读取-写入锁1468.3.2 公平的读取-写入锁1488.4 可重入锁1508.5 信号量1518.6 章节注释1518.7 练习题152第9章 链表:锁的作用1559.1 引言1559.2 基于链表的集合1569.3 并发推理1579.4 粗粒度同步1599.5 细粒度同步1609.6 乐观同步1639.7 惰性同步1679.8 非阻塞同步1709.9 讨论1759.10 章节注释1769.11 练习题176第10章 队列、内存管理和ABA问题17810.1 引言17810.2 队列17910.3 有界部分队列17910.4 无界完全队列18310.5 无锁的无界队列18410.6 内存回收和ABA问题18710.6.1 简单的同步队列19010.7 双重数据结构19210.8 章节注释19410.9 练习题194第11章 栈和消除19611.1 引言19611.2 无锁的无界栈19611.3 消除19811.4 消除退避栈19911.4.1 无锁交换机19911.4.2 消除数组20111.5 章节注释20411.6 练习题204第12章 计数、排序和分布式协作20812.1 引言20812.2 共享计数20812.3 软件组合20912.3.1 概述20912.3.2 一个扩展的实例21512.3.3 性能和健壮性21612.4 静态一致池和计数器21712.5 计数网络21712.5.1 可计数网络21812.5.2 双调计数网络21912.5.3 性能和流水线22712.6 衍射树22812.7 并行排序23112.8 排序网络23112.8.1 设计一个排序网络23212.9 样本排序23412.10 分布式协作23512.11 章节注释23612.12 练习题237第13章 并发哈希和固有并行24013.1 引言24013.2 封闭地址哈希集24113.2.1 粗粒度哈希集24313.2.2 带状哈希集24413.2.3 可细化的哈希集24613.3 无锁的哈希集24913.3.1 递归有序拆分24913.3.2 BucketList类25213.3.3 LockFreeHashSet类25313.4 开放地址哈希集25513.4.1 布谷鸟哈希算法25513.4.2 并发布谷鸟算法25713.4.3 带状并发布谷鸟哈希算法26113.4.4 可细化的并发布谷鸟哈希算法26213.5 章节注释26513.6 练习题265第14章 跳跃链表和平衡查找26614.1 引言26614.2 顺序跳跃链表26614.3 基于锁的并发跳跃链表26814.3.1 概述26814.3.2 算法26914.4 无锁的并发跳跃链表27514.4.1 概述27514.4.2 算法27714.5 并发跳跃链表28314.6 章节注释28414.7 练习题284第15章 优先级队列28615.1 引言28615.1.1 并发优先级队列28615.2 基于数组的有界优先级队列28615.3 基于树的有界优先级队列28715.4 基于堆的无界优先级队列29015.4.1 顺序堆29015.4.2 并发堆29215.5 基于跳跃链表的无界优先级队列29715.6 章节注释29915.7 练习题300第16章 调度和工作分配30216.1 引言30216.2 并行化分析30816.3 多处理器的实际调度31116.4 工作分配31216.4.1 工作窃取31216.4.2 让步和多道程序设计31316.5 工作窃取双端队列31416.5.1 有界工作窃取双端队列31416.5.2 无界工作窃取双端队列31816.5.3 工作交易32116.6 章节注释32216.7 练习题323第17章 数据并行32617.1 MapReduce32817.1.1 MapReduce框架32817.1.2 基于MapReduce的Word-Count应用程序33017.1.3 基于MapReduce的KMeans应用程序33117.1.4 MapReduce的实现33217.2 流计算33417.2.1 基于流的WordCount应用程序33517.2.2 基于流的KMeans应用程序33617.2.3 实现聚合运算的并行化33817.3 章节注释34017.4 练习题341第18章 屏障34718.1 引言34718.2 屏障的实现34818.3 语义反向屏障34818.4 组合树屏障34918.5 静态树屏障35218.6 终止检测屏障35318.7 章节注释35618.8 练习题357第19章 乐观主义和手动内存管理36319.1 从Java过渡到C++36319.2 乐观主义和显式回收36419.3 保护挂起的操作36519.4 用于管理内存的对象36619.5 遍历链表36719.6 风险指针36919.7 基于周期的内存回收37219.8 章节注释37419.9 练习题375第20章 事务性编程37620.1 并发程序设计面临的挑战37620.1.1 锁的问题37620.1.2 明确预测的问题37720.1.3 非阻塞算法的问题37820.1.4 可组合性问题37920.1.5 总结38020.2 事务性编程38020.2.1 事务性编程示例38120.3 事务性编程的硬件支持38220.3.1 硬件预测38220.3.2 基本缓存一致性38220.3.3 事务缓存一致性38320.3.4 硬件支持的局限性38420.4 事务性锁消除38420.4.1 讨论38620.5 事务性内存38720.5.1 运行时调度38820.5.2 显式自我中止38820.6 软件事务38920.6.1 使用所有权记录的事务39020.6.2 基于值验证的事务39420.7 硬件事务和软件事务的有机结合39620.8 事务数据结构设计39720.9 章节注释39720.10 练习题398附录A 软件基础399附录B 硬件基础417参考文献428
內容試閱
自十年前本书第1版问世以来,已成为世界各地大学的本科生课程和研究生课程的主要教材,同时也成为各种不同规模公司的技术人员的重要参考书。更值得欣慰的是,本书也帮助读者在多处理器程序设计方面进入了新的境界。本书第2版的目标是通过提供新增的章节以及更新的内容来延续这种“良性循环”。我们的目标与第1版相同:为高年级本科生的相关课程提供教材,同时也为技术人员提供相关的参考资料。章节结构本书的部分涵盖并发程序设计的基本原理,向读者展示如何站在并发程序员的角度思考问题,同时培养读者的基本技能,例如理解各种操作“发生”的时机,考虑所有可能的交互,以及识别可能影响进程演进的障碍。就像许多技能(例如驾驶车辆、烹饪食物或者品鉴鱼子酱)一样,并发思维的能力也需要加以培养,并且可以通过适当的努力来获取。迫不及待想要直接开始程序设计的读者可以跳过部分中的大多数内容,但是仍然需要阅读第2章和第3章,因为这两章涵盖了理解本书其余部分所的基本知识。首先我们讨论了经典的互斥(mutual exclusion)问题(第2章)。第2章对于理解并发程序设计所面临的挑战是至关重要的,其中涵盖公平性和死锁等基本概念。其次我们讨论了并发程序正确性的含义(第3章)。我们讨论了几种替代条件,以及在何种情况下可能需要使用哪一种条件。我们还研究了对并发计算至关重要的共享存储(shared memory)的特性(第4章),并讨论为了实现高度并发的数据结构所需要的几种同步原语(第5章和第6章)。我们认为想要真正掌握多处理器程序设计技术,读者需要花费一定的时间来解决本书部分中提出的问题。虽然这些问题都是理想化的,但是读者仍然可以从中提炼出编写高效的多处理器程序所需的思维方式。尤为重要的是,从部分中提炼出的思维方式,能帮助几乎所有的新手程序员在初次编写并发程序时引以为鉴,从而避免易犯的常见错误。本书的第二部分讲述并发程序设计的应用实践。在第二部分的大部分章节中,示例均采用Java语言来实现,因为这样可以避免陷入底层细节的泥潭。然而,在第2版中扩展了这方面的内容,增加了一些对于底层问题的讨论,这些问题对于理解多处理器系统以及有效地进行程序设计是至关重要的。我们将采用C++语言编写的示例来阐述这些底层问题。第二部分的每一章都包含一个相应的主题,用于阐述一种特定的程序设计模式或者一种算法技巧。第7章阐述自旋锁(spin lock)和争用(contention)的概念,并强调底层体系结构的重要性—只有理解了多处理器内存的层次结构,才能理解自旋锁的性能。第8章阐述管程锁(monitor lock,或称监视器锁、监管锁)和等待(waiting)的概念,这是一种常见的同步模式。本书许多章节都涉及并发数据结构。第9章阐述链表(linked list)。链表演示了各种不同类型的同步模式,包括粗粒度锁结构、细粒度锁结构以及无锁结构。后续章节均以第9章的概念为基础,因此建议读者阅读第9章的内容后再阅读其后各章节的内容。先进先出(FIFO)队列演示了使用原子同步原语时可能出现的“ABA问题”(第10章),栈(stack)演示了一种称为消除(elimination)的重要同步模式(第11章),哈希映射(hash map,或称散列图、哈希图)演示了如何利用自然并行性实现算法设计(第13章),跳跃链表(skip list,简称跳表)数据结构演示了高效的并行搜索算法(第14章),优先级队列(priority queue)演示了有时降低正确性以提高性能的设计理念(第15章)。本书还讨论了并发计算中的其他基本问题。第12章讨论了计数和排序,这两个经典问题的并发解决方案有细微的不同。并发程序设计的一项基本技能是将程序分解为可并行化的任务,并组织协调各子任务的执行。本书将讨论实现该目标的几种方法,包括调度和工作分配(第16章)、数据并行(第17章)、屏障(barrier,第18章)、事务性编程(第20章)。并发程序的另一个重要挑战是内存管理,本书将在第19章讨论如何手动回收内存。因为Java语言提供的是自动内存管理,所以本书采用C++语言来阐述这些问题。第16章以及后续章节大多都是第2版中的新内容:第17章和第19章是全新内容,第16章和第20章与第1版相比有了实质性的更新。尤其需要注意的是,第20章现在包含了事务性编程的硬件原语以及软件策略,并且书中示例均采用C++语言进行了重构,这使我们能够关注较低层的机制。从理论上而言,理论和实践并没有什么区别。但在实践中,二者存在着重大差异。虽然这句话的来历尚不明确,但与本书的主题息息相关。为了获得的学习效果,读者必须理论结合实践:将学习书中的概念性内容与真正动手编写实际的多处理器系统程序相结合。预备知识第2版所需的预备知识与第1版基本相同。为了理解算法及其性质,读者需要具备一定的离散数学基础知识,能够理解“大O”符号的含义,以及它在NP完全(NP-complete)问题中所起的作用。读者还需要具备一定的数据结构知识,例如栈、队列、列表、平衡树和哈希表等。熟悉基本的计算机体系结构和系统架构(例如处理器、线程和高速缓存)也有助于本书的学习。虽然选修一门关于操作系统或者计算机组成的课程就能满足要求,但两者都不是必需的,很多大学在没有讲解上述预备知识的情况下也成功地使用本书作为教材。为了更好地理解书中的示例,还要求读者具备初步的Java或者C++知识。在需要深入理解程序设计语言的高级功能或者深入理解硬件时,我们将首先给出相关的解释。有关程序设计语言构造以及多处理器硬件体系结构的更多细节,可以分别参考附录A和附录B。致谢感谢我们的同事、学生和朋友在本书编写的过程中提供了指导、意见和建议,包括Yehuda Afek、Shai Ber、Hans Boehm、Martin Buchholz、Vladimir Budovsky、Christian Cachin、Cliff Click、Yoav Cohen、Tom Cormen、Michael Coulombe、Dave Dice、Alexandra Fedorova、Pascal Felber、Christof Fetzer、Rati Gelasvili、Mohsen Ghaffari、Brian Goetz、Shafi Goldwasser、Rachid Guerraoui、Tim Harris、Will Hasenplaugh、Steve Heller、Danny Hendler、Maor Hizkiev、Alex Kogan、Justin Kopinsky、Hank Korth、Eric Koskinen、Christos Kozyrakis、Edya Ladan、Doug Lea、Oren Lederman、Will Leiserson、Pierre Leone、Yossi Lev、Wei Lu、Virendra Marathe、Kevin Marth、Alex Matveev、John Mellor-Crummey、Mark Moir、Adam Morrison、Dan Nussbaum、Roberto Palmieri、Kiran Pamnany、Ben Pere、Radia Perlman、Torvald Riegel、Ron Rivest、Vijay Saraswat、Bill Scherer、Warren Schudy、Michael Scott、Ori Shalev、Marc Shapiro、Michael Sipser、Yotam Soen、Ralf Suckow、Seth Syberg、Joseph Tassarotti、John Tristan、George Varghese、Alex Weiss、Kelly Zhang和Zhenyuan Zhao。同时,也向在这里未提及的朋友表示歉意和感谢。我们还要感谢许多为改进本书而反馈勘误的读者,包括Matthew Allen、Rajeev Alur、Karolos Antoniadis、Liran Barsisa、Cristina Basescu、Igor Berman、Konstantin Boudnik、Bjoern Brandenburg、Kyle Cackett、Mario Calha、Michael Champigny、Neill Clift、Eran Cohen、Daniel B. Curtis、Gil Danziger、Venkat Dhinakaran、Wan Fokkink、David Fort、Robert P. Goddard、Enes Goktas、Bart Golsteijn、K. Gopinath、Jason T. Greene、Dan Grossman、Tim Halloran、Muhammad Amber Hassaan、Matt Hayes、Francis Hools、Ben Horowitz、Barak Itkin、Paulo Janotti、Kyungho Jeon、Irena Karlinsky、Ahmed Khademzadeh、Habib Khan、Omar Khan、Namhyung Kim、Guy Korland、Sergey Kotov、Jonathan Lawrence、Adam MacBeth、Mike Maloney、Tim McIver、Sergejs Melderis、Bartosz Milewski、Jose Pedro Oliveira、Dale Parson、Jonathan Perry、Amir Pnueli、Pat Quillen、Sudarshan Raghunathan、Binoy Ravindran、Roei Raviv、Jean-Paul Rigault、Michael Rueppel、Mohamed M. Saad、Assaf Schuster、Konrad Schwarz、Nathar Shah、Huang-Ti Shih、Joseph P. Skudlarek、James Stout、Mark Summerfield、Deqing Sun、Fuad Tabba、Binil Thomas、John A Trono、Menno Vermeulen、Thomas Weibel、Adam Weinstock、Chong Xing、Jaeheon Yi和Ruiwen Zuo。我们还要感谢Beula Christopher、Beth LoGiudice、Steve Merken以及Morgan Kaufmann出版公司的员工,感谢他们在本书出版过程中所给予的耐心和帮助。教学建议使用本书的内容进行多处理器程序设计课程的教学时,可以采用以下三种教学方案:种教学方案是面向技术人员的短期课程,侧重于直接应用于解决实际问题的技术。第二种教学方案是面向非计算机专业学生的课程(比种教学方案的课时要长),这类学生期望学习多处理器程序设计的基础知识,以及适用于自己专业领域的实用技术。第三种教学方案是面向计算机专业学生的课程(课时为一个学期),适用于高年级的本科生或者研究生。面向技术人员的教学方案涵盖第1章,强调阿姆达尔定律(Amdahl’s law)及其含义。在第2章中,涵盖2.1节至2.4节以及2.7节,同时涵盖在2.9节中提到的不可解性证明(impossibility proof)的含义。在第3章中,跳过3.5节和3.6节。涵盖第7章,7.7节、7.8节和7.9节除外。第8章涉及管程和可重入锁,对于一些技术人员而言可能并不陌生。跳过关于信号量描述的8.5节。涵盖第9章和第10章,10.7节除外。涵盖11.1节和11.2节,跳过11.3节以及其后的内容。跳过第12章。涵盖第13章和第14章。跳过第15章。涵盖第16章,16.5节除外。第17章是可选章节。在第18章中,讲授18.1节至18.3节。对于专注于C++的技术人员而言,第19章是不可或缺的内容,可以在第9章和10.6节之后讲述。第20章是可选章节。面向非计算机专业学生的教学方案涵盖第1章,特别强调阿姆达尔定律及其含义。在第2章中,涵盖2.1节至2.4节以及2.6节和2.7节,涵盖在2.9节中提到的不可解性证明的含义。在第3章中,跳过3.6节的内容。涵盖4.1节和4.2节以及第5章的内容。提及共识性的通用性这一知识点,但跳过第6章。涵盖第7章,7.7节、7.8节和7.9节除外。涵盖第8章。涵盖第9章和第10章,10.7节除外。涵盖第11章。跳过第12章。涵盖第13章和第14章。跳过第15章。涵盖第16章和第17章。在第18章中,讲授18.1节至18.3节。对于专注于C++的技术人员来说,第19章是不可或缺的内容,可以在第9章和10.6节之后讲述。在第20章中,涵盖20.1节到20.3节的内容。面向计算机专业学生的教学方案本书配套网站(elsevier. com/books-and-journals/book-companion/9780124159501)上的教学幻灯片适用于一个学期的课程。涵盖第1章和第2章(2.8节可选),以及第3章(3.6节可选)。涵盖第4章、第5章和第6章。在讲述第7章之前,有必要先回顾有关多处理器体系结构的基本知识(附录B)。涵盖第7章(7.7节、7.8节和7.9节可选)。如果学生不熟悉Java监视器,并且没有学习过操作系统的相关课程,请涵盖第8章。涵盖第9章和第10章(10.7节可选)。涵盖第11章、第12章(12.7节、12.8节、12.9节可选)、第13章、第14章。本书的其余章节可以根据专业需求进行选择性讲述。对于数学或者计算机科学专业的学生,应该增加讲述第15章以及第16章和第17章。对于数据科学专业的学生,可以跳过第15章,以便重点关注第16章、第17章和第18章。对于计算机工程专业的学生,重点应该放在第18章、第19章和第20章上。后,对于授课内容,教师当然应该考虑学生的兴趣和背景。

 

 

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