ebook39-13

Similar documents

Ps22Pdf

ebook39-5

untitled

校园之星

Untitled


ebook39-6


因 味 V 取 性 又 鸟 U 且 最 大 罗 海 惜 梅 理 春 并 贵 K a t h l ee n S c h w e r d t n er M f l e z S e b a s t i a n C A Fe rs e T 民 伊 ' 国 漳 尤 地 视 峰 州 至 周 期 甚 主 第 应

该 奈 自 受 PZ 多 透 soc i e B t h y. y t is NA YL OR exp os ed t h a t b e i n g wh o res or sa in t es s e s we r e m ad e n b ot om. M ean wh i l e NA YL

Ps22Pdf

歡 迎 您 成 為 滙 豐 銀 聯 雙 幣 信 用 卡 持 卡 人 滙 豐 銀 聯 雙 幣 信 用 卡 同 時 兼 備 港 幣 及 人 民 幣 戶 口, 讓 您 的 中 港 消 費 均 可 以 當 地 貨 幣 結 算, 靈 活 方 便 此 外, 您 更 可 憑 卡 於 全 球 近 400 萬 家 特

26 D00 27 D02 28 D03 29 D05 30 D06 31 D10 32 D12 33 D13 34 D14 35 D16 36 D17 37 D18, 38 D19 39 D20 40 D21 41 D22 42 D23 43 D24 44 D25 45 D26 46 D27 47


使 小 趙 有 機 可 趁 二 員 工 法 紀 觀 念 薄 弱 小 趙 身 為 主 管, 竟 假 藉 職 務 之 便, 利 用 平 時 得 經 常 申 請 出 差 之 機 會, 虛 立 出 差 名 目, 實 係 法 紀 觀 念 薄 弱 使 然 肆 具 體 改 進 措 施 或 建 議 一 訂 定 或

03-04 Self-Study Questionnaire

2. 读 课 文, 填 空 : (1) 树 上 垂 挂 着 择 怎 侉 (2) 孔 雀 好 像 美 人 拖 着 (3) 象 身 上 刺 着, 耳 朵 上 戴 着, 脖 子 上 系 着 (4) 象 主 人 敲 着, 象 小 姐 踩 着 一 摇 一 晃 的 (5) 小 松 鼠 歪 着, 朝 你 挤 眉

公共圖書館利用教育方案規劃之研究


<4D F736F F D B0EABB79A4E5B8D5C344BBBCB065AAA9>


康體藝術

untitled

VF---10

vi


NethersoleJO89(8).indd

*!!"!" # $!"#$!" %& (( )*+(, *- "))./*0--"/"12 304"550 2 (5(31 *4&* (,", (4 "/1(+ - *) $ 6"1& 4( )",,"*/!" #$#%& ()*)+,)(- +"./#!-)0 & ()*)+,)(- 0" )-

星际探险

C39N410.dvi

辽石化大委发[2007]33号

國家圖書館典藏電子全文

,623, ,126, ,202, , ,178, ,205,570 25,381, ,115, ,783,128 6,711,900 4,390,536 3,640,0

(Microsoft Word - 3\271\375\246\321\257R.doc)

大 台 北 與 桃 竹 苗 地 區 北 得 拉 曼 巨 木 步 道 新 竹 縣 尖 石 鄉 鎮 西 堡 巨 木 群 步 道 新 竹 縣 尖 石 鄉 鳥 嘴 山 登 山 步 道 苗 栗 縣 泰 安 鄉 加 里 山 登 山 步 道 苗 栗 縣 南 庄 鄉

Microsoft Word - WZTU doc


<4D F736F F D20B5D8BFD5D1A7D4BAA3A8B5D8C7F2CEEFC0EDA1A2B5D8C7F2BBAFD1A7A3A9>

Microsoft Word doc

“关于北京重点高校在校生回乡就业意愿调查问卷”



<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

《全宋词》

1.5招募说明书(草案)

中, 年 以 及 年 保 持 较 快 的 增 长 速 度, 而 年 增 长 则 相 对 平 缓 以 政 府 投 入 为 主 的 公 共 卫 生 总 费 用 ( 广 义 政 府 支 出 ) 占 卫 生 总 费 用 的 比 例 近 年 来 明 显


書本介紹

Microsoft Word - 完全手冊-課程.doc

勞動條件檢查執行重點(雲林)_ [相容模式]

醋 水 法 在 水 盆 內 放 入 約 七 分 滿 的 水 與 1/2 到 1 小 杯 的 醋 量, 將 髒 襪 子 浸 泡 一 晚, 隔 天 再 丟 入 洗 衣 機, 就 能 洗 得 相 當 乾 淨 醋 有 殺 菌 除 臭 和 漂 白 功 效, 使 用 過 的 醋 水, 還 可 清 理 地 板,

