登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2025年04月出版新書

2025年03月出版新書

2025年02月出版新書

2025年01月出版新書

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

『簡體書』Python数据结构与算法从入门到精通

書城自編碼: 4096118
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 陈锐、黄万伟、郑倩 等 著
國際書號(ISBN): 9787122466891
出版社: 化学工业出版社
出版日期: 2025-02-01

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

售價:NT$ 505

我要買

share:

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



新書推薦:
现代艺术150年——一个未完成的故事(2024版)
《 现代艺术150年——一个未完成的故事(2024版) 》

售價:NT$ 653.0
传承:世代家族的财富管理观
《 传承:世代家族的财富管理观 》

售價:NT$ 714.0
MATLAB入门与应用实践(视频教学版)
《 MATLAB入门与应用实践(视频教学版) 》

售價:NT$ 607.0
再无孤岛:跨学科的逻辑、路径与实践(实现认知跃迁,洞见未来先机,必先构建跨学科思维!)
《 再无孤岛:跨学科的逻辑、路径与实践(实现认知跃迁,洞见未来先机,必先构建跨学科思维!) 》

售價:NT$ 602.0
社会情感学习经典入门
《 社会情感学习经典入门 》

售價:NT$ 357.0
盆底觉醒
《 盆底觉醒 》

售價:NT$ 403.0
作业治疗经典模式及实践应用
《 作业治疗经典模式及实践应用 》

售價:NT$ 500.0
信用债投资笔记:交易策略+基本面分析
《 信用债投资笔记:交易策略+基本面分析 》

售價:NT$ 449.0

