常用的数据结构

线性表可以采取两种方法来保存,一种是顺序存储结构,另一种是链式存储结构。顺序存储结构的线性表称为顺序表,而链式存储结构的线性表称为链表。

1:数组(Array)

       数组是一种聚合数据类型,是将具有相同类型的若干变量有序的组织在一起的集合。数组可以说是最基本的数据结构,在各种编程语言中都有对应。一个数组可以分解为多个数组元素,按照数据元素的类型,数组可以分为整形数组、字符型数组、浮点型数组、对象型数组等。数组可以有一维、二维及多维等表现形式。

数组:

  • 数组就是相同数据类型的元素按一定顺序排列的集合。
  • 就是物理上存储在一组联系的地址上。也称为数据结构中的物理结构

线性表:

  • 线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
  • 线性表是数据结构中的逻辑结构可以存储在数组上,也可以存储在链表上。

 线性结构

2:栈(Stack)

       栈是一种特殊的线性表,其只能在一个表的一个固定端进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据的时候,从栈顶开始逐个读出。栈在汇编语言程序中经常用于重要的数据的线程保护。栈中没有数据时,称为空栈。

3:队列(Queue)

       队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作。一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称为队头。队列中没有元素时,称为空队列。

4:链表(Linked List)

      链表是一种数据元素按照链式存储结构进行的数据结构,这种存储结构在物理上具有非连续的特点。链表由一系列数据结点构成,每个数据节点包括数据域和引用域两部分。其中,引用域保存了数据结构中下一个元素存放的地址。链表结构中数据元素的逻辑顺序是通过链表中的引用链接次序来实现的。

 


 非线性结构

5:树(Tree)

       树是典型的非线性结构,其中包括n个结点的有穷集合K。在树的结构中,有且仅有一个根结点,该结点没有前驱结点。在树结构中的其他结点都有且仅有一个前驱结点,而且可以有m个后驱结点,m>=0

6:图(Graph)

      图是另外一种非线性结构。在图的结构中,数据结点一般称为顶点,而边是顶点的有序偶对。如果两个顶点之间存在一条边,那么就表示这两个顶点具有相邻关系。

7:堆(Heap)

       堆是一种特殊的树型数据结构,一般讨论的堆都是二叉树。堆的特点是其根结点的值是所有结点中最小的或者最大的,并且根结点的两个子树也是一个堆结构。

8:散列表(Hash)

       散列表源于散列函数(hash function),其思想是如何在结构中存在关键字和T相等的记录,那么必定在F(T)的存储位置可以找到该记录,这样就可以不用进行比较而直接取得所查记录。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值