當前位置:首頁 » 服務存儲 » 存儲組合圖
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲組合圖

發布時間: 2022-07-09 12:23:29

A. 圖的存儲結構——所存儲的信息有哪些

一、鄰接矩陣存儲方法

鄰接矩陣是表示頂點之間相鄰關系的矩陣。

設G=(V,E)是具有n(n>0)個頂點的圖,頂點的順序依次為0~n-1,則G的鄰接矩陣A是n階方陣,其定義如下:

(1)如果G是無向圖,則:

A[i][j]=1:若(i,j)∈E(G) 0:其他

(2)如果G是有向圖,則:

A[i][j]=1:若<i,j>∈E(G) 0:其他

(3)如果G是帶權無向圖,則:

A[i][j]= wij :若i≠j且(i,j)∈E(G) 0:i=j ∞:其他

(4)如果G是帶權有向圖,則:

A[i][j]= wij :若i≠j且<i,j>∈E(G) 0:i=j∞:其他

注意:帶權圖和不帶權圖表示的元素類型不同。


帶權圖(不論有向還是無向圖)A[i][j]用double表示,不帶權圖(不論有向還是無向圖)A[i][j]用int表示。

用一維數組G[ ]存儲有4個頂點的無向圖如:G[ ] = { 0, 1, 0, 1, 1, 0, 0, 0, 1, 0 }

則頂點2和頂點0之間是有邊的。

如:

鄰接矩陣的特點如下:

(1)圖的鄰接矩陣表示是唯一的。

(2)無向圖的鄰接矩陣一定是一個對稱矩陣。因此,按照壓縮存儲的思想,在具體存放鄰接矩陣時只需存放上(或下)三角形陣的元素即可。

(3)不帶權的有向圖的鄰接矩陣一般來說是一個稀疏矩陣。因此,當圖的頂點較多時,可以採用三元組表的方法存儲鄰接矩陣。

(4)對於無向圖,鄰接矩陣的第i行(或第i列)非零元素(或非∞元素)的個數正好是第i個頂點的度。

(5)對於有向圖,鄰接矩陣的第i行(或第i列)非零元素(或非∞元素)的個數正好是第i個頂點的出度(或入度)。

(6)用鄰接矩陣方法存儲圖,很容易確定圖中任意兩個頂點之間是否有邊相連。但是,要確定圖中有多少條邊,則必須按行、按列對每個元素進行檢測,所花費的時間代價很大。這是用鄰接矩陣存儲圖的局限性。

鄰接矩陣的數據類型定義如下:

#define MAXV <最大頂點個數>

typedef struct

{ int no; //頂點編號

InfoType info; //頂點其他信息

} VertexType; //頂點類型

typedef struct //圖的定義

{ int edges[MAXV][MAXV]; //鄰接矩陣

int n,e; //頂點數,弧數

VertexType vexs[MAXV]; //存放頂點信息

} MGraph; //圖的鄰接矩陣表示類型


二、 鄰接表存儲方法

圖的鄰接表存儲方法是一種順序分配與鏈式分配相結合的存儲方法。

在鄰接表中,對圖中每個頂點建立一個單鏈表,第i個單鏈表中的節點表示依附於頂點i的邊(對有向圖是以頂點i為尾的邊)。每個單鏈表上附設一個表頭節點。

其中,表節點由三個域組成,adjvex指示與頂點i鄰接的點在圖中的位置,nextarc指示下一條邊或弧的節點,info存儲與邊或弧相關的信息,如權值等。

表頭節點由兩個域組成,data存儲頂點i的名稱或其他信息,firstarc指向鏈表中第一個節點。

typedef struct ANode

{ int adjvex; //該邊的終點編號

struct ANode *nextarc; //指向下一條邊的指針

InfoType info; //該邊的相關信息

} ArcNode; //邊表節點類型


typedef struct Vnode

{ Vertex data; //頂點信息

ArcNode *firstarc; //指向第一條邊

} VNode; //鄰接表頭節點類型

typedef VNode AdjList[MAXV]; //AdjList是鄰接表類型

typedef struct

{ AdjList adjlist; //鄰接表

int n,e; //圖中頂點數n和邊數e

} ALGraph; //完整的圖鄰接表類型


鄰接表的特點如下:

(1)鄰接表表示不唯一。這是因為在每個頂點對應的單鏈表中,各邊節點的鏈接次序可以是任意的,取決於建立鄰接表的演算法以及邊的輸入次序。

(2)對於有n個頂點和e條邊的無向圖,其鄰接表有n個頂點節點和2e個邊節點。顯然,在總的邊數小於n(n-1)/2的情況下,鄰接表比鄰接矩陣要節省空間。

