第五章多維數組和廣義表
一般用順序存儲的方式表示數組
計算地址的函數
為多個非零元素分配一個存儲空間;對零元素不分配存儲空間
在一個n階的方陣A中
元素的總數為
設
則
地址計算
以主對角線劃分
元素總數為
以行優先順序存放的Aij與SA[k]的關系
上三角陣
下三角陣
所有的非零元素集中在以主對角線為中心的帶狀區域
以行優先順序存放的Aij與SA[k]的關系
當矩陣A中有非零元素S個
將表示稀疏矩陣的非零元素的三元組(行號
#define maxsize
typedef int datatype;
typedef struct{
int i
datatype v;
}trituplenode;
typedef struct{
trituplenode data[maxsize];
int m
}tritupletable;
在按行優先存儲的三元組表中加入一個行表記錄每行的非零元素在三元組表中的起始位置
#define maxrow
typedef struct{
tritulpenode data[maxsize];
int rowtab[maxrow];
int m
}rtritulpetable;
廣義表是線性表的推廣
若元素是廣義表稱它為LS的子表
表的深度是指表展開後所含括號的層數
把與樹對應的廣義表稱為純表
允許結點共享的表稱為再入表;
允許遞歸的表稱為遞歸表;
相互關系
廣義表的特殊運算
附二:
第五章多維數組和廣義表
**************************************************************************************
數組一般用順序存儲的方式表示
·列優先順序
**************************************************************************************
地址的計算方法
·按列優先順序排列的數組
**************************************************************************************
矩陣的壓縮存儲
特殊矩陣的概念
稀疏矩陣的概念
*************************************************************************************
特殊矩陣的類型
·三角矩陣
·下三角陣
·對角矩陣
*************************************************************************************
稀疏矩陣的壓縮存儲方式用三元組表把非零元素的值和它所在的行號列號做為一個結點存放在一起
************************************************************************
廣義表是n(n≥
廣義表表頭和表尾的概念
·其余的元素組成的表稱為LS的表尾
廣義表有兩種表示法
廣義表與樹(形結構)相對應
如果一個廣義表的結點又可以被其他結點所共享
允許遞歸的表稱為遞歸表
線性表∈純表(樹)∈再入表∈遞歸表
廣義表有兩個特殊的基本運算
·取表尾tail(LS);取除表頭外
From:http://tw.wingwit.com/Article/program/sjjg/201311/23669.html