日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据结构】数组和广义表

發(fā)布時(shí)間:2025/1/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构】数组和广义表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

感覺數(shù)組這一段沒講什么太多的東西。

先是講了下定義,就是每個(gè)維度上都有對(duì)應(yīng)的前驅(qū)后繼,首尾元素例外。操作只有初始化 銷毀 取元素 修改元素。然后講了下適合用順序存儲(chǔ)結(jié)構(gòu),多維情況下根據(jù)下標(biāo)(j1 j2 j3 ... jn)找到對(duì)應(yīng)像素的存儲(chǔ)位置 cn?= L, ci-1?= bi?* ci,? LOC = LOC基址 +?Σciji ,?L為每個(gè)元素存儲(chǔ)的單位。 然后給了些實(shí)現(xiàn)代碼。

新知識(shí)是: va_start( , );

? ? ? ? ? ? ? ?va_arg( , );

? ? ? ? ? ? ? ?va_end();

這三個(gè)可以用來處理變長(zhǎng)參數(shù)表信息。

?

接著就是講矩陣了。

首先是特殊矩陣的壓縮。對(duì)于有規(guī)律的特殊矩陣,如對(duì)角矩陣、下(上)三角矩陣,對(duì)角矩陣。可以根據(jù)規(guī)律將矩陣存在一維數(shù)組中,建立起原始下標(biāo)與壓縮后矩陣下標(biāo)的對(duì)應(yīng)關(guān)系就好。

對(duì)沒有規(guī)律的稀疏矩陣,只存儲(chǔ)稀疏矩陣的非0元。需要三元組表存儲(chǔ)(行、列、元素值)。根據(jù)三元組表的不同表示方式,得到稀疏矩陣不同的壓縮存儲(chǔ)方法。

①三元組順序表 ?以行序?yàn)橹餍蚺帕小?就是用個(gè)數(shù)組存起來,行號(hào)小的放前面。 講了下這種結(jié)構(gòu)下轉(zhuǎn)置的操作,關(guān)鍵講了下如何在轉(zhuǎn)置后以行為主排序。又講了個(gè)快速轉(zhuǎn)置,就是存儲(chǔ)了原矩陣每一列首元素的位置和每一列元素個(gè)數(shù),這樣就不用在之后排序了,直接放在對(duì)的位置就好了。

②行邏輯鏈接的順序表,就是把每行第一個(gè)非0位置存了起來,為了方便抽取任意一行。講了兩個(gè)稀疏矩陣相乘的例子,說來說去就是為了去掉0與其他元素相乘這樣冗余的計(jì)算需要行起始位置,具體沒看,太繁瑣。沒什么新技術(shù)。

③十字鏈表 ?在兩個(gè)稀疏矩陣相加時(shí),非零元素?cái)?shù)量變化可能很大,不宜采用順序存儲(chǔ)結(jié)構(gòu)。 這種結(jié)構(gòu)每個(gè)非零元有5個(gè)域(行、列、值、該行下一元素指針、該列下一元素指針) 用兩個(gè)一維數(shù)組存儲(chǔ)每一行和每一列的頭結(jié)點(diǎn)。

?

廣義表 說白了,就是一個(gè)表,表中的元素也可以是表。開始說表可以共享、可以遞歸但是后面的介紹都是在不可共享不可遞歸的前提下介紹的....表頭和表尾的定義也略奇怪。表頭很普通,就是第一個(gè)元素。表尾居然是剩下的所有元素。定義結(jié)構(gòu)時(shí),用到了聯(lián)合跟枚舉,感覺看了很有收獲。

typedef enum{ATOM, LIST} ElemTag; typedef struct GLNode{ElemTag tag;union{AtomType atom; //元素可能是原子struct {struct GLNode *hp, *tp;}ptr; //也可能是另一個(gè)廣義表}; }*GList;

講了m元多項(xiàng)式的表示,大概意思就是不斷的分解主變?cè)?#xff0c;得到系數(shù)。如:

P=X10Y3Z2+2X6Y3Z2+3X5Y2Z2+X4Y4Z+6X3Y4Z+2YZ+15

? =((X10+2X6)Y3+3X5Y2)Z2+((X4+6X3)Y4+2Y)Z

這樣就可以用Z的系數(shù)表示多項(xiàng)式,而Z的系數(shù)又是Y的多項(xiàng)式,Y的系數(shù)又是X的多項(xiàng)式 這樣就可以用廣義表表示了。

?

之后講了下遞歸算法求廣義表深度(括號(hào)重?cái)?shù))和廣義表復(fù)制,沒仔細(xì)看好繁瑣啊... 而且我在網(wǎng)上也沒查到什么關(guān)于廣義表的應(yīng)用,于是不想看了..

總結(jié)

以上是生活随笔為你收集整理的【数据结构】数组和广义表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。