【数据结构】实现顺序表以及简单的时间复杂度分析

本文通过Java实现顺序表(动态数组),详细介绍了包括添加、删除、修改、查找等操作的时间复杂度分析。重点讨论了均摊时间复杂度和如何避免复杂度震荡,提出在size达到capacity/4时才进行缩容的解决方案。
摘要由CSDN通过智能技术生成

最近在学数据结构,接下来一段时间我将用java来实现所学的各种数据结构,以加深自己的印象。

线性表包括顺序表和链表,其实顺序表就是动态数组,下面我将二次封装实现属于自己的动态数组。


数组类:Array

数组名:data

数组容量:capacity

已存放元素个数:size

方法:

①获取数组中元素个数(getSize

②获取数组容量(getCapacity

③返回数组是否为空(isEmpty

④向数组末尾添加元素(addLast

⑤向指定索引位置添加元素(add

⑥向所有元素前添加一个新元素(addFirst

⑦得到指定索引位置的元素(get

⑧修改指定索引位置的元素(set

⑨查找数组中是否有指定元素(contains

⑩查找数组中指定元素的索引(find

⑪删除指定索引位置的元素(remove

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mushroom-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值