亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? network.h

?? 貪婪算法合集,包括二分覆蓋,單源最短路徑,拓撲排序,機器調(diào)度問題
?? H
字號:
// file network.h
//抽象基類Network
#ifndef Network_
#define Network_

#include "lqueue.h"
#include "lstack.h"

class Network {
   public:
      virtual int Begin(int i) = 0;
      virtual int NextVertex(int i) = 0;
      virtual void InitializePos() = 0;
      virtual void DeactivatePos() = 0;//以上為四個遍歷函數(shù),純虛,不同圖不同實現(xiàn)
      virtual int Vertices() const = 0;//頂點數(shù)目,也是純虛實現(xiàn)
      virtual int Edges() const = 0;
      void BFS(int v, int reach[], int label);//寬度優(yōu)先搜索
      void DFS(int v, int reach[], int label);//深度優(yōu)先搜索
      bool FindPath(int v, int w, int &length, int path[]);//尋找路徑
      bool Topological(int v[]);
   private:
      void dfs(int v, int reach[], int label);//實質(zhì)實現(xiàn)深度優(yōu)先搜索功能的私有成員函數(shù)
      bool findPath(int v, int w, int &length,int path[], int reach[]);//實際實現(xiàn)尋找路徑的函數(shù)
};

void Network::BFS(int v, int reach[], int label)
{//寬度優(yōu)先搜索
   LinkedQueue<int> Q;
   InitializePos(); // 初始化圖遍歷器數(shù)組,調(diào)用純虛InitializePos函數(shù),不同的類對象就有不同實現(xiàn)了
   reach[v] = label;//reach用來標記已到達的頂點,=label證明已到達頂點v了
   Q.Add(v);
   while (!Q.IsEmpty())
   {
	   int w;
	   Q.Delete(w);  //獲得一個以標記的頂點
	   int u = Begin(w);//令u為鄰接于頂點w的第一個頂點
	   while (u) {//訪問w的鄰接頂點
         if (!reach[u]) {//一個未曾到達的頂點
            Q.Add(u);
            reach[u] = label;} //標記
         u = NextVertex(w); //下一個與w鄰接的頂點
         }
      }
   DeactivatePos(); //釋放遍歷器數(shù)組
}

void Network::DFS(int v, int reach[], int label)
{//深度優(yōu)先搜索
   InitializePos(); //初始化圖遍歷器數(shù)組
   dfs(v, reach, label); //執(zhí)行dfs
   DeactivatePos(); //釋放圖遍歷器數(shù)組
}

void Network::dfs(int v, int reach[], int label)
{//實質(zhì)實現(xiàn)深度優(yōu)先搜索功能的代碼,遞歸實現(xiàn)的
   reach[v] = label;
   int u = Begin(v);
   while (u)
   {//u鄰接至v
	   if (!reach[u])
		   dfs(u, reach, label);
	   u = NextVertex(v);
   }
}

bool Network::FindPath(int v, int w, int &length, int path[])
{// 尋找一條從v到w的路徑,返回路徑的長度,并將路徑存入數(shù)組path[0:length]
 // Return false if there is no path.

   //路徑中的第一個頂點總是v
   path[0] = v;
   length = 0;  // 當前路徑長度
   if (v == w) return true;

   // 為路徑的遞歸搜索進行初始化
   int  n = Vertices();//n個頂點
   InitializePos();  //遍歷器
   int *reach = new int [n+1];
   for (int i = 1; i <= n; i++)
      reach[i] = 0;//都初始化為沒有走過
   
   //搜索
   bool x = findPath(v, w, length, path, reach);

   DeactivatePos();//釋放遍歷器空間
   delete [] reach;//釋放臨時標記數(shù)組reach
   return x;
}

bool Network::findPath(int v, int w, int &length,int path[], int reach[])
{//實質(zhì)搜索路徑的函數(shù),其中 v!=w
 // Performs a depth-first search for a path to w.
   reach[v] = 1;
   int u = Begin(v);
   while (u)
   {
	   if (!reach[u])
	   {
		   length++;
		   path[length] = u; //將頂點u加入path
		   if (u == w) return true;
		   if (findPath(u, w, length, path, reach))
			   return true;
		   //否則不存在從u到w的路徑
		   length--; //length要復(fù)位,也即不記錄u
	   }
	   u = NextVertex(v);
   }
   return false;
}

