自从工作后就没什么时间更新博客了,最近抽空学了点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讲解数据结构与算法] 概览的更多相关文章

  1. [0x01 用Python讲解数据结构与算法] 关于数据结构和算法还有编程

    忍耐和坚持虽是痛苦的事情,但却能渐渐地为你带来好处. ——奥维德 一.学习目标 · 回顾在计算机科学.编程和问题解决过程中的基本知识: · 理解“抽象”在问题解决过程中的重要作用: · 理解并实现抽象 ...

  2. 用python语言讲解数据结构与算法

    写在前面的话:关于数据结构与算法讲解的书籍很多,但是用python语言去实现的不是很多,最近有幸看到一本这样的书籍,由Brad Miller and David Ranum编写的<Problem ...

  3. 《用Python解决数据结构与算法问题》在线阅读

    源于经典 数据结构作为计算机从业人员的必备基础,Java, c 之类的语言有很多这方面的书籍,Python 相对较少, 其中比较著名的一本 problem-solving-with-algorithm ...

  4. Python(一)数据结构和算法的20个练习题问答

    数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. 因此,这 ...

  5. Python Cookbook 数据结构和算法

    1.查找最大或最小的N个元素 import heapq nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] print(heapq.nlargest(3, n ...

  6. 用python讲解数据结构之树的遍历

    树的结构 树(tree)是一种抽象数据类型或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合 它具有以下的特点: ①每个节点有零个或多个子节点: ②没有父节点的节点称为根节点: ③ ...

  7. 用Python实现的数据结构与算法:开篇

    一.概述 用Python实现的数据结构与算法 涵盖了常用的数据结构与算法(全部由Python语言实现),是 Problem Solving with Algorithms and Data Struc ...

  8. Python - 数据结构与算法(Data Structure and Algorithms)

    入门 The Algorithms Python https://github.com/TheAlgorithms/Python 从基本原理到代码实现的Python算法入门,简洁地展示问题怎样解决,因 ...

  9. python数据结构与算法

    最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的<啊哈算法>入门,不过里面的数据结构和算法都是用C语言写的,而自己对p ...

随机推荐

  1. NodeJS-图片上传(Express)

    文件上传是每个网站不可避免的,最近需要做些上传图片的功能,主要解决两个问题,一个是文件上传样式和服务端路径保存,功能很简单,做起来倒是没那么简单,先从最简单的页面的上传页面的样式开始. 页面样式 Ht ...

  2. Quartz 框架的应用

    本文将简单介绍在没有 Spring 的时候..如何来使用 Quartz... 这里跳过 Quartz 的其他介绍.如果想更加输入的了解 Quartz,大家可以点击下载Quartz的帮助文档. Quar ...

  3. pl/sql死锁oracle

    http://jingyan.baidu.com/album/3ea51489eb65b152e61bba8b.html?picindex=2

  4. window.history.pushState与ajax实现无刷新更新页面url

    ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...

  5. Java开源框架推荐(全)

    Build Tool Tools which handle the buildcycle of an application. Apache Maven - Declarative build and ...

  6. 利用EEPROM实现arduino的断电存储

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.EEPROM简介 EEPROM (Electrically Erasable Progr ...

  7. CoreData多线程安全

    CoreData中的NSManagedObjectContext在多线程中不安全,如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext, ,每个 ...

  8. nodejs配置简单HTTP服务器

    1.介绍 http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 2.安装 npm ...

  9. Django 源码小剖: URL 调度器(URL dispatcher)

    在刚开始接触 django 的时候, 我们尝试着从各种入门文档中创建一个自己的 django 项目, 需要在 mysite.urls.py 中配置 URL. 这是 django url 匹配处理机制的 ...

  10. Win7 安装Apache 2.2.4报错:<OS 5>拒绝访问. :Failed to open the WinNT service manager

    Apache 2.2安装档与win7的“用户账户控制”冲突,所以只要先关闭,安装完后再开启即可. 重启,然后再重新安装Apache2.2.4,没有出现错误.然后再把上述设置改回去. 参考:http:/ ...