对于线性表的链结表表示法的学习总结如下
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