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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? id4.txt

?? 對貪婪算法進行系統(tǒng)分析介紹,例題詳盡,思路清晰,容易掌握
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
delete [] bin;}

void InsertBins(int b, int v)

在箱子b中添加頂點v

void MoveBins(int bMax, int ToBin, int v)

從當前箱子中移動頂點v到箱子To B i n

int *bin;

b i n [ i ]指向代表該箱子的雙向鏈表的首節(jié)點

N o d e Type *node;

n o d e [ i ]代表存儲頂點i的節(jié)點

圖1-9 實現雙向鏈接箱子所需的U n d i r e c t e d私有成員

 

程序13-3 箱子函數的定義

void Undirected::CreateBins(int b, int n)

{// 創(chuàng)建b個空箱子和n個節(jié)點

node = new NodeType [n+1];

bin = new int [b+1];

// 將箱子置空

for (int i = 1; i <= b; i++)

bin[i] = 0;

}

void Undirected::InsertBins(int b, int v)

{// 若b不為0,則將v 插入箱子b

if (!b) return; // b為0,不插入

node[v].left = b; // 添加在左端

if (bin[b]) node[bin[b]].left = v;

node[v].right = bin[b];

bin[b] = v;

}

void Undirected::MoveBins(int bMax, int ToBin, int v)

{// 將頂點v 從其當前所在箱子移動到To B i n .

// v的左、右節(jié)點

int l = node[v].left;

int r = node[v].right;

// 從當前箱子中刪除

if (r) node[r].left = node[v].left;

if (l > bMax || bin[l] != v) // 不是最左節(jié)點

node[l].right = r;

else bin[l] = r; // 箱子l的最左邊

// 添加到箱子To B i n

I n s e r t B i n s ( ToBin, v);

}

函數C r e a t e B i n s動態(tài)分配兩個數組: n o d e和b i n,n o d e [i ]表示頂點i, bin[i ]指向其N e w值為i的雙向鏈表的頂點, f o r循環(huán)將所有雙向鏈表置為空。如果b≠0,函數InsertBins 將頂點v 插入箱子b 中。因為b 是頂點v 的New 值,b = 0意味著頂點v 不能覆蓋B中當前還未被覆蓋的任何頂點,所以,在建立覆蓋時這個箱子沒有用處,故可以將其舍去。當b≠0時,頂點n 加入New 值為b 的雙向鏈表箱子的最前面,這種加入方式需要將node[v] 加入bin[b] 中第一個節(jié)點的左邊。由于表的最左節(jié)點應指向它所屬的箱子,因此將它的node[v].left 置為b。若箱子不空,則當前第一個節(jié)點的left 指針被置為指向新節(jié)點。node[v] 的右指針被置為b i n [ b ],其值可能為0或指向上一個首節(jié)點的指針。最后, b i n [ b ]被更新為指向表中新的第一個節(jié)點。MoveBins 將頂點v 從它在雙向鏈表中的當前位置移到New 值為ToBin 的位置上。其中存在bMa x,使得對所有的箱子b i n[ j ]都有:如j>bMa x,則b i n [ j ]為空。代碼首先確定n o d e [ v ]在當前雙向鏈表中的左右節(jié)點,接著從雙鏈表中取出n o d e [ v ],并利用I n s e r t B i n s函數將其重新插入到b i n [ To B i n ]中。

4. Undirected::BipartiteCover的實現

函數的輸入參數L用于分配圖中的頂點(分配到集合A或B)。L [i ] = 1表示頂點i在集合A中,L[ i ] = 2則表示頂點在B中。函數有兩個輸出參數: C和m,m為所建立的覆蓋的大小, C [ 0 , m - 1 ]是A中形成覆蓋的頂點。若二分圖沒有覆蓋,函數返回f a l s e;否則返回t r u e。完整的代碼見程序1 3 - 4。

程序13-4 構造貪婪覆蓋

bool Undirected::BipartiteCover(int L[], int C[], int& m)

