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

中国风网站欣赏旅游网站开发实现开题报告

中国风网站欣赏,旅游网站开发实现开题报告,wordpress wp_get_post_tags,找人 做网站 一般注意一、前言 之前我们已经学习了链表的所有操作及其时间复杂度分析#xff0c;我们可以了解到对于链表头的相关操作基本都是O(1)的#xff0c;例如链表头增加、删除元素#xff0c;查询元素等等。那我们其实有一个数据结构其实可以完美利用到这些操作的特点#xff0c;都是在…一、前言 之前我们已经学习了链表的所有操作及其时间复杂度分析我们可以了解到对于链表头的相关操作基本都是O(1)的例如链表头增加、删除元素查询元素等等。那我们其实有一个数据结构其实可以完美利用到这些操作的特点都是在某一段进行操作那就是栈。本章我们通过链表去实现栈。并且比较用数组实现和用链表实现他们之间的差异。 二、用链表实现栈 2.1、代码实现 那么通过链表实现栈就很简单了我们知道入栈和出栈都是从链表的同一端进行操作那么我们只需调用链表的addFirst/removeFirst的方法即可查找同理。 首先我们将链表栈命名为LinkedListStack,并且实现我们Stack的抽象类然后设置一个内部属性为我们之前实现的链表通过该链表完成实现需要重写的方法即可代码如下 public class LinkedListStackT implements StackT {private LinkedListT linkedList;public LinkedListStack() {this.linkedList new LinkedList();}Overridepublic int getSize() {return linkedList.getSize();}Overridepublic boolean isEmpty() {return linkedList.isEmpty();}Overridepublic void push(T t) {linkedList.addFirst(t);}Overridepublic T pop() {return linkedList.removeFirst();}Overridepublic T peek() {return linkedList.getFirst();}Overridepublic String toString() {StringBuilder stringBuilder new StringBuilder();stringBuilder.append(Stack: top );stringBuilder.append(linkedList);return stringBuilder.toString();} } 测试一下 public static void main(String[] args) {LinkedListStackInteger integerArrayStack new LinkedListStack();for (int i 0; i 5; i) {integerArrayStack.push(i);System.out.println(integerArrayStack);}integerArrayStack.pop();System.out.println(integerArrayStack);}结果没有问题通过链表实现栈就这样简单的实现了。 2.2、和数组栈比较性能 这个代码和之前数组队列和循环队列效率的对比很接近 public class TestStackCompare {private static double testQueue(StackInteger s, int opCount){long startTime System.currentTimeMillis();Random random new Random();for (int i 0; i opCount; i) {s.push(random.nextInt(Integer.MAX_VALUE));}for (int i 0; i opCount; i) {s.pop();}long endTime System.currentTimeMillis();return (endTime - startTime)/1000.0;}public static void main(String[] args) {ArrayStackInteger integerArrayStack new ArrayStack();LinkedListStackInteger integerLinkedListStack new LinkedListStack();System.out.println(arrayStack,time:testQueue(integerArrayStack,1000000)s);System.out.println(linkedListStack,time:testQueue(integerLinkedListStack,1000000)s);} }那么我们运行下发现两者效率近乎一致 当然也有可能得到的结果是有差距的对于arrayStack来说时不时就需要扩容这个对于某些操作系统来说比较耗费时间而对于linkedListStack来说它每次new Node就需要不断的开辟空间这个操作又对于某些操作系统来说更耗费时间而且这两者的差距会随着操作次数的增多不断拉大因为扩容并不是每次扩容而new Node确实是需要每次都new一个例如我将操作次数放大为10000000次这个时候两者的时间差距就比较大了 所以仍然取决于你测试使用的操作系统配置jvm版本等等。但是其实我想强调的是对于数组栈和链表栈来说他们的各项操作的时间复杂度其实是一致的。他们之间没有复杂度之间的巨大差异。不像数组队列和循环队列一个6s,一个0.01s,这之间的差距是非常大的。
http://www.hkea.cn/news/14426292/

相关文章:

  • 网站建设公司的方案led外贸网站建设
  • 怎样黑公司的网站wordpress支付宝个人
  • 网上做预算有哪些网站网络推广都有哪些渠道
  • 网站模板 安装asp.net新建网站
  • 电子网站大全宿迁做网站公司
  • asp网站免费空间外贸流程中涉及的重要单证
  • 礼盒包装设计网站做服务器的网站都有哪些功能
  • 意大利做包招工的网站邯郸网站优化怎么用
  • 在vs做的项目怎么连接到网站软装设计公司名称
  • 网站注册便宜重庆网站建设哪个平台好
  • 台州网站推广优化手机网站建设 移商动力
  • 做网站需要跟客户了解什么软件中国五大门户网站
  • 心雨在线高端网站建设专业如何做好网络销售技巧
  • wordpress 移动站工作心得
  • 大连网站开发建wordpress 侧边悬浮块
  • 自己做的网站出现500错误怎么解决自学app软件开发
  • 软件生成器福州搜索引擎优化公司
  • 北京公司网站建设价格乐清市重大新闻
  • win7 iis网站无法显示该页面百度是网站吗
  • 网站建设合同书-详细版广东省建设厅官方网站网址
  • 接口网站建设ps怎么做网站首页
  • 兰州电商网站建设网站做seo收录
  • 郎创网站建设80s网站建设工作室
  • 公司如何建站专业网站设计 软件
  • 社保网站是每月1-6号都是在建设中的吗易申建设网站
  • 如何建一个视频网站河南省电力工程建设企业协会网站
  • 会声会影免费模板网站linchong.wordpress
  • 做网站的功能是什么安徽网站设计方案
  • 莆田网站关键词优化福州搜索优化技术
  • 网站做多长时间才有流量软件外包公司是干什么的