Python数据结构与算法分析(第2版)
作者:[美] 布拉德利·米勒
出版社:北京图灵文化发展有限公司
ISBN:9787115517210
VIP会员免费
(仅需0.8元/天)
¥ 39.0
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
数据结构与算法JavaScript描述 完整版216页 PDF(含源码) 评分:
本书高清PDF 86M 收集自网络,请在资源下载后24H内删除,著作权归原书作者。如觉得图书非常有用,请自己购买纸质书籍。 《数据结构与算法JavaScript描述》 推荐序 XI 前言 XII 第1章 JavaScript的编程环境和模型 1 1.1 JavaScript环境 1 1.2 JavaScript编程实践 2 1.2.1 声明和初始化变量 3 1.2.2 JavaScript中的算术运算和数学库函数 3 1.2.3 判断结构 4 1.2.4 循环结构 6 1.2.5 函数 7 1.2.6 变量作用域 7 1.2.7 递归 9 1.3 对象和面向对象编程 10 1.4 小结 11 第2章 数组 13 2.1 JavaScript中对数组的定义 13 2.2 使用数组 13 2.2.1 创建数组 14 2.2.2 读写数组 15 2.2.3 由字符串生成数组 15 2.2.4 对数组的整体性操作 16 2.3 存取函数 17 2.3.1 查找元素 17 2.3.2 数组的字符串表示 18 2.3.3 由已有数组创建新数组 18 2.4 可变函数 19 2.4.1 为数组添加元素 19 2.4.2 从数组中删除元素 20 2.4.3 从数组中间位置添加和删除元素 21 2.4.4 为数组排序 21 2.5 迭代器方法 22 2.5.1 不生成新数组的迭代器方法 22 2.5.2 生成新数组的迭代器方法 25 2.6 二维和多维数组 27 2.6.1 创建二维数组 27 2.6.2 处理二维数组的元素 28 2.6.3 参差不齐的数组 29 2.7 对象数组 30 2.8 对象中的数组 31 2.9 练习 32 第3章 列表 33 3.1 列表的抽象数据类型定义 33 3.2 实现列表类 34 3.2.1 append:给列表添加元素 35 3.2.2 remove:从列表中删除元素 35 3.2.3 find:在列表中查找某一元素 35 3.2.4 length:列表中有多少个元素 36 3.2.5 toString:显示列表中的元素 36 3.2.6 insert:向列表中插入一个元素 37 3.2.7 clear:清空列表中所有的元素 37 3.2.8 contains:判断给定值是否在列表中 37 3.2.9 遍历列表 38 3.3 使用迭代器访问列表 39 3.4 一个基于列表的应用 40 3.4.1 读取文本文件 40 3.4.2 使用列表管理影碟租赁 41 3.5 练习 44 第4章 栈 45 4.1 对栈的操作 45 4.2 栈的实现 46 4.3 使用Stack类 48 4.3.1 数制间的相互转换 49 4.3.2 回文 50 4.3.3 递归演示 51 4.4 练习 52 第5章 队列 53 5.1 对队列的操作 53 5.2 一个用数组实现的队列 54 5.3 使用队列:方块舞的舞伴分配问题 57 5.4 使用队列对数据进行排序 61 5.5 优先队列 63 5.6 练习 65 第6章 链表 67 6.1 数组的缺点 67 6.2 定义链表 67 6.3 设计一个基于对象的链表 69 6.3.1 Node类 69 6.3.2 LinkedList类 69 6.3.3 插入新节点 69 6.3.4 从链表中删除一个节点 71 6.4 双向链表 74 6.5 循环链表 78 6.6 链表的其他方法 79 6.7 练习 79 第7章 字典 81 7.1 Dictionary类 81 7.2 Dictionary类的辅助方法 83 7.3 为Dictionary类添加排序功能 85 7.4 练习 86 第8章 散列 87 8.1 散列概览 87 8.2 HashTable类 88 8.2.1 选择一个散列函数 88 8.2.2 一个更好的散列函数 91 8.2.3 散列化整型键 93 8.2.4 对散列表排序、从散列表中取值 95 8.3 碰撞处理 96 8.3.1 开链法 96 8.3.2 线性探测法 99 8.4 练习 100 第9章 集合 101 9.1 集合的定义、操作和属性 101 9.1.1 集合的定义 101 9.1.2 对集合的操作 102 9.2 Set类的实现 102 9.3 更多集合操作 104 9.4 练习 107 第10章 二叉树和二叉查找树 109 10.1 树的定义 109 10.2 二叉树和二叉查找树 111 10.2.1 实现二叉查找树 111 10.2.2 遍历二叉查找树 113 10.3 在二叉查找树上进行查找 116 10.3.1 查找最小值和最大值 116 10.3.2 查找给定值 117 10.4 从二叉查找树上删除节点 118 10.5 计数 120 10.6 练习 123 第11章 图和图算法 125 11.1 图的定义 125 11.2 用图对现实中的系统建模 127 11.3 图类 127 11.3.1 表示顶点 127 11.3.2 表示边 127 11.3.3 构建图 128 11.4 搜索图 130 11.4.1 深度优先搜索 130 11.4.2 广度优先搜索 133 11.5 查找最短路径 135 11.5.1 广度优先搜索对应的最短路径 135 11.5.2 确定路径 135 11.6 拓扑排序 137 11.6.1 拓扑排序算法 137 11.6.2 实现拓扑排序算法 137 11.7 练习 141 第12章 排序算法 143 12.1 数组测试平台 143 12.2 基本排序算法 145 12.2.1 冒泡排序 145 12.2.2 选择排序 148 12.2.3 插入排序 150 12.2.4 基本排序算法的计时比较 151 12.3 高级排序算法 153 12.3.1 希尔排序 153 12.3.2 归并排序 158 12.3.3 快速排序 163 12.4 练习 167 第13章 检索算法 169 13.1 顺序查找 169 13.1.1 查找最小值和最大值 172 13.1.2 使用自组织数据 175 13.2 二分查找算法 177 13.3 查找文本数据 183 13.4 练习 185 第14章 高级算法 187 14.1 动态规划 187 14.1.1 动态规划实例:计算斐波那契数列 188 14.1.2 寻找最长公共子串 191 14.1.3 背包问题:递归解决方案 194 14.1.4 背包问题:动态规划方案 195 14.2 贪心算法 196 14.2.1 第一个贪心算法案例:找零问题 196 14.2.2 背包问题的贪心算法解决方案 197 14.3 练习 199 封面介绍 200
上传时间:2015-05 大小:14.14MB
- 11.20MB
JS数据结构与算法.pdf
2023-11-01JS数据结构与算法.pdf
- 130KB
算法与数据结构.pdf
2022-07-11Houfeng Wang, ICL of PKU 1 ¸ª ¤º˚ Æ £"˝ı"æ ˜£"¸ª ¤º˚ Æ ——CˆŁ˚£¤¯˜¸—¢£' ¨ ˛£" (1) ˚ Æ £¤—¿¨"£' (2) ˚ Æ º¸ª ¤ ˛£¤ C++£' ¯ˆœ£ `ıˇ ¨º Houfeng Wang, ICL of PKU 2 1. »ø– ¯˜ ˛˚˙ ˚ Æ ¸ª ¤ Øˇ˚—˝ Houfeng Wang, ICL of PKU 3 1. »ø– ¯˜ ¾˛˚˙ ˚ Æ ¸ª ¤ Øˇ˚—˝ Houfeng Wang, ICL of PKU 4 ˛˚˙ ¶¤£"ˆ…˘¸ª»œ ˚…˚˛˚£" – ¨"˛–˚"·ƒ˜˚£¤˚ Æ ˛˚£'£» – ¨"˛·ƒ˚˚£¤¸ª ¤˛˚£'£» ˛˚˙ Ł£" – ˛£"ˆ¨ ˛˚˜˜ ˇ£» – Ł…˘£"Ł…˘˚ Æ º¸ª ¤£¤–¿˛˜¨£' – –´º£"¡æ˚˚–˜ —Ł…˘–—· — – ˚ +˛ » £"¡»¶¤˜˚¨º£ ˚˚˙ æ¨ Houfeng Wang, ICL of PKU 5 »˝¤˛˚ Houfeng Wang, ICL of
- 398KB
python数据结构与算法-已转档.pdf
2021-06-17python数据结构与算法-已转档.pdf
- 5.8MB
数据与算法JS描述(高清版).pdf
2019-07-16在前端工程师中,常常有一种声音:“我为什么要学习数据结构与算法?没有数据结构与 算法,我一样很好地完成了工作?” 实际上,算法是一个十分宽泛的概念,我们写的任何程序都可称为算法,甚至往冰箱里面 放一头大象,也要经过开门、放入、关门这样的规划,这也可以视为一种简单的算法。可 以说,简单的算法是人类的本能。而算法知识的学习则是吸取前人的经验,对复杂的问题 进行归类、抽象,帮助我们脱离刀耕火种时代,系统掌握算法的一个过程。 随着自身成长和职业发展,不论是做前端、服务端还是客户端,任何一个程序员都会开始 面对更加复杂的问题,算法和数据结构知识就变得不可或缺了。 我一直认为前端工程师则是最需要重视算法和数据结构基础的人。因为历史原因,不少前 端工程师是从视觉设计、网站编辑转过来的,在学校没有学过相应的基础课程,而数据结 构与算法的经典名著大部分又没照顾到入门的需要,所以前端工程师如果自身不重视算法 和数据结构这样的基础知识,很可能陷入数年从事单一重复劳动毫无成长这样的职业发展 困境。在移动浪潮到来之后,用户体验要求越来越高,对前端提出了更高的要求,前端这 个职能,必须提高自身才能继续发展,未来的网页 UI,绝对不是靠几个选择器操作加超链 接就能应付的。越来越复杂的产品和基础库,需要坚实的数据结构与算法基础才能驾驭。 本书对前端工程师是非常好的数据结构与算法入门书,它的难度非常适合前端工程师补习 基础知识。全书仅 200 页,对于有渴求数据结构与算法的前端工程师来说这是非常不错的 开始。特别值得一提的是每章后面的小练习,题目不多但是非常有可操作性。
- 22.24MB
js数据结构与算法
2017-08-29js数据结构与算法
- 65.8MB
java源码包---java 源码 大量 实例
2013-04-18Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...
- 70B
JAVA上百实例源码以及开源项目源代码
2016-09-17Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...
- 68B
JAVA上百实例源码以及开源项目
2016-01-03Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
- 57.49MB
java源码包2
2013-04-20Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
- 79.29MB
java源码包3
2013-04-20Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
- 42.98MB
Python算法教程_中文版.pdf
2017-06-30Python算法教程_中文版.pdf
- 40.28MB
python算法教程-中文版
2018-05-04很好的入门python 推荐,如有你想好好学习python,数据和算法是无法逃避的东西,毕竟算法是程序的灵魂,我一直看这个书,从中获得了很多灵感
- 10.18MB
数据结构与算法python版
2015-01-22数据结构与算法python版, 纯英文版
- 88.15MB
数据结构与算法-python
2018-12-02数据结构与算法 python版本实现 适合入门python的新手进行参考
- 21.58MB
数据结构与算法JavaScript
2017-10-22通过本书的学习,读者将能自如地选择最合适的数据结构与算法,并在JavaScript开发中懂得权衡使用。此外,本书也概述了与数据结构与算法相关的JavaScript特性。
- 36.36MB
java源码包4
2013-04-20Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
- 65.22MB
成百上千个Java 源码DEMO 4(1-4是独立压缩包)
2017-03-29Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
- 50.42MB
成百上千个Java 源码DEMO 3(1-4是独立压缩包)
2017-03-29Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
- 14.30MB
GPU编程精粹_1_计算机图形学_(7)
2009-05-28Java C++ C# linux 教程 pdf 源码 sql asp.net Matlab 源代码 jsp C语言 数据库 ASP 单片机 编程 Oracle C Windows javascript 毕业设计 VB visual 数据结构 chm PPT vc .net 课件 Ajax 中文 VC++ server MFC ...
- 144.60MB
若干源程序资料12.rar
2012-06-112012-06-11 21:09 1,553,768 数据结构算法Visual.C.6.0程序集_源码.rar 2012-06-11 21:42 87,040 时域卷积定理的证明.ppt 2012-06-11 21:10 4,371 更改网关IP.rar 2012-06-11 20:57 1,419 栈的实现.txt 2012-06-11 ...
- 48B
21天学通C++第七版完整版PDF下载
2015-09-2421天学通C++第七版完整版PDF下载,这个pdf有170多兆,是完整版的,500页左右,我只能上传60M以下的文件,所以给的是百度网盘地址及密码,永久有效
- 4KB
5.1声卡说话效果
2014-09-20创新声卡5.1说话效果!
- 9KB
javascript-algorithms:JavaScript 中的一些算法和数据结构练习
2021-06-02javascript算法 一些用 JavaScript 编写算法的练习。 基于 Robert Sedgewick 的涵盖的算法。
- 80.36MB
数据结构与算法 Python语言
2017-12-03数据结构与算法 Python语言描述_裘宗燕.pdf 数据结构与算法 Python语言描述_裘宗燕.pdf
- 2.98MB
同步专家无限版
2014-12-16同步专家无限版。客户端数量不限,使用日期不限!
- 149.86MB
java开源包8
2013-06-28使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的...
- 148.21MB
java开源包1
2013-06-28使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的...
- 165.25MB
java开源包11
2013-06-28使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的...