递归、数据结构中的队列(python笔记)

递归

通俗理解1:一个洋葱是带着一层洋葱皮的洋葱。
通俗理解2:当学习一个新知识点时,发现需要弄清另一个知识点,于是不断的去查询另一个知识点,最终从基础知识点盘到需要学习的知识点。可以理解成俄罗斯套娃。
代码理解:函数内部调用函数自身的函数。python示例:

"""递归"""
#  定义函数recursio,
def recursio2zero(n):
    """入传递进函数的参数值不断进行地板除(取整除),直到整除为0,函数结束"""
    v = n // 2
    print(v)
    if v == 0:
        return
    v = recursio2zero(v)


recursio2zero(20)

返回结果:

D:\python_pycharm\venv\Scripts\python.exe C:/Users/Administrator/Desktop/django-project/mysite/keithyang/test.py
10
5
2
1
0

队列

一种数据结构线性表。
D}%64HJ4)VSI($OMT~_QTG6.png

线性表通俗理解:一种存储结构。将具有“一对一”关系的数据“线性”地存储到空闲的物理空间中。

队列通俗理解:排队。如演唱会入口排队检票规定队伍总长为10人,前面的人进去一个,后面才能补上一个。

代码理解:线性表中允许插入的一端称为队尾,允许删除的一端称为队头。适用于多线程编程。

python中有四种队列方法:先进先出,后进后出。

示例:

python
"""先进先出队列"""
import queue
# print('aa')
# python中引入内置库queue导入队列
# 创建队列对象q
# maxsize该队列数据上限,超过将将阻塞代码。直到数据被消费掉,0为不限制
q = queue.Queue(maxsize=6)
q.put([1,2])
#写入队列数据
for i in  range(5):

    q.put(i)


#输出当前队列所有数据
print(q.queue)
#删除队列数据,并返回该数据
q.get()
#打印所有队列数据
print(q.queue)
#删除队列数据,并返回该数据
q.get()
#打印所有队列数据
print(q.queue)

控制台输出:

deque([[1, 2], 0, 1, 2, 3, 4])
deque([0, 1, 2, 3, 4])
deque([1, 2, 3, 4])

你可能感兴趣的:(递归、数据结构中的队列(python笔记))