上一页 1 2 3 4 5 6 7 8 9 10 ··· 61 下一页
摘要: 关于上一节中我们对添加操作的时间复杂度归结为O(n)是考虑了扩容操作(resize)在内的。就addLast(e)操作而言,时间复杂度为O(1),在考虑最坏情况下,每次添加均会触发扩容操作,需要移动n个元素,因此此时addLast操作的时间复杂度为O(n)。 (1)addLast(e)均摊时间复杂度 阅读全文
posted @ 2019-03-29 11:07 WFaceBoss 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 完成了数组的封装之后我们还需对其进行复杂度分析: 此处的复杂度分析主要是指时间复杂度分析,算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。 1.简单概念 在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不 阅读全文
posted @ 2019-03-29 10:25 WFaceBoss 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 前言:在此之前,我们封装的数组属于静态数组,也即数组空间固定长度,对于固定长度的数组当元素超过容量时会报数组空间不足。为了能更好的使用数组,我们来实现一个可以自动扩充容量的数组。 实现思路: 1.当数组容量达到事先定义值时创建一个空间是data数组两倍的newData数组(扩容); 2.把data数 阅读全文
posted @ 2019-03-28 17:59 WFaceBoss 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 前言:通过上一节我们对我们需要封装的数组,进行了基本的增删改查的封装,但只局限于int类型的操作,为了能提供多种类型数组的操作,我们可以将其进一步封装为泛型数组。 1.定义泛型数组相关概念 (1)泛型数组让我们可以存放任何数据类型 (2)存放的类型不可以是基本数据类型,只能是类对象 基本类型: (3 阅读全文
posted @ 2019-03-28 12:21 WFaceBoss 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 前言:在上一小节中我们已经会了如何获取和如何修改数组中的元素,在本小节中我们将继续学习如何判断某个元素是否在数组中存在、查询出某个元素在数组中的位置、以及删除数组中元素等方法的编写。 1.查找数组中是否包含元素e,返回true或false 有时候在查询过程中,我们不仅想知道是否包含该指定元素,还想是 阅读全文
posted @ 2019-03-27 13:07 WFaceBoss 阅读(593) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 61 下一页