1-1、表基本概念

表属于线性结构,是最常见的一种数据结构,表有两种,一种是顺序表,还有一种是链表
下面就这两种表结构进行详细介绍

顺序表
顺序表就是数组,是内存中的一块连续区域。
对于数组的常见操作是插入,删除,查找
查找:对于数组的查找是非常迅速的,因为可以直接通过数组下标查找。所以,数组查找的时间复杂度是O(1)。
插入:插入的操作所花费的时间是比较昂贵的,为什么这么说呢?因为在插入一个数据元素到指定位置上时,需要将该位置之上以及以后的所有元素后移。
删除:删除跟插入是类似的,没删除一个元素,都要把该元素以后的元素前移一位。

链表
链表有三种基本形式:
1、单向链表
2、双向链表
3、循环链表
基于这三种形式,又可以衍生出单向循环链表,双向循环链表。
链表的插入,删除,查找具有以下特点
查找:需要从表头沿着表的方向逐个查询下去,时间复杂度为O(n),相对顺序表来说要高。
删除:删除某个元素比较简单,只需让该元素的前驱元素指向该元素的后继元素即可
插入:同删除类似。

在Java中,表结构的具体接口是List,它有两个主要的实现类,代表顺序表的ArrayList和代表链表的LinkedList。下一节中我就ArrayList进行详细介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值