穨 PDF

第一冊 第四章 分裂與再統一 班級 座號 姓吊

新版 明解C++入門編

《捕捉儿童敏感期》

2 國 文 考 科 試 題 解 析 命 題 出 處 與 南 一 版 第 五 冊 第 二 課 幽 夢 影 選 課 程 內 涵 同 試 題 解 析 某 君 講 信 用, 重 然 諾, 行 事 穩 健, 工 作 負 責 較 符 合 謹 飭 友 謹 飭 友 指 的 是 言 行 謹 慎 而 有 節 制 的 朋

untitled

29 碳 酸 钙 D3 片 ( 别 名 维 生 素 D3 碳 酸 钙 ) 吉 林 省 第 一 批 低 价 药 30 炔 诺 酮 滴 丸 吉 林 省 第 一 批 低 价 药 31 去 氯 羟 嗪 片 吉 林 省 第 一 批 低 价 药 32 茶 苯 海 明 片 吉 林 省 第 一 批 低 价 药 33

untitled

untitled

穨飲食與養老_決定版_.PDF

校园之星


赔 偿 ), 保 险 公 司 在 其 承 保 范 围 内 承 担 赔 偿 责 任 ;2 案 件 受 理 费 由 四 被 告 承 担 为 支 持 其 诉 讼 主 张, 原 告 江 明 相 在 举 证 期 限 内 向 本 院 提 供 了 下 列 证 据 材 料 供 法 庭 组 织 质 证 : 1 鉴 定

Microsoft Word - RAP CHI.doc

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

Ps22Pdf

e bug 0 x=0 y=5/x 0 Return 4 2

Ps22Pdf

新・解きながら学ぶJava

( ) 001 ( CIP ) /. :, 2005 ISBN G25-53 CIP (2005) ( 147 : ) 890 mm 1240 mm ISBN

金 陵 饭 店 中 兴 华 已 报 备 按 照 国 资 委 要 求 定 期 轮 换 天 衡 已 报 备 按 照 国 资 委 要 求 定 期 轮 换 *ST 中 富 中 喜 已 报 备 业 务 约 定 书 到 期 普

昆 明 机 床 瑞 华 已 报 备 前 任 服 务 年 限 较 长 毕 马 威 华 振 已 报 备 未 与 客 户 未 就 2015 年 审 计 收 费 达 成 一 致 意 见 中 国 核 电 天 健 已 报 备 定

辉 丰 股 份 重 大 事 项, 特 停 南 方 轴 承 临 时 停 牌 德 力 股 份 临 时 停 牌 瑞 丰 光 电 临 时 停 牌 联 建 光 电 临 时 停 牌 卡 奴 迪 路 临 时 停 牌

股票代码: 股票简称:*ST新梅 编号:临

东 华 能 源 江 苏 苏 亚 金 诚 已 报 备 因 地 域 及 审 计 时 间 安 排 等 原 因 中 兴 华 已 报 备 客 户 重 新 选 聘 会 计 师 事 务 所 亿 帆 鑫 富 立 信 已 报 备 客

光 一 科 技 重 大 事 项, 特 停 茂 业 商 业 重 要 事 项 未 公 告, 连 续 停 牌 浙 富 控 股 重 大 事 项, 特 停 键 桥 通 讯 重 大 事 项, 特 停 黑 牛 食 品 重 大 事 项, 特 停

郑 州 煤 电 重 要 事 项 未 公 告, 连 续 停 牌 金 圆 股 份 重 大 事 项, 特 停 永 鼎 股 份 重 要 事 项 未 公 告, 连 续 停 牌 长 城 影 视 临 时 停 牌 天 兴 仪 表 临 时 停 牌

金 圆 股 份 重 大 事 项, 特 停 长 城 影 视 临 时 停 牌 天 兴 仪 表 临 时 停 牌 商 赢 环 球 重 要 事 项 未 公 告, 连 续 停 牌 荣 安 地 产 临 时 停 牌 中 南 文 化

证券代码:000776   股票简称:延边公路   编号:2003-00

商 业 城 大 华 标 准 70 万 70 万 驰 宏 锌 锗 瑞 华 标 准 140 万 150 万 亚 星 锚 链 江 苏 公 证 天 业 标 准 80 万 80

欢迎辞

日 涨 幅 偏 离 值 达 到 7% 的 前 五 只 证 券 : 温 氏 股 份 ( 代 码 ) 涨 幅 偏 离 值 :11.68% 成 交 量 :1752 万 股 成 交 金 额 : 万 元 机 构 专 用 机 构 专 用

上市公司股东大会投票信息公告( )

