广义表的定义
广义表是线性表的推广,是一种非线性的数据结构,也有人称其为列表。
广义表的实现主要应用递归,通过广义表可以更加理解和灵活使用递归
image.png
列表的元素可以是数据元素或子表,列表可以是一个递归的表。
广义表的存储结构
由于广义表的元素可以具有不同的结构(数据元素或子表),所以难以用顺序存储结构表示,通常采取链式存储结构。
广义表的节点存储结构
<1>头 HEAD <2>数据元素VALUE <3>子表 SUB
image.png
m元多项式的表示
一元多项式可以一个长度为m且每个数据元素有两个数据项(系数项和指数项)的线性表来表示。
m元多项式,一个m元多项式的每一项,最多有m个变元,如果用线性表来表示,如果用线性表来表示则,每个数据元素需要用m+1个数据项,以存储一个系数值和m个指数值。存在问题:
1、无论多项式中的各项变元是多是少,若都按照m个变元,分配存储空间,则将造成浪费。反之,按照实际的变元数分配存储空间,就会造成节点的大小不均,给操作来来不便。
2、对m值不同的多项式,线性表中的节点的大小也不同,这同样会引起存储管理的不便。
因此,由于m元多项式中的每一项的变化数目的不均匀性和变元信息的重要性,故不适应于线性表表示。
网友评论