bool Network::Topological(int v[])
{// 計算有向圖的拓撲序列
 // 如果找到了一個拓撲序列,則返回true,此時在v[0:n-1]中記錄了拓撲序列
 // 如果不存在,則返回false

   int n = Vertices();
   
   // 計算入度
   int *InDegree = new int [n+1];
   InitializePos(); // 圖遍歷器數(shù)組
   for (int i = 1; i <= n; i++) //先都初始化為0
      InDegree[i] = 0;
   for (i = 1; i <= n; i++)
   {// 從i出發(fā)的邊,這個循環(huán)計算圖初始的入度數(shù)組
      int u = Begin(i);
      while (u)
	  {
		  InDegree[u]++;
		  u = NextVertex(i);
	  }
   }
   
   //把入度為0的頂點壓入堆棧
   LinkedStack<int> S;
   for (i = 1; i <= n; i++)
	   if (!InDegree[i]) S.Add(i);
   
   // 產(chǎn)生拓撲順序
   i = 0;  // 跟蹤數(shù)組v
   while (!S.IsEmpty()) {// select from stack
      int w;             // next vertex
      S.Delete(w);
      v[i++] = w;
      int u = Begin(w);
      while (u)
	  {//更新每個與w相鄰的入度,-1
		  InDegree[u]--;
		  if (!InDegree[u]) S.Add(u);//更新過程中,若某個的入度變?yōu)?了,則壓入棧中
		  u = NextVertex(w);
	  }
   }
   
   DeactivatePos();
   delete [] InDegree;
   return (i == n);
}

