數據結構課程的主要內容_第1頁
數據結構課程的主要內容_第2頁
數據結構課程的主要內容_第3頁
免費預覽已結束,剩余31頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-*數據結構課程的主要內容數據結構的基本概念? 基本概念和術語? 算法和算法分析(典型算法)線性表? 線性表的概念定義和特點? 線性表的實現順序表示和鏈式表示(特點、定義)? 線性表的基本操作建立(正序、逆序、有序) 、查找、插入、刪除、輸出? 線性表的應用合并、時間復雜度? 循環鏈表和雙向鏈表棧和隊列? 棧和隊列的定義? 棧的表示、實現和操作(出棧、入棧)? 隊列的表示(鏈隊列、循環隊列 * )、實現和操作(入隊列、出隊列)串(串的基本概念和基本操作)數組? 數組的定義? 數組的地址計算(一維、二維、三維)? 特殊矩陣的概念和地址計算(對稱、上(下)三角、對角、稀疏)-*樹和二叉樹? 樹的定

2、義和基本術語? 二叉樹 二叉樹的性質 二叉樹的存儲結構 二叉樹的遍歷? 樹和森林 樹的存儲結構 樹、森林與二叉樹的轉換 樹和森林的遍歷? 哈夫曼樹及其應用圖? 圖的定義和術語? 圖的存儲結構? 圖的遍歷查找? 查找的基本概念? 靜態查找表(順序表、有序表、索引順序表)的算法和性能分析? 動態查找表(二叉排序樹和平衡二叉樹)? 哈希表排序(直接插入、冒泡、選擇、快速和歸并)-*第一章數據結構課程的主要內容(二)線性表? 線性表的類型定義線性表是 n 個( n 0)數據元素的有限序列。數據元素可以是各種各樣的(例若干個數據項組成),但同一線性表中的元素必定具有相同特性。在數據元素的非空有限集中,存

3、在唯一的一個第一個和唯一一個最后一個元素,除次之外,每個元素有唯一的前驅和唯一的后繼。線性表( a1, ,ai-1 ,ai,ai+1, ,an)n 為線性表的長度, i 為元素在線性表中的位序。線性表的操作:建立空表、刪除表、置空表、判空表、統計表長、查詢(值、位序、前驅、后繼) 、插入元素、刪除元素、函數調用)? 線性表的順序表示和實現 順序表線性表的順序表示(順序存儲結構)是指用一組地址連續的存儲單元依次存放線性表的數據元素。LOC(ai)=LOC(a1)+(i-1)*ll 為每個元素所占的空間線性表的順序存儲結構(順序表)具有邏輯上相鄰的元素,物理位置上也相鄰的特點。順序表是一種隨機存取

4、的存儲結構通常用數組描述順序表-*順序表的表示struct sqlist#defineLEN100#defineLEN100int*elem;struct sqlistintaLEN;intlength;intaLEN;intlength;intlistsize;intlength;?順序表的操作順序表初始化順序表的插入順序表的刪除移動大量元素順序表的查找線性表的插入 (n+1)a1,a2, ai-1, ai, ai+1 , an插入位置的判斷 (n+1)(q)(p)元素移動的順序和位置a1,a2, ai-1,b,ai,ai+1 , an表長的變化? 線性表的刪除 (n-1)a1,a2, ai

5、-1,ai ,ai+1, an刪除位置的判斷(p)(q)元素移動的順序和位置a1,a2, ai-1, ai+1, an表長的變化?時間復雜度求表長O(1)查找第 i 個元素、前趨、后繼O(1)查找值為 x 的元素的位序O(n)插入元素O(n)(0+1+n)/(n+1)=n/2-*刪除元素O(n)(0+1+n-1)/n=(n-1)/2? 順序表適用于不常進行插入、 刪除運算,表中元素相對穩定的場合。? 線性表的鏈式表示和實現 線性鏈表線性表的鏈式存儲結構是用一組任意的(可連續、也可不連續)存儲單元存儲線性表的數據元素。為表示元素間的邏輯關系,除了存儲數據元素本身的信息之外,還需存儲一個指示其直接