(3)對於無向圖,鄰接表的頂點i對應的第i個鏈表的邊節點數目正好是頂點i的度。

(4)對於有向圖,鄰接表的頂點i對應的第i個鏈表的邊節點數目僅僅是頂點i的出度。其入度為鄰接表中所有adjvex域值為i的邊節點數目。

例, 給定一個具有n個節點的無向圖的鄰接矩陣和鄰接表。

(1)設計一個將鄰接矩陣轉換為鄰接表的演算法;

(2)設計一個將鄰接表轉換為鄰接矩陣的演算法;

(3)分析上述兩個演算法的時間復雜度。

解:

(1)在鄰接矩陣上查找值不為0的元素,找到這樣的元素後創建一個表節點並在鄰接表對應的單鏈表中採用前插法插入該節點。

void MatToList(MGraph g,ALGraph *&G)

//將鄰接矩陣g轉換成鄰接表G

{ int i,j,n=g.n; ArcNode *p; //n為頂點數

G=(ALGraph *)malloc(sizeof(ALGraph));

for (i=0;i<n;i++) //給所有頭節點的指針域置初值

G->adjlist[i].firstarc=NULL;

for (i=0;i<n;i++) //檢查鄰接矩陣中每個元素

for (j=n-1;j>=0;j--)

if (g.edges[i][j]!=0)

{ p=(ArcNode *)malloc(sizeof(ArcNode));

//創建節點*p

p->adjvex=j;

p->nextarc=G->adjlist[i].firstarc;

//將*p鏈到鏈表頭

G->adjlist[i].firstarc=p;

}

G->n=n;G->e=g.e;


}


(2)在鄰接表上查找相鄰節點,找到後修改相應鄰接矩陣元素的值。

void ListToMat(ALGraph *G,MGraph &g)

{ int i,j,n=G->n;ArcNode *p;

for (i=0;i<n;i++)

{ p=G->adjlist[i].firstarc;

while (p!=NULL)

{ g.edges[i][p->adjvex]=1;

p=p->nextarc;

}

}

g.n=n;g.e=G->e;

}


(3)演算法1的時間復雜度均為O(n2)。演算法2的時間復雜度為O(n+e),其中e為圖的邊數。

B. 怎麼把一張長圖快速切成一截一截的組合圖

1、首先打開PS軟體,然後在PS中打開需要剪裁的圖片。

C. 圖像數據是怎樣以組合方式存儲的

一種是二進制寫入資料庫,一種是直接存儲圖片,資料庫存儲保存路徑。

D. 如何在ps里將圖片以alpha通道保存

方法步驟如下:

1、首先打開打開ps,把圖片快速打開,然後選擇「魔棒工具」,設置具體選項。

E. 以CPU內寄存器、內存、外存各為代表的不同類型的存儲器考慮如何組合成一個性能價格最優化的存儲體系

計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響非常大。 內存(Memory)也被稱為內存儲器,其作用是用於暫時存放CPU中的運算數據,以及與硬碟等外部存儲器交換的數據。

只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成後CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行。 內存是由內存晶元、電路板、金手指等部分組成的。

2021年10月8日,為防止未成年人沉迷網路游戲,維護未成年人合法權益,文化和旅遊部印發通知,部署各地文化市場綜合執法機構進一步加強網路游戲市場執法監管。據悉,文化和旅遊部要求各地文化市場綜合執法機構會同行業管理部門。

重點針對時段時長限制、實名注冊和登錄等防止未成年人沉迷網路游戲管理措施落實情況,加大轄區內網路游戲企業的執法檢查頻次和力度;加強網路巡查,嚴查擅自上網出版的網路游戲;加強互聯網上網服務營業場所、游藝娛樂場所等相關文化市場領域執法監管,防止未成年人違規進入營業場所。

F. WPS組合圖怎麼切換

你是想問「wps的組合圖功能怎麼使用」吧
1,插入圖片,在word頁面插入兩張以上的圖片
2,圖片工具,在圖片工具下點擊組合。
3,兩個圖片即可組合在一起。
WPS Office是由北京金山辦公軟體股份有限公司自主研發的一款辦公軟體套裝,可以實現辦公軟體最常用的文字、表格、演示,PDF閱讀等多種功能。具有內存佔用低、運行速度快、雲功能多、強大插件平台支持、免費提供在線存儲空間及文檔模板的優點。

G. 用1K×4位的RAM晶元構成2K×8位的存儲器,畫出CPU和存儲晶元的連接圖.