金 利 科 技 临 时 停 牌 凤 凰 光 学 重 要 事 项 未 公 告, 连 续 停 牌 安 源 煤 业 重 要 事 项 未 公 告, 连 续 停 牌 万 泽 股 份 临 时 停 牌 爱 康 科 技 重 大 事 项, 特 停

卧 龙 地 产 重 要 事 项 未 公 告, 连 续 停 牌 春 兴 精 工 临 时 停 牌 *ST 沧 大 重 要 事 项 未 公 告, 连 续 停 牌 天 地 源 重 要 事 项 未 公 告, 连 续 停 牌 汇 冠 股 份

Untitled Document

BB.3

untitled

硕士论文正文

yy.xls


13. 下 列 植 物 的 向 性 或 運 動, 哪 些 是 受 到 生 長 素 作 用 的 影 響?(5-4) 甲. 睡 蓮 的 花 到 了 晚 上 會 合 起 來 ; 乙. 黃 瓜 的 捲 鬚 攀 附 竹 竿 向 上 生 長 ; 丙. 含 羞 草 的 葉 經 碰 觸 後 閉 合 ; 丁. 紅 豆


第十二章 角色转换 走向成功

16 标 本 缓 急 的 护 理 原 则 不 包 括 ( 扶 正 祛 邪 法 ) 17 顺 从 疾 病 假 象 而 进 行 护 理 的 方 法 为 ( 反 护 法 ) 18 下 列 属 于 正 护 法 的 是 ( 虚 则 补 之 ) 19 因 中 气 不 足 脾 阳 不 运 而 致 的 腹 胀 便

???p???????????i?h?h?D???N_?s_

國立和美實驗學校103學年度第1次教師甄選簡章

3. 透 過 團 體 小 組 分 別 設 計 出 一 套 自 行 車 伸 展 操 4. 教 師 介 紹 騎 乘 自 行 車 上 座 方 法 煞 車 及 踩 踏 等 要 領. 練 習 自 行 車 運 動 中 基 本 的 上 座 平 衡 直 行 轉 彎 煞 車 等 動 作 ( 二 ) 自 行 車 運 動

Transcription:

1 3 13 ~ 17 13.1 optimizatio problem c o s t r a i t optimizatio fuctio feasible solutio optimal solutio 13-1 [ ] 1 i s i i a i i t i i= 1 x i x 1 i i s i x i x i =t 0 x i a i i=1 a i < t i= 1

406 / t s i a i 1 i t s i a i i= 1 x i 1 i s i x i i=1 x i =t 0 x i a i i= 1 a i <t x i =t 0 x i a i 1 i s i x i i= 1 x i s i x i i= 1 13-2 [ ] i w i 1 i c x i 0 1 x i 0 i 1 i x i x i w i x i c x i {0, 1, 1 i x i i= 1 x i x i i= 1 13-3 [ ] 12-2 13.2 greedy method greedy criterio 13-4 [ ] 1 1 25 10 5 1 67 25 2 67 10 5 1 1 13-5 [ ] s i f i s i < f i [s i, f i ] i i j i= 1 i= 1

1 3 4 0 7 i j [ 1 4 ] [ 2 4 ] [ 4 7 ] = 7 a g 13-1a a M1 b M2... g M7 a b d a) b) 13-1 a) 7 b) = 7 a f b c g e d a M1 0 2 13-1 b f f f ( M2 ) b, M1 S b = 3 b M1 M1 f b = 7 M2 f f = 5 c S c = 4 c M3 f c = 7 g M2 e M1, 2 M3 d M2 7 O (l o g) O (l o g) S i

408 13-6 [ ] 13-2 s d 13-2 q q d q 13-2 1 5 1 3 2 3 4 4 2 5 1, 3, 4, 2, 5 10 1 5 1 4 5 6 9. 5. 3-1 9. 5. 2 L P T 9. 5. 2 h e u r i s t i c s ) L P T 9-2 L P T L P bouded performace a p p r o x i m a t i o a l g o r i t h m 10. 5. 1 9. 5. 2 L P T 9. 5. 2

1 3 4 0 9 1. 13-4 2. 13-4 25 10 5 1 3. 13-4 50, 20, 10, 5, 1 x y u v 4. C + + 13-4 100 2 0 1 0 5 1 5. 14, 2, 5 1 13-4 6. 1) 13-5 2) O (l o g) *7. 13-5 {a,b,e 1) 2) O( l o g) 13.3 13.3.1 13-2 13-7 =8, [w 1,... w 8 ]=[100,200,50,90,150,50,20,80], c= 400 7, 3, 6, 8, 4, 1, 5, 2 7, 3, 6, 8, 4, 1 390 1 0 [x 1,..., x 8 ] = [ 1, 0, 1, 1, 0, 1, 1, 1 ] x i = 6 13-1 x = [x 1,..., x ] y=[ y 1,..., y ] x i y i i= 1 i= 1 w i w i + 1 1 i y x y y i= 1 i x i= 1 i y j = 1 i [0, ] k x i =1, i k x i =0, i>k

