标签分类
当前位置:首页 > 计算机理论电子书 > 数据结构算法电子书网盘下载
数据结构与算法:Python语言实现 数据结构与算法:Python语言实现
赵鹏举

赵鹏举 提供上传

资源
14
粉丝
22
喜欢
783
评论
13

    数据结构与算法:Python语言实现 PDF 中文超清版

    数据结构算法电子书
    • 发布时间:

    给大家带来的一篇关于数据结构算法相关的电子书资源,介绍了关于数据结构、算法、Python语言方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小32.9 MB,迈克尔 T. 古德里奇编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.8,更多相关的学习资源可以参阅 计算机理论电子书、等栏目。

    数据结构与算法:Python语言实现 PDF 下载

    下载地址:https://pan.baidu.com/s/1EmNV3bjWVPahdj1hWqzQ-

    分享码:3v07

    数据结构与算法:Python语言实现 PDF

    这书选用Python語言详细介绍数据结构和优化算法,包含其设计构思、剖析和执行。这书源码简约、确立,面向对象编程的见解围绕自始至终,根据承继*底限地提升编码器重,一起突显不一样抽象数据类型和优化算法中间的不同点。

    麦克尔·T. 古德里奇(Michael T. Goodrich) 加州大学凯里欧文校区电子信息科学系专家教授,以前是约翰·霍普金斯大学专家教授。他是AAAS、ACM和IEEE会士,曾喜获IEEE电子计算机研究会技术性成就奖和ACM非凡服务奖等。

    罗伯托·塔马西亚(Roberto Tamassia) 布朗大学电子信息科学系专家教授及院主任,担任几何图形数据中心负责人。他是AAAS、ACM和IEEE会士,曾喜获IEEE电子计算机研究会技术性成就奖。

    麦克尔·H.戈德瓦瑟(Michael H. Goldwasser) 圣路易斯大学数学系和电子信息科学系专家教授,担任电子信息科学新项目负责人,以前曾在纽约罗耀拉高校执教。

    目录

    • 译者序
    • 前言
    • 致谢
    • 作者简介
    • 第1章 Python入门 1
    • 1.1 Python概述 1
    • 1.1.1 Python解释器 1
    • 1.1.2 Python程序预览 1
    • 1.2 Python对象 2
    • 1.2.1 标识符、对象和赋值语句 2
    • 1.2.2 创建和使用对象 4
    • 1.2.3 Python的内置类 4
    • 1.3 表达式、运算符和优先级 8
    • 1.4 控制流程 12
    • 1.4.1 条件语句 12
    • 1.4.2 循环语句 14
    • 1.5 函数 16
    • 1.5.1 信息传递 17
    • 1.5.2 Python的内置函数 19
    • 1.6 简单的输入和输出 20
    • 1.6.1 控制台输入和输出 21
    • 1.6.2 文件 21
    • 1.7 异常处理 22
    • 1.7.1 抛出异常 23
    • 1.7.2 捕捉异常 24
    • 1.8 迭代器和生成器 26
    • 1.9 Python的其他便利特点 28
    • 1.9.1 条件表达式 29
    • 1.9.2 解析语法 29
    • 1.9.3 序列类型的打包和解包 30
    • 1.10 作用域和命名空间 31
    • 1.11 模块和import语句 32
    • 1.12 练习 34
    • 扩展阅读 36
    • 第2章 面向对象编程 37
    • 2.1 目标、原则和模式 37
    • 2.1.1 面向对象的设计目标 37
    • 2.1.2 面向对象的设计原则 38
    • 2.1.3 设计模式 39
    • 2.2 软件开发 40
    • 2.2.1 设计 40
    • 2.2.2 伪代码 41
    • 2.2.3 编码风格和文档 42
    • 2.2.4 测试和调试 43
    • 2.3 类定义 44
    • 2.3.1 例子:CreditCard类 45
    • 2.3.2 运算符重载和Python的特殊方法 48
    • 2.3.3 例子:多维向量类 50
    • 2.3.4 迭代器 51
    • 2.3.5 例子:Range类 52
    • 2.4 继承 53
    • 2.4.1 扩展CreditCard类 54
    • 2.4.2 数列的层次图 57
    • 2.4.3 抽象基类 60
    • 2.5 命名空间和面向对象 62
    • 2.5.1 实例和类命名空间 62
    • 2.5.2 名称解析和动态调度 65
    • 2.6 深拷贝和浅拷贝 65
    • 2.7 练习 67
    • 扩展阅读 70
    • 第3章 算法分析 71
    • 3.1 实验研究 71
    • 3.2 本书使用的7种函数 74
    • 3.2.1 常数函数 74
    • 3.2.2 对数函数 74
    • 3.2.3 线性函数 75
    • 3.2.4 n-log-n函数 75
    • 3.2.5 二次函数 76
    • 3.2.6 三次函数和其他多项式 77
    • 3.2.7 指数函数 77
    • 3.2.8 比较增长率 79
    • 3.3 渐近分析 79
    • 3.3.1 大O符号 80
    • 3.3.2 比较分析 82
    • 3.3.3 算法分析示例 84
    • 3.4 简单的证明技术 89
    • 3.4.1 示例 89
    • 3.4.2 反证法 89
    • 3.4.3 归纳和循环不变量 90
    • 3.5 练习 91
    • 扩展阅读 95
    • 第4章 递归 96
    • 4.1 说明性的例子 96
    • 4.1.1 阶乘函数 96
    • 4.1.2 绘制英式标尺 97
    • 4.1.3 二分查找 99
    • 4.1.4 文件系统 101
    • 4.2 分析递归算法 104
    • 4.3 递归算法的不足 106
    • 4.4 递归的其他例子 109
    • 4.4.1 线性递归 109
    • 4.4.2 二路递归 112
    • 4.4.3 多重递归 113
    • 4.5 设计递归算法 114
    • 4.6 消除尾递归 115
    • 4.7 练习 116
    • 扩展阅读 118
    • 第5章 基于数组的序列 119
    • 5.1 Python序列类型 119
    • 5.2 低层次数组 119
    • 5.2.1 引用数组 121
    • 5.2.2 Python中的紧凑数组 122
    • 5.3 动态数组和摊销 124
    • 5.3.1 实现动态数组 126
    • 5.3.2 动态数组的摊销分析 127
    • 5.3.3 Python列表类 130
    • 5.4 Python序列类型的效率 130
    • 5.4.1 Python的列表和元组类 130
    • 5.4.2 Python的字符串类 134
    • 5.5 使用基于数组的序列 136
    • 5.5.1 为游戏存储高分 136
    • 5.5.2 为序列排序 138
    • 5.5.3 简单密码技术 140
    • 5.6 多维数据集 142
    • 5.7 练习 145
    • 扩展阅读 147
    • 第6章 栈、队列和双端队列 148
    • 6.1 栈 148
    • 6.1.1 栈的抽象数据类型 148
    • 6.1.2 简单的基于数组的栈实现 149
    • 6.1.3 使用栈实现数据的逆置 152
    • 6.1.4 括号和HTML标记匹配 152
    • 6.2 队列 155
    • 6.2.1 队列的抽象数据类型 155
    • 6.2.2 基于数组的队列实现 156
    • 6.3 双端队列 160
    • 6.3.1 双端队列的抽象数据类型 160
    • 6.3.2 使用环形数组实现双端队列 161
    • 6.3.3 Python collections模块中的双端队列 162
    • 6.4 练习 163
    • 扩展阅读 165
    • 第7章 链表 166
    • 7.1 单向链表 166
    • 7.1.1 用单向链表实现栈 169
    • 7.1.2 用单向链表实现队列 171
    • 7.2 循环链表 173
    • 7.2.1 轮转调度 173
    • 7.2.2 用循环链表实现队列 174
    • 7.3 双向链表 175
    • 7.3.1 双向链表的基本实现 177
    • 7.3.2 用双向链表实现双端队列 179
    • 7.4 位置列表的抽象数据类型 180
    • 7.4.1 含位置信息的列表抽象数据类型 182
    • 7.4.2 双向链表实现 183
    • 7.5 位置列表的排序 186
    • 7.6 案例研究:维护访问频率 186
    • 7.6.1 使用有序表 187
    • 7.6.2 启发式动态调整列表 188
    • 7.7 基于链接的序列与基于数组的序列 190
    • 7.8 练习 192
    • 扩展阅读 195
    • 第8章 树 196
    • 8.1 树的基本概念 196
    • 8.1.1 树的定义和属性 196
    • 8.1.2 树的抽象数据类型 199
    • 8.1.3 计算深度和高度 201
    • 8.2 二叉树 203
    • 8.2.1 二叉树的抽象数据类型 204
    • 8.2.2 二叉树的属性 206
    • 8.3 树的实现 207
    • 8.3.1 二叉树的链式存储结构 207
    • 8.3.2 基于数组表示的二叉树 212
    • 8.3.3 一般树的链式存储结构 214
    • 8.4 树的遍历算法 214
    • 8.4.1 树的先序和后序遍历 214
    • 8.4.2 树的广度优先遍历 216
    • 8.4.3 二叉树的中

    上一篇:OpenCV 3和Qt5计算机视觉应用开发  下一篇:人人都懂设计模式:从生活中领悟设计模式(Python实现)

    展开 +

    收起 -

    数据结构算法 相关电子书
    关于数据结构算法的学习笔记
    网友NO.290502

    Python cookbook(数据结构与算法)将多个映射合并为单个映射

    这篇文章主要介绍了Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法,结合实例形式分析了Python字典映射合并操作相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python将多个映射合并为单个映射的方法。分享给大家供大家参考,具体如下: 问题: 在逻辑上将多个字典或映射合并为一个单独的映射结构,以此执行某些特定的操作,比如查找值或者检查键是否存在 解决方案: 利用 collections 模块中的 ChainMap 类 ChainMap 可接受多个映射然后在逻辑上使它们表现为一个单独的映射结构。这些映射在字面上并不会合并在一起。相反, ChainMap 只是简单地维护一个记录底层映射关系的列表,然后重定义常见的字典操作来扫描这个列表。 # example.py## Example of combining dicts into a chainmapa = {'x': 1, 'z': 3 }b = {'y': 2, 'z': 4 }# (a) Simple example of combiningfrom collections import ChainMapc = ChainMap(a,b) #如果有重复的键,那么会采用第一个映射中所对应的值。print(c['x']) # Outputs 1 (from a)print(c['y']) # Outputs 2 (from b)print(c['z']) # Outputs 3 (from a)# Output some common valuesprint('len(c):', len(c))print('c.keys():', list(c.keys()))print('c.values():', list(c.values()))# Modify some valuesc['z'] = 10c['w'] = 40print(a:, a)del c['x']print(a:, a)# Example of stacking mappings (like scopes)values = ChainMap()values['x'] = 1# Add a……

    网友NO.809991

    Python排序搜索基本算法之冒泡排序实例分析

    本文实例讲述了Python排序搜索基本算法之冒泡排序。分享给大家供大家参考,具体如下: 冒泡排序和选择排序类似,也是第n次把最小的元素排在第n的位置上,也是该元素的绝对位置,只是冒泡排序的过程中,其他的元素也逐渐向自己最终位置逼近。代码如下: def bubbleSort(seq): length=len(seq) for i in range(length): for j in range(length-1,i,-1): if seq[j-1]seq[j]: seq[j-1],seq[j]=seq[j],seq[j-1]if __name__=='__main__': print("码农之家测试结果:") seq=[2,9,7,7,4,3,2,-4,54,-7,0] bubbleSort(seq) print(seq) 运行结果: PS:这里再为大家推荐一款关于排序的演示工具供大家参考: 在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具: http://tools.jb51.net/aideddesign/paixu_ys 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 ……

    网友NO.725341

    Python3爬楼梯算法示例

    本文实例讲述了Python3爬楼梯算法。分享给大家供大家参考,具体如下: 假设你正在爬楼梯。需要 n 步你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 方案一: 每一步都是前两步和前一步的和 class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ pre, cur = 1, 1 for i in range(1,n): pre,cur = cur,pre+cur return cur#测试tmp = Solution()print(tmp.climbStairs(10)) 运行结果: 89 方案二: 用列表记录每个n对应的值,最后的n取最后一个值即可 class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ if n == 1: return 1 if n == 2: return 2 res = [1, 2] for i in range(2, n): res.append(res[i - 1] + res[i - 2]) return res[-1]#测试tmp = Solution()print(tmp.climbStairs(10)) 运行结果: 89 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 ……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明