本人对数据结构的理解,希望对大家有所帮助

每天都在敲代码,今天给自己放了一天假,可又突然感到很无聊,于是趁晚上这一点时间,和大家分享一下,我对数据结构的理解
希望大家多多指教
说到数据结构,那首先什么叫做数据结构呢?
数据结构,是计算机中,描述数据之间一种或多种关系的集合。
我们在开发过程上,最常见的数据结构有以下几种:
栈,队列,数组,链表,树,哈希表
接下来,我结合我们工作当中,最常用的集合,给大家分析一下,我个人对数据结构的认识

1.


首先是数组,数组是一个容器,本质是内存中一块连续的内存,在集合中呢,ArrayList的底层就是数组,
这是造成了ArrayList集合在操作数据的时候,查找快,却增删慢。因为增删时有数据的移动,或者是数组的扩容。所以
用数组做拷贝数据时,性能底。

2.


说到这里,我再说一个链表,在List集合中,有一个子类--LinkedList.它的底层是双向链表,通过节点存储元素。节点之间不
连续。同时提供操作头和尾的方法。实现栈和队列的数据结构。它的特点是查找慢,却增删快。这一点,正好和ArrayList集合相反。

3.


说到哈希表呢,我就就要提到Set集合。其中其子类HashSet的底层就是哈希表。哈希表综合了链表和数组和好外。

但此处要提的是SET集合存储时,(1)元素无序,(2)元素不能重复,(3),元素无角标。这一点和List集合真好 相反。

4.


那什么叫做二叉树呢?

二叉对,又叫做红黑树。此时,它一个节点下,最多有两个节点,左小右大的规则。TreeSet集合底层正是用的此数据结构


好今天就说到这里,希望能对大家有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值