410 [ 1,] j x j y j j x i = y i j j k y x j y j x j = 1 y j = 0 y j = 1 y [ j+ 1,] l y l = 1 y l = 0 w j w l y y y 1 y x y y 1 x y 1 C + + 13-1 1 3-1 I d i r e c t S o r t 3. 5 O (l o g) 9. 5. 1 14 O () 13-1 O (l o g) 13-1 i= 1 i= 1 template<class T> void CotaierLoadig(it x[], T w[], T c, it ) {// // x[i] = 1 i 1<=i<= // c, w // // t it *t = ew it [+1]; I d i r e c t S o r t ( w, t, ); //, w[t[i]] <= w[t[i+1]], 1<=i< // x for (it i = 1; i <= ; i++) x[i] = 0; // for (i = 1; i <= && w[t[i]] <= c; i++) { x[t[i]] = 1; c -= w[t[i]]; // delete [] t; 13.3.2 0/1 0 / 1 c i w i p i p i x i w i x i c x i [ 0, 1 ] ( 1 i ) i=1 x t x i = 1 i x i =0 i i=1

1 3 4 1 1 0 / 1 13-8 c i p i 0 / 1 0 / 1 =2, w =[100,10,10], p =[20,15,15], c= 105 x= [ 1, 0, 0 ] 20 [ 0, 1, 1 ] 30 = 2, w=[10,20], p=[5,100], c= 25 x =[1,0], [ 0, 1 ] p i /w i p i /w i = 3, w=[20,15,15], p=[40,25,25], c=30 0 / 1 N P 9. 5. 2 N P p i /w i 600 239 583 10 % 600 25 % O (l o g) x (x<100) x% =2, w = [ 1,y], p= [ 10, 9y], c= y x=[1,0], 10 y 1 0 / 9 9 y (( 9y - 10)/9y* 100 )% y 100 % x% (x<100) k k c p i /w i k 13-9 =4, w =[2,4,6,7], p=[6,10,12,13], c = 11 k= 0 1 2 5 x = [ 1, 1, 0, 0 ] 16 k = 1 { 1,{ 2,{ 3,{ 4 { 1,{ 2 k= 0 { 3 1 5 x 3 5 1 x 1 1 3 w i

412 { 3 x = [ 1, 0, 1, 0 ] 18 { 4 x = [ 1, 0, 0, 1 ] 19 0 1 [ 1, 0, 0, 1 ] k= 1 k= 2 k< 2 { 1, 2,{ 1, 3,{ 1, 4,{ 2, 3,{ 2, 4 { 3, 4 [ 1, 1, 0, 0 ],[ 1, 0, 1, 0 ],[ 1, 0, 0, 1 ],[ 0, 1, 1, 0 ] [ 0, 1, 0, 1 ] 23 k= 0 k= 1 k k - o p t i m a l k k ( 100 /(k + 1 ))% k= 1 50 % k= 2 33. 33 % k O ( k ) O () k >0 O ( k+1 ) 13-3 600 k 0 1 % 5 % 10 % 25 % 0 239 390 528 583 600 1 360 527 598 600 2 483 581 600 13-3 600 x% 13.3.3 Activity O Vertex, AOV (i, j) j i 13-4 1, 4 1 4 4, 6 4 6 1, 4 4, 6 1 6 1, 4 1, 3 3, 4 i, j i j topological orders topological sequeces) topological sortig 1 3-4 123456 1 32456 2 15346 142356 4 3 3, 4 3, 4

1 3 4 1 3 w w v,w v w v,w v v w 13-5 while 13-4 V V 1 2 V = 2 V 1 5 V = 25 1 V = 251 3 V 13-4 V = 2513 4 6 V = 251346 V w h i l e(t ru e) { w v,w v V w b re a k w V i f(v ) else V 1. 13-5 1) 2) V 2) 1) 13-2 q j q j + 1 q k q j, q j q j 13-2 13-5 V <, V q 1 q 2, q 1 q 2 V q 1 V q 3, q 2 q 3 V q 3 = q 1 q 1 q 2 q 3 q 3 q 1 q 4 q 4, q 3 q 4 V q 3 V q 4 q 1, q 2, q 3

414 2. 13-5 C + + V V v V I D e g r e e I D e g r e e[ j ] j i i V i, j I D e g r e e[ j ] 0 j V I D e g r e e[ j ] j V j I D e g r e e[ j ] 1 13-4 I D e g r e e [ 1 : 6 ] = [ 0, 0, 1, 3, 1, 3 ] 1 2 I D e g r e e 0 V 1 2 V I D e g r e e 2 V v [ 0 ] = 2 I D e g r e e [ 1 : 6 ] = [ 0, 0, 1, 2, 0, 3 ] I D e g r e e [ 5 ] 0 5 13-2 C + + N e t w o r k AdjacecyGraph, AdjacecyWGraph L i k e d G r a p h L i k e d W G r a p h N e t w o r k Topological t r u e f a l s e v [ 0 :- 1 ] 3. Network:Topological f o r ( ), for ( 2 ), (+e) while w v while out w h i l e w () d w while ( 2 ) (+e) 13-2 ( 2 ) (+e) 13-2 bool Network::Topological(it v[]) {// // t r u e v [ 0 : - 1 ] // f a l s e it = Ve r t i c e s ( ) ; // it *IDegree = ew it [+1]; IitializePos(); // for (it i = 1; i <= ; i++) // IDegree[i] = 0; for (i = 1; i <= ; i++) {// i it u = Begi(i); while (u) { I D e g r e e [ u ] + + ;

1 3 4 1 5 u = NextVe r t e x ( i ) ; // LikedStack<it> S; for (i = 1; i <= ; i++) if (!IDegree[i]) S.Add(i); // i = 0; // v while (!S.IsEmpty()) {// it w; S. D e l e t e ( w ) ; v[i++] = w; it u = Begi(w); // while (u) {// I D e g r e e [ u ] - - ; if (!IDegree[u]) S.Add(u); u = NextVe r t e x ( w ) ; D e a c t i v a t e P o s ( ) ; delete [] IDegree; retur (i == ); 13.3.4 12-3 A B A B B A A' B A' A' A' A' B A' 13-10 13-6 17 A={1, 2, 3, 16, 17 B={4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 A' = { 1, 16, 17 B 13-6 1 3-1 0

416 b i p a r t i t e - c o v e r 12-3 s e t - c o v e r k S= {S 1, S 2,, S k S i U S' S i =U S S' U S ' U S' A S 1,, S k B U S U A B 1 3-11 S= {S 1... S 5, U= { 4 5... 15, S 1 = { 4 6 7 8 9 1 3 S 2 = { 4 5 6 8 S 3 = { 8 1 0 1 2 1 4 1 5 S 4 = { 5 6 8 1 2 1 4 1 5 S 5 = { 4 9 1 0 11 S ' = {S 1 S 4 S 5 3 S' 13-6 1 2 3 1 6 1 7 S 1 S 2 S 3 S 4 S 5 j j 4 j 1 5 N P N P A' A A B 13-12 13-6 A' = B 1 1 6 B 3 2 1 7 A' 1 1 6 16 { 5, 6, 8, 12, 14, 15 { 4, 7, 9, 10, 11, 13 1 { 4, 7, 9, 13 2 ({ 4 ) 3 { 10 1 6 17 { 4, 9, 10, 11 1 1 7 A' 1 { 10, 11 1 2 1 6 3 17 17 A' = { 16, 1, 1 3-7 1) 2) i A' = w h i l e A' i f e l s e 13-7 1. 13-7 A' A B A' C A ' m A' A' C[ 0 :m-1] A i N e w i i B N e w i

1 3 4 1 7 N e w i B V j A j N e w i 1 13-13 13-6 (N e w 1, N e w 2, N e w 3, N e w 16, N e w 17 ) = ( 6, 4, 5, 6, 4 ) 13-12 16 N e w i B 5, 6, 8, 12, 14 1 5 5 2 1 6 N e w i 1 5 2 1 6 6 1, 2, 1 6 1 8 1 2 3 1 6 1 N e w i 4 1 0 4 1 4 7 9 1 3 4 N e w 1, N e w 2, N e w 17 1 7 N e w 1 1 7 N e w i N e w New[i] N e w i c o v i c o v [ i ] f a l s e c o v [ i ] t r u e 13-7 13-8 m=0; // A i New[i]=Degree[i] B i C o v [ i ] = f a l s e while ( A i,new[i]>0) { v N e w [ i ] C [ m + + ] = v ; for ( v j) { if (!Cov[j]) { Cov[j]= true; j N e w [ k ] 1 if ( ) else 13-8 1 3-7 N e w O (e) e ( 2 ) (+e) O ( 2 ) O (+e) (S i z e O f A) S i z e O f A= A A O (S i z e O f A) O ( S i z e O f A 2 + 2 ) = O ( 2 ) O (S i z e Of A 2 + + e) 2. N e w i max selectio tree v ( 1 ) N e w i (S i z e O f B) (S i z e O fb = B ) 3. 8. 1 S i z e O f B S i z e O f A

418 N e w N e 1 N e w N e w 1 ( 1 ) O (e) O (e) O ( 2 ) O (+e) N e w (log S i z e O f A) N e w 1 O (e) O (e log S i z e OfA) N e w N e w 0 S i z e O f B S i z e O f B+ 1 i N e w i N e w [ 6 ] 1 2 4 12 4 o d e o d e [ i ] i o d e [ i ]. l e f t o d e [ i ]. r i g h t 6 12 4 12 o d e [ 0 ] 4 O ( 2 ) O(+e) 3. 13-9 U d i r e c t e d N o d e Ty p e l e f t r i g h t 13-3 U d i r e c t e d void CreateBis (it b, it ) b void DestroyBis() { delete [] ode; delete [] bi; void IsertBis(it b, it v) b v void MoveBis(it bmax, it ToBi, it v) v To B i it *bi; b i [ i ] N o d e Type *ode; o d e [ i ] i 13-9 U d i r e c t e d 13-3 void Udirected::CreateBis(it b, it ) {// b ode = ew NodeType [+1];

1 3 4 1 9 bi = ew it [b+1]; // for (it i = 1; i <= b; i++) bi[i] = 0; void Udirected::IsertBis(it b, it v) {// b v b if (!b) retur; // b 0 ode[v].left = b; // if (bi[b]) ode[bi[b]].left = v; ode[v].right = bi[b]; bi[b] = v; void Udirected::MoveBis(it bmax, it ToBi, it v) {// v To B i. // v it l = ode[v].left; it r = ode[v].right; // if (r) ode[r].left = ode[v].left; if (l > bmax bi[l]!= v) // ode[l].right = r; else bi[l] = r; // l // To B i I s e r t B i s ( ToBi, v); C r e a t e B i s o d e b i o d e [i ] i, bi[i] N e w i, f o r b 0 IsertBis v b b v New b = 0 v B b 0 New b ode[v] bi[b] ode[v].left b left ode[v] b i [ b ] 0 b i [ b ] MoveBis v New ToBi bma x b i [ j ] j>bma x b i [ j ] o d e [ v o d e [ v ] I s e r t B i s b i [ To B i ] 4. Udirected::BipartiteCover L A BL [i ] = 1 i A L[ i ] = 2 B C m m C [ 0, m - 1 ]

420 A f a l s e t r u e 1 3-4 13-4 bool Udirected::BipartiteCover(it L[], it C[], it& m) {// // L, L[i] = 1 i // C // f a l s e // t r u e ; // m ; C [ 0 : m - 1 ] it = Ve r t i c e s ( ) ; // it SizeOfA = 0; for (it i = 1; i <= ; i++) // A if (L[i] == 1) SizeOfA++; it SizeOfB = - SizeOfA; CreateBis(SizeOfB, ); it *New = ew it [+1]; // i N e w [ i ] bool *Chage = ew bool [+1]; // Chage[i] t r u e New[i] bool *Cov = ew bool [+1]; // Cov[i] true i I i t i a l i z e P o s ( ) ; LikedStack<it> S; // for (i = 1; i <= ; i++) { Cov[i] = Chage[i] = false; if (L[i] == 1) {// i A New[i] = Degree(i); // i IsertBis(New[i], i); // it covered = 0, // MaxBi = SizeOfB; // m = 0; // C while (MaxBi > 0) { // // if (bi[maxbi]) { // it v = bi[maxbi]; // C[m++] = v; // v // it j = Begi(v), k; while (j) { if (!Cov[j]) {// j

1 3 4 2 1 Cov[j] = true; c o v e r e d + + ; // N e w k = Begi(j); while (k) { New[k]--; if (!Chage[k]) { // j S.Add(k); // Chage[k] = true; k = NextVe r t e x ( j ) ; j = NextVe r t e x ( v ) ; // while (!S.IsEmpty()) { S. D e l e t e ( k ); Chage[k] = false; MoveBis(SizeOfB, New[k], k); else MaxBi--; D e a c t i v a t e P o s (); D e s t r o y B i s (); delete [] New; delete [] Chage; delete [] Cov; retur (covered == SizeOfB); 13-4 A B C o v C h a g e f a l s e A B SizeOfB 1 v New C B j v C o v [ j ] t r u e j B 1 j A j New 1 while New New v Cov N e w A New while 13.3.5 G a [i ][ j ] s 13-10a s 1 1 13-10b

422 a) b) 13-10 a) b) E. Dijkstra D i j k s t r a s 0 D i j k s t r a 13-10 b p p [ i ] s i i p [ 1 : 5 ] = [ 0, 1, 1, 3, 4 ] s i i p[i],p[p[i]],p[p[p[i]]], s 0 i = 5 p[i]=4, p[4]=3, p[3]=1=s 1, 3, 4, 5 d [ i ] i s s 0 i d [ i ] a [ s ][ i ] a d d 13-11 1) s p s s i s

1 3 4 2 3 p [ i ] d 1) d[i] =a[s] [i] 1 i s i p[i] =s, p[i] = 0 p[i] 0 L 2) L 3 ) 3) L d 4) i j d[ j] m i {d[ j], d[i] +a[i][ j] d[ j ] j L p[ j ] = 1 j L 2 1. 1 3-11 L d L 9. 3 3) O ( ) O ( l o g ) d 4) d O( )= O ( 2 ) O ( 2 l o g ) L 3) 4) O ( 2 ) 3) O( L ) =O ( ) ( 1 ) d[j] 13-11 13-5 C h a i ( 3-8 ) C h a i I t e r a t o r 3-18 13-5 template<class T> void AdjacecyWDigraph<T>::ShortestPaths(it s, T d[], it p[]) {// s, d // p if (s < 1 s > ) throw OutOfBouds(); Chai<it> L; // ChaiIterator<it> I; // d, p, L for (it i = 1; i <= ; i++){ d[i] = a[s][i]; if (d[i] == NoEdge) p[i] = 0; else {p[i] = s; L. I s e r t ( 0, i ) ; // d, p while (!L.IsEmpty()) {// d v it *v = I.Iitialize(L);

424 it *w = I.Next(); while (w) { if (d[*w] < d[*v]) v = w; w = I.Next(); // L v d it i = *v; L. D e l e t e ( * v ) ; for (it j = 1; j <= ; j++) { if (a[i][j]!= NoEdge && (!p[j] d[j] > d[i] + a[i][j])) { // d [ j ] d[j] = d[i] + a[i][j]; // j L if (!p[j]) L.Isert(0,j); p[j] = i; N o E d g e N o E d g for i f if (d[j] > d[i] + a[i][j])) NoEdge d[j]+a[i][j] 2. 13-5 O ( 2 ) O ( e ) O ( 2 ) O ( 2 ) 13-5 f o r O ( e ) i d L O( 2 ) 13.3.6 12-2 1 3-3 G 1 G 1 K r u s k a l P r i m S o l l i 1. Kruskal (1) K r u s k a l - 1 K r u s k a l e e e

1 3 4 2 5 a) b) c) d) e) f) g) h) 13-12 13-12a 13-12b 1, 6 13-12 c 3 4 13-12 d ( 2 7 ) 13-12 e 2 3 13-12 f

426 7 4 5 4 13-12g 7 5 6 5 13-12 h 99 13-13 K r u s k a l // T T= E w h i l e(e )&&( T - 1 ) { (u,v) E E=E- { (u,v) / / E i f( (u,v) T u,v T i f( T = =-1) T e l s e (2) 13-13 Kruskao 13-13 1) K r u s k a l 2) G G 12. 11. 3 Kruskal G T E G E= T < - 1 T G U T U - 1 T=U, T T U k(k >0) T U k U T U T U T k T U 1 U k U U T T e U U f e f 1) e T U k >0 2) e U f T T e f V=U+ {e-{ f T k- 1 V V U V U e

1 3 4 2 7 f e f V U e f K r u s k a l f e f T Kruskal f T f f T f e U U e f e f V U (3) e (e) O ( l o ge) T G u,v F i d T 2 U i o F i d U i o 8. 10. 2 F i d 2e U i o - 1 - O (+e) T T t T - 1 T O () 13-13 O (+el o ge) (4) 13-13 C + + E d g e N o d e 13-6 ) t 13-6 Kruskal template <class T> class EdgeNode { ; p u b l i c : operator T() cost {retur weight; p r i v a t e : T weight;// it u, v;// 8. 10. 2 U i o F i d 8-16 U i o 8-16 F i d 8-17 U N e t Wo r k U d i r e c t e d U d i r e c t e d U N e t Wo r k U N e t Wo r k N e t w o r k B e g i N e x t Ve r t e x W N e t w o r k 13-7

428 13-7 WNetwork template<class T> class WNetwork : virtual public Network { ; public : virtual void First(it i, it& j, T& c)=0; virtual void Next(it i, it& j, T& c)=0; B e g i N e x t Ve r t e x A d j a c e c y W D i g r a p h L i k e d W D i g r a p h F i r s t N e x t A d j a c e c y W D i g r a p h L i k e d W D i g r a p h W N e t Wo r k A d j a c e c y W G r a p h L i k e d W G r a p h U N e t w o r k U N e t Wo r k U N e t Wo r k :: K r u s k a l 13-8 Edges() N e t Work U N e t Wo r k E d g e N o d e f a l s e t r u e true t 13-8 Kr u s k a l C + + template<class T> bool UNetwork<T>::Kruskal(EdgeNode<T> t[]) {// K r u s k a l // false // t [ 0 : - 2 ] it = Ve r t i c e s ( ) ; it e = Edges(); / / IitializePos(); // EdgeNode<T> *E = ew EdgeNode<T> [e+1]; it k = 0; // E for (it i = 1; i <= ; i++) { // i it j; T c; First(i, j, c); while (j) { // j i if (i < j) {// E E[++k].weight = c; E[k].u = i; E[k].v = j; Next(i, j, c); // MiHeap<EdgeNode<T> > H(1); H.Iitialize(E, e, e); UioFid U(); // /

1 3 4 2 9 // k = 0; // t while (e && k < - 1) { // EdgeNode<T> x; H.DeleteMi(x); // e - - ; it a = U.Fid(x.u); it b = U.Fid(x.v); if (a!= b) {// t[k++] = x; U. U i o ( a, b ) ; D e a c t i v a t e P o s ( ) ; H. D e a c t i v a t e ( ) ; retur (k == - 1); 2. Prim Kr u s k a l P r i m Kruskal P r i m T T u, v T { (u, v) T - 1 u, vu v T P r i m 13-1 4 13-15 13-12a P r i m 13-14 C + + 31 / / T T V T V= { 1 E w h i l e(e< > ) & & ( T < > -1) { u, v u T V, v T V i f b re a k E=E- { (u,v) / / E T u, v if ( T = =- 1 ) T else 13-14 Prim

430 a) b) c) d) e) f) 13-15 Prim T V v e ar (v) e ar TV c o st (v, e ar (v)) e ar (v) P r i m O ( 2 ) T cost (v, ear (v)) v T V 3. Solli S o l l i a) b) 13-16 Solli

