当前位置: 首页 > news >正文

哈尔滨网站建设公司哪家好制作简单的网页代码

哈尔滨网站建设公司哪家好,制作简单的网页代码,外贸用什么软件,陕西省档案馆建设网站队列 Queue 队列也是一种线性结构相比数组#xff0c;队列对应的操作是数组的子集只能从一端#xff08;队尾#xff09;添加元素#xff0c;只能从另一端#xff08;队首#xff09;取出元素队列是一种先进先出的数据结构 队列的实现及复杂度分析 QueueE voi…队列 Queue 队列也是一种线性结构相比数组队列对应的操作是数组的子集只能从一端队尾添加元素只能从另一端队首取出元素队列是一种先进先出的数据结构 队列的实现及复杂度分析 QueueE void enqueu(E)E dequeue()E getFront()int getSize()boolean isEmpty() 数组队列的复杂度分析 ArrayQueueE void enqueue(E)     O(1) 均摊E dequeue()            O(n) E getFront()             O(1)int getSize()             O(1)boolean isEmpty()   O(1) 代码实现 public class ArrayQueueE implements QueueE {private ArrayE data;public ArrayQueue(int Capacity){data new Array(Capacity);}public ArrayQueue(){this(10);}Overridepublic int getSize(){return data.getSize();}public int getCapacity(){return data.getCapacity();}Overridepublic boolean isEmpty(){return data.isEmpty();}Overridepublic void enqueue(E e){data.addLast(e);}Overridepublic E dequeue(){return data.removeFirst();}Overridepublic E getFront(){return data.getFirst();}Overridepublic String toString(){StringBuilder res new StringBuilder();res.append(Queue : front [);for (int i 0; i data.getSize(); i) {res.append(data.get(i));if (i ! data.getSize() - 1)res.append(, );}res.append(] tail);return res.toString();}public static void main(String[] args){ArrayQueueInteger queue new ArrayQueue();for(int i 0 ; i 10 ; i ){queue.enqueue(i);System.out.println(queue);if(i % 3 2){queue.dequeue();System.out.println(queue);}}} } 循环队列的复杂度分析 LoopQueueE void enqueue(E)     O(1) 均摊E dequeue()            O(1) 均摊 E getFront()             O(1)int getSize()             O(1)boolean isEmpty()   O(1)front tail                队列为空 (tail 1) % c front  队列已满 tail不用于存储元素capacity中浪费一个空间  代码实现 public class LoopQueueE implements QueueE {private E[] data;private int front, tail;private int size;public LoopQueue(int capacity){data (E[])new Object[capacity 1];front 0;tail 0;size 0;}public LoopQueue(){this(10);}Overridepublic boolean isEmpty(){return size 0;}public boolean isFull(){return front (tail 1) % data.length;}public int getCapacity(){return data.length - 1;}Overridepublic int getSize(){return size;}Overridepublic void enqueue(E e){if (isFull())resize(getCapacity() * 2 1);data[tail] e;tail (tail 1) % data.length;size;}Overridepublic E dequeue(){if (isEmpty())throw new IllegalArgumentException(Dequeue Failed.Queue is empty.);E ret data[front];data[front] null;front (front 1) % data.length;size--;if (size getCapacity() / 4 getCapacity() / 2 ! 0)resize(getCapacity() / 2 1);return ret;}Overridepublic E getFront(){if (isEmpty())throw new IllegalArgumentException(Queue is empty.);return data[front];}public void resize(int newCapacity){if (newCapacity 0)throw new IllegalArgumentException(newCapacity is Illegal.);E[] newData (E[])new Object[newCapacity];for (int i 0; i size; i)newData[i] data[(i front) % data.length];data newData;front 0;tail size;}Overridepublic String toString(){StringBuilder res new StringBuilder();res.append(String.format(LoopQueue Capacity %d, Size %d\n, getCapacity(), getSize()));res.append(front [);for (int i front; i ! tail; i (i 1) % data.length){res.append(data[i]);if ((i 1) % data.length ! tail)res.append(, );}res.append(] tail);return res.toString();}public static void main(String[] args) {LoopQueueInteger queue new LoopQueue();for (int i 0; i 10; i) {queue.enqueue(i);System.out.println(queue);if (i % 3 2) {queue.dequeue();System.out.println(queue);}}} } 性能比较 测试函数 // 测试使用q运行opCount个enqueueu和dequeue操作所需要的时间单位秒private static double testQueue(QueueInteger q, int opCount){long startTime System.nanoTime();for (int i 0; i opCount; i)q.enqueue(i);for (int i 0; i opCount; i)q.dequeue();long endTime System.nanoTime();return (endTime - startTime) / 1000000000.0;} 测试 public static void main(String[] args){int opCount 100000;ArrayQueueInteger arrayQueue new ArrayQueue();double timeArray testQueue(arrayQueue, opCount);System.out.println(ArrayQueue time : timeArray s);LoopQueueInteger loopQueue new LoopQueue();double timeQueue testQueue(loopQueue, opCount);System.out.println(LoopQueue time : timeQueue s);} 运行结果 在10^5数量级上我的这台电脑上所展现性能差异还是很明显的由于数组队列的出队操作是 O(n) 级别消耗了大量的时间。
http://www.pierceye.com/news/730319/

相关文章:

  • 成品图片的网站在哪里找wordpress开启防盗链
  • 伊滨区网站建设网站建设经理
  • 权威的郑州网站建设域名租用平台
  • 造价工程师网网站点击排名优化
  • 网站关键词搜索海口网站建设优化公司
  • WordPress建影视站免费的素材网站有哪些
  • 屯留做网站哪里好阿里云服务器618
  • 网站怎么做登录模块免费的编程软件下载
  • 网站建设与管理的策划书网站建设五合一
  • 网站建设管理分工公司招聘网站有哪些
  • 分类信息网站手机版上海网站关键词优化方法
  • 建设个人网站的参考网站及文献怎么做水果网站
  • 台山住房和城乡建设 网站有赞分销
  • 网站备案 历史wordpress货币插件
  • 如何做自助搜券网站佛山顺德专业做网站
  • 义乌网站制作多少钱工会网站建设
  • 六安高端网站建设公司开网店的流程步骤
  • 网站被墙301怎么做展馆展厅设计效果图
  • 唐山市城市建设规划局网站大兴做网站公司
  • 陕西做网站的公司地址克拉玛依市住房和建设局网站
  • 做电影网站 广告收入怎么知道网站被k
  • 开发企业网站费用深圳宝安seo
  • 算命公司网站建设制作开发方案教育培训机构招生网站建设
  • 织梦做网站被告全椒网站建设
  • 安卓网站开发平台互联网工具型网站
  • 如何建设国外的网站联盟营销网站有哪些
  • 微信怎么创建微信公众号seo应该如何做
  • 北京php网站制作网站群建设思路
  • 企业建设网站的必要性小程序平台介绍怎么写
  • 网站界面设计应该遵循的原则贵州省住房和城乡建设厅网站报名网