自从工作后就没什么时间更新博客了,最近抽空学了点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. 分享几段JavaScript

    正则表达式 /*http://www.cnblogs.com/woxpp/*/ intege: "^-?[1-9]\\d*$", /*整数*/ intege1: "^[1 ...

  2. iOS-OC内存管理

    目标 1.[理解]内存管理 2.[掌握]第一个MRC程序 3.[掌握]内存管理的原则 4.[理解]野指针与僵尸对象 5.[理解]单个对象的内存管理 6.[理解]多个对象的内存管理 7.[掌握]set方 ...

  3. Python核心编程(切片索引的更多内容)

    # coding=utf8 s = 'abcde' i = -1 for i in range(-1, -len(s), -1): print(s[:i]) # 结果 ''' abcd abc ab ...

  4. adb uninstall

    adb shell pm list packages adb uninstall com.pa.pfac

  5. React中props.children和React.Children的区别

    在React中,当涉及组件嵌套,在父组件中使用props.children把所有子组件显示出来.如下: function ParentComponent(props){ return ( <di ...

  6. qq临时会话设置

    qq临时会话怎么设置?QQ正常情况下是不被允许临时会话的,需要加为好友才可以,网上一些教程说代码加QQ号可以直接临时与别人临时会话,其实是不准确的,需要对方开通了临时会话才可以使用该功能.下面来看看怎 ...

  7. 3D碰撞检测

    为了确保任何区域的空间不被多于1个物体占用,我们需要基于物体间的空间信息来做碰撞检测. 碰撞检测中重要的事情是有大量的测试,因此需要理由GPU资源. 例如:如果我们有n个物体,一个物体将会碰撞n-1个 ...

  8. 【译】在 Chrome 开发者工具中调试 node.js

    原文链接 : Debugging Node.js in Chrome DevTools 原文作者 : MATT DESLAURIERS 译文出自 : 掘金翻译计划 译文链接 : https://git ...

  9. [译]PostCSS介绍

    PostCSS介绍 原文链接:http://www.smashingmagazine.com/2015/12/introduction-to-postcss/ 转自:http://www.zcfy.c ...

  10. WP-PostViews的安装和设置方法

    wordpress本身并没有文章浏览统计功能,必须借助插件.想要知道自己的文章被多数访客浏览,或者访客对哪些文章或者哪类文章更加有兴趣,这就是文章统计的重要性了.WP-PostViews插件是哥不错的 ...