数据结构与面向对象程序设计-C++版(第3版)
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787302152644
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:XXIII, 737
- 出版时间:2007-06-01
- 条形码:9787302152644 ; 978-7-302-15264-4
本书特色
本书是为计算机科学专业二级教程编写的,在美国许多大学称之为CS 2课程。本书继承了上一版关注基本数据结构的特点,将授课重点放在基本数据类型的规范说明、设计、实现和使用上。此外,本书还涵盖了重要的编程技术,并提供各自独立的抽象技术,面向对象编程,大O时间分析算法和排序等内容。本书的设计非常灵活,学生可以根据自身需要将学习的重点放在面向对象、递归以及排序上,以加快学习的进程。. 本书适合作为高等院校计算机及相关专业本科学生的教材,也是一本技术含量很高的专业参考书。 本书特色:.. ◆全面介绍了标准模板库(STL) ◆全面回顾了C++语法和OOP概念;适合任何层次的学生 ◆代码已经更新并经过测试,符合*新的ANSI/ISO C++标准 ◆每一章中都精心设置自测习题和编程项目...
内容简介
本书是为计算机科学专业二级教程编写的,在美国许多大学称之为CS 2课程。本书继承了上一版关注基本数据结构的特点,将授课重点放在基本数据类型的规范说明、设计、实现和使用上。此外,本书还涵盖了重要的编程技术,并提供各自独立的抽象技术、面向对象编程、大O时间分析算法和排序等内容。本书的设计非常灵活,学生可以根据自身需要将学习的重点放在面向对象、递归以及排序上,以加快学习的进程本书适合作为高等院校计算机及相关专业本科学生的教材,也是一本技术含量很高的专业参考书。
目录
第1章软件开发阶段1. |
1.1规范说明.设计和实现2 |
1.1.1概念设计:问题分解3 |
1.1.2前置条件和后置条件4 |
1.1.3使用其他程序员提供的函数6 |
1.1.4有关ANSI/ISOC++标准的实现问题7 |
1.1.5自测习题12 |
1.2运行时间分析13 |
1.2.1台阶计数问题13 |
1.2.2大O表示法17 |
1.2.3C++函数的时间分析18 |
1.2.4*坏情况.平均情况和*好情况下的时间分析20 |
1.2.5自测习题20 |
1.3测试和调试21 |
1.3.1选择测试数据21 |
1.3.2边界值22 |
1.3.3完全代码测试22 |
1.3.4调试23 |
1.3.5自测习题23 |
1.4本章小结24 |
1.5自测习题答案24 |
第2章抽象数据类型和C++类27 |
2.1类和成员28 |
2.1.1编程示例:节流阀类28 |
2.1.2使用类31 |
2.1.3节流阀类的示范程序33 |
2.1.4实现成员函数34 |
2.1.5自测习题37 |
2.2构造函数37 |
2.2.1节流阀类的构造函数38 |
2.2.2修改节流阀类的成员函数40 |
2.2.3内联成员函数41 |
2.2.4自测习题42 |
2.3使用命名空间.头文件和实现文件42 |
2.3.1创建命名空间42 |
2.3.2头文件43 |
2.3.3实现文件47 |
2.3.4使用命名空间中的数据项49 |
2.3.5自测习题51 |
2.4类和参数52 |
2.4.1编程示例:point类52 |
2.4.2默认参数55 |
2.4.3参数57 |
2.4.4当函数返回值的类型是类时62 |
2.4.5自测习题63 |
2.5操作符重载64 |
2.5.1重载二元比较操作符64 |
2.5.2重载二元算术操作符65 |
2.5.3重载输出和输入操作符66 |
2.5.4友元函数69 |
2.5.5Point类——内容汇总70 |
2.5.6操作符重载的总结72 |
2.5.7自测习题73 |
2.6本章小结73 |
2.7自测习题答案74 |
2.8编程项目77 |
第3章容器类85 |
3.1包类85 |
3.1.1包类——规范说明86 |
3.1.2包类——文档说明92 |
3.1.3包类——示范程序93 |
3.1.4包类——设计95 |
3.1.5类的不变式96 |
3.1.6包类——实现97 |
3.1.7包类——内容汇总103 |
3.1.8包类——测试106 |
3.1.9包类——分析107 |
3.1.10自测习题108 |
3.2编程项目:序列类109 |
3.2.1序列类——规范说明109 |
3.2.2序列类——文档说明112 |
3.2.3序列类——设计114 |
3.2.4序列类——实现的伪代码115 |
3.2.5自测习题117 |
3.3交互式测试程序117 |
3.4本章小结122 |
3.5自测习题答案123 |
3.6编程项目125 |
第4章指针和动态数组131 |
4.1指针和动态内存131 |
4.1.1指针变量132 |
4.1.2使用指针的赋值操作符134 |
4.1.3动态变量和new操作符135 |
4.1.4使用new分配动态数组136 |
4.1.5堆和bad_alloc异常138 |
4.1.6操作符delete139 |
4.1.7自测习题140 |
4.2指针和数组作为参数141 |
4.2.1指针作为值参数141 |
4.2.2数组参数143 |
4.2.3指针或数组作为常量参数144 |
4.2.4指针作为引用参数145 |
4.2.5自测习题147 |
4.3用动态数组实现的包类149 |
4.3.1指针成员变量150 |
4.3.2成员函数按需分配动态内存151 |
4.3.3值语义154 |
4.3.4析构函数156 |
4.3.5修改后的包类——类定义157 |
4.3.6修改后的包类——实现159 |
4.3.7修改后的包类——内容汇总163 |
4.3.8自测习题165 |
4.4有关动态类的规定166 |
4.4.14条规则166 |
4.4.2复制构造函数的特殊重要性166 |
4.4.3自测习题167 |
4.5编程项目:字符串类167 |
4.5.1以null终结的字符串167 |
4.5.2初始化字符串变量168 |
4.5.3空字符串168 |
4.5.4读写字符串变量169 |
4.5.5函数strcpy169 |
4.5.6函数strcat170 |
4.5.7函数strlen170 |
4.5.8函数strcmp171 |
4.5.9字符串类——规范说明171 |
4.5.10字符串类——设计175 |
4.5.11字符串类——实现175 |
4.5.12字符串类的示范程序177 |
4.5.13串接输出操作符178 |
4.5.14声明常量对象179 |
4.5.15产生构造函数的转换179 |
4.5.16在表达式中使用重载的操作符180 |
4.5.17本文的字符串类与C++库中的字符串类180 |
4.5.18自测习题180 |
4.6编程项目:多项式180 |
4.7本章小结184 |
4.8自测习题答案184 |
4.9编程项目186 |
第5章链表189 |
5.1链表的基本节点类189 |
5.1.1为节点声明类190 |
5.1.2在链表节点中使用typedef语句191 |
5.1.3头指针和尾指针191 |
5.1.4空指针192 |
5.1.5头指针或尾指针为NULL时的含义193 |
5.1.6节点构造函数193 |
5.1.7节点成员函数194 |
5.1.8成员选择操作符195 |
5.1.9自测习题198 |
5.2链表工具包199 |
5.2.1链表工具包——头文件199 |
5.2.2计算链表的长度200 |
5.2.3链表的参数203 |
5.2.4在链表头插入一个新节点204 |
5.2.5在非头节点处插入一个新节点206 |
5.2.6在链表中查找数据项210 |
5.2.7在链表中根据节点的位置寻找节点211 |
5.2.8复制链表212 |
5.2.9从链表头删除节点215 |
5.2.10删除链表中不在头部的节点216 |
5.2.11清除链表217 |
5.2.12链表工具包——内容汇总218 |
5.2.13使用链表工具包222 |
5.2.14自测习题222 |
5.3用链表实现的包类223 |
5.3.1第三个包——规范说明223 |
5.3.2第三个包——类定义223 |
5.3.3如何匹配包的value_type和节点的value_type226 |
5.3.4在类中使用动态内存应当遵循的规则227 |
5.3.5第三个包类——实现227 |
5.3.6第三个包类——内容汇总234 |
5.3.7自测习题236 |
5.4编程项目:用链表实现的序列类237 |
5.4.1修改的序列类——设计建议237 |
5.4.2修改后的序列类——值语义238 |
5.4.3自测习题239 |
5.5动态数组.链表和双向链表239 |
5.5.1做出抉择241 |
5.5.2自测习题241 |
5.6本章小结241 |
5.7自测习题答案242 |
5.8编程项目246 |
第6章利用模板.迭代器和STL进行软件开发251 |
6.1模板函数251 |
6.1.1模板函数的语法253 |
6.1.2使用模板函数253 |
6.1.3模板函数——交换两个值255 |
6.1.4模板函数的参数匹配256 |
6.1.5模板函数——在数组中寻找*大项257 |
6.1.6模板函数——在排序数组中插入一个数据项258 |
6.1.7自测习题260 |
6.2模板类260 |
6.2.1模板类的语法260 |
6.2.2关于模板实现文件的其他内容262 |
6.2.3模板类成员函数的参数匹配267 |
6.2.4使用模板类267 |
6.2.5编故事程序的细节270 |
6.2.6自测习题270 |
6.3标准模板类及其迭代器271 |
6.3.1多集模板类271 |
6.3.2多集成员272 |
6.3.3迭代器和[…)模式272 |
6.3.4测试迭代器的等同性274 |
6.3.5其他多集操作274 |
6.3.6集合算法275 |
6.3.7无效的迭代器276 |
6.3.8迭代器的标准类别277 |
6.3.9数组的迭代器278 |
6.3.10标准模板库列表类279 |
6.3.11自测习题280 |
6.4节点模板类280 |
6.4.1返回引用类型的函数281 |
6.4.2将引用返回值复制到别处时发生的情况283 |
6.4.3成员函数data目前需要两个版本283 |
6.4.4新节点的头文件和实现文件283 |
6.4.5自测习题290 |
6.5链表的迭代器291 |
6.5.1节点迭代器291 |
6.5.2节点迭代器源自std::iterator293 |
6.5.3节点迭代器的私有成员变量293 |
6.5.4节点迭代器——构造函数293 |
6.5.5节点迭代器——*操作符293 |
6.5.6节点迭代器——操作符++的两个版本294 |
6.5.7节点迭代器——相等和不相等的比较295 |
6.5.8常量集合的迭代器296 |
6.5.9自测习题297 |
6.6含有迭代器的包模板类的链表版本298 |
6.6.1如何为容器类提供迭代器298 |
6.6.2包迭代器299.. |
6.6.3将迭代器定义在包中的原因299 |
6.6.4自测习题306 |
6.7本章小结和5个包的总结306 |
6.8自测习题答案307 |
6.9编程项目311 |
第7章堆栈313 |
7.1堆栈和STL堆栈的简介313 |
7.1.1标准库的堆栈类315 |
7.1.2编程示例:翻转单词316 |
7.1.3自测习题316 |
7.2堆栈的应用317 |
7.2.1编程示例:括号的平衡317 |
7.2.2编程示例:算术表达式求值319 |
7.2.3算术表达式求值——规范说明319 |
7.2.4算术表达式求值——设计319 |
7.2.5算术表达式求值——实现325 |
7.2.6计算器程序使用的函数325 |
7.2.7算术表达式求值——测试与分析325 |
7.2.8算术表达式求值——改进326 |
7.2.9自测习题326 |
7.3堆栈类的实现327 |
7.3.1堆栈的数组实现327 |
7.3.2堆栈的链表实现330 |
7.3.3Koenig查找333 |
7.3.4自测习题333 |
7.4更复杂的堆栈应用334 |
7.4.1后缀表达式求值334 |
7.4.2将中缀表示法转换成后缀表示法336 |
7.4.3在中缀表达式中使用优先级规则338 |
7.4.4中缀转换为后缀的正确性340 |
7.4.5自测习题341 |
7.5本章小结342 |
7.6自测习题答案342 |
7.7编程项目344 |
第8章队列349 |
8.1队列和STL队列的简介349 |
8.1.1标准库的队列类350 |
8.1.2队列的使用350 |
8.1.3自测习题352 |
8.2队列的应用352 |
8.2.1编程示例:识别回文352 |
8.2.2自测习题355 |
8.2.3编程示例:洗车模拟355 |
8.2.4洗车模拟——规范说明355 |
8.2.5洗车模拟——设计355 |
8.2.6洗车模拟——实现洗车类358 |
8.2.7洗车模拟——实现模拟函数363 |
8.2.8自测习题365 |
8.3队列类的实现365 |
8.3.1队列的数组实现365 |
8.3.2有关队列中循环数组实现的讨论369 |
8.3.3队列的链表实现371 |
8.3.4实现细节372 |
8.3.5自测习题377 |
8.4优先队列377 |
8.4.1如何指定优先级378 |
8.4.2标准库的优先队列类378 |
8.4.3优先队列类——实现思想379 |
8.4.4自测习题379 |
8.5堆栈.队列和优先队列类的引用返回值379 |
8.6本章小结380 |
8.7自测习题答案380 |
8.8编程项目381 |
第9章递归思想385 |
9.1递归函数385 |
9.1.1递归思想的**个例子385 |
9.1.2跟踪递归调用387 |
9.1.3编程示例:write_vertical的一个扩展388 |
9.1.4深入分析递归389 |
9.1.5成功递归函数的一般形式392 |
9.1.6自测习题392 |
9.2递归的研究:分形和迷宫393 |
9.2.1编程示例:产生随机分形393 |
9.2.2用于产生随机分形的函数——规范说明395 |
9.2.3分形函数的设计和实现396 |
9.2.4如何显示随机分形398 |
9.2.5编程示例:穿越迷宫399 |
9.2.6穿越迷宫——规范说明399 |
9.2.7穿越迷宫——设计401 |
9.2.8穿越迷宫——实现401 |
9.2.9运用回溯穷举搜索的递归模式403 |
9.2.10编程示例:玩具熊游戏404 |
9.2.11自测习题406 |
9.3推导递归406 |
9.3.1如何确保没有无限递归408 |
9.3.2归纳推导递归函数的正确性410 |
9.3.3自测习题411 |
9.4本章小结411 |
9.5自测习题答案412 |
9.6编程项目414 |
第10章树419 |
10.1树的简介419 |
10.1.1二叉树419 |
10.1.2二叉分类树422 |
10.1.3一般树422 |
10.1.4自测习题423 |
10.2树的表示法424 |
10.2.1完全二叉树的数组表示法424 |
10.2.2使用节点类表示二叉树427 |
10.2.3自测习题428 |
10.3二叉树节点类429 |
10.3.1编程示例:猜动物432 |
10.3.2动物猜测程序——设计和实现434 |
10.3.3动物猜测程序——改进438 |
10.3.4自测习题441 |
10.4树的遍历441 |
10.4.1二叉树的遍历441 |
10.4.2从树的节点中输出数据445 |
10.4.3遍历中的问题446 |
10.4.4函数作为参数447 |
10.4.5apply函数的一个模板版本448 |
10.4.6使apply模板函数更具有通用性449 |
10.4.7树遍历的模板函数450 |
10.4.8自测习题451 |
10.5二叉搜索树458 |
10.5.1二叉搜索树存储机制458 |
10.5.2第6个包——类定义462 |
10.5.3第6个包——某些简单函数的实现462 |
10.5.4计算某个元素在二叉搜索树中出现的次数462 |
10.5.5添加一个新元素到二叉搜索树中463 |
10.5.6从二叉搜索树中移除某个元素464 |
10.5.7二叉搜索树的组合操作符467 |
10.5.8时间分析和迭代器469 |
10.5.9自测习题469 |
10.6本章小结469 |
10.7自测习题答案470 |
10.8编程项目473 |
第11章树项目479 |
11.1堆479 |
11.1.1堆的存储规则479 |
11.1.2使用堆结构实现的优先队列ADT480 |
11.1.3插入新项480 |
11.1.4删除项482 |
11.1.5自测习题484 |
11.2B树484 |
11.2.1非平衡树的问题484 |
11.2.2B树的规则485 |
11.2.3B树的一个示例486 |
11.2.4B树实现的集合ADT487 |
11.2.5在B树中查找项491 |
11.2.6在B树中插入项493 |
11.2.7B树的松散插入操作493 |
11.2.8修正子节点多余项的私有成员函数495 |
11.2.9回到成员函数Insert496 |
11.2.10采用自顶向下方法设计497 |
11.2.11从B树中删除项498 |
11.2.12B树的松散删除操作499 |
11.2.13解决子节点项短缺问题的私有成员函数501 |
11.2.14从B树中删除*大的项503 |
11.2.15外部B树505 |
11.2.16自测习题505 |
11.3树.日志和时间分析506 |
11.3.1二叉搜索树的时间分析506 |
11.3.2堆的时间分析507 |
11.3.3对数运算508 |
11.3.4对数级算法509 |
11.3.5自测习题510 |
11.4本章小结510 |
11.5自测习题答案510 |
11.6编程项目513 |
第12章查找515 |
12.1顺序查找和二分查找515 |
12.1.1顺序查找515 |
12.1.2顺序查找——分析516 |
12.1.3二分查找517 |
12.1.4二分查找——设计518 |
12.1.5二分查找——分析520 |
12.1.6标准库查找函数523 |
12.1.7用于有序域的函数523 |
12.1.8用于无序域的函数525 |
12.1.9STL查找函数526 |
12.1.10自测习题526 |
12.2开地址散列526 |
12.2.1散列简介526 |
12.2.2表类——声明529 |
12.2.3表类——设计530 |
12.2.4表ADT——实现533 |
12.2.5选择散列函数来减少冲突538 |
12.2.6再散列减少聚类538 |
12.2.7自测习题540 |
12.3链式散列540 |
12.3.1链式散列540 |
12.3.2自测习题542 |
12.4散列的时间分析542 |
12.4.1散列表的装填因子542 |
12.4.2自测习题545 |
12.5程序设计:使用STL向量的表类545 |
12.5.1新表类545 |
12.5.2在新表类中使用向量545 |
12.5.3常量模板参数545 |
12.5.4函数模板参数546 |
12.5.5实现新表类546 |
12.5.6自测习题547 |
12.6STL中的匹配和多重匹配547 |
12.7本章小结548 |
12.8自测习题答案549 |
12.9编程项目552 |
第13章排序555 |
13.1二次排序算法555 |
13.1.1选择排序——规范说明555 |
13.1.2选择排序——设计556 |
13.1.3选择排序——实现558 |
13.1.4选择排序——分析560 |
13.1.5插入排序561 |
13.1.6插入排序——分析564 |
13.1.7自测习题566 |
13.2递归排序算法567 |
13.2.1使用递归的分治法567 |
13.2.2合并排序569 |
13.2.3合并函数571 |
13.2.4动态内存在合并排序中的应用575 |
13.2.5合并排序——分析575 |
13.2.6文件的合并排序577 |
13.2.7快速排序577 |
13.2.8partition函数579 |
13.2.9快速排序——分析581 |
13.2.10快速排序——选择一个好的基准元素583 |
13.2.11自测习题583 |
13.3使用堆的O(nlogn)算法584 |
13.3.1堆排序584 |
13.3.2构建堆589 |
13.3.3向下重排590 |
13.3.4堆排序——分析591 |
13.3.5自测习题592 |
13.4使用库函数排序和随机访问迭代器592 |
13.4.1原始Cqusort函数592 |
13.4.2STL排序函数593 |
13.4.3使用迭代器编写一个排序函数593 |
13.5本章小结594 |
13.6自测习题答案595 |
13.7编程项目597 |
第14章派生类和继承601 |
14.1派生类601 |
14.1.1如何声明派生类603 |
14.1.2派生类的自动构造函数604 |
14.1.3使用派生类605 |
14.1.4派生类的自动赋值操作符606 |
14.1.5派生类的自动析构函数607 |
14.1.6覆盖继承的成员函数607 |
14.1.7自测习题608 |
14.2仿真生态系统608 |
14.2.1实现部分生物对象层次609 |
14.2.2organism类609 |
14.2.3animal类:具有新私有成员变量的派生类612 |
14.2.4如何为派生类提供新的构造函数612 |
14.2.5animal类的其他成员函数614 |
14.2.6自测习题617 |
14.2.7Herbivore类618 |
14.2.8池塘生活仿真程序620 |
14.2.9池塘生活——实现细节623 |
14.2.10使用池塘模型624 |
14.2.11动态内存的使用625 |
14.2.12自测习题625 |
14.3虚拟成员函数和game类625 |
14.3.1game类简介626 |
14.3.2受保护的成员629 |
14.3.3虚拟成员函数629 |
14.3.4虚拟析构函数630 |
14.3.5游戏类的受保护虚拟成员函数630 |
14.3.6玩ConnectFour游戏的派生类631 |
14.3.7ConnectFour游戏类的私有成员变量631 |
14.3.8ConnectFour的构造函数和重启函数633 |
14.3.9三个处理游戏状态的ConnectFour函数633 |
14.3.10三个处理移动的ConnectFour函数634 |
14.3.11Clone函数634 |
14.3.12编写派生自game类的游戏635 |
14.3.13使用minimax的游戏类的play算法635 |
14.3.14自测习题638 |
14.4本章小结638 |
14.5进阶阅读639 |
14.6自测习题答案639 |
14.7编程项目643 |
第15章图645 |
15.1图的定义645 |
15.1.1无向图645 |
15.1.2有向图648 |
15.1.3图的更多术语649 |
15.1.4航线的例子650 |
15.1.5自测习题650 |
15.2图的实现651 |
15.2.1使用邻接矩阵表示图651 |
15.2.2使用二维数组存储邻接矩阵652 |
15.2.3使用边列表表示图652 |
15.2.4使用边集表示图653 |
15.2.5哪种表示方法*好653 |
15.2.6编程示例:标签图类654 |
15.2.7用于增加顶点和边的成员函数655 |
15.2.8标签图类——重载下标操作符655 |
15.2.9下标操作符的常量版本656 |
15.2.10标签图类——函数neighbors657 |
15.2.11标签图类——实现657 |
15.2.12自测习题657 |
15.3图的遍历662 |
15.3.1深度优先搜索663 |
15.3.2宽度优先搜索666 |
15.3.3深度优先搜索——实现668 |
15.3.4宽度优先搜索——实现669 |
15.3.5自测习题669 |
15.4路径算法671 |
15.4.1判断某条路径是否存在671 |
15.4.2具有加权边的图672 |
15.4.3*短距离算法672 |
15.4.4*短路径算法680 |
15.4.5自测习题681 |
15.5本章小结681 |
15.6自测习题答案681 |
15.7编程项目683 |
附录AASCII字符集类687 |
附录B大O表达式689 |
附录C操作符的优先顺序693 |
附录D命令行编译和链接695 |
附录E使用旧式编译器699 |
附录FC++的输入和输出703 |
附录G选择库函数711 |
附录H标准模板类简介715 |
附录Iuseful函数的工具箱725 |
附录J基本格式指南729 |
附录K下载GNU编译器和软件731 |
附录L异常处理733... |
作者简介
Michael Main,于美国华盛顿州立大学获得博士学位,现任美国科罗拉多大学计算机科学系副教授。 Walter Savitch,美国加州大学圣地亚哥分校计算机科学系名誉教授。1960年于加州大学伯克利分校获得博士学位,曾担任加州大学圣地亚哥分校计算机科学系教授和认知科学跨学科博士项目主任。除本书外,他著有一系列编程语言教材,都广受欢迎,畅销不衰,被誉为读者*多的计算机编程语言图书作者。 刘东,同防科技大学计算机学院博士,长期从事计算机软件方面的工程与研究。曾参与开发某电机厂产品数据管理(PMD)系统、某轴承厂的工作流程管理系统等数据库应用平台。作为技术负责人,参与并完成了国家自然科学基金、973国家安全重大基础研究项目等多项研究课题。在《计算机研究与发展》、《计算机工程与科学》等杂志以及国际会议上发表多篇高水平学术论文。目前研究领域包括嵌入式系统设计、计算机系统可靠性分析、Linux操作系统实时化改造等。曾参与编写《Visual C++高级开发范例解析》等书籍。 张丽,国防科技大学计算机学院博士,主要研究方向为数据库与数据挖掘等。曾多次参与并完成国家自然科学基金、国家863基金项目。在《软件学报》、《计算机研究与发展》以及国际会议上发表多篇高水平学术论文。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
零信任网络:在不可信网络中构建安全系统
¥37.2¥59.0 -
硅谷之火-人与计算机的未来
¥20.3¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥69.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥52.4¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥68.2¥89.8 -
LINUX实战——从入门到精通
¥49.0¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥81.8¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
做好课题申报:AI辅助申请书写作
¥48.9¥69.8 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0