6、后繼的信息。 即指針為數據元素之間邏輯關系的映象。結點包括兩個域:數據域和指針域(鏈) ,n 個結點鏈接成一個(單)鏈表。指示鏈表中第一個結點地址的指針稱為頭指針,最后一個結點的指針為空 (NULL) 。單鏈表可由頭指針唯一確定。h鏈表的表示#defineNULL 0structnodeintdata;structnode*next;structnode*head;/*head 為頭指針 /若 head=NULL ,則表示空表。-*headpp->next為處理方便,在單鏈表的第一個結點前附設一個結點,稱為頭結點。此時, head->next 指向第一個結點。p 指向第 i 個結點

7、,則 p->data=ai;p->next->data=a i+1;單鏈表是一種非隨機(順序)存儲結構。單鏈表的操作?查找第 i 個元素O(n)指針 p 從指向第一個結點的位置(head->next)向后移動(p=p->next)i-1 次。? 插入 O(n)pp->nexts(1)查找插入點的前趨結點p(2)生成新結點 s(3)s->next=p->next;(4)p->next=s;刪除 O(n)pp->nextp->next->next-*p->next=p->next->next? 建立含頭結點的

8、單鏈表(動態生成)head=(structnode *) malloc (sizeof(structnode);head->next=NULL;q=(structnode *) malloc (sizeof(structnode);(1)順序 從表頭至表尾設 p 為指向鏈表當前最后一個結點的指針p->next=q;p=q;(2)逆序 從表尾至表頭q->next =head->next;head->next=q;(3)有序 遞增或遞減? 循環鏈表最后一個結點的指針域指向頭結點,形成一個環。空表: head->next=head;? 雙向鏈表結點含兩個指針域,分

9、別指向直接前趨和后繼。-*p->next->priou=p->priou->next=p雙向循環鏈表鏈表在空間上利用合理,插入、刪除方便,很多場合是線性表的首選存儲結構。棧和隊列棧和隊列是兩種重要的線性結構。從數據結構角度看,它們是操作受限的線性表。? 棧后進先出的線性表( LIFO)抽象數據類型的定義棧是限定僅在表尾進行插入或刪除操作的線性表。 表尾稱為棧頂,表頭稱為 棧底。基本操作:取棧頂元素(查找) 、入棧(插入)和出棧(刪除)a1a2a -ann 1棧底棧頂棧的表示和實現順序棧棧的順序存儲結構利用一組地址連續的存儲單元依次存放自棧底到棧頂的數據元素,附設棧頂指針

10、top 指示棧頂元素在順序棧中的位置。typedef struct int *base;-*int *top;sqstack;#define MAX 100Typedefstructint stackMAXint top;SEQSTACK;SEQSTACK *s;構造空棧s.top = s.bases->top = 0返回棧頂元素e=*(s.top-1)e=s.stacks.top-1入棧*s.top+=es->stacks->top=es->top=s->top+1出棧e=*-s.tope=s->stacks->top-1s->top=s-&g

11、t;top-1棧滿s.top-s.base=MAXs->top=MAX-*鏈棧棧的鏈式表示棧頂指針為top棧空top=NULL;入棧生成新結點ss->link=top; top=s;出棧輸出top->data;top=top->link;棧的應用舉例int check(SEQSTACK *s)數制轉換int bool; char ch;括號匹配的檢驗push(s,#); bool=1;行編輯程序ch=getchar();表達式求值while (ch!= n&&bool)棧與遞歸if (ch=( ) push(s,ch);if (ch=) )if (get

12、top(s)=#) bool=0; else pop(s);ch=getchar(); if (gettop(s)!=#) bool=0; /*( 多于) */if (bool) printf(“rigth”);-*else rintf(“error ”);? 隊列先進先出的線性表( FIFO)抽象數據類型隊列的定義隊列是限定在表的一端(對尾)進行插入,而在另一端(隊頭)進行刪除操作的線性表。基本操作:入隊列(插入)和出隊列(刪除)出隊列 a1a2a -1an入隊列n隊頭隊尾鏈隊列隊列的鏈式表示和實現typedefstruct qnodeintdata;struct qnode *next;Q

13、NODEtypedef struct QNODE *front, *rear;LINKQUEUE;LINKQUEUE *q;鏈隊列初始化q->front=q->rear=(QNODE*)malloc(QNODE);q->front->next=NULL;-*鏈隊列判空q->front=q->rear;元素入隊列新生成結點 s; s->next=NULL;q->rear->next=s; q->rear=s;元素出隊列(非空隊列)p=q->front->next; q->front->next=p->nex

14、tif (q->rear=p)q->rear=q->front循環隊列隊列的順序表示和實現typedef structint dataMAXint front,rear;SEQQUEUE;SEQQUEUE *q;頭指針始終指向隊列頭元素, 尾指針始終指向隊列尾元素的下一個位置。由于存在假溢出 (q->rear=MAX) ,可將順序隊列臆造成一個環狀空間,稱為循環隊列。隊空 和隊滿的判別條件相同:q->front=q->rear-*兩種處理辦法 :(1) 增設標志位(2) 少用一元素空間。隊空: q->front=q->rear隊滿: q->

15、front=(q->rear+1)%MAX串串類型的定義? 串( String )(或字符串)是由零個或多個字符組成的有限序列。記為: s=a1a2 an(n 0)? S 為串名,單引號括起來的字符序列是串的值,n 為串的長度。? 子串主串中任意個連續字符組成的子序列。? 位置字符在序列中的序號為該字符在串中的位置。 子串在 主串中的位置以子串的第一個字符在主串中位置來表示。? 串相等兩個串的長度相等,且每個對應位置的字符都相等。? 空串零個字符的串為空串,長度為 0,用 ? 表示。? 空格串由一個或多個空格組成的串為空格串。長度為空格字符的個數。? 串的基本操作:通常以“串的整體”為操

16、作對象。? 串賦值串復制? 求子串判空串? 串連接子串定位-*? 串比較串替換? 求串長串插入? 串清空串刪除串的表示和實現? 定長順序存儲表示為每個串變量分配一個固定長度地址連續的存儲區。#define MAX 255unsigned char sstringMAX+1;0 號單元存放串的長度。? 堆分配存儲表示在程序執行過程中,為每個串變量動態分配(malloc)一個地址連續的存儲區。? 串的塊鏈存儲表示#define CSIZE 80/typedef struct Chunk char chCSIZE;struct Chunk *next;Chunk;typedef struct 塊的大

17、小Chunk *head,*tail;/頭尾指針int curlen;Lstring;/ 串長度-*數 組數組的定義 數組的性質數組元素數目固定,一旦定義,維數和維界就不再改變。數組元素具有相同的類型。數據元素的下標關系具有上下界的約束并且下標有序。 數組的描述ji=0 , , bi-1, i=1,2,n,bi是數組第i維的長度D=aj1j2 jn |n(>0) 為數組的維數, j i 是數組元素的第i 維下標 n=1 表示一維數組,是線性表。n=2 表示二維數組,以矩陣形式表示, 它也可以看成是線性表,其中每個數據元素本身又是一個線性表。 數組的基本操作初始化數組銷毀數組取元素給定一組

18、下標,返回相應的數組元素值。修改元素值(賦值)給定一組下標,修改相應的數組元素的值。數組的順序表示和實現數組運算通常是隨機訪問與修改, 一般不作插入或刪除, 故一旦建立數組,數據元素的個數與元素之間的關系就不再發生變-*動,所以數組采用 順序存儲結構 表示。 存儲單元是一維結構, 而數組是多維結構, 用一組地址連續的存儲單元存放數組元素有次序約定 的問題。對于數組,一旦規定了它的維數和各維的長度 (下標的界限),就可分配空間,并根據給定的一組下標求得相應數組元素的存儲位置。 一維數組LOC(a i )=LOC(a0)+i*L 二維數組 (m*n)行序為主序( a00,a 01, ,a 0,n-

19、1 ,a 10,a 11, am-1,n-1 )LOC(i,j)=LOC(0,0)+(i*n+j)*L列序為主序( a00,a 10, ,a m-1,0) ,a 01,a 11, am-1,n-1 )LOC(i,j)=LOC(0,0)+(j*m+i)*L 三維數組 (m*n*p)左下標(行)為主序( a000,a 001, a00,p-1 ,a 010, am-1,n-1,p-1 )LOC(i,j,k)=LOC(0,0,0)+(i*n*p+j*p+k)*L右下標(列)為主序 多維數組(b1*b2*bn)LOC(j 1,j 2,j n )=LOC(0,0,0)+(j 1*b 2*b n+j 2

20、*b 3*b n+j n-1 *b n+j n)*L-*若確定了數組的各維長度,則 bl * *b n 為常數,數組元素的存儲位置是其下標的線性函數, 由于存取數組中任一元素的時間相等,故此結構為隨機存儲結構。矩陣的壓縮存儲 若矩陣階數很高,且矩陣中有許多值相同的元素或者零元素,為節省存儲空間, 對矩陣進行壓縮存儲, 即為多個值相同的元只分配一個存儲空間,對零元不分配空間 假若值相同的元素或者零元素在矩陣中的分布有一定的規律,這類矩陣為特殊矩陣, 否則為稀疏矩陣。 特殊矩陣可將非零元壓縮存儲到一維數組中, 并找到每個非零元在一維數組中的對應關系。 特殊矩陣N階對稱矩陣元素關于主對角線對稱aij

21、=aji0<=i,j<=n-1只需存儲上三角或下三角元素。存儲元素總個數為(1+2+n)=n*(n+1)/2假設以行序為主序存儲下三角中的元當i>=jk=i*(i-1)/2+j-1當i<jk=j*(j-1)/2+i-1-*上、下三角矩陣矩陣的下(上)三角(不包括對角線)中的元均為常數或零的n階矩陣。只需存儲上(下)三角中的元,再外加一個存儲常數c 的存儲空間。下三角矩陣:當i>=jk=i*(i-1)/2+j-1當i<jk=n*(n+1)/2+1對角矩陣所有的非零元素都集中在以主對角線為中心的帶狀區域中。即除了主對角線上和主對角線鄰近的上、下方以外,其余元素均

22、為零。 稀疏矩陣在矩陣 A(m*n)中,s 為非零元素的個數, t 為零元素的個數,若 s<<t ,則 A 為稀疏矩陣。稀疏因子 =t/(m*n)<=0.05 。由于稀疏矩陣的非零元素分布沒有任何規律, 壓縮存儲除了存儲非零元素值外,還必須同時存儲它的位置。稀疏矩陣的每個非零元素由一個三元組(i ,j ,aij ) 唯一確定。稀疏矩陣可由表示非零元的三元組及其矩陣的行列數唯一確定。三元組的表示 三元組順序表 行邏輯鏈接的順序表 十字鏈表-*樹和二叉樹樹的定義和基本術語樹(tree) 是 n(n>=0) 個結點的有限集。在任意一棵非空樹中:(1)有且僅有一個特定的稱為根

23、(root) 的結點;( 2)當 n>1時,其余結點可分為m(m>0)個互不相交的有限集T1,T2Tm,其中每一個集合本身又是一棵樹,稱為根的子樹。樹的基本操作建樹求根結點求雙親結點樹的表示形式樹形表示嵌套集合表示廣義表表示凹入表表示基本術語求孩子結點求兄弟結點結點的插入、刪除樹的結點指一個數據元素及若干指向其子樹的分支。通常以結構體來描述。結點的度結點擁有的子樹數。度為 0 的結點稱為葉子或終端結點;度不為 0 的結點稱為非終端結點或分支結點。樹的度樹內各結點度的最大值。孩子和雙親結點的子樹的根為該結點的孩子,該結點為孩子-*的雙親。結點的層次根為第一層,依次類推。兄弟和堂兄弟雙

24、親相同的結點為兄弟,雙親在同一層次的結點為堂兄弟。祖先和子孫從根到該結點所經分支上的所有結點為該結點的祖先;以某結點為根的子樹中的任一結點都稱為該結點的子孫。樹的深度 ( 高度 ) 樹中結點的最大層次。有序樹和無序樹如果將樹中結點的各子樹看成從左到右是有次序的(即不能交換),則稱該樹為有序樹,否則為無序樹。森林是 m(m>=0)個棵互不相交的樹的集合。二叉樹二叉樹的定義二叉樹的每個結點至多只有二棵子樹(即二叉樹中不存在度大于 2 的結點),且二叉樹的子樹有左右之分,其次序不能任意顛倒(有序樹)。二叉樹的基本操作建樹(空樹、非空樹)求根結點、雙親、孩子、兄弟結點二叉樹的遍歷插入、刪除-*二

25、叉樹的五種基本形態空二叉樹僅有根結點的二叉樹左子樹為空的二叉樹右子樹為空的二叉樹左、右子樹均非空的二叉樹二叉樹的性質在二叉樹的第 i 層上至多有 2i-1個結點( i>=1)深度為 k 的二叉樹至多有2k-1 個結點( k>=1)對任何一棵二叉樹T,如果其終端結點數為n0,度為 2 的結點數為 n2,則 n0=n2+1一棵深度為 k 且有 2k-1 個結點的二叉樹稱為滿二叉樹, 其每一層上的結點數都是最大結點數。可以對滿二叉樹的結點進行連續編號,約定編號從根結點起,自上而下,自左至右。深度為 k 的,有 n 個結點的二叉樹,當且僅當其每個結點都與深度為 k 的滿二叉樹中編號從 1

26、至 n 結點一一對應時,稱之為完全二叉樹。具有 n 個結點的完全二叉樹的深度為 k=log2n+1如果對一棵有 n 個結點的完全二叉樹的結點按層序編號,則對任一結點 i (i<=1<=n)(1)i=1 ,結點 i 為二叉樹的根;若i>1 ,則雙親結點是 i/2(2)如果 2i>n ,則結點無左孩子;否則其左孩子是結點2i 。(3)如果 2i+1>n ,則結點無右孩子;否則其右孩子是結點2i+1 。-*二叉樹的存儲結構順序存儲結構用一組地址連續的存儲單元依次自上而下、 自左至右存儲完全二叉樹上的結點元素,即完全二叉樹上編號為 i 的結點存儲在一維數組中下標為 i-1

27、 的分量中。對一般二叉樹,順序存儲結構必須能反映結點之間的邏輯關系(父子關系),故將其每個結點與完全二叉樹相 對照進行存儲。這種順序存儲結構僅適用于完全二叉樹。最壞情況下, k 個結點、深度為 k 的二叉樹需要 2k-1 個結點的存儲空間。鏈式存儲結構頭指針指向根結點。二叉鏈表存儲結點的一個數據元素和分別指向其左、右子樹的兩個指針。三叉鏈表增加一個指向雙親結點的指針域。typedef structtnodeint data;struct tnode *lchild, *rchild;TNODE;TNODE*root;在 n 個結點的二叉鏈表中有 n+1 個空鏈域。建立二叉樹-*遍歷二叉樹和線索

28、二叉樹遍歷二叉樹遍歷二叉樹是指如何按某條搜索路徑巡訪樹中的每個結點, 使得每個結點均被訪問一次,而且僅被訪問一次。 ( 即將二叉樹的結點排成一個線性隊列 )一棵非空二叉樹是由根結點、 左子樹和右子樹三個基本部分組成,依次遍歷這三部分, 便能遍歷整個二叉樹。 若限定先左(L)后右( R),則遍歷方法有先序遍歷(DLR)、中序遍歷( LDR)和后序遍歷( LRD)三種。先序遍歷二叉樹的遞歸算法訪問根 -> 先序遍歷左子樹 -> 先序遍歷右子樹void preorder(TNODE *bt) if(bt!=NULL)printf(“%d ”,bt ->data);preorder(

29、bt->lchild);preorder(bt->rchild);中序遍歷二叉樹的遞歸算法(inorder)中序遍歷左子樹 -> 訪問根 -> 中序遍歷右子樹后序遍歷二叉樹的遞歸算法(postorder)后序遍歷左子樹 -> 后序遍歷右子樹 -> 訪問根表達式的前綴表示(波蘭式) 、中綴表示和后綴表示(逆波蘭式)。-*將表達式表示為二叉樹, 若表達式 =x y,則根結點存放運算符,左子樹表示 x,右子樹表示 y。a+b*(c-d)-e/f波蘭式:表達式二叉樹的前序中綴表示:中序逆波蘭式:后序從遞歸執行過程的角度先序、中序和后序是完全相同的。線索二叉樹遍歷二叉

30、樹實質上是對一個非線性結構進行線性化操作,使得每個結點有且僅有一個前趨和后繼。 但以二叉鏈表作為存儲結構時,只能找到結點的左右兒子信息,而沒有前趨和后繼的信息。由于在 n 個結點的二叉鏈表中必定存在 n+1 個空鏈域,可以利用空鏈域存放結點的前趨和后繼的信息。二叉鏈表的指針域描述兒子或前趨后繼信息的鏈表為線索鏈表;指向前趨和后繼的指針為線索; 加上線索的二叉樹為線索二叉樹。對二叉樹以某種次序遍歷使其變為線索二叉樹的過程為線索化。Typedef struct btnodechar data;struct btnode *lchild, *rchild;int ltag, rtag;BTNODE;

31、ltag=0lchild指示結點的左兒子-*ltag=1lchild指示結點的前趨rtag=0lchild指示結點的右兒子rtag=1lchild指示結點的后繼樹和森林樹的存儲結構雙親表示法用一組地址連續的空間存放樹中的結點,每個結點存放本身的信息和雙親結點所在的位置序號。孩子表示法? 多重鏈表每個結點有多個指針域,分別指向其每個子樹。同構或不同構。? 孩子鏈表 每個結點有一個孩子鏈表, n 個結點鏈表的頭指針順序存儲。? 孩子雙親表示法雙親表示和孩子鏈表表示法結合起來。孩子兄弟表示法二叉鏈表表示法*二叉鏈表作為樹的存儲結構,鏈表中的兩個指針域分別指向該結點的第一個孩子和該結點的下一個兄弟。樹

32、、森林與二叉樹的轉換以二叉鏈表作為轉換的依據。樹轉化成二叉樹后,二叉樹根一定沒有右子樹。森林的第二棵樹樹根看成是第一棵樹樹根的兄弟。樹與森林的遍歷-*樹的先序遍歷是指先訪問樹的根結點, 然后依次先序遍歷根的各子樹。等價于先序遍歷該樹對應的二叉樹。樹的后序遍歷是指先依次后序遍歷樹的根結點的各子樹, 然后訪問根結點。等價于中序遍歷該樹對應的二叉樹。先序遍歷森林是指從左到右依次按先序遍歷森林中的每一棵樹,相當于先序遍歷該森林對應的二叉樹。后序遍歷森林是指從左到右依次按后序遍歷森林中的每一棵樹,相當于中序遍歷該森林對應的二叉樹。赫夫曼樹及其應用最優二叉樹赫夫曼樹從樹中一個結點到另一個結點之間的分支構成

33、這兩個結點之間的路徑,路徑上的分支數目稱做路徑長度。樹的路徑長度是從樹根到每一結點的路徑長度之和。結點的帶權路徑長度為從該結點到樹根之間的路徑長度與結點上權的乘積。樹的帶權路徑長度為樹中所有葉子結點的帶權路徑長度之和,記作 WPL。假設有 n 個權值 w1 ,w2, ,wn ,試構造一棵有 n 個葉子結點的二叉樹,每個葉子結點帶權為 wi ,則其中帶權路徑長度 WPL最小的二叉樹稱做最優二叉樹或赫夫曼樹。赫夫曼算法構造赫夫曼樹根據給定的 n 個權值構成 n 棵二叉樹的集合 F,每棵二叉樹 Ti 只有一個帶權為 wi 的根結點。在 F 中選取兩棵根結點的權值最小的樹作為左右子樹構造一棵新-*二叉

34、樹,其根結點的權值為左右子樹根結點的權值之和。在 F 中刪除這兩棵樹,將新二叉樹加入F重復構造,直到 F 中只含一棵樹為止,這棵樹就是赫夫曼樹。赫夫曼編碼電報碼電文的總長盡可能短出現次數多的字符采用盡可能短的編碼。任一個字符的編碼都不是另一個字符編碼的前綴前綴編碼。設計電文總長最短的二進制前綴編碼即為以 n 種字符出現的頻率作權,設計一棵赫夫曼樹的問題。約定赫夫曼樹的左分支表示字符 0,右分支表示字符 1,從根結點到葉子結點的路徑上分支字符組成的字符串作為該葉子結點字符的編碼。圖圖是復雜的非線性結構,結點之間的關系是任意的,任何兩個數據元素都可能相關。圖的應用極為廣泛。圖的定義和術語圖是兩個集合的二元組,G=(V,E),V 表示頂點的有窮非空集合, E是頂點之間關系的有窮集合。若圖中的每條邊都是有方向的,頂點之間的關系<v,w>表示從v 到 w的一條弧, v 為弧尾或初始點, w為弧頭或終端點,該圖為有向圖。-*若圖中的每條邊無方向, 有<v,w>必有 <w,v>,頂點之間的關系以無序對 <v,w>表示,表示從 v 到 w的一條邊,該圖為無向圖。n 表示圖中頂點數目, e 表示邊或弧的數目,若不考慮頂點自身的邊或弧,無向圖e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論