{// 尋找一個二分圖覆蓋

// L 是輸入頂點的標號, L[i] = 1 當且僅當i 在A中

// C 是一個記錄覆蓋的輸出數組

// 如果圖中不存在覆蓋,則返回f a l s e

// 如果圖中有一個覆蓋,則返回t r u e ;

// 在m中返回覆蓋的大小; 在C [ 0 : m - 1 ]中返回覆蓋

int n = Ve r t i c e s ( ) ;

// 插件結構

int SizeOfA = 0;

for (int i = 1; i <= n; i++) // 確定集合A的大小

if (L[i] == 1) SizeOfA++;

int SizeOfB = n - SizeOfA;

CreateBins(SizeOfB, n);

int *New = new int [n+1]; / /頂點i覆蓋了B中N e w [ i ]個未被覆蓋的頂點

bool *Change = new bool [n+1]; // Change[i]為t r u e當且僅當New[i] 已改變

bool *Cov = new bool [n+1]; // Cov[i] 為true 當且僅當頂點i 被覆蓋

I n i t i a l i z e P o s ( ) ;

LinkedStack<int> S;

// 初始化

for (i = 1; i <= n; i++) {

Cov[i] = Change[i] = false;

if (L[i] == 1) {// i 在A中

New[i] = Degree(i); // i 覆蓋了這么多

InsertBins(New[i], i);}}

// 構造覆蓋

int covered = 0, // 被覆蓋的頂點

MaxBin = SizeOfB; // 可能非空的最大箱子

m = 0; // C的游標

while (MaxBin > 0) { // 搜索所有箱子

// 選擇一個頂點

if (bin[MaxBin]) { // 箱子不空

int v = bin[MaxBin]; // 第一個頂點

C[m++] = v; // 把v 加入覆蓋

// 標記新覆蓋的頂點

int j = Begin(v), k;

while (j) {

if (!Cov[j]) {// j尚未被覆蓋

Cov[j] = true;

c o v e r e d + + ;

// 修改N e w

k = Begin(j);

while (k) {

New[k]--; // j 不計入在內

if (!Change[k]) {

S.Add(k); // 僅入棧一次

Change[k] = true;}

k = NextVe r t e x ( j ) ; }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
毛片av一区二区| 色av成人天堂桃色av| 99久久99久久免费精品蜜臀| 欧美男人的天堂一二区| 国产精品私人影院| 久久超碰97人人做人人爱| 91色九色蝌蚪| 久久精品亚洲国产奇米99| 视频一区视频二区在线观看| 99热精品一区二区| 久久久国产精华| 麻豆精品一区二区三区| 91成人在线免费观看| 国产精品私人影院| 国产成人在线视频网址| 蜜乳av一区二区| 亚洲在线视频网站| 国产乱码精品一区二区三| 欧美四级电影网| 亚洲天堂福利av| 高清av一区二区| 精品久久久久久综合日本欧美| 亚洲国产视频直播| 91国偷自产一区二区三区成为亚洲经典| 精品国产乱码久久久久久图片| 91丨porny丨户外露出| 国产精品毛片大码女人| 久久电影网站中文字幕| 欧美视频中文字幕| 亚洲综合清纯丝袜自拍| 99精品视频一区二区三区| 国产精品久久久久久亚洲毛片| 国产精品亚洲人在线观看| 国产调教视频一区| 成人免费看视频| 国产精品视频免费| av成人免费在线| 亚洲久本草在线中文字幕| 一本高清dvd不卡在线观看| 樱花草国产18久久久久| 色婷婷av一区二区三区gif| 一区二区三区色| 欧美性猛片aaaaaaa做受| 亚洲va天堂va国产va久| 欧美一区二区二区| 国产精品亚洲一区二区三区妖精| 国产亚洲自拍一区| 91麻豆免费观看| 亚洲成av人片| 欧美不卡视频一区| 成人黄色在线视频| 亚洲一区欧美一区| 9191久久久久久久久久久| 麻豆中文一区二区| 国产精品伦理一区二区| 91久久免费观看| 秋霞av亚洲一区二区三| 久久嫩草精品久久久精品一| 99精品视频在线观看| 日韩成人dvd| 欧美激情一区三区| 欧美视频一二三区| 国产一区二区三区黄视频 | 高清在线成人网| 国产精品免费丝袜| 欧美日韩一二三区| 国产一区二区在线观看免费| 综合久久一区二区三区| 欧美三日本三级三级在线播放| 免费av成人在线| 综合av第一页| 欧美一区二区三区免费在线看| 国产原创一区二区| 亚洲成精国产精品女| 久久久99免费| 欧美日韩一区二区在线观看 | 三级久久三级久久| 国产午夜精品久久| 欧美日韩一区二区在线视频| 国产精品影视天天线| 亚洲一区二区视频在线观看| 2021国产精品久久精品| 色诱视频网站一区| 国产精品18久久久久久久网站| 亚洲va在线va天堂| 国产精品久久久一本精品 | 欧美日韩日本视频| caoporm超碰国产精品| 日韩黄色免费网站| 亚洲尤物在线视频观看| 欧美激情中文字幕一区二区| 日韩视频一区二区| 欧美精品国产精品| 欧洲av一区二区嗯嗯嗯啊| 国产成人av电影在线播放| 日本欧美肥老太交大片| 亚洲一区二区在线播放相泽| 国产精品卡一卡二| 国产午夜精品美女毛片视频| 欧美va在线播放| 日韩久久久精品| 91.xcao| 欧美三级视频在线观看| 972aa.com艺术欧美| 成人午夜精品一区二区三区| 国产乱码精品一区二区三区五月婷| 水野朝阳av一区二区三区| 一区二区三区四区视频精品免费| 久久久影院官网| 久久五月婷婷丁香社区| 日韩欧美视频一区| 日韩精品一区二区三区四区视频| 91精品欧美综合在线观看最新| 欧美日韩中文国产| 欧美日韩中文字幕一区二区| 欧美视频一区二区三区在线观看 | 亚洲成人免费视频| 亚洲电影一级黄| 丝袜国产日韩另类美女| 天天综合日日夜夜精品| 日韩制服丝袜av| 日本亚洲三级在线| 久久精品国产澳门| 九色porny丨国产精品| 精品一区二区三区影院在线午夜 | 日韩高清在线电影| 免费国产亚洲视频| 国产在线精品一区二区三区不卡| 国产麻豆91精品| 99久久精品国产毛片| 色香色香欲天天天影视综合网| 91亚洲永久精品| 欧美系列亚洲系列| 日韩欧美自拍偷拍| 国产网站一区二区三区| 亚洲免费在线观看视频| 亚洲国产综合91精品麻豆| 免费成人小视频| 成人午夜激情在线| 欧美唯美清纯偷拍| 精品日韩成人av| 国产精品毛片久久久久久| 亚洲国产一区视频| 国产乱码精品一区二区三区忘忧草| 99久久99久久免费精品蜜臀| 欧美久久久一区| 国产精品午夜免费| 日本亚洲电影天堂| 本田岬高潮一区二区三区| 欧美日韩一区小说| 久久久精品国产免费观看同学| 亚洲欧美中日韩| 日韩高清不卡在线| 成人免费三级在线| 91麻豆精品国产91久久久更新时间| 久久久亚洲欧洲日产国码αv| 国产精品久久久久久久久动漫| 亚洲成年人影院| 高清在线不卡av| 欧美一区二区在线免费观看| 欧美韩国日本不卡| 日韩激情视频网站| 91丨九色丨蝌蚪富婆spa| 正在播放亚洲一区| 亚洲日本在线a| 精品一区二区三区久久| 欧美系列日韩一区| 亚洲国产成人在线| 毛片基地黄久久久久久天堂| 色婷婷av久久久久久久| 国产亚洲成年网址在线观看| 日韩激情视频网站| 在线观看三级视频欧美| 亚洲国产高清不卡| 精彩视频一区二区三区| 欧美日韩视频在线观看一区二区三区| 国产偷v国产偷v亚洲高清| 日韩电影网1区2区| 在线亚洲欧美专区二区| 国产精品久久久久7777按摩| 久久99精品国产91久久来源| 欧美一区二区三区小说| 亚洲综合视频网| 93久久精品日日躁夜夜躁欧美| 久久青草欧美一区二区三区| 美洲天堂一区二卡三卡四卡视频| 色拍拍在线精品视频8848| 国产精品久久久久久户外露出| 激情av综合网| 欧美大片免费久久精品三p| 亚洲国产精品久久艾草纯爱| 色老汉av一区二区三区| **欧美大码日韩| 91网页版在线| 亚洲日本在线看| 色呦呦网站一区| 一级特黄大欧美久久久| 色噜噜狠狠色综合中国| 亚洲人成网站在线| 91福利区一区二区三区|