本人对数据结构的理解,希望对大家有所帮助
2015-08-21 00:10
537 查看
每天都在敲代码,今天给自己放了一天假,可又突然感到很无聊,于是趁晚上这一点时间,和大家分享一下,我对数据结构的理解
希望大家多多指教
说到数据结构,那首先什么叫做数据结构呢?
数据结构,是计算机中,描述数据之间一种或多种关系的集合。
我们在开发过程上,最常见的数据结构有以下几种:
栈,队列,数组,链表,树,哈希表
接下来,我结合我们工作当中,最常用的集合,给大家分析一下,我个人对数据结构的认识
1.
首先是数组,数组是一个容器,本质是内存中一块连续的内存,在集合中呢,ArrayList的底层就是数组,
这是造成了ArrayList集合在操作数据的时候,查找快,却增删慢。因为增删时有数据的移动,或者是数组的扩容。所以
用数组做拷贝数据时,性能底。
2.
说到这里,我再说一个链表,在List集合中,有一个子类--LinkedList.它的底层是双向链表,通过节点存储元素。节点之间不
连续。同时提供操作头和尾的方法。实现栈和队列的数据结构。它的特点是查找慢,却增删快。这一点,正好和ArrayList集合相反。
3.
说到哈希表呢,我就就要提到Set集合。其中其子类HashSet的底层就是哈希表。哈希表综合了链表和数组和好外。
但此处要提的是SET集合存储时,(1)元素无序,(2)元素不能重复,(3),元素无角标。这一点和List集合真好 相反。
4.
那什么叫做二叉树呢?
二叉对,又叫做红黑树。此时,它一个节点下,最多有两个节点,左小右大的规则。TreeSet集合底层正是用的此数据结构
好今天就说到这里,希望能对大家有所帮助。
希望大家多多指教
说到数据结构,那首先什么叫做数据结构呢?
数据结构,是计算机中,描述数据之间一种或多种关系的集合。
我们在开发过程上,最常见的数据结构有以下几种:
栈,队列,数组,链表,树,哈希表
接下来,我结合我们工作当中,最常用的集合,给大家分析一下,我个人对数据结构的认识
1.
首先是数组,数组是一个容器,本质是内存中一块连续的内存,在集合中呢,ArrayList的底层就是数组,
这是造成了ArrayList集合在操作数据的时候,查找快,却增删慢。因为增删时有数据的移动,或者是数组的扩容。所以
用数组做拷贝数据时,性能底。
2.
说到这里,我再说一个链表,在List集合中,有一个子类--LinkedList.它的底层是双向链表,通过节点存储元素。节点之间不
连续。同时提供操作头和尾的方法。实现栈和队列的数据结构。它的特点是查找慢,却增删快。这一点,正好和ArrayList集合相反。
3.
说到哈希表呢,我就就要提到Set集合。其中其子类HashSet的底层就是哈希表。哈希表综合了链表和数组和好外。
但此处要提的是SET集合存储时,(1)元素无序,(2)元素不能重复,(3),元素无角标。这一点和List集合真好 相反。
4.
那什么叫做二叉树呢?
二叉对,又叫做红黑树。此时,它一个节点下,最多有两个节点,左小右大的规则。TreeSet集合底层正是用的此数据结构
好今天就说到这里,希望能对大家有所帮助。
相关文章推荐
- 我是运营,我没有假期
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- 修复mysql数据库
- Lua教程(七):数据结构详解
- SQLServer 数据导入导出的几种方法小结
- MySQL数据备份之mysqldump的使用详解
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#数据结构揭秘一
- C#实现窗体间传递数据实例
- VBS ArrayList Class vbs中的数组类
- 给你的数据库文件减肥
- Oracle数据更改后出错的解决方法
- C#将Sql数据保存到Excel文件中的方法
- 数据结构之Treap详解
- 把excel表格里的数据导入sql数据库的两种方法
- 用文本作数据处理
- 桌面中心(一)创建数据库
- 桌面中心(四)数据显示