数据结构
文章平均质量分 76
笔记
.Deborah
这个作者很懒,什么都没留下…
展开
-
ArrayList LinkedList Vector比较
ArrayList LinkedList Vector比较ArrayList :数组,按照索引下标访问速度快O(1),但是当删除、添加元素时会导致元素的移动,速度慢O(n)不同步,线程不安全,但是并发高,访问效率高LinkedList :双向链表,按照索引下标访问速度慢O(n),但是删除添加元素速度快O(1)不同步,线程不安全,但是并发高,访问效率高Vector数组,按照索引下标访问速度快O(1),但是当删除添加元素时会导致元素的移动,速度慢O(n)同步,所以线程安全,但是并发原创 2021-03-11 20:38:16 · 145 阅读 · 2 评论 -
线性表 链表与Collection接口
最近学习了关于链表、线性表以及Collection接口中的Set接口和List接口,本文为关于这些知识 的笔记线性表 链表与Collection接口链表存储区间离散(数据不是连续存放的),占用内存比较宽松,故空间复杂度很小,但操作元素的时间复杂度很大,达O(N)。链表的特点是:链表动态分配内存 链表在内存中是不连续的链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的插入或删除不需要移动其他元素,时间复杂度是O(1)。链表通过遍历定位元原创 2021-03-10 19:11:20 · 102 阅读 · 0 评论 -
线性表 链表与Collection接口
线性表 链表与Collection接口1、线性表(数组)存储区间是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找(前提是必须有序)时间复杂度小,为O(1);数组的特点是:寻址容易(arr[n]=arr[0]+n*每个元素的长度,时间复杂度为O(1))插入和删除困难(可能会引发一半以上的数据元素移动,时间复杂度为O(n));Java中的数组是定长的,如果需要变长则需要自行编程实现2、链表存储区间离散(数据不是连续存放的),占用内存比较宽松,故空间复杂度很小,但操作元素的时间复杂度原创 2021-03-10 19:02:22 · 88 阅读 · 0 评论 -
线性表 链表与Collection接口
线性表 链表与Collection接口1、线性表(数组)存储区间是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找(前提是必须有序)时间复杂度小,为O(1);数组的特点是:寻址容易(arr[n]=arr[0]+n*每个元素的长度,时间复杂度为O(1))插入和删除困难(可能会引发一半以上的数据元素移动,时间复杂度为O(n));Java中的数组是定长的,如果需要变长则需要自行编程实现2、链表存储区间离散(数据不是连续存放的),占用内存比较宽松,故空间复杂度很小,但操作元素的时间复杂度原创 2021-03-10 18:57:15 · 66 阅读 · 0 评论