您好,欢迎来到聚文网。 登录 免费注册
Python数据结构与算法从入门到精通

Python数据结构与算法从入门到精通

  • 字数: 589
  • 出版社: 化学工业
  • 作者: 陈锐//黄万伟//郑倩|
  • 商品条码: 9787122466891
  • 适读年龄: 12+
  • 版次: 1
  • 开本: 16开
  • 页数: 367
  • 出版年份: 2025
  • 印次: 1
定价:¥99 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书全面系统地讲解了使用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

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网