[0x00 用Python讲解数据结构与算法] 概览
自从工作后就没什么时间更新博客了,最近抽空学了点Python,觉得Python真的是很强大呀。想来在大学中没有学好数据结构和算法,自己的意志力一直不够坚定,这次想好好看一本书,认真把基本的数据结构和算法补一补。
Python讲数据结构和算法的书,我想说的是真的太少了!!广泛搜索,中文的图书基本上没有,倒是找到两本外文的:
Problem Solving with Algorithms and Data Structures (用Python讲解数据结构与算法)
Python Algorithms: Mastering Basic Algorithms in the Python Language
感觉这两本书都不错,第一本稍微基础一点,所以先从第一本开始吧。
第一本好像找了很久没有找到pdf下载的,于是自己动手把官网扒了下来:Problem Solving with Algorithms and Data Structures ,提取码:i2yv。或者http://download.csdn.net/detail/csulennon/9290623
先列一下目录吧,有个大致的印象:
一、简介(Introduction)
1. [0x01 用Python讲解数据结构与算法] 关于数据结构和算法还有编程
2. Python基本语法回顾
二、算法分析(Analysis)
1.学习目标(Objectives)
2.什么是算法分析(What is Algorithm Analysis)
3.Python内置数据结构性能分析(Performance of Python Data Structures)
4.总结(Summary)
5.关键术语(Key Terms)
6.问题讨论(Discussion Questions)
7.习题练习(Programming Exercises)
三、基本数据结构(Basic Data Structures)
1.学习目标(Objectives)
2.什么是线性数据结构(What Are Linear Structures)
3.栈(Stacks)
4.队列(Queues)
5.双端队列(Deques)
6.列表(Lists)
7.总结(Summary)
8.关键术语(Key Terms)
9.问题讨论(Discussion Questions)
10.习题练习(Programming Exercises)
四、递归(Recursion)
1.学习目标(Objectives)
2.什么是递归(What is Recursion)
3.栈帧实现递归(Stack Frames:Implementing Recursion)
4.可视化递归(Visualizing Recursion)
5.复杂递归问题(Complex Recursive Problems)
6.迷宫问题(Exploring a Maze)
7.动态规划(Dynamic Programming)
8.总结(Summary)
9.关键术语(Key Terms)
10.问题讨论(Discussion Questions)
11.习题练习(Programming Exercises)
五、排序与检索(Sorting and Searching)
1.学习目标(Objectives)
2.检索(Searching)
3.各种排序算法(Sorting)
4.总结(Summary)
5.关键术语(Key Terms)
6.问题讨论(Discussion Questions)
7.习题练习(Programming Exercises)
六、树与树相关的算法(Trees and Tree Algorithms)
1.学习目标(Objectives)
2.树相关实例(Examples of Trees)
3.树相关术语与定义(Vocabulary and Definitions)
4.实现树结构(Implementation)
5.二叉树(Binary Tree Aplications)
6.堆与优先队列(Priority Queues with Binary Heaps)
7.二叉搜索树(Binary Search Trees)
8.平衡二叉搜索树(Balanced Binary Search Trees)
9.总结(Summary)
10.关键术语(Key Terms)
11.问题讨论(Discussion Questions)
12.习题练习(Programming Exercises)
七、图与图相关的算法(Graphs and Graph Algorithms)
1.学习目标(Objectives)
2.图相关术语与定义(Vocabulary and Definitions)
3.图抽象数据结构(The Graph Abstract Data Type)
4.广度优先搜索(Breadth First Search)
5.深度优先搜索(Depth First Search)
6.拓扑排序(Topological Sorting)
7.强连通分量(Strongly Connected Components)
8.最短路径问题(Shortest Path Problems)
9.总结(Summary)
10.关键术语(Key Terms)
11.问题讨论(Discussion Questions)
12.习题练习(Programming Exercises)
这个目录偷了一下懒,引用了快跑的小乌龟的翻译。
剩下的希望能坚持下来,把这本书看完。
[0x00 用Python讲解数据结构与算法] 概览的更多相关文章
- [0x01 用Python讲解数据结构与算法] 关于数据结构和算法还有编程
忍耐和坚持虽是痛苦的事情,但却能渐渐地为你带来好处. ——奥维德 一.学习目标 · 回顾在计算机科学.编程和问题解决过程中的基本知识: · 理解“抽象”在问题解决过程中的重要作用: · 理解并实现抽象 ...
- 用python语言讲解数据结构与算法
写在前面的话:关于数据结构与算法讲解的书籍很多,但是用python语言去实现的不是很多,最近有幸看到一本这样的书籍,由Brad Miller and David Ranum编写的<Problem ...
- 《用Python解决数据结构与算法问题》在线阅读
源于经典 数据结构作为计算机从业人员的必备基础,Java, c 之类的语言有很多这方面的书籍,Python 相对较少, 其中比较著名的一本 problem-solving-with-algorithm ...
- Python(一)数据结构和算法的20个练习题问答
数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. 因此,这 ...
- Python Cookbook 数据结构和算法
1.查找最大或最小的N个元素 import heapq nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] print(heapq.nlargest(3, n ...
- 用python讲解数据结构之树的遍历
树的结构 树(tree)是一种抽象数据类型或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合 它具有以下的特点: ①每个节点有零个或多个子节点: ②没有父节点的节点称为根节点: ③ ...
- 用Python实现的数据结构与算法:开篇
一.概述 用Python实现的数据结构与算法 涵盖了常用的数据结构与算法(全部由Python语言实现),是 Problem Solving with Algorithms and Data Struc ...
- Python - 数据结构与算法(Data Structure and Algorithms)
入门 The Algorithms Python https://github.com/TheAlgorithms/Python 从基本原理到代码实现的Python算法入门,简洁地展示问题怎样解决,因 ...
- python数据结构与算法
最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的<啊哈算法>入门,不过里面的数据结构和算法都是用C语言写的,而自己对p ...
随机推荐
- js手风琴图片切换实现原理及函数分析
关键词: js手风琴 js百叶窗 js百页窗 实现原理解读 使用两层for循环实现, 第一层有三个功能,分别给第个li: 添加索引 预设位置 添加事件 第二层有两个功能,整理图片位置: 鼠标的li,以 ...
- atitit.html5 拼图游戏的解决之道.
atitit.html5 拼图游戏的解决之道. 1. 拼图游戏的操作(点击法and 拖动法) 1 1. 支持键盘上.下.左.右键移动: 1 2. 支持点击空白模块中的上下左右箭头移动: 1 3. 支持 ...
- 前端与Server端(路由)
路由(前端):原理:只有几个XHR请求,就能实现页面无刷新闪烁更改URL 前端:1. ajax承担数据通信以及相对应的逻辑(交互逻辑) ajax进行数据交互,跟URL打交道,让数据交互的变化反映到UR ...
- Android ImageView的scaleType属性与adjustViewBounds属性(转载)
ImageView的scaleType的属性有好几种,分别是matrix(默认).center.centerCrop.centerInside.fitCenter.fitEnd.fitStart.fi ...
- android: SQLite创建数据库
SQLite 是一款轻量级的关系型数据库,它的运算速度非常快, 占用资源很少,通常只需要几百 K 的内存就足够了,因而特别适合在移动设备上使用.SQLite 不仅支持标准的 SQL 语法,还遵循了数据 ...
- asp.net“服务器应用程序不可用” 解决方法
服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误消息可在 We ...
- 隐藏nginx 版本号信息
为了安全,想将http请求响应头里的nginx版本号信息隐藏掉: 1. nginx配置文件里增加 server_tokens off; server_tokens作用域是http server loc ...
- 【linux】文件隐藏属性
这些隐藏的属性确实对于系统有很大的帮助的- 尤其是在系统安全 (Security) 上面,重要的紧呢!不过要先强调的是,底下的chattr指令只能在Ext2/Ext3的文件系统上面生效, 其他 ...
- 翻译--Blazing fast node.js: 10 performance tips from LinkedIn Mobile
1.避免使用同步代码: // Good: write files asynchronously fs.writeFile('message.txt', 'Hello Node', function ( ...
- Linux之crontab
一 cron crond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最总引用/var/lock/subsys ...