测试开发面试题:使用python编写数据结构队列

兜兜里的糖糖

共 17791字,需浏览 36分钟

 ·

2023-05-28 20:37


ad95a06718b5d69f6a64b9cb3e4bac6a.webp

10a1640e1be43af251612adefc177009.webp


题目描述:

使用python模拟实现数据结构:队列

注意:要想实现必须了解一下队列的特点,如下:

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。


        队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。 


3a415686995f19793208ac052d46c23c.webp



10a1640e1be43af251612adefc177009.webp


代码实例1:

                      
                        
                          class Queue:
                        
                      
                      
                            # 初始函数
                      
                      
                            def __init__(self):
                      
                      
                                self.items = []
                      
                      
                            # 入队,在列表末尾(队尾)添加元素
                      
                      
                            def enqueue(self,item):
                      
                      
                                self.items.append(item)
                      
                      
                            # 出队,在列表开头(队头)删除元素
                      
                      
                            def dequeue(self):
                      
                      
                                self.items.pop(0)
                      
                      
                            # 返回队长
                      
                      
                            def size(self):
                      
                      
                                return len(self.items)
                      
                      
                            # 判断是否队空
                      
                      
                            def isempty(self):
                      
                      
                                return self.items == []
                      
                    


代码讲解:

这段代码实现了一个基本的队列数据结构。下面是对各个方法的解释:


__init__(self):这是队列的初始化函数,定义了一个空列表items,用于存储队列中的元素。


enqueue(self, item):这个方法用于将元素添加到队列的末尾,即入队操作。它使用列表的append()方法来实现。


dequeue(self):这个方法用于从队列中删除第一个元素,即出队操作。它使用列表的pop(0)方法来实现。


size(self):这个方法返回队列中元素的数量,即队列的长度。


isempty(self):这个方法用于判断队列是否为空,即队列中是否有元素。它检查列表items是否为空。


这个队列实现的一个潜在问题是,dequeue方法只是删除了队列中的第一个元素,但是并没有将该元素返回。如果需要返回被删除的元素,可以将该元素保存到一个变量中并在dequeue方法中返回。另外,这个队列实现并没有进行容量控制,因此队列可能会无限增长,需要注意这个问题。

























d072316d2f929c3afe9f8dea8e267119.webp



↓ 官方推荐关注 ↓

功能测试为什么要尽早转型测试开发?


         只会功能测试,找工作会越来越难,即使找到了工作,可能依旧是手工测试,工资不高,还非常辛苦!并且如果只会功能测试工作到一定年限后(通常是 35 岁以后),甚至将面临无工作可找的境地,将被行业淘汰,难道我们到了35就自甘转行吗?所有的路都要提前想到才能在未来发生困难之时不至于被动落魄的被淘汰。


        其次,从企业招聘来讲,现在几乎所有企业招聘测试,都要求具备一定的代码能力、自动化测试的能力、性能测试的能力,如果你不会写代码,不会自动化,不会性能测试,不会搭建CICD持续交付能力,那你基本就丧失了找到好工作的机会;基本上三线以上的互联网公司都已经把编程和自动化作为必要的技能。所以转型测试开发/自动化与否我觉得你一定有了自己的答案,35岁的功能测试和35岁的测试开发,哪个更有竞争力?结果一目了然。


还有一个原因是35岁的工程师并没有匹配35岁应该具有的技术,而依然是一个纯点点点,这样的人要的工资高,但是不会啥技术,比他工资低的人都能干他干的活,所以不是35岁就要淘汰,而是要淘汰35岁没有任何技术的人!









点击标题可跳转

橙好测试开发喜报

1.  一个月薪8K的北漂小姑娘,逆袭之路!

2.  能测试都在降薪找工作,而她却能继续大幅涨薪,究竟为什么?

3.  一个专科小姐姐8k薪水,学完涨薪多少?就像做梦

4.  5.18日收到3个offer,提升前12K,你猜提升后offer多少K?

5.  为什么那么多公司愿意高薪招聘自动化测试开发?读完我对自己的职业规划产生了质疑

6.  你没看错,这应是你最后翻身的机会了,北漂不易,虽不能出人头地,但也不能坐以待毙!

7.  还没学完的时候跳槽了,结果专科拿了这个薪水,老师都佩服了

8.  因为生娃在家待业一年半的宝妈,如何实现逆袭?王者归来涨薪9k

9.  我让一个大学刚毕业两年的,96年的小姑娘拿到了月薪:17000 年薪:23w

10.  深圳小姑娘,功能测试转型测试开发后,薪水突破20K?

11.  测试开发喜报,又一名同学收获高薪offer,你猜这次提升多少

12.  薪水榜又一次被打破,你猜未毕业学员拿到大厂多少K的offer

14.  96年的小伙子,刚26岁,自考专科,工作3年打破就业记录,告诉你什么是我命由我不由天

15.  提升前12k的功能测试,担心学不会,最后让他知道挑战自己的幸福滋味

16.  测试开发喜报,这次绝对的逆袭,功能测试8k能提升多少呢?

17.  测试开发喜报,来自一名橙好测开学员的真实反馈,有请他闪亮登场。

18.  测开跳槽的喜报,一如既往,看看今天的主角是谁

19.  现在就业环境如此差,但是这位97年小姑娘依然薪资翻倍,不信自己看

20.  一个在其他机构培训完找不到工作的同学,我让他第一份测试工作16K

21.  我的得意门生,一次虾皮面试经历,虽败犹荣

22.  又是一个20k,说实话这是你见过的第几个,来看看这位主角到底是谁

23.  93年小伙逆境中披荆斩棘,转型测开,从年薪15w,一下晋升年薪30w

24.  测试开发喜报,又是一个逆风翻盘的主儿,月薪翻倍还多3k,亮个相吧小宝贝儿

25.专科!专科!又是专科!原来10k,现在多少?

26. 专科小伙伴,周末班还没学完被裁,进入脱产班,涨薪5000

27. 98年小姑娘字节外包被裁,脱产两个月转型自动化测试开发涨薪5000元

28. 非统招本科面试一周收获21koffer+3k股票,只要你想,一样能转型测开

29. 功能测试降薪都找不到工作的情况下,他一个民本依然实现了涨薪

30. 功能测试都在降薪找工作,而她却能继续大幅涨薪,究竟为什么?

31. 妹子用亲身经历告诉你,民本到底能不能转测开

32. 月薪一次性涨了11k,年薪直接翻倍还要多,或许你认识她哦

33. 93年小伙逆境中披荆斩棘,转型测开,从年薪15w,一下晋升年薪30w

34. 20K!!!就这行情?还能面到20K,慕了慕了,猜猜认不认识这位大妹子

35. 测开跳槽的喜报,一如既往,看看今天的主角是谁

36. 现在就业环境如此差,但是这位97年小姑娘依然薪资翻倍,不信自己看

此处篇幅有限,已省略其他喜报

……


b62a86b4a4e03a06e4d5f5acfe5b4b61.webp


喜欢的话点个在看,点个赞

你的支持是我不断更新的最大动力

要是能够转发就更好了



浏览 43
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报