Python - 栈与队列及双端队列
栈
特性: 先进后出的数据结构
应用场景: 浏览器的回退按钮
-
Stack() - 创建一个空的新栈.它不需要参数,并返回一个空栈.
-
push(item) - 将一个新项添加到栈的顶部.他需要item 做参数并不返回任何内容
-
pop() - 从栈中删除顶部项.它不需要参数并返回item.栈被修改
-
isEmpty() - 测试栈是否为空. 不需要参数,并返回布尔值
-
size() - 返回栈中的item数量.不需要参数,并返回一个整数
队列
特性: 先进先出
应用场景: 我们的计算机实验室有30台电脑与一台打印机联网.当学生想要打印时,他们的打印机任务与正在 等待的所有其他打印机任务"一致",第一台进出任务的是先完成.如果你是最后一个.你必须等待你前面的所有其他任务打印
-
Queue() - 创建一个空的新队列,它不需要参数,并返回一个空队列
-
enqueue(item) - 将新项添加到队尾,他需要item作为参数,并不返回任何内容.
-
dequeue() - 从队首移除项,他需要参数并返回item,队列被修改
-
isEmpty() - 查兰队列是否为空,它不需要参数,并返回布尔值.
-
size() - 返回队列中的项数,它不需要参数,并返回一个整数,
对列的面试题
双端队列
特性: 同列相比,有两个头部和尾部,可以在双端进行数据的插入和删除,提供了单数据结构中栈和队列的特性
双端队列的应用案列: 回文检查
-回文是一个字符串,读取首尾相同的字符,例如,radar toot madam,
-
Deque() - 创建一个空的新 deque 它不需要参数,并返回空的deque
-
addFront(item) - 将一个新项添加到deque的首部,他需要item参数 并不返回任何内容
-
addRear(item) - 将一个新项添加到deque的尾部,他需要item参数 并不返回任何内容
-
removeFront() - 从deque 删除首项,它不需要参数并返回item.deque被修改
-
removeRear() - 从deque 删除尾部 ,它不需要参数并返回item,deque被修改
-
isEmpty() 测试deque 是否为空,它不需要参数,并返回布尔值
-
size() - 返回deque 中的项数 ,它不需要参数,并返回一个整数