1 3 4 3 1 1 3-6 13-12a S o l l i 0 13-12a, 1 2 7 (1.6), (2,7), (3,4), (4,3), (5,4), (6,1), (7,2) ( 1, 6 ) ( 2, 7 ) (3,4) ( 5, 4 ) 13-16 a { 1, 6 ( 6, 5 ) ( 2, 3 ) 13-6 b S o l l i C + + 32 ) 8. 9. i t i 1 2 i c i = i t j = 1 j Av e rge Completio Time, ACT 1 c i i= 1 1) 4 2 8 1 2 3 4 A C T 2) 2 1 4 3 A C T 3) A C T 1 ) 4 2 1 3 A C T 4) C + + 3) O (l o g) 5) 3) A C T 10. 9 A C T 9 A C T 9 1 4 2 1 1 2 3 H 1) C + + 2) A C T 11. 1) m 10 2) 3) C + + 12. 4-4 1) 2) 3) C + + 1) 4) 13. C + + 0 / 1 14. k= 1 C + + 0 / 1 15. k= 1 0 / 16. k= 2 C + + 0 / 1

432 17. 0 x i 1 x i { 0, 1 1) =3, w=[100,10,10], p= [ 20, 15, 15 ] c= 105, 2) 3) C + + 18. 1 3-1 17 1 19. 1) 13-7 2) 13-7 20. 1 13-7 21. B A A A 1) 2) C + + U d i r e c t e d 3) 4) 22. G S G S S c l i q u e S maximum clique N P 1) 2) 1) 3) 1) Udirected::Clique(it C, it m) m C 4) 23. G S G S idepedet set N P 22 24. G G { 1, 2, G N P 22 25. 26. 13-11 27. P a t h ( p, s, i ) S h o r t e s t P a t h s p s i 28. L i k e d w D i g r a p h 13-5

1 3 4 3 3 29. L i k e d W D i g r a p h O () 13-5 L 30. N e t w o r k 12-15 D N e t w o r k S h o r t e s t P a t h s O ( 2 ) *31. 1) P r i m 13-14 2) 13-14 C + + U N e t w o r k :: P r i m O ( 2 ) 3) O( 2 ) *32. 1) S o l l i 2) S o l l i 3) C + + U N e t w o r k :: S o l l i S o l l i 4) *33. T S T T / S T S T / d 1) S 2) 3) T *34. T / S S 33 13.4 V.Paschos. A Survey of Approximately Optimal Solutios to Some Coverig ad Packig Problems. ACM Computig Surv e y s, 29, 2, 1997, 171~209 B. Moret, H. Shapiro. A Empirical Assessmet of Algorithms for Costructig a Miimum Spaig tree. DIMACS Series i Discrete Mathematics, 15, 1994, 99~11 7