您的位置:首页 > 理论基础 > 数据结构算法

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

2015-08-21 00:10 537 查看
每天都在敲代码,今天给自己放了一天假,可又突然感到很无聊,于是趁晚上这一点时间,和大家分享一下,我对数据结构的理解
希望大家多多指教
说到数据结构,那首先什么叫做数据结构呢?

数据结构,是计算机中,描述数据之间一种或多种关系的集合。

我们在开发过程上,最常见的数据结构有以下几种:
栈,队列,数组,链表,树,哈希表

接下来,我结合我们工作当中,最常用的集合,给大家分析一下,我个人对数据结构的认识

1.

首先是数组,数组是一个容器,本质是内存中一块连续的内存,在集合中呢,ArrayList的底层就是数组,

这是造成了ArrayList集合在操作数据的时候,查找快,却增删慢。因为增删时有数据的移动,或者是数组的扩容。所以

用数组做拷贝数据时,性能底。

2.

说到这里,我再说一个链表,在List集合中,有一个子类--LinkedList.它的底层是双向链表,通过节点存储元素。节点之间不

连续。同时提供操作头和尾的方法。实现栈和队列的数据结构。它的特点是查找慢,却增删快。这一点,正好和ArrayList集合相反。

3.

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

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

4.

那什么叫做二叉树呢?

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

好今天就说到这里,希望能对大家有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息