分析:用1K×4位的RAM晶元構成2K×8位的存儲器,1K×4位構成2K×8位單用字擴展或者單用位擴展無法解決問題,要字擴展和位擴展同時進行。畫出CPU和存儲晶元的連接圖如下圖:

1KB=2^10B,2KB=2^11B

(7)存儲組合圖擴展閱讀:

存儲信息一般是存儲在存儲器(ROM、RAM)上的 。

在實際應用中,經常出現一片ROM或RAM晶元不能滿足對存儲器容量需求的情況,這就需要用若乾片ROM或RAM組合起來形成一個存儲容量更大的存儲器。而組合方式有字擴展和位擴展兩種。

用多片位寬相同的存儲器(ROM或RAM)晶元擴展包含更多存儲器的過程。一般是在每個字的位數夠而字的數目不夠時使用。

生產的存儲器晶元容量有限,在字數或字長方面與實際存儲器要求有所差距,所以要在字向與位向兩方面進行擴充,才能滿足實際存儲器的要求。

cpu對存儲器進行讀寫操作時,首先由地址匯流排給出地址信號,然後再發出有關進行讀操作與寫操作的控制信號,最後在數據匯流排上進行信息交換。

把用位數較少的多片存儲器(ROM或RAM)組合成位數更多的存儲器的擴展方法。位擴展只是擴展的位數。

H. 什麼是組合圖形

組合圖形是Microsoft Office Word軟體中的一種圖形處理功能,可以將多個獨立的形狀組合的一個圖形對象,然後對組合後的圖形對象進行移動、修改大小等操作。

圖形用一組指令集合來描述圖形的內容,如描述構成該圖的各種圖元位置維數、形狀等。描述對象可任意縮放不會失真。

在顯示方面圖形使用專門軟體將描述圖形的指令轉換成屏幕上的形狀和顏色。適用於描述輪廓不很復雜,色彩不是很豐富的對象,如:幾何圖形、工程圖紙、CAD、3D造型軟體等。

(8)存儲組合圖擴展閱讀

圖形和圖像的聯系:

在計算機科學中,圖形和圖像這兩個概念是有區別的:圖形一般指用計算機繪制的畫面,如直線、圓、圓弧、任意曲線和圖表等;圖像則是指由輸入設備捕捉的實際場景畫面或以數字化形式存儲的任意畫面。

圖像是由一些排列的像素組成的,在計算機中的存儲格式有BMP、PCX、TIF、GIFD等,一般數據量比較大。它除了可以表達真實的照片外,也可以表現復雜繪畫的某些細節,並具有靈活和富有創造力等特點。

與圖像不同,在圖形文件中只記錄生成圖的演算法和圖上的某些特點,也稱矢量圖。在計算機還原時,相鄰的特點之間用特定的很多段小直線連接就形成曲線,若曲線是一條封閉的圖形,也可靠著色演算法來填充顏色。

它最大的優點就是容易進行移動、壓縮、旋轉和扭曲等變換,主要用於表示線框型的圖畫、工程制圖、美術字等。常用的矢量圖形文件有3DS(用於3D 造型)、DXF(用於CAD)、WMF(用於桌面出版)等。

圖形只保存演算法和特徵點,所以相對於點陣圖(圖像)的大量數據來說,它佔用的存儲空間也較小。但由於每次屏幕顯示時都需要重新計算,故顯示速度沒有圖像快。

另外,在列印輸出和放大時,圖形的質量較高而點陣圖(圖像)常會發生失真。圖形是指在一個二維空間中可以用輪廓劃分出若乾的空間形狀,圖形是空間的一部分不具有空間的延展性,它是局限的可識別的形狀。

I. 怎樣把WORD里組合過的圖片和自選圖形變成一張JPG格式的圖片

要把WORD里組合過的圖片和自選圖形變成一張JPG格式的圖片,以word2003為例,具體步驟如下:

  1. 打開word文檔,按住鍵盤上的Ctrl鍵,點擊選中特定的圖片和自選圖形,全部選中後,右擊滑鼠,選擇「組合」,再點擊「組合」;

J. 怎麼用PS把幾張圖片組合到一起

打開ps,新建一個畫布,再全選要弄在一起的圖片,拖拽到ps的畫布中;

按下鍵盤的Ctrl+T,可以按住鍵盤上的shift鍵,用滑鼠拖拽圖片的右下角等比縮小圖片,並移動的合適的位置;

所有圖片調整大小和位置之後,把它們拼在一起;

最後點擊」文件「,選擇」存儲為「,把圖片保存為jpg或者其他格式即可。