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 中的项数 ,它不需要参数,并返回一个整数

posted @ 2020-04-10 21:41  赵刚、  阅读(214)  评论(0编辑  收藏  举报