python数据结构
主要是基于python来运行的线性数据结构
度庐
这个作者很懒,什么都没留下…
展开
-
双端队列的实现
双端队列:双端队列与队列类似,其两端可以被称作是队首和队尾,但是它的数据项的添加和删除都可以在两端完成,既可以在队首添加删除,又可以在队尾添加删除,从某种意义上来说,双端队列集成了栈和队列的能力。 class Deque(): def __init__(self): self.items=[] def isEmpty(self): return se...原创 2020-04-14 09:25:51 · 207 阅读 · 0 评论 -
python数据结构(三)
队列:首先他也是一种线性结构,即有次序的数据集合。新数据添加在一端(称为尾),数据的移除发生在另一端(称首)。我们可以想象成排队,它的特点就是先进先出,即所谓的先到先服务。 应用:打印队列,一台打印机面对着很多打印任务的时候,为先排队的任务先服务。 类的实现: ...原创 2020-04-10 18:15:57 · 78 阅读 · 0 评论 -
python数据结构(二)
栈的应用之进制转换:我们在大一的计算机基础甚至高中的课程都已经了解了进制,以及不同进制的转换方法。所谓进制,就是多少进制的几次幂,例如十进制下的233.就是2乘以10的平方加上3乘以十的一次方再加上3乘以10的0次方, 算法:十进制转换为二进制,采用的是除以二求余数的2算法,在除二的过程中,得到的余数是从低到高的次序,而输出是从高到低,所以需要一个站来反转次序 from pythonds.basi...原创 2020-04-09 22:45:06 · 79 阅读 · 0 评论 -
python数据结构(一)
线性结构:线性结构是一种有序数据项的集合,其中每一个数据项都有唯一的前驱和后继(第一个没有前驱,最后一个没有后继),好比我们房子的左右邻居都是唯一的。 线性结构总有两端,不同线性结构的关键区别在于数据项增减的方式,有的结构只允许在一段操作,有的结构允许在两端操作。下面介绍几种基本的线性结构 栈:数据的加入移除只发生在一端的线性结构,这一端叫做栈顶,另一端叫做栈底。一摞盘子就是一个栈,因为添加和取出...原创 2020-04-09 14:44:22 · 101 阅读 · 0 评论 -
变位词问题的python实现
变为词:如果两个单词存在相同字母的不同排列组合则称为变位词,例如erath和heart 目标:写一个布尔函数,以两个词作为参数,返回这两个词是否为变位词 (我们假设这两个词语仅由小写字母组成,且长度相等) 算法一:逐字检查 解法思路:将词1中的字符逐个到词2中检查是否存在,如果存在,做个标记,以防止重复检查。如果每一个字符都能找到,则两个词是变位词,只要有一个字符找不到,就不是变位词` def a...原创 2020-04-07 11:20:17 · 460 阅读 · 0 评论