廣義表的定義
廣義表是線性表的推廣,是一種非線性的數(shù)據(jù)結(jié)構(gòu)帚稠,也有人稱其為列表谣旁。
廣義表的實現(xiàn)主要應(yīng)用遞歸,通過廣義表可以更加理解和靈活使用遞歸
列表的元素可以是數(shù)據(jù)元素或子表滋早,列表可以是一個遞歸的表榄审。
廣義表的存儲結(jié)構(gòu)
由于廣義表的元素可以具有不同的結(jié)構(gòu)(數(shù)據(jù)元素或子表),所以難以用順序存儲結(jié)構(gòu)表示杆麸,通常采取鏈式存儲結(jié)構(gòu)搁进。
廣義表的節(jié)點存儲結(jié)構(gòu)
<1>頭 HEAD <2>數(shù)據(jù)元素VALUE <3>子表 SUB
m元多項式的表示
一元多項式可以一個長度為m且每個數(shù)據(jù)元素有兩個數(shù)據(jù)項(系數(shù)項和指數(shù)項)的線性表來表示。
m元多項式昔头,一個m元多項式的每一項饼问,最多有m個變元,如果用線性表來表示揭斧,如果用線性表來表示則莱革,每個數(shù)據(jù)元素需要用m+1個數(shù)據(jù)項,以存儲一個系數(shù)值和m個指數(shù)值讹开。存在問題:
1盅视、無論多項式中的各項變元是多是少,若都按照m個變元萧吠,分配存儲空間左冬,則將造成浪費桐筏。反之纸型,按照實際的變元數(shù)分配存儲空間,就會造成節(jié)點的大小不均梅忌,給操作來來不便狰腌。
2、對m值不同的多項式牧氮,線性表中的節(jié)點的大小也不同琼腔,這同樣會引起存儲管理的不便。
因此踱葛,由于m元多項式中的每一項的變化數(shù)目的不均勻性和變元信息的重要性丹莲,故不適應(yīng)于線性表表示光坝。