Array

add()

if (back==limit-1)Problem: Queue Full;
else {back++;queue[back]=x;
}

时间复杂度:O(1)

remove()

if(back==-1)Problem: Queue Empty;
else{Element X = queue[0];for (int i=0; i<back; i++)queue[i]=queue[i+1];back--;return X;
}

时间复杂度:O(n)


Cicular

add()

if (length == limit)Problem: Queue Full;
else {back++;if (back == limit) back=0;queue[back]=x;length++;
}

时间复杂度:O(1)

remove()

if (length==0)Problem: Queue Empty;
else {Element x=queue[front];front++;if (front == limit) front=0;length--;return X;
}    

时间复杂度:O(1)


Link List

add()

QueueCell tmp = new QueueCell(x,null);
back.next=tmp;
back=tmp;

时间复杂度:O(1)

remove()

if (front == null)Problem: Queue Empty;
else{Element x= front.data;front = front.next;return x;
}

时间复杂度:O(1)


Priority

add()

伪代码:
from the beginning of the queue
past all elements with higher or the same priority
the insert it

时间复杂度:O(n)

remove()

伪代码:
remove the first item

时间复杂度:

O(1)——Linked List
O(n)——Array

ADT:Queues相关推荐

  1. 面试官:RabbitMQ本身不支持延迟队列,那你给我实现一个?

    以下文章来源方志朋的博客,回复"666"获面试宝典 RabbitMQ本身没有延迟队列的支持,但是基于其本身的一些特性,可以做到类似延迟队列的效果:基于死信交换器+TTL. 以下介绍 ...

  2. android ADT学习总结

    android中ADT和SDK的关系 ADT(Android Development Tools): 目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT ...

  3. Android(一)——Eclipse+ADT 和 Android Studio 开发环境搭建及介绍

    文章目录 1. 前言介绍 1.1 JDK安装与配置 1.2 IDE开发APP流程 1.3 相关术语的解析 1.4 ADB相关指令 1.5 APP程序打包与安装流程 2. 开发环境搭建 2.1 Ecli ...

  4. adt eclipse java1.8,android java开发 第一天 之熟习eclipse adt

    android java开发 第一天 之熟悉eclipse adt ADT:eclipse中的开发android软件的插件(android development tools)功能:管理android ...

  5. Android NDK开发一:配置环境

    一.Windows: Windows下的开发环境需要安装以下软件: Java JDK Apache ANT Build System Android SDK Cygwin Android NDK Ec ...

  6. Android初探:LINUX(Ubuntu)下安装开发环境

    第一步: 安装Ubuntu, 我现在装的是12.04LTS,12.04LTS 将得到长达5年的更新支持,而新出来的12.10则只有两年的更新支持,并且Google Android开发/源码网站上也将1 ...

  7. python实现队列_用Python实现的数据结构与算法:队列

    一.概述 队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操作在队首(front)进行. 二.ADT 队列ADT(抽象数据类型)一般提供以下接口: Qu ...

  8. andriod开发中的几个基本概念及关系SDK ADT Platform API

    1.Platform:系统固件 2. SDK:软件开发包 3. ADT:Android 开发工具,图形化配合SDK,结合Eclipse,可以没有ADT,但必须有SDK.ADT版本和Platform没有 ...

  9. 消息队列(MQ):ZeroMQ 中间件设计【译文】

    ØMQ是一种消息传递系统,或者乐意的话可以称它为"面向消息的中间件".它在金融服务,游戏开发,嵌入式系统,学术研究和航空航天等多种环境中被使用. 消息传递系统基本上像应用程序的即时 ...

最新文章

  1. 缓存一致性和跨服务器查询的数据异构解决方案canal
  2. 未解决ora-01034、ora-03113、oracle使用RMAN删除归档日志
  3. 《剑指offer》用两个栈实现队列
  4. java 人物属性
  5. G - 娜娜梦游仙境系列——梦醒
  6. Vue---淘宝镜像cnpm---安装vue-cli
  7. 即这样的WZSZF01代码是错误的
  8. python动态添加类方法_Python 动态添加类方法
  9. 高职计算机及应用课程设置,高职计算机课程优化及整合
  10. svm分类器_用人话讲明白支持向量机SVM(上)
  11. 破解lockdir的加密文件
  12. Lingoes灵格斯翻译家添加法语发音
  13. java7 3dm下载_我的世界 1.7.10最新forge极简整合包
  14. C++访问控制 public、privates和protected说明符
  15. 中国睫毛生长液行业市场供需与战略研究报告
  16. Word文档段落的前后间距单位磅改为行,行改为磅方法演示
  17. 用nodejs爬数据
  18. Python爬虫实践-网易云音乐
  19. 【python】终于解决了cv2.VideoWriter生成视频后视频文件始终为1KB且无法播放的问题
  20. 如果把一张大图分开matlab,如何把一张大图分开在几张A4纸上打印出来

热门文章

  1. tab吸顶功能实现,css实现沾性吸顶,sticky实现吸顶,解决sticky吸顶失效
  2. 纵观Android Adapter适配器。比较三种常用Adapter(SimpleAdapter,ArrayAdapter,BaseAdapter)。
  3. html怎么给段落设置背景色,css的(文字、背景、段落)样式
  4. 局域网内,如何使用命令行关闭别人的电脑
  5. TM1637带秒点四位LED显示器模块ARDUINO驱动程序
  6. 浅谈“phpinfo()信息泄漏”
  7. PT2262 单片机解码程序
  8. ENVI中出现tif文件无法直接打开
  9. UG/NX二次开发入门手册
  10. 五脚18.8数码管显示