随笔分类 -  数据结构

摘要:一.内存 - 计算机的作用:对数据进行存储和运算。首先我们需要知道我们目前使用的计算机都是二进制的计算机,就以为着计算机只可以存储和运算二进制的数据。例如下载好的一部电影,该电影可以存储到计算机中,计算机中存储的是基于二进制的电影数据,然后我们可以通过相关的视频播放软件结合相关的硬件对电影的二进制数 阅读全文
posted @ 2019-06-10 17:36 small_caier 阅读(164) 评论(0) 推荐(0) 编辑
摘要:- 回文检测:设计程序,检测一个字符串是否为回文。 - 回文:回文是一个字符串,读取首尾相同的字符,例如,radar toot madam。 - 分析:该问题的解决方案将使用 deque 来存储字符串的字符。我们从左到右处理字符串,并将每个字符添加到 deque 的尾部。在这一点上,deque 像一 阅读全文
posted @ 2019-06-10 17:34 small_caier 阅读(192) 评论(0) 推荐(0) 编辑
摘要:一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。 - 特性:deque 特殊之处在于添加和删除项是非限制性的。可以在前面或后面添加新项。同样,可以从任一端移除现有项。在某种意义上,这种混合线性结构提供了单 阅读全文
posted @ 2019-06-10 17:33 small_caier 阅读(214) 评论(0) 推荐(0) 编辑
摘要:烫手山芋游戏介绍:6个孩子围城一个圈,排列顺序孩子们自己指定。第一个孩子手里有一个烫手的山芋,需要在计时器计时1秒后将山芋传递给下一个孩子,依次类推。规则是,在计时器每计时7秒时,手里有山芋的孩子退出游戏。该游戏直到剩下一个孩子时结束,最后剩下的孩子获胜。请使用队列实现该游戏策略,排在第几个位置最终 阅读全文
posted @ 2019-06-10 17:32 small_caier 阅读(303) 评论(0) 推荐(0) 编辑
摘要:一.队列 - 概念:队列是项的有序结合,其中添加新项的一端称为队尾,移除项的一端称为队首。当一个元素从队尾进入队列时,一直向队首移动,直到它成为下一个需要移除的元素为止。最近添加的元素必须在队尾等待。集合中存活时间最长的元素在队首,这种排序成为 FIFO,先进先出,也被成为先到先得。 - 案例:队列 阅读全文
posted @ 2019-06-10 17:26 small_caier 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一.线性数据结构 - 我们从四个简单但重要的概念开始研究数据结构。栈,队列,deques(双向队列), 列表是一类数据的容器,它们数据元素之间的顺序由添加或删除的顺序决定。一旦一个数据元素被添加,它相对于前后元素一直保持该位置不变。诸如此类的数据结构被称为线性数据结构。 - 线性数据结构有两端,有时 阅读全文
posted @ 2019-06-10 17:23 small_caier 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一.列表: - python 的设计者在实现列表数据结构的时候有很多选择。每一个这种选择都可能影响列表操作的性能。为了帮助他们做出正确的选择,他们查看了最常使用列表数据结构的方式,并且优化了实现,以便使得最常见的操作非常快。 - 在列表的操作有一个非常常见的编程任务就是是增加一个列表。我们马上想到的 阅读全文
posted @ 2019-06-10 17:22 small_caier 阅读(157) 评论(0) 推荐(0) 编辑
摘要:一. 什么是算法分析? - 案例引入:刚接触编程的学生经常会将自己编写的程序和别人的程序做比对,获取在比对的过程中会发现双方编写的程序很相似但又各不相同。那么就会出现一个有趣的现象:两组程序都是用来解决同一个问题的,但是两组程序看起来又各不相同,那么哪一组程序更好呢?例如下述代码: 分析: - 哪个 阅读全文
posted @ 2019-06-10 17:20 small_caier 阅读(318) 评论(0) 推荐(0) 编辑