#endif;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人中文字幕| 成人久久久精品乱码一区二区三区| 日韩久久久精品| 色婷婷综合激情| 国产自产v一区二区三区c| 亚洲国产毛片aaaaa无费看| 久久精品一区二区三区不卡| 欧美日韩精品是欧美日韩精品| 成人永久看片免费视频天堂| 欧美aa在线视频| 亚洲高清免费观看 | 9i在线看片成人免费| 蜜桃av一区二区三区电影| 亚洲自拍偷拍网站| 亚洲欧洲www| 国产精品护士白丝一区av| eeuss影院一区二区三区| 亚洲va欧美va国产va天堂影院| aa级大片欧美| 美女一区二区在线观看| 1000部国产精品成人观看| 69av一区二区三区| 99久久免费精品高清特色大片| 亚洲国产精品久久久久婷婷884 | 欧美日韩精品一区视频| 风间由美性色一区二区三区| 激情亚洲综合在线| 日韩精品高清不卡| 天堂蜜桃91精品| 亚洲成人久久影院| 亚洲一二三四区不卡| 欧美日韩国产在线播放网站| 国产成人精品免费网站| 亚洲高清视频的网址| 亚洲已满18点击进入久久| 亚洲色图在线视频| 最新久久zyz资源站| 国产精品久久久久久久久免费丝袜| 久久综合九色综合97_久久久| 日韩欧美的一区| 欧美精品一区二区三区很污很色的 | 国产日产亚洲精品系列| 欧美激情一区二区三区在线| 久久久www免费人成精品| 欧美国产欧美综合| 中文字幕在线免费不卡| 亚洲精品国产精华液| 怡红院av一区二区三区| 视频一区欧美日韩| 麻豆国产精品官网| 风间由美一区二区三区在线观看 | 视频一区二区三区入口| 日韩国产在线观看一区| 玖玖九九国产精品| 国产成人福利片| 99精品国产99久久久久久白柏| 91亚洲永久精品| 欧美日韩一区二区三区在线看 | 懂色av中文字幕一区二区三区| 成人不卡免费av| 欧美亚洲尤物久久| 日韩欧美中文字幕制服| 中文字幕精品一区二区精品绿巨人 | 欧美男女性生活在线直播观看| 在线不卡一区二区| 国产丝袜在线精品| 亚洲另类春色校园小说| 日本不卡123| 成人免费三级在线| 欧美日本在线播放| 久久久99精品免费观看| 亚洲最大的成人av| 久久成人综合网| 91麻豆产精品久久久久久| 5858s免费视频成人| 中文在线免费一区三区高中清不卡| 亚洲你懂的在线视频| 捆绑变态av一区二区三区| 国产不卡免费视频| 欧美日韩国产美| 欧美国产激情二区三区 | 韩国v欧美v亚洲v日本v| 色婷婷久久一区二区三区麻豆| 日韩一区国产二区欧美三区| 国产精品不卡视频| 美女国产一区二区三区| 一本色道a无线码一区v| 久久一日本道色综合| 亚洲午夜国产一区99re久久| 国产一区二区在线观看视频| 欧美性大战久久| 国产欧美精品一区二区色综合| 日韩中文字幕1| 一本久道久久综合中文字幕| 久久婷婷色综合| 五月开心婷婷久久| 99re成人精品视频| 久久综合成人精品亚洲另类欧美 | 中文字幕一区二区三区视频| 美日韩一级片在线观看| 日本伊人色综合网| 97久久精品人人爽人人爽蜜臀| 欧美影院一区二区三区| 91国产成人在线| 欧美国产精品中文字幕| 青娱乐精品在线视频| 在线亚洲高清视频| 日本一区二区三区在线不卡| 美女久久久精品| 欧美日韩免费观看一区三区| 一区精品在线播放| 国产福利不卡视频| 久久婷婷国产综合国色天香| 免费视频一区二区| 欧美精品xxxxbbbb| 亚洲一区在线观看免费观看电影高清| 成人精品一区二区三区中文字幕| 精品粉嫩超白一线天av| 蜜桃免费网站一区二区三区| 欧美日韩一区二区三区高清| 一区二区三区在线观看动漫 | 免费日本视频一区| 在线播放视频一区| 午夜精品免费在线| 欧美日韩国产a| 亚洲宅男天堂在线观看无病毒| 99国产精品国产精品久久| 国产精品全国免费观看高清| 国产激情精品久久久第一区二区| 久久午夜国产精品| 国产成人精品亚洲日本在线桃色| 久久日韩粉嫩一区二区三区| 国产精品香蕉一区二区三区| 久久久99久久| 成人黄色一级视频| 亚洲柠檬福利资源导航| 在线视频国内一区二区| 亚洲午夜精品久久久久久久久| 精品视频资源站| 日韩精品每日更新| 精品999在线播放| 国产91在线观看| 中文字幕日韩精品一区 | 中文字幕一区免费在线观看 | 欧美日韩色一区| 香蕉久久夜色精品国产使用方法| 欧美日韩欧美一区二区| 男人的天堂久久精品| 2024国产精品| 成人国产免费视频| 亚洲黄一区二区三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | gogo大胆日本视频一区| 亚洲免费成人av| 欧美老肥妇做.爰bbww| 美女视频黄久久| 日本一区二区三区久久久久久久久不 | 亚洲视频一二三| 欧美日韩亚洲不卡| 精品亚洲aⅴ乱码一区二区三区| 国产视频不卡一区| 在线视频观看一区| 另类欧美日韩国产在线| 国产精品久久久久永久免费观看| 欧美性猛交一区二区三区精品| 青娱乐精品视频| 国产精品麻豆视频| 欧美精三区欧美精三区 | 欧美日韩亚洲综合在线| 狠狠狠色丁香婷婷综合激情| 国产精品美女久久福利网站| 欧美三级视频在线| 国产乱一区二区| 亚洲午夜三级在线| 国产亚洲制服色| 欧美日韩在线观看一区二区| 国产成人综合网| 日韩在线一二三区| 国产精品黄色在线观看| 91麻豆精品国产自产在线| 成人激情电影免费在线观看| 视频一区二区欧美| 国产精品女人毛片| 日韩久久免费av| 在线视频你懂得一区| 国产精品亚洲成人| 爽好多水快深点欧美视频| 国产精品区一区二区三区| 日韩亚洲欧美高清| 91麻豆自制传媒国产之光| 久久er99精品| 亚洲成人7777| 自拍偷拍国产亚洲| 久久久精品蜜桃| 91精品国产欧美一区二区成人| av激情成人网| 国产99一区视频免费| 麻豆精品国产传媒mv男同| 亚洲午夜精品在线| 亚洲情趣在线观看|