书本简介
本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用
获取方式:
书本目录:
第1章 绪论
1.1计算机问题求解
1.1.1 程序开发过程
1.1.2一个简单例子
1.2 问题求解:交叉路口的红绿灯安排
1.2.1问题分析和严格化
1.2.2图的顶点分组和算法
1.2.3算法的精化和 Python描述.
1.2.4讨论
1.3算法和算法分析.
1.3.1问题、问题实例和算法
1.3.2算法的代价及其度量
1.3.3算法分析
1.3.4 Python 程序的计算代价(复杂度)
1.4 数据结构
1.4.1 数据结构及其分类
1.4.2计算机内存对象表示
1.4.3 Python 对象和数据结构....
1.5 练习
第2章 抽象数据类型和 Python类
2.1抽象 数据类型
2.1.1数据类型和数据构造
2.1.2抽象数据类型的概念
2.1.3抽象数据类型的描述
2.2 Python 的类,
2.2.1有理数类
2.2.2类定义进阶
2.2.3本书采用的ADT描述形式...
2.3类的定义和使用
2.3.1类的基本定义和使用
2.3.2实例对象:初始化和使用....
2.3.3几点说明
2.3.4继承
2.4 Python 异常
2.4.1异常类和自定义异常
2.4.2异常的传播和捕捉
2.4.3内 置的标准异常类
2.5类定义实例: 学校人事管理系统中的类
2.5.1问题分析和设计
2.5.2人事记录类的实现
2.5.3讨论
本章总结
练习
第3章线性表
3.1线性表的概念和表抽象数据类型
3.1.1表的概念和性质
3.1.2表抽象数据类型
3.1.3线性表的实现:基本考虑
3.2顺序表的实现
3.2.1基本实现方式
3.2.2顺序表基本操作的实现
3.2.3顺序表的结构
3.2.4 Python的list
3.2.5顺序表的简单总结
3.3链接表
3.3.1线性表的基本需要和链接表
3.3.2单链表
3.3.3单链表类的实现
3.4链表的变形和操作
3.4.1单链表的简单变形
3.4.2循环单链表
3.4.3双链表
3.4.4两个链表操作
3.4.5不同链表的简单总结
3.5表的应用
3.5.1 Josephus问题和基于“数组" 概念的解法
3.5.2基于顺序表的解
3.5.3基于循环单链表的解
本章总结
练习
第4章字符串
4.1字符集、字符串和字符串操作
4.1.1字符串的相关概念
4.1.2字符串抽象数据类型
4.2字符串的实现
4.2.1基本实现问题和技术
4.2.2实际语言里的字符串
4.2.3 Python的字符串
4.3字符串匹配(子串查找)
4.3.1字符串匹配
4.3.2串匹配和朴素匹配算法
4.3.3无回溯串匹配算法(KMP算法)
4.4字符串匹配问题
4.4.1串匹配/搜索的不同需要
4.4.2 -种简化的正则表达式
4.5 Python正则表达式
4.5.1概况
4.5.2基本情况
4.5.3主要操作
4.5.4正则表达式的构造
4.5.5正则表达式的使用
本章总结
练习
第5章 栈和队列
5.1概述
5.1.1栈、队列和数据使用顺序
5.1.2应用环境
5.2栈:概念和实现
5.2.1栈抽象数据类型
5.2.2栈的顺序表实现
5.2.3栈的链接表实现
5.3栈的应用
5.3.1简单应用:括号匹配问题
5.3.2表达式的表示、计算和变换
5.3.3栈与递归
5.4队列
5.4.1队列抽象数据类型
5.4.2队列的链接表实现
5.4.3队列的顺序表实现
5.4.4队列的list实现
5.4.5队列的应用
5.5迷宫求解和状态空间搜索
5.5.1迷言求解:分析和设计
5.5.2求解迷言的算法
5.5.3迷宫问题和搜索
5.6几点补充
5.6.1几种与栈或队列相关的结构
5.6.2几个问题的讨论
本章总结
练习
第6章二叉树和树
第7章 图
第8章字典和集合
第9章排 序
总结
最后只想说,学习不会辜负任何人,如果你也需要这份《数据结构与算法 Python语言描述》,我可以免费分享给大家。