数据结构
2017-10-22 15:04
155 查看
线性表
- #在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。 一组数据中包含的元素个数可能发生变化(可以增加或删除元素) #对于这种需求,最简答的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者 表示数据之间的某种关系。 #这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某元素的一个集合,还记录着元素之间的一种顺序关系。 #线性表是最基本的数据结构之一,在实际程序中应用非常广泛,它还经常被用作更复杂的数据结构的实现基础。 #根据线性表的实际存储方式,分为两种实现模型: - 顺序表 将元素顺序地放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。 - 链表 将元素存放在通过链接构造起来的一系列存储块中。
顺序表
链表
#为什么需要链表 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 #定义 链表是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址) #单向链表 - 单向链表也叫单链表 是链表中最简单的一种形式, 它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点, 而最后一个节点的链接域则指向一个空值。
相关文章推荐
- 数据结构——非循环带头结点单链表的递归方法逆置
- 数据结构第二天
- 【jzoj5060】【GDOI2017第二轮模拟day1】【公路建设】【数据结构】
- Android的NDK开发(4)————JNI数据结构之JNINativeMethod
- linux内核分析--内核中的数据结构之队列(二)
- PHP 程序员学数据结构与算法之《栈》
- linux内核数据结构之kfifo
- 数据结构(六)树
- 数据结构
- Lua数据结构。
- 数据结构:多项式链表的操作
- 数据结构学习笔记五:树和二叉树
- java的键值可以重复的数据结构表示
- 数据结构的理解和应用——红黑树
- zookeeper的数据结构与监听功能
- 数据结构中的一些算法
- 数据结构--平衡二叉树的插入详解
- 一步一步复习数据结构和算法基础-中序线索二叉树
- 89. 使用正确的数据结构与算法
- 数据结构基础【学习笔记】