写在前面的话:关于数据结构与算法讲解的书籍很多,但是用python语言去实现的不是很多,最近有幸看到一本这样的书籍,由Brad Miller and David Ranum编写的《Problem Solving with Algorithms and Data Structures Using Python》,地址为:http://interactivepython.org/runestone/static/pythonds/index.html是英文的,写的不错,里面代码的实现也很详细,很多有趣的例子,本篇只把本书目录翻译如下,以便大家有个整体的认识。

======正文开始======

用Python讲解数据结构与算法

(Problem Solving with Algorithms and Data Structures Using Python)

一、简介(Introduction)

1.学习目标(Objectives)

2.开始学习(Getting Started)

3.什么是计算机科学(What is Computer Science)

4.Python基本知识回顾(Review of Basic Python)

5.总结(Summary)

6.关键术语(Key Terms)

7.问题讨论(Discussion Questions)

8.习题练习(Programming Exercises)

二、算法分析(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)

(完)

文档信息

用python语言讲解数据结构与算法的更多相关文章

  1. [0x00 用Python讲解数据结构与算法] 概览

    自从工作后就没什么时间更新博客了,最近抽空学了点Python,觉得Python真的是很强大呀.想来在大学中没有学好数据结构和算法,自己的意志力一直不够坚定,这次想好好看一本书,认真把基本的数据结构和算 ...

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

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

  3. 大数据技术之_16_Scala学习_13_Scala语言的数据结构和算法_Scala学习之旅收官之作

    第十九章 Scala语言的数据结构和算法19.1 数据结构(算法)的介绍19.2 看几个实际编程中遇到的问题19.2.1 一个五子棋程序19.2.2 约瑟夫问题(丢手帕问题)19.2.3 其它常见算法 ...

  4. Python实现的数据结构与算法之队列详解

    本文实例讲述了Python实现的数据结构与算法之队列.分享给大家供大家参考.具体分析如下: 一.概述 队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操 ...

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

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

  6. python 下的数据结构与算法---1:让一切从无关开始

    这段时间把<Data Structure and Algorithms with python>以及<Problem Solving with  Algorithms and Dat ...

  7. python 下的数据结构与算法---8:哈希一下【dict与set的实现】

    少年,不知道你好记不记得第三篇文章讲python内建数据结构的方法及其时间复杂度时里面关于dict与set的时间复杂度[为何访问元素为O(1)]原理我说后面讲吗?其实就是这篇文章讲啦. 目录: 一:H ...

  8. C语言- 基础数据结构和算法 - 09 栈的应用_中缀表达式转后缀表达式20220611

    09 栈的应用_中缀表达式转后缀表达式20220611 听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/ ...

  9. C语言- 基础数据结构和算法 - 08 栈的应用_就近匹配20220611

    听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1 喜欢的朋友 ...

随机推荐

  1. ATL 获取flash信息

    // This goes past the ATL includes #import "C:/WINDOWS/system32/Macromed/Flash/Flash9e.ocx" ...

  2. ueditor问题简记录

    一.百度ueditor下载地址:http://ueditor.baidu.com/website/download.html. uBuilder下载,个人选了一些自用的,.net的,但是很奇怪下载响应 ...

  3. C# 有关打印机的连接判断...随便看看

    各位coder手下留情 /// <summary> /// 判断是否连接打印机 /// </summary> public bool CheckPrinter() { //取得 ...

  4. window.innerWidth、document.body.clientWidth和html的大小的区别

    首先,我们知道document.body指向的就是body元素,如此,我们就可以以document.body来获取body的大小.何以知之?如下代码: var body = document.quer ...

  5. ApiDoc 文档使用方式

    1.安装node.js 2.打开node.js 命令窗(shell)键入npm install apidoc -g 自动安装(几分钟) 3. C:\Users\user\AppData\Roaming ...

  6. JavaScript常用函数之Eval()使用

    eval() 功能:首先解释Javascript代码  然后执行它 用法:Eval(codeString) codeString是包含有javascript语句的字符串,在eval之后使用Javasc ...

  7. loadrunner回放脚本报错27780:“[10053] 软件导致连接中止”

    录制的脚本在回放时报错,错误如下: vuser_init.c(12): 警告 -26627: 对于“http://bsp.paycenter.58.com.cn/favicon.ico”,HTTP 状 ...

  8. Oracle安装:64位电脑安装64位Oracle、PLSQL步骤

    步骤: 1.安装64位Oracle 2.安装64位PLSql 3.将11.2.0.win32的压缩包解压,放在Oracle的安装目录:product下 4.配置PLSQL参数: Tools -> ...

  9. JAVA/Android Map与String的转换方法

    在Android开发中 Map与String的转换在,在一些需求中经常用到,使用net.sf.json.JSONObject.fromObject可以方便的将string转为Map.但需要导入jar包 ...

  10. 我的Sharepoint母版页的使用

    在Sharepoint 2010母版页文件夹里面,有一个叫v4.master的母版页文件. 在它的基础上修改成想要的母版页.我们用最少的修改完成我们想要的效果. 我们有时是要这样的一个母版页,顶部Ri ...