数据结构

线性表

- #在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。
  一组数据中包含的元素个数可能发生变化(可以增加或删除元素)
  #对于这种需求,最简答的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者
  表示数据之间的某种关系。
  #这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某元素的一个集合,还记录着元素之间的一种顺序关系。
  #线性表是最基本的数据结构之一,在实际程序中应用非常广泛,它还经常被用作更复杂的数据结构的实现基础。

  #根据线性表的实际存储方式,分为两种实现模型:
  	- 顺序表 将元素顺序地放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
  	- 链表 将元素存放在通过链接构造起来的一系列存储块中。

顺序表

 

链表

#为什么需要链表
	顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。
	链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。

#定义
	链表是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)


#单向链表
	- 单向链表也叫单链表 是链表中最简单的一种形式, 它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,
	  而最后一个节点的链接域则指向一个空值。

  

  

posted @ 2017-10-22 15:04  golangav  阅读(311)  评论(0编辑  收藏  举报