摘要: 目录 一、树形结构特征 二、二叉树:概念和性质 三、二叉树的list实现 四、优先队列 五、离散事件模拟 六、二叉树的类实现(链接实现) 七、哈夫曼树 八、树和树林 一、树形结构特征 树形结构是由结点和结点之间的连接关系构成,它与表线性结构不同,特征包括: 一个结构如果不为空,其中就存在着唯一的起始 阅读全文
posted @ 2019-09-06 13:12 walle_zhao 阅读(1408) 评论(0) 推荐(1) 编辑
摘要: 目录 一、数据存储、检索和字典 二、字典的线性表实现 三、散列和散列表 四、集合 五、python的dict和set 六、二叉排序树和字典 七、平衡二叉树 一、数据存储、检索和字典 计算机的基本功能是存储和处理数据。 1、数据存储和检索 数据访问的基本方式基于存储位置,如果知道所需要的数据保存在哪里 阅读全文
posted @ 2019-09-06 13:12 walle_zhao 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 目录 一、问题和性质 二、简单排序算法 三、快速排序 四、归并排序 五、其他排序 一、问题和性质 1、问题定义 排序就是整理数据的序列,使其中的元素按照特定的顺序排列的操作。 2、排序算法 基于比较的排序 在一个排序中,如果待排序的记录全部保存在内存,这种工作就称之为内排序,针对外存数据的排序称之为 阅读全文
posted @ 2019-09-06 13:12 walle_zhao 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 目录 一、贪心算法 二、动态规划法 一、贪心算法 贪心算法是指,在对问题求解的时候,总是做出在当前看来是最好的选择,也就是说,不从整体最优上加以考虑,他做出的是在某种意义上的局部最优解。 因此,贪心算法并不能保证得到最优的解。参考第一章绪论的道路通行例子。但是也有一些解用贪心算法得出的是最优解。 1 阅读全文
posted @ 2019-09-06 13:12 walle_zhao 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 目录 一、概述 二、栈:概念和实现 三、栈的应用 四、队列 五、迷宫求解和状态空间搜索 六、补充 七、部分课后编程练习 一、概述 栈跟队列都是保存数据的容器。还有前面的线性表。 栈和队列主要用于计算过程中保存的临时数据,如果数据在编程时就可以确定,那么使用几个变量就可以临时存储,但是如果存储的数据项 阅读全文
posted @ 2019-09-06 13:11 walle_zhao 阅读(2229) 评论(0) 推荐(0) 编辑
摘要: 目录 一、字符集、字符串和字符串操作 二、字符串的实现 三、字符串匹配(子串查找) 四、字符串匹配问题 五、python的正则表达式 六、部分课后编程练习 一、字符集、字符串和字符串操作 字符集就是一组字符组成的集合。例如:ASICC集合,Unicode集合。 基于字符串处理需要,要求字符集上有一种 阅读全文
posted @ 2019-09-06 13:11 walle_zhao 阅读(1054) 评论(1) 推荐(0) 编辑
摘要: 阅读目录 一、线性表的概念和表抽象数据类型 二、顺序表的实现 三、链接表 四、链表的变形和操作 五、课后部分编程练习(初学时写的,仅供参考) 一、线性表的概念和表抽象数据类型 1、表的概念和性质 线性表示某类元素的一个集合,记录着元素之间的一种顺序关系。 理解表的下标,空表,表的长度,顺序关系,首元 阅读全文
posted @ 2019-09-06 13:11 walle_zhao 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 阅读目录 一、计算机求解问题 二、问题求解:交叉路口的红绿灯安排 三、算法和算法分析 四、数据结构 一、计算机求解问题 使用计算机解决问题的两个阶段: 开发阶段(只做一次) 使用阶段(多次使用) 1、程序开发过程 工作流程 分析阶段。将问题严格化。 设计阶段。组织好数据模型,以及设计好需要解决问题的 阅读全文
posted @ 2019-09-06 13:10 walle_zhao 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 阅读目录 一、抽象数据类型 二、python的类 三、类的定义和使用 四、python异常 五、类定义实例:学校认识管理系统中的类 六、部分课后编程练习 一、抽象数据类型 抽象数据类型(ADT)是计算机领域的一种思想和方法,是一种用于设计和实现程序模块的有效技术。模块通过接口来提供功能所需的信息,并 阅读全文
posted @ 2019-09-06 13:10 walle_zhao 阅读(1270) 评论(0) 推荐(1) 编辑