码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构系列(一)入门

时间:2017-05-26 19:44:08      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:net   元素   循环链表   逻辑   二叉树   数据结构和算法   value   存储   not   

内容参考《大话数据结构》

什么是数据结构

数据结构是数据元素之间存在的一种或多种关系的集合

 

逻辑结构

1.集合结构

集合内各数据元素平等,只是属于一个集合
技术分享
集合中的数据元素都是无序的
集合中的数据元素只能出现一次{1,2,3},而不是{1,2,1}
例如java中的set,python没有value的dictionary
 

2.线性结构

元素是一对一的关系
技术分享
线性结构一般分为顺序和链式
 
顺序一般有数组,队列,栈,串等结构
例如java的arraylist
链式一般有单链表、双向链表、循环链表
例如java的linkedlist
 
单向链表
技术分享
循环链表
技术分享
双向链表
技术分享
 
技术分享
 

3.树结构

元素存在一对多的层次关系
技术分享
例如 二叉树,btree,红黑树, lsm tree等
 

4.图结构

元素存在多对多的关系
技术分享
例如 有向无环图,无向图,连通图等
 

物理结构

物理存储结构反应数据元素之间的逻辑关系

顺序存储

简单来说就是分配一段连续的存储空间,把数据有序的存下来
技术分享
典型例子就是数组,当数组长度确认后,就会分配一段连续的存储空间,数据一一对应的存储

链式存储

把数据存储在任意位置,用指针存储这个地址,之后要寻找这个数据就通过指针
技术分享
典型例子就是链表,链表中数据的前后对应关系都是通过指针来确认,其在物理存储中的地址不是连续的
 

参考资料

//对线性数据结构的解释
//一个能形象演示数据结构和算法的网站

数据结构系列(一)入门

标签:net   元素   循环链表   逻辑   二叉树   数据结构和算法   value   存储   not   

原文地址:http://www.cnblogs.com/ulysses-you/p/6910068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!