浙江大学数据结构(2.1.6广义表与多重链表)

[例]我们知道了一元多项式的表示,那么二元多项式又该如何表示?

比如,给定二元多项式:P(x,y)=9x^12y^2+4x^12+15x^8y^3-x^8y+3x^2

[分析]可以将上述二元多项式看成关于x的一元多项式

浙江大学数据结构(2.1.6广义表与多重链表)

广义表(Generalized List)

  • 广义表是线性表的推广
  • 对于线性表而言,n个元素都是基本的单元素
  • 广义表中,这些元素不仅可以是单元素也可以是另一个广义表
typedef struct GNode *GList;
struct GNode
{
 int Tag;
 union 
 {
  ElementType Data;
  GList SubList;
 }URegion;
 GList Next;
};

多重链表

多重链表:链表中的节点可能同时隶属于多个链

  • 多重链表中结点指针域会有多个,如前面例子包含了Next和Sublist两个指针域
  • 包含两个指针域的链表不一定是多重链表,比如双向链表

例题(好题)

浙江大学数据结构(2.1.6广义表与多重链表)

浙江大学数据结构(2.1.6广义表与多重链表)浙江大学数据结构(2.1.6广义表与多重链表)