摘要: 11.二叉树 python实现二叉树的数据结构: . 二叉树的排序方式: - 广度遍历(层次遍历) *- 深度遍历: 前序(根左右):把根放到最前面 中序(左根右):把根放到中间 后序(左右根):把根放到最后* class Node(): def __init__(self,item): self. 阅读全文
posted @ 2020-01-12 16:34 xiongsheng 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 10.排序 一.冒泡排序 代码示例: #将乱序列表中最大元素排列到列表末尾位置 def m_sort(alist): for j in range(0,len(alist)-1): if alist[j] > alist[j+1]: temp = alist[j] alist[j] = alist[ 阅读全文
posted @ 2020-01-12 16:32 xiongsheng 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 9.算法之顺序、二分、hash查找 一.查找/搜索 - 我们现在把注意力转向计算中经常出现的一些问题,即搜索或查找的问题。搜索是在元素集合中查找特定元素的算法过程。搜索通常对于元素是否存在返回 True 或 False。有时它可能返回元素被找到的地方。我们在这里将仅关注成员是否存在这个问题。 - 在 阅读全文
posted @ 2020-01-12 16:30 xiongsheng 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 8.基本数据结构-顺序表和链表 一.内存 - 计算机的作用:对数据进行存储和运算。首先我们需要知道我们目前使用的计算机都是二进制的计算机,就以为着计算机只可以存储和运算二进制的数据。例如下载好的一部电影,该电影可以存储到计算机中,计算机中存储的是基于二进制的电影数据,然后我们可以通过相关的视频播放软 阅读全文
posted @ 2020-01-12 16:29 xiongsheng 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 7.Deque的应用案例-回文检查 - 回文检测:设计程序,检测一个字符串是否为回文。 - 回文:回文是一个字符串,读取首尾相同的字符,例如,radar toot madam。 - 分析:该问题的解决方案将使用 deque 来存储字符串的字符。我们从左到右处理字符串,并将每个字符添加到 deque 阅读全文
posted @ 2020-01-12 16:27 xiongsheng 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 6.基本数据结构-双端队列(Deque) 一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。 - 特性:deque 特殊之处在于添加和删除项是非限制性的。可以在前面或后面添加新项。同样,可以从任一端移除现有 阅读全文
posted @ 2020-01-12 16:26 xiongsheng 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 5.队列的应用案例-烫手的山芋 烫手山芋游戏介绍:6个孩子围城一个圈,排列顺序孩子们自己指定。第一个孩子手里有一个烫手的山芋,需要在计时器计时1秒后将山芋传递给下一个孩子,依次类推。规则是,在计时器每计时7秒时,手里有山芋的孩子退出游戏。该游戏直到剩下一个孩子时结束,最后剩下的孩子获胜。请使用队列实 阅读全文
posted @ 2020-01-12 16:25 xiongsheng 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 4.基本数据结构-队列 一.队列 - 概念:队列是项的有序结合,其中添加新项的一端称为队尾,移除项的一端称为队首。当一个元素从队尾进入队列时,一直向队首移动,直到它成为下一个需要移除的元素为止。最近添加的元素必须在队尾等待。集合中存活时间最长的元素在队首,这种排序成为 FIFO,先进先出,也被成为先 阅读全文
posted @ 2020-01-12 16:14 xiongsheng 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 3.基本数据结构-栈 一.线性数据结构 - 我们从四个简单但重要的概念开始研究数据结构。栈,队列,deques(双向队列), 列表是一类数据的容器,它们数据元素之间的顺序由添加或删除的顺序决定。一旦一个数据元素被添加,它相对于前后元素一直保持该位置不变。诸如此类的数据结构被称为线性数据结构。 - 线 阅读全文
posted @ 2020-01-12 16:12 xiongsheng 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 2.python数据结构的性能分析 一.引言 - 现在大家对 大O 算法和不同函数之间的差异有了了解。本节的目标是告诉你 Python 列表和字典操作的 大O 性能。然后我们将做一些基于时间的实验来说明每个数据结构的花销和使用这些数据结构的好处。重要的是了解这些数据结构的效率,因为它们是本博客实现其 阅读全文
posted @ 2020-01-12 16:11 xiongsheng 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1.数据结构&算法的引言+时间复杂度 一.什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具而已。所谓的计算机科学实际上是对问题、解决问题以及解决问题的过程中产生产生的解决方案的研究。例如给定一 阅读全文
posted @ 2020-01-12 16:09 xiongsheng 阅读(145) 评论(0) 推荐(0) 编辑