編輯推薦:
(1)案例丰富,与软件工程实践结合,案例和习题选自近年来考研、各大软件公司笔试面试题目,在每一章结合实际案例,提供完整代码;(2)提供微课视频,通过扫描二维码可观看微课视频,下载配套源码,方便读者理解与掌握,提高学习效果。
內容簡介:
本书全面系统地讲解了使用Python 语言实现数据结构和算法的基础知识和实践技能。全书分为14章,主要内容包括数据结构与算法概述、Python 语言基础、线性表、栈与递归、队列、串、数组与广义表、树和二叉树、图、查找、排序、回溯算法、递归与分治算法等。本书内容由浅入深,语言通俗易懂,理论结合实践,采用大量丰富的案例,帮助读者高效学习,且将知识更好地应用在实际学习和工作中。本书可作为计算机、人工智能、大数据等行业相关技术人员的参考书,也可供高等院校计算机相关专业师生学习使用。
目錄
第1章 数据结构概述 001
1.1 基本概念和术语 002
1.2 数据的逻辑结构与存储结构 004
1.2.1 逻辑结构 004
1.2.2 存储结构 005
1.3 抽象数据类型及其描述 005
1.3.1 什么是抽象数据类型 005
1.3.2 抽象数据类型的描述 006
第2章 算法概述 010
2.1 算法的相关概念 011
2.1.1 数据结构与算法的关系 011
2.1.2 什么是算法 012
2.1.3 算法的五大特性 012
2.1.4 算法的描述 012
2.2 算法分析 014
2.2.1 算法设计的4 个目标 014
2.2.2 算法效率评价 015
2.2.3 算法的时间复杂度 016
2.2.4 算法的空间复杂度 019
第3章 数据结构与算法的语言基础—— Python语言 020
3.1 Python 语言开发环境 021
3.2 Python 基本语法及输入输出 023
3.2.1 基本语法 023
3.2.2 输入与输出 024
3.3 Python 列表、元组、字典、集合 027
3.3.1 列表 027
3.3.2 元组 029
3.3.3 字典 030
3.3.4 集合 030
3.4 函数与类 031
3.4.1 函数 031
3.4.2 类 032
3.5 NumPy 中的array 033
第4章 线性表——最简单的线性结构 036
4.1 线性表的定义及抽象数据类型 038
4.1.1 什么是线性表 038
4.1.2 线性表的抽象数据类型 038
4.2 线性表的顺序表示与实现 039
4.2.1 线性表的顺序存储结构 039
4.2.2 顺序表的基本运算 040
4.2.3 顺序表的基本运算性能分析 043
4.2.4 顺序表的优缺点 044
4.2.5 顺序表应用举例 044
4.3 线性表的链式表示与实现 048
4.3.1 单链表的存储结构 048
4.3.2 单链表上的基本运算 050
4.3.3 单链表存储结构与顺序存储结构的优缺点 055
4.3.4 单链表应用举例 055
4.4 循环单链表 059
4.4.1 循环单链表的链式存储 059
4.4.2 循环单链表应用举例 061
4.5 双向链表 063
4.5.1 双向链表的存储结构 063
4.5.2 双向链表的插入和删除操作 064
4.6 综合案例:一元多项式的表示与相乘 066
4.6.1 一元多项式的表示 066
4.6.2 一元多项式相乘 067
第5章 栈与递归——一种后进先出的线性结构 071
5.1 栈的表示与实现 072
5.1.1 什么是栈 072
5.1.2 栈的抽象数据类型 073
5.1.3 顺序栈 074
5.1.4 链栈 077
5.2 栈的应用 080
5.2.1 数制转换 080
5.2.2 行编辑程序 081
5.2.3 算术表达式求值——计算机如何计算表达式的值 083
5.3 递归 090
5.3.1 递归——自己调用自己 090
5.3.2 消除递归——用栈模拟递归调用过程 093
第6章 队列 097
6.1 队列的表示与实现 098
6.1.1 队列的定义 098
6.1.2 队列的抽象数据类型 099
6.1.3 顺序队列 100
6.1.4 顺序循环队列 101
6.1.5 双端队列 104
6.1.6 链式队列 104
6.2 队列的应用 107
6.2.1 舞伴问题 107
6.2.2 队列在杨辉三角中的应用 109
6.2.3 队列在回文中的应用 112
第7章 串——数据为字符串的线性结构 114
7.1 串的定义及抽象数据类型 115
7.1.1 什么是串 115
7.1.2 串的抽象数据类型 116
7.2 串的存储表示 118
7.2.1 串的顺序存储 118
7.2.2 串的链式存储 119
7.2.3 顺序串应用举例 120
7.3 串的模式匹配 122
7.3.1 朴素模式匹配算法——模式匹配算法Brute-Force 122
7.3.2 KMP 算法 124
7.3.3 模式匹配应用举例 129
第8章 数组与广义表 131
8.1 数组的定义及抽象数据类型 132
8.1.1 什么是数组 132
8.1.2 数组的顺序存储结构 133
8.1.3 特殊矩阵的压缩存储 134
8.1.4 稀疏矩阵的压缩存储 137
8.2 广义表 145
8.2.1 什么是广义表 145
8.2.2 广义表的抽象数据类型 146
8.2.3 广义表的头尾链表表示 146
8.2.4 广义表的扩展线性链表表示 147
第9章 树和二叉树——一对多的数据结构 149
9.1 树 151
9.1.1 什么是树 151
9.1.2 树的逻辑表示 152
9.2 二叉树 153
9.2.1 什么是二叉树 153
9.2.2 二叉树的性质 155
9.2.3 二叉树的抽象数据类型 156
9.2.4 二叉树的存储表示 158
9.3 二叉树的遍历 161
9.3.1 什么是二叉树的遍历 161
9.3.2 二叉树的先序遍历 161
9.3.3 二叉树的中序遍历 163
9.3.4 二叉树的后序遍历 165
9.3.5 二叉树的层次遍历 167
9.3.6 二叉树遍历的应用 167
9.4 二叉树的线索化及应用 169
9.4.1 什么是二叉树的线索化 169
9.4.2 二叉树的线索化 171
9.4.3 线索二叉树的遍历 172
9.4.4 线索二叉树的应用举例 174
9.5 树、森林与二叉树 176
9.5.1 树的存储结构 176
9.5.2 树转换为二叉树 179
9.5.3 森林转换为二叉树 180
9.5.4 二叉树转换为树和森林 181
9.5.5 树和森林的遍历 182
9.6 并查集 182
9.6.1 并查集的定义 182
9.6.2 并查集的实现 183
9.6.3 并查集的应用 186
9.7 二叉树的典型应用——哈夫曼树 187
9.7.1 哈夫曼树及应用 187
9.7.2 利用二叉树求解算术表达式的值 193
第10章 图——多对多的数据结构类型 199
10.1 图的定义与相关概念 200
10.1.1 什么是图 200
10.1.2 图的相关概念 201
10.1.3 图的抽象数据类型 204
10.2 图的存储结构 205
10.2.1 邻接矩阵表示法 205
10.2.2 邻接表表示法 208
10.2.3 十字链表表示法 212
10.2.4 邻接多重表表示法 213
10.3 图的遍历 214
10.3.1 图的深度优先遍历 214
10.3.2 图的广度优先遍历 217
10.4 图的连通性问题 219
10.4.1 无向图的连通分量与生成树 219
10.4.2 最小生成树 220
10.5 有向无环图 226
10.5.1 AOV 网与拓扑排序 226
10.5.2 AOE 网与关键路径 229
10.6 最短路径 235
10.6.1 从某个顶点到其余各顶点的最短路径 235
10.6.2 每一对顶点之间的最短路径 242
第11章 查找 247
11.1 查找的基本概念 248
11.2 静态查找 249
11.2.1 顺序表的查找 249
11.2.2 有序顺序表的查找 251
11.2.3 索引顺序表的查找 253
11.3 动态查找 254
11.3.1 二叉排序树 254
11.3.2 平衡二叉树 260
11.4 B- 树与B 树 268
11.4.1 B- 树 268
11.4.2 B 树 276
11.5 哈希表 277
11.5.1 哈希表的定义 277
11.5.2 哈希函数的构造方法 278
11.5.3 处理冲突的方法 279
11.5.4 哈希表应用举例 281
第12章 排序 285
12.1 排序的基本概念 286
12.2 插入排序 287
12.2.1 直接插入排序 288
12.2.2 折半插入排序 289
12.2.3 希尔排序 289
12.2.4 插入排序应用举例 290
12.3 选择排序 291
12.3.1 简单选择排序 292
12.3.2 堆排序 293
12.4 交换排序 298
12.4.1 冒泡排序 298
12.4.2 快速排序 299
12.4.3 交换排序应用举例 301
12.5 归并排序 304
12.6 非比较类排序 306
12.6.1 基数排序 306
12.6.2 桶排序 311
12.6.3 计数排序 314
第13章 回溯算法——深度优先搜索的方法 317
13.1 回溯算法的基本思想 318
13.1.1 问题的解空间 318
13.1.2 回溯算法的求解步骤 319
13.2 和式分解(非递归实现) 322
13.3 填字游戏 325
13.4 装载问题 329
13.5 迷宫求解 333
第14章 递归与分治算法——化繁为简 338
14.1 分治算法的基本思想 339
14.2 简单递归 342
14.2.1 求n 的阶乘 342
14.2.2 斐波那契数列 345
14.2.3 求n 个数中的最大者 346
14.2.4 求n 个数的和 347
14.2.5 将十进制整数转换为二进制数 347
14.2.6 求整数的逆序数 348
14.2.7 求最大公约数 349
14.2.8 求Ackermann 函数的值 350
14.2.9 求C(n ,m ) 的值 350
14.3 复杂递归 351
14.3.1 逆置字符串 351
14.3.2 求最大和次大元素 352
14.3.3 求第K 大个数 354
14.3.4 和式分解 355
14.3.5 台阶问题 357
14.3.6 大牛生小牛问题 359
14.3.7 从1~n 自然数中任选r 个数的所有组合数 360
14.3.8 求最大子序列的和 361
14.3.9 找假硬币问题 363
14.3.10 表达式求值 365
14.3.11 大整数乘法 366
参考文献 368
內容試閱
数据结构与算法是计算机、软件工程等相关专业的一门非常重要的核心课程,是继续深入学习算法设计与分析、操作系统、编译原理、人工智能、机器学习等后续专业课程的重要基础。随着计算机技术的快速发展,数据量呈几何级数增长,数据结构在系统软件设计和应用软件设计中的重要作用更加突出,Python语言也显得更加重要。因此,利用Python语言描述数据结构与算法已成为后续学习和工作的技能。
在学习数据结构与算法的过程中,许多专业术语较为抽象,对于初学者来说,有些概念及算法不容易理解和掌握,若其编程语言掌握得不够深入,更增加了学习的难度,因此,本书回顾了Python 语言中的基本语法:列表、元组、字典、集合、函数与类。本书采用通俗易懂的语言讲解数据结构中抽象的概念,通过图表和案例的方式分析算法思想,便于读者真正理解和掌握。本书全面涵盖数据结构知识点,所有算法采用Python语言实现,其代码均在PyCharm开发环境下调试通过,所有案例均提供完整的程序,无须修改就能直接运行。
本书适合想全面系统地掌握数据结构与算法的人员,特别是学习数据结构与算法感到困惑的人。本书可作为自学数据结构的教材,也可作为计算机、软件工程等相关专业学生的考研辅导用书和参加软考人员的辅导用书。
为什么要学数据结构与算法
数据结构与算法是计算机、软件工程专业最核心的课程,是今后学习所有专业课的重要基础课程,如果从事软件开发方面的工作,就必须要学好它。首先,数据结构与算法作为计算机专业的专业基础课程,是计算机考研的必考科目之一;其次,数据结构与算法是计算机软考、计算机等级考试等相关考试的必考内容之一;最后,数据结构与算法还是进入各软件公司、事业单位的必考内容之一。
即使没有以上考虑,作为一名计算机从业人员和爱好者,数据结构与算法也是其他后续计算机专业课程的基础,人工智能、机器学习等许多课程都会用到数据结构与算法方面的知识。要想学好计算机,数据结构与算法是必须要掌握的内容。
如何学好数据结构与算法
怎样才算是学好了数据结构与算法呢?当然不是说会做几个题,在纸上能写出题目的答案就是学好了数据结构。除了理解弄懂数据结构与算法的所有知识点,能做对练习题外,还需要能动手上机实践,能灵活使用所学算法思想利用Python语言实现其中的算法,并正确运行出结果。如果从理论和实践上都能很熟练地完成一些练习题,才能说是把数据结构与算法真正学好了。
可能有不少读者对如何学好数据结构与算法感到困惑,不知道如何去学数据结构与算法,总感觉理论知识都理解,但是自己动手去完成时,又感到无所适从。其主要原因在于:对Python 或C、C 、Java 掌握得不够熟练;缺乏上机实践。
对于初学者来说,数据结构这门课程有许多抽象的概念。刚开始会遇到一些晦涩难懂的概念,再加上对编程语言不是太熟悉,可能会有不少同学望而生畏。万事开头难,首先需要坚持每天上机编写程序,先熟练掌握编程语言,特别是语法;其次,在学习过程中,可以结合一些例子去理解,包括Python 程序、数据结构中的算法,这样学习起来就变得容易很多;最后,要有信心,要有战胜困难的决心,不要有畏惧心理,一开始每个人都会遇到困难,重要的是坚持。任何事情都是这样,学习亦如此。
本书中所有算法都用Python 语言表述,并给出完整程序,刚开始时只需要把程序看懂,然后多上机调试程序,练习并掌握Python 语言编程和调试技巧,这样就可以对数据结构中的算法思想融会贯通,真正领会其中的内涵。
通过本书通俗的讲解,加上自己多动手上机实践,学习数据结构与算法就会变得很轻松。
如何使用本书
本书全面涵盖了数据结构与算法的知识,案例选取丰富,图文并茂,使用通俗易懂的语言描述抽象的概念,配套视频针对重点和难点进行了讲解,方便大家理解与学习。
在使用本书的过程中,可以边看书,边听视频讲解,每学完一部分内容,可通过调试本书配套的代码认真领会算法的思想,并思考为什么要这样实现,从而加深对数据结构中概念的理解。
本书编写人员
参与本书编写的有陈锐、黄万伟、郑倩、黄敏、张世征、范乃梅、徐耀丽、青华、段晓宇。
致谢
感谢郑州轻工业大学全体同仁在工作上的帮助及对我写作上的关心与支持。
由于时间仓促、水平所限,书中难免存在一些不足之处,恳请读者不吝赐教。读者可通过QQ 群(732774977)进行讨论交流。
著者

 

 

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