首页 > 编程语言 > 详细

数据结构与算法(线性表的链结表表示法)

时间:2020-05-10 21:41:38      阅读:46      评论:0      收藏:0      [点我收藏+]

   对于线性表的链结表表示法的学习总结如下

  1、线性表可以使用固定数组和变动数组来实现;另外,线性表也可使用链结表来表示。

  2、 链结表定义:链结表 (linked list) 就是用「链」连接在一起的多个节点。 节点 (node):包含两个部分数据 (data) 与链 (link)。

    (1)数据:是一个整数 (integer)、有理数 (rational number)、实数 (real number)、字符串 (string)、或学生记录 (student record) 等。

    (2)链的作用就是将两个节点连接在一起。 链是有方向的,从一个节点出发到(指向)另一个节点;也就是说从节点 A 指向节点 B。 如果一个节点的链没有指向另一个节点,则它的链是空的。

    (3)节点可以有一个、两个或多个链。

  3、单链节点可用来设计单链线性表 (single-linked linear list)、栈 (stack)、和队列 (queue)。

         双链节点可用来设计双链线性表 (double-linked linear list)、循环双链线性表 (circular double-linked linear list)、和二叉树 (binary tree)。

         多键节点可用来设计多叉树 (multi-tree) 和图 (graph) 。

  4、单链线性表

技术分享图片

    单链线性表是多个单链节点的数据结构,所有的节点都要连结,不能有断链的节点。 只有一个节点没有链指向它,称为头节点 (head node)、始节点 (starting node)、或第一节点 (first node)。 只有一个节点        它的链是空的,称为尾节点 (tail node)、终结点 (ending node)、或最后节点 (last node)。 如果线性表任意两个互相连结的节点,节点1 指向节点2,且节点1的数据小于或等于节点2 的数据,则线性表是一个        单链有序线性表 (single-linked ordered linear list)。

  5、循环单链线性表

    循环单链线性表是一个单链线性表的数据结构,而且尾节点的链指向头节点,也就是首尾相连的链表。

   空的循环单链线性表:线性表的指针指向空值。 单节点循环单链线性表:头节点指向自己。 多节点循环单链线性表:尾节点指向头节点。 有时,循环单链线性表的指针指向尾节点。

  6、双向链结表

   双链节点就是一个节点有两个链接 (指针)。 两个链接的名称为 (prev, next)/(前一个,下一个)、(before, after)/(前,后)、或 (left, right)/(左,右)。

   双向链结表 (dobule-linked linear list) 是多个双链节点的数据结构, 所有的节点都要连结,不能有断链的节点。 如果两个相邻的节点 node1 和 node2,且 node1 在 node2 之前,则 node1 的 next 指向           node2, node2 的 prev 指向 node1, 只有一个节点它的 prev 指向空值,称为头节点 (head node)。 只有一个节点它的 next 指向空值,称为尾节点 (tail node)。

  7、双向循环链结表

  循环双向链结表 (circular dobule-linked linear list) 是一个双向链结表,头节点的 prev 指向尾节点,且尾头节点的 next 指向头节点。

  双向链结表有两种表示方法: 单一链结指向头节点。 使用搜寻的方法找到尾节点。

                                                  双链结指向头节点和尾节点。 使用数据结构表示两个链结。

数据结构与算法(线性表的链结表表示法)

原文:https://www.cnblogs.com/2639918747cxm/p/12865110.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!