摘要: - 回文检测:设计程序,检测一个字符串是否为回文。 - 回文:回文是一个字符串,读取首尾相同的字符,例如,radar toot madam。 - 分析:该问题的解决方案将使用 deque 来存储字符串的字符。我们从左到右处理字符串,并将每个字符添加到 deque 的尾部。在这一点上,deque 像一 阅读全文
posted @ 2019-03-13 19:26 波晓张 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。 - 特性:deque 特殊之处在于添加和删除项是非限制性的。可以在前面或后面添加新项。同样,可以从任一端移除现有项。在某种意义上,这种混合线性结构提供了单 阅读全文
posted @ 2019-03-13 19:14 波晓张 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 烫手山芋游戏介绍:6个孩子围城一个圈,排列顺序孩子们自己指定。第一个孩子手里有一个烫手的山芋,需要在计时器计时1秒后将山芋传递给下一个孩子,依次类推。规则是,在计时器每计时7秒时,手里有山芋的孩子退出游戏。该游戏直到剩下一个孩子时结束,最后剩下的孩子获胜。请使用队列实现该游戏策略,排在第几个位置最终 阅读全文
posted @ 2019-03-13 18:43 波晓张 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 一.队列 - 概念:队列是项的有序结合,其中添加新项的一端称为队尾,移除项的一端称为队首。当一个元素从队尾进入队列时,一直向队首移动,直到它成为下一个需要移除的元素为止。最近添加的元素必须在队尾等待。集合中存活时间最长的元素在队首,这种排序成为 FIFO,先进先出,也被成为先到先得。 - 案例:队列 阅读全文
posted @ 2019-03-13 17:19 波晓张 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 一.线性数据结构 - 我们从四个简单但重要的概念开始研究数据结构。栈,队列,deques(双向队列), 列表是一类数据的容器,它们数据元素之间的顺序由添加或删除的顺序决定。一旦一个数据元素被添加,它相对于前后元素一直保持该位置不变。诸如此类的数据结构被称为线性数据结构。 - 线性数据结构有两端,有时 阅读全文
posted @ 2019-03-13 16:55 波晓张 阅读(552) 评论(0) 推荐(1) 编辑
摘要: 一.引言 - 现在大家对 大O 算法和不同函数之间的差异有了了解。本节的目标是告诉你 Python 列表和字典操作的 大O 性能。然后我们将做一些基于时间的实验来说明每个数据结构的花销和使用这些数据结构的好处。重要的是了解这些数据结构的效率,因为它们是本博客实现其他数据结构所用到的基础模块。本节中, 阅读全文
posted @ 2019-03-13 11:07 波晓张 阅读(886) 评论(0) 推荐(0) 编辑
摘要: 一.什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具而已。所谓的计算机科学实际上是对问题、解决问题以及解决问题的过程中产生产生的解决方案的研究。例如给定一个问题,计算机科学家的目标是开发一个算 阅读全文
posted @ 2019-03-13 09:18 波晓张 阅读(956) 评论(0) 推荐(0) 编辑