Untitled
Transcription
Untitled
£« ¢«¥¨¥ ।¨á«®¢¨¥ â ª¨£ ¯®¤à®¡® à á᪠§ë¢ ¥â ® ᮢ६¥ëå ¬¥â®¤ å ¯®áâ஥¨ï ¨ «¨§ «£®à¨â¬®¢. ¥© ¯®¤à®¡® à §®¡à ® ¬®£® ª®ªà¥âëå «£®à¨â¬®¢; ¬ë áâ à «¨áì à á᪠§ âì ® ¨å ¯®ïâ®, ® ¥ ®¯ãáª ï ¤¥â «¥© ¨ ¥ ¦¥àâ¢ãï áâண®áâìî ¨§«®¦¥¨ï. «£®à¨â¬ë § ¯¨á ë á ¢¨¤¥ "¯á¥¢¤®ª®¤ " ¨ ¯à®ª®¬¬¥â¨à®¢ ë ¢ ⥪áâ¥; ¬ë áâ à «¨áì ᤥ« âì ®¯¨á ¨¥ «£®à¨â¬ ¯®ïâë¬ «î¤ï¬ á ¬¨¨¬ «ìë¬ ¯à®£à ¬¬¨áâ᪨¬ ®¯ë⮬. ¨£ ᮤ¥à¦¨â ¡®«¥¥ 260 à¨á㪮¢, ¯®ïáïîé¨å à ¡®âã à §«¨çëå «£®à¨â¬®¢. ë ®¡à é ¥¬ ®á®¡®¥ ¢¨¬ ¨¥ íä䥪⨢®áâì à áᬠâਢ ¥¬ëå «£®à¨â¬®¢ ¨ ¯à¨¢®¤¨¬ ®æ¥ª¨ ¢à¥¬¥¨ ¨å à ¡®âë. ë áâ à «¨áì ¯¨á âì ã祡¨ª ¯® ¯®áâ஥¨î «£®à¨â¬®¢ ¨ áâàãªâãà ¤ ëå, ª®â®àë© ¬®£«¨ ¡ë ¨á¯®«ì§®¢ âì ¯à¥¯®¤ ¢ ⥫¨ ¨ áâ㤥âë | ®â ¯¥à¢®ªãàᨪ®¢ ¤® ᯨà ⮢. ¨£ ¬®¦¥â ¡ëâì ¨á¯®«ì§®¢ ¨ ¤«ï á ¬®®¡à §®¢ ¨ï ¯à®ä¥áᨮ «ìëå ¯à®£à ¬¬¨á⮢. ९®¤ ¢ ⥫ï¬: ë áâ à «¨áì ᤥ« âì ¢®§¬®¦ë¬ ¨á¯®«ì§®¢ ¨¥ ª¨£¨ à §ëå ã஢ïå | ®â ç «ì®£® ªãàá ¯® ¯à®£à ¬¬¨à®¢ ¨î ¨ áâàãªâãà ¬ ¤ ëå ¤® ᯨà â᪮£® ªãàá ¯® íää¥ªâ¨¢ë¬ «£®à¨â¬ ¬. ¥© £®à §¤® ¡®«ìè¥ ¬ â¥à¨ « , 祬 ¬®¦® ¢ª«îç¨âì ¢ ᥬ¥áâà®¢ë© ªãàá, â ª çâ® ¢ë ¬®¦¥â¥ ¢ë¡à âì £« ¢ë ¯® ¢ªãáã. ë áâ à «¨áì ᤥ« âì £« ¢ë ¤®áâ â®ç® ¥§ ¢¨á¨¬ë¬¨. ¦¤ ï £« ¢ ç¨ ¥âáï á ¡®«¥¥ ¯à®á⮣® ¬ â¥à¨ « ; ¡®«¥¥ âàã¤ë¥ â¥¬ë ®â¥á¥ë ¢ à §¤¥«ë, ¯®¬¥ç¥ë¥ §¢ñ§¤®çª®© ¨ ¯®¬¥éñë¥ ¢ ª®¥æ £« ¢ë. «¥ªæ¨ïå ¤«ï ç¨ îé¨å ¬®¦® ®£à ¨ç¨âìáï ¥áª®«ìª¨¬¨ ¯¥à¢ë¬¨ à §¤¥« ¬¨ ¢ë¡à ëå ¢ ¬¨ £« ¢, ®áâ ¢¨¢ ¯®¤à®¡®¥ ¨§ã票¥ ®áâ «ìëå ¤«ï ¡®«¥¥ ¯à®¤¢¨ã⮣® ªãàá . ¦¤ë© à §¤¥« á ¡¦ñ ã¯à ¦¥¨ï¬¨ (¢á¥£® ¨å ¡®«¥¥ 900): ª ¦¤ ï £« ¢ § ª 稢 ¥âáï § ¤ ç ¬¨ (¢á¥£® ¡®«¥¥ 120). ª ¯à ¢¨«®, ã¯à ¦¥¨ï ¯à®¢¥àïîâ ¯®¨¬ ¨¥ ¨§«®¦¥®£® ¬ â¥à¨ « (ç áâì ¨§ ¨å | ãáâë¥ ¢®¯à®áë, ç áâì ¯®¤å®¤ïâ ¤«ï ¯¨á쬥®£® ¤®¬ è- 3 ¥£® § ¤ ¨ï). ¤ ç¨ ¡®«¥¥ à §¢ñàãâë; ¬®£¨¥ ¨§ ¨å ¤®¯®«ïîâ ⥮à¥â¨ç¥áª¨© ¬ â¥à¨ « ᮮ⢥âáâ¢ãî饩 £« ¢ë ¨ à §¡¨âë ç áâ¨, ᮮ⢥âáâ¢ãî騥 íâ ¯ ¬ ¤®ª § ⥫ìá⢠¨«¨ ¯®áâ஥¨ï. ¢ñ§¤®çª®© ®â¬¥ç¥ë ¡®«¥¥ âàã¤ë¥ ã¯à ¦¥¨ï ¨ à §¤¥«ë; ®¨ ¯à¥¤ § ç¥ë ᪮॥ ¤«ï áâ à襪ãàᨪ®¢ ¨ ᯨà ⮢. §¤¥«ë á® §¢ñ§¤®çª®© ç áâ® âॡãîâ «ãç襩 ¬ ⥬ â¨ç¥áª®© ¯®¤£®â®¢ª¨; ã¯à ¦¥¨¥ á® §¢ñ§¤®çª®© ¬®¦¥â â ª¦¥ âॡ®¢ âì ¤®¯®«¨â¥«ìëå § ¨© ¨«¨ ¯à®áâ® ¡ëâì ¡®«¥¥ âàã¤ë¬. â㤥⠬: ë ¤¥¥¬áï, çâ® ª¨£ ¤®áâ ¢¨â ¢ ¬ 㤮¢®«ìá⢨¥ ¨ ¯®§ ª®¬¨â á ¬¥â®¤ ¬¨ ¯®áâ஥¨ï «£®à¨â¬®¢. ë áâ à «¨áì ¯¨á âì ¯®¤à®¡®, ¯®ïâ® ¨ ¨â¥à¥á®, ¯®¬¨ ï ¯® 室㠤¥« ¥®¡å®¤¨¬ë¥ ᢥ¤¥¨ï ¨§ ¬ ⥬ ⨪¨. ®¤£®â®¢¨â¥«ìë¥ á¢¥¤¥¨ï ®¡ëç® á®¡à ë ¢ ç «ìëå à §¤¥« å £« ¢ë, ª®â®àë¥ ¬®¦® ¡¥£«® ¯à®á¬®âà¥âì, ¥á«¨ ¢ë 㦥 § ª®¬ë á ⥬®©. ¨£ íâ ¢¥«¨ª , ¨ «¥ªæ¨ïå, ᪮॥ ¢á¥£®, ¡ã¤¥â à §®¡à «¨èì ç áâì ¬ â¥à¨ « . ë ¤¥¥¬áï, çâ® ®áâ ¢è ïáï ç áâì ¡ã¤¥â ¢ ¬ ¯®«¥§ ¥á«¨ ¥ ᥩç á, â ª ¢ ¡ã¤ã饬, â ª çâ® ¢ë á®åà ¨â¥ ª¨£ã ¢ ª ç¥á⢥ á¯à ¢®ç¨ª . ⮠㦮 § âì, ¯à¨áâã¯ ï ª ç⥨î? ë à ááç¨âë¢ ¥¬, çâ® ¢ë ¨¬¥¥â¥ ¥ª®â®àë© ¯à®£à ¬¬¨áâ᪨© ®¯ëâ, ¨ ४ãàá¨¢ë¥ ¯à®æ¥¤ãàë, ¬ áá¨¢ë ¨ ᯨ᪨ ¢ á ¥ ¯ã£ îâ; ¯à®áâë¥ ¬ ⥬ â¨ç¥áª¨¥ à áá㦤¥¨ï (᪠¦¥¬, ¤®ª § ⥫ìá⢠¯® ¨¤ãªæ¨¨) ¢ ¬ â ª¦¥ § ª®¬ë (ª®¥-£¤¥ ¯® ¤®¡ïâáï ®â¤¥«ìë¥ ä ªâë ¨§ ªãàá ¬ ⥬ â¨ç¥áª®£® «¨§ ; ¢ ¯¥à¢®© ç á⨠¡®«ìè¥ ¨ç¥£® ¨§ ¬ ⥬ ⨪¨ ¥ ¯®âॡã¥âáï). à®£à ¬¬¨áâ ¬: ª¨£ã ¢ª«îç¥ë «£®à¨â¬ë ¤«ï á ¬ëå à §ëå § ¤ ç ¨ ¥ñ ¬®¦® ¨á¯®«ì§®¢ âì ª ª á¯à ¢®ç¨ª. « ¢ë ¯®ç⨠¥§ ¢¨á¨¬ë, â ª çâ® ¬®¦® áà §ã ¢ë¡à âì ¨â¥à¥áãî騩 ¢ á ¬ â¥à¨ «. ®«ìè¨á⢮ ®¡á㦤 ¥¬ëå «£®à¨â¬®¢ ¢¯®«¥ ¬®£ãâ ¡ëâì ¨á¯®«ì§®¢ ë ¯à ªâ¨ª¥, ¨ ¬ë 㤥«ï¥¬ ¤®«¦®¥ ¢¨¬ ¨¥ ¤¥â «ï¬ ॠ«¨§ 樨. ᫨ «£®à¨â¬ ¯à¥¤áâ ¢«ï¥â ᪮॥ ⥮à¥â¨ç¥áª¨© ¨â¥à¥á, ¬ë ®â¬¥ç ¥¬ íâ® ¨ ®¡á㦤 ¥¬ «ìâ¥à â¨¢ë¥ ¯®¤å®¤ë. è ¯á¥¢¤®ª®¤ «¥£ª® ¯¥à¥¢¥á⨠«î¡®© ï§ëª ¯à®£à ¬¬¨à®¢ ¨ï, ¥á«¨ íâ® ¯® ¤®¡¨âáï. ¤® ⮫쪮 ¨¬¥âì ¢ ¢¨¤ã, çâ® ¬ë ¥ ¢ª«îç ¥¬ ¢ «£®à¨â¬ë á¨á⥬®-§ ¢¨á¨¬ë¥ äà £¬¥âë (®¡à ¡®âªã ®è¨¡®ª ¨ â. ¯.), çâ®¡ë ¥ § ⥬ïâì áã⨠¤¥« . 4 訡ª¨ ¨£ â ª®£® ®¡êñ¬ ¥ ¬®¦¥â ¥ ᮤ¥à¦ âì ®è¨¡®ª. ᫨ ¢ë ®¡ à㦨«¨ ®è¨¡ªã ¢ £«¨©áª®¬ ®à¨£¨ «¥ ª¨£¨, ¨«¨ ã ¢ á ¥áâì ¯à¥¤«®¦¥¨ï ¯® ¥ñ ¨á¯à ¢«¥¨î, ¬ë ¡ã¤¥¬ à ¤ë 㧠âì ®¡ í⮬. ë ¡ã¤¥¬ ®á®¡¥® à ¤ë ®¢ë¬ ã¯à ¦¥¨ï¬ ¨ § ¤ ç ¬ (®, ¯®¦ «ã©áâ , ¯à¨áë« ©â¥ ¨å á à¥è¥¨ï¬¨). ®çâ®¢ë© ¤à¥á: Introduction to Algorithms MIT Labratory for Computer Science 545 Technology Square Cambridge, Massachusetts 02139 ®¦® â ª¦¥ ¯®«ãç¨âì ᯨ᮪ ¨§¢¥áâëå ®¯¥ç ⮪ ¨ á®®¡é¨âì ® ©¤¥ëå ®è¨¡ª å á ¯®¬®éìî í«¥ªâà®®© ¯®çâë; çâ®¡ë ¯®«ãç¨âì ¨áâàãªæ¨¨, ¯®è«¨â¥ ¯® ¤à¥áã [email protected] ¯¨á쬮, ᮤ¥à¦ 饥 Subject: help ¢ § £®«®¢ª¥. §¢¨¨â¥, çâ® ¬ë ¥ ¬®¦¥¬ «¨ç® ®â¢¥â¨âì ¢á¥ ¯¨áì¬ . [ਠ¯¥à¥¢®¤¥ ¡ë«¨ ãçâ¥ë ¢á¥ ¨á¯à ¢«¥¨ï, ¨¬¥¢è¨¥áï ¬®¬¥â ¨§¤ ¨ï ¯¥à¥¢®¤ (¤¥ª ¡àì 1997), ªà®¬¥ ⮣®, ¨á¯à ¢«¥® ¥áª®«ìª® ®¡ à㦥ëå ¯à¨ ¯¥à¥¢®¤¥ ®¯¥ç ⮪, ®, ¢®§¬®¦®, ¢®§¨ª«¨ ®¢ë¥ (¢ çñ¬ ¢¨®¢ â ãçë© à¥¤ ªâ®à ª¨£¨, . ¥ì). ®í⮬ã, ®¡ à㦨¢ ®è¨¡ªã ¢ àãá᪮¬ ⥪áâ¥, ¥ ¯®áë« ©â¥ ¥ñ áà §ã ¢â®à ¬: ¬®¦¥â ¡ëâì, ® ¢®§¨ª« ¯à¨ ¯¥à¥¢®¤¥! ®®¡é¨â¥ ® ¥© á ç « ¯¥à¥¢®¤ç¨ª ¬, ¯® ¤à¥áã [email protected] ¨«¨ ¯® ¯®ç⥠(®áª¢ , 121002, ®«ì让 « á쥢᪨© ¯¥à., 11, ®áª®¢áª¨© æ¥âà ¥¯à¥à뢮£® ¬ ⥬ â¨ç¥áª®£® ®¡à §®¢ ¨ï, ¨§¤ ⥫ìá⢮).] « £®¤ à®á⨠®£¨¥ ¤àã§ìï ¨ ª®««¥£¨ ¥¬ «® ᤥ« «¨ ¤«ï ã«ãç襨ï í⮩ ª¨£¨. ë ¡« £®¤ ਬ ¢á¥å ¨å § ¯®¬®éì ¨ ª®áâàãªâ¨¢ãî ªà¨â¨ªã. ¡®à â®à¨ï ¨ä®à¬ ⨪¨ áá çãá¥â᪮£® â¥å®«®£¨ç¥áª®£® ¨áâ¨âãâ (Massachusetts Institute of Technology, Laboratory for Computer Science) ¡ë« ¨¤¥ «ìë¬ ¬¥á⮬ ¤«ï à ¡®âë ¤ ª¨£®©. è¨ ª®««¥£¨ ¯® ⥮à¥â¨ç¥áª®© £à㯯¥ í⮩ « ¡®à â®à¨¨ ¡ë«¨ ®á®¡¥® â¥à¯¨¬ë ¨ «î¡¥§® ᮣ« è «¨áì ¯à®á¬ âਢ âì £« ¢ë ª¨£¨. ë å®â¥«¨ ¡ë ®á®¡¥® ¯®¡« £®¤ à¨âì á«¥¤ãîé¨å ¨§ ¨å: Baruch Awerbuch, Sha Goldwasser, Leo Guibas, Tom Leighton, Albert Meyer, David Shmoys, Eva Tardos. ®¬¯ìîâ¥àë, ª®â®àëå £®â®¢¨« áì ª¨£ (âàñå ⨯®¢: Microvax, Apple Macintosh, Sun Sparcstation) ¯®¤¤¥à¦¨¢ «¨ William Ang, Sally Bemus, Ray Hirschfeld ¨ Mark Reinhold; ®¨ ¦¥ ¯¥à¥ª®¬¯¨«¨à®¢ «¨ TEX, ª®£¤ è¨ ä ©«ë ¯¥à¥áâ «¨ ¯®¬¥é âìáï ¢ ¥£® áâ ¤ àâãî ¢¥àá¨î. ®¬¯ ¨ï Thinking Machines ¯®¤¤¥à¦¨¢ « à«ì§ ¥©§¥àá® ¢ 5 ¯¥à¨®¤ ¥£® à ¡®âë ¢ í⮩ ª®¬¯ ¨¨. ®£¨¥ è¨ ª®««¥£¨ ¨á¯®«ì§®¢ «¨ ¯à¥¤¢ à¨â¥«ìë¥ ¢ ਠâë í⮩ ª¨£¨ ¢ ᢮¨å «¥ªæ¨®ëå ªãàá å, ¨ ¯à¥¤«®¦¨«¨ à §«¨çë¥ ã«ãç襨ï. ë å®â¥«¨ ¡ë ®á®¡¥® ¯®¡« £®¤ à¨âì á«¥¤ãîé¨å è¨å ª®««¥£: Richard Beigel (Yale), Andrew Goldberg (Stanford), Joan Lucas (Rutgers), Mark Overmars (Utrecht), Alan Sherman (Tufts, Maryland), Diane Souvaine (Rutgers). ਠç⥨¨ «¥ªæ¨© ¯® ¬ â¥à¨ « ¬ í⮩ ª¨£¨ ¬ ¯®¬®£ «¨ è¨ ª®««¥£¨, ª®â®àë¥ ¢¥á«¨ ¬®£® ã«ãç襨©. ë ®á®¡¥® ¯à¨§ ⥫ìë: Alan Baratz, Bonnie Berger, Aditi Dhagat, Burt Kaliski, Arthur Lent, Andrew Moulton, Marios Papaefthymiou, Cindy Phillips, Mark Reinhold, Phil Rogaway, Flavio Rose, Arie Rudich, Alan Sherman, Cli Stein, Susmita Sur, Gregory Troxel, Margaret Tuttle. ®£¨¥ «î¤¨ ¯®¬®£«¨ ¬ ¢ à ¡®â¥ ¤ ª¨£®© ¢ à §ëå ®â®è¥¨ïå: à ¡®â ¢ ¡¨¡«¨®â¥ª¥ (Denise Sergent), £®á⥯ਨ¬á⢮ ¢ ç¨â «ì®¬ § «¥ (Maria Sensale), ¤®áâ㯠ª «¨ç®© ¡¨¡«¨®â¥ª¥ (Albert Meyer), ¯à®¢¥àª ã¯à ¦¥¨© ¨ ¯à¨¤ã¬ë¢ ¨¥ ®¢ëå (Shlomo Kipnis, Bill Niehaus, David Wilson), á®áâ ¢«¥¨¥ ¨¤¥ªá (Marios Papaefthymiou, Gregory Troxel), â¥å¨ç¥áª ï ¯®¬®éì (Inna Radzihovsky, Denise Sergent, Gayle Sherman, ¨ ®á®¡¥® Be Hubbard). ®£¨¥ ®è¨¡ª¨ ®¡ à㦨«¨ è¨ áâ㤥âë, ®á®¡¥® Bobby Blumofe, Bonnie Eisenberg, Raymond Johnson, John Keen, Richard Lethin, Mark Lillibridge, John Pesaris, Steve Ponzio, Margaret Tuttle. ®£¨¥ è¨ ª®««¥£¨ á®®¡é¨«¨ ¬ ¯®«¥§ãî ¨ä®à¬ æ¨î ® ª®ªà¥âëå «£®à¨â¬ å, â ª¦¥ ªà¨â¨ç¥áª¨ ¯à®ç¨â «¨ ®â¤¥«ìë¥ £« ¢ë ª¨£¨; ¢ ¨å ç¨á«¥ Bill Aiello, Alok Aggrawal, Eric Bach, Vasek Chvatal, Richard Cole, Johan Hastad, Alex Ishii, David Johnson, Joe Kilian, Dina Kravets, Bruce Maggs, Jim Orlin, James Park, Thane Plambeck, Herschel Safer, Je Shallit, Cli Stein, Gil Strang, Bob Tarjan, Paul Wang. ®£¨¥ ¨§ ¨å ¯à¥¤«®¦¨«¨ ¬ § ¤ ç¨ ¤«ï 襩 ª¨£¨, á।¨ ¨å Andrew Goldberg, Danny Sleator, Umesh Vazirani. £«¨©áª¨© ®à¨£¨ « ª¨£¨ ¡ë« ¯®¤£®â®¢«¥ á ¯®¬®éìî LATEX (¬ ªà®¯ ª¥â ¤«ï á¨á⥬ë TEX). ¨á㪨 ¤¥« «¨áì ª®¬¯ìîâ¥à¥ Apple Macintosh á ¯®¬®éìî ¯à®£à ¬¬ë Mac Draw II; ¬ë ¡« £®¤ àë § ®¯¥à ⨢ãî â¥å¨ç¥áªãî ¯®¤¤¥à¦ªã ¢ í⮩ ®¡« á⨠(Joanna Terry, Claris Corporation; Michael Mahoney, Advanced Computer Graphics). ¤¥ªá ¡ë« ¯®¤£®â®¢«¥ á ¯®¬®éìî ¯à®£à ¬¬ë Windex, ¯¨á ®© ¢â®à ¬¨. ¯¨á®ª «¨â¥à âãàë £®â®¢¨«áï á ¯®¬®éìî ¯à®£à ¬¬ë BibTEX. ਣ¨ «-¬ ª¥â £«¨©- ᪮£® ¨§¤ ¨ï ¡ë« ¯®¤£®â®¢«¥ ¢ ¬¥à¨ª ᪮¬ ¬ ⥬ â¨ç¥áª®¬ ®¡é¥á⢥ á ¯®¬®éìî ä®â® ¡®à®© ¬ è¨ë ä¨à¬ë Autologic; ¬ë ¯à¨§ ⥫ìë § ¯®¬®éì ¢ í⮬ (Ralph Youngen, ¬¥à¨ª ᪮¥ ¬ ⥬ â¨ç¥áª®¥ ®¡é¥á⢮). ª¥â à §à ¡®â «¨: Rebecca Daw, Amy Henderson (ॠ«¨§ æ¨ï ¬ ª¥â ¤«ï á¨á⥬ë LATEX), Jeannet 6 Leendertse (®¡«®¦ª ). ¢â®àë ¯®«ã稫¨ ¡®«ì讥 㤮¢®«ìá⢨¥ ®â á®âà㤨ç¥áâ¢ á ¨§¤ ⥫ìá⢠¬¨ MIT Press (Frank Sallow, Terry Ehling, Larry Cohen, Lorrie Lejeune) ¨ McGraw-Hill (David Shapiro) ¨ ¡« £®¤ àë ¨¬ § ¯®¤¤¥à¦ªã ¨ â¥à¯¥¨¥, â ª¦¥ § ¬¥ç ⥫쮥 । ªâ¨à®¢ ¨¥ (Larry Cohen). ª®¥æ, ¢â®àë ¡« £®¤ àïâ ᢮¨å ¦ñ (Nicole Cormen, Lina Lue Leicerson, Gail Rivest) ¨ ¤¥â¥© (Ricky, William ¨ Debby Leicerson; Alex ¨ Christopher Rivest) § «î¡®¢ì ¨ ¯®¤¤¥à¦ªã ¯à¨ à ¡®â¥ ¤ ª¨£®© (Alex Rivest â ª¦¥ ¯®¬®£ ¬ á "¯ à ¤®ªá®¬ ¤¥© ஦¤¥¨ï àá¥" (à §¤¥« 6.6.1). î¡®¢ì, â¥à¯¥¨¥ ¨ ¯®¤¤¥à¦ª è¨å ᥬ¥© ᤥ« «¨ íâã ª¨£ã ¢®§¬®¦®©; ¨¬ ® ¨ ¯®á¢ïé ¥âáï. ¥¬¡à¨¤¦, áá çãá¥âá ¬ àâ 1990 £®¤ ®¬ á ®à¬¥ (Thomas H. Cormen) à«ì§ ¥©§¥àá® (Charles E. Leiserson) ® «ì¤ ¨¢¥áâ (Ronald L. Rivest) â ¯¥à¥¢®¤ç¨ª®¢: ë ¯à¨§ ⥫ìë ¨§¤ ⥫ìáâ¢ã MIT ¨ ¢â®à ¬ § à §à¥è¥¨¥ ¯¥à¥¢¥á⨠ª¨£ã, ¨ § ¯®¬®éì ¯à¨ ¯®¤£®â®¢ª¥ ¯¥à¥¢®¤ (¢ ⮬ ç¨á«¥ § ¯à¥¤®áâ ¢«¥¨¥ £«¨©áª®£® ⥪áâ ª¨£¨ ¨ ¨««îáâà 権 ¢ í«¥ªâà®®© ä®à¬¥). §¤ ¨¥ ¯¥à¥¢®¤ áâ «® ¢®§¬®¦® ¡« £®¤ àï ä¨ á®¢®© ¯®¤¤¥à¦ª¥ ®áᨩ᪮£® 䮤 ä㤠¬¥â «ìëå ¨áá«¥¤®¢ ¨© (à㪮¢®¤¨â¥«ì ¯à®¥ªâ .. ᯥ᪨©). à ¡®â¥ ¤ ¯¥à¥¢®¤®¬ ª¨£¨ ãç á⢮¢ « ¡®«ìè ï £à㯯 áâ㤥⮢, ᯨà ⮢ ¨ á®âà㤨ª®¢ ®áª®¢áª®£® æ¥âà ¥¯à¥à뢮£® ¬ ⥬ â¨ç¥áª®£® ®¡à §®¢ ¨ï, ¥§ ¢¨á¨¬®£® ®áª®¢áª®£® 㨢¥àá¨â¥â ¨ : K. ¥«®¢, . ®à ¢«ñ¢, . ®â¨, . ®à¥«¨ª, . ¥à . «¨èª , . â ®¢ , . 좮¢áª¨©, . ®¬ 饪®, . ®¨, . àã誨, . è ª®¢, . ¥ì, . 㢠«®¢, . ¤ 誨 (¯¥à¥¢®¤) . ª¨¬®¢, . ì, . ¥à, . ¢ä¨¬ì¥¢áª¨©, . «¨èª , . ®¬ 饪®, . ¥à®¢ . è ª®¢, A. ¥ì (। ªâ¨à®¢ ¨¥) . ¤¨®®¢ (¢ñàá⪠) .. 饪® (। ªâ®à) 1 ¢¥¤¥¨¥ í⮩ £« ¢¥ ¬ë à §¡¨à ¥¬ ®á®¢ë¥ ¯®ïâ¨ï ¨ ¬¥â®¤ë, á¢ï§ ë¥ á ¯®áâ஥¨¥¬ ¨ «¨§®¬ «£®à¨â¬®¢, ¯à¨¬¥à¥ ¤¢ãå «£®à¨â¬®¢ á®àâ¨à®¢ª¨ | ¯à®á⥩襣® «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ ¨ ¡®«¥¥ íä䥪⨢®£® «£®à¨â¬ á®àâ¨à®¢ª¨ ᫨逸¬. íâ¨å ¯à¨¬¥à å ¬ë ¯®§ ª®¬¨¬áï á ¯á¥¢¤®ª®¤®¬, ª®â®à®¬ ¬ë ¡ã¤¥¬ § ¯¨áë¢ âì «£®à¨â¬ë, ®¡®§ 票ﬨ ¤«ï ᪮à®á⨠à®áâ äãªæ¨©, ¬¥â®¤®¬ "à §¤¥«ï© ¨ ¢« áâ¢ã©" ¯®áâ஥¨ï «£®à¨â¬®¢, â ª¦¥ á ¤à㣨¬¨ ¯®ïâ¨ï¬¨, ª®â®àë¥ ¡ã¤ãâ ¢áâà¥ç âìáï ¬ ¯à®â殮¨¨ ¢á¥© ª¨£¨. 1.1 «£®à¨â¬ë «£®à¨â¬ (algorithm) | íâ® ä®à¬ «ì® ®¯¨á ï ¢ëç¨á«¨â¥«ì ï ¯à®æ¥¤ãà , ¯®«ãç îé ï ¨áå®¤ë¥ ¤ ë¥ (input), §ë¢ ¥¬ë¥ â ª¦¥ ¢å®¤®¬ «£®à¨â¬ ¨«¨ ¥£® à£ã¬¥â®¬, ¨ ¢ë¤ îé ï १ã«ìâ â ¢ëç¨á«¥¨© ¢ë室 (output). «£®à¨â¬ë áâà®ïâáï ¤«ï à¥è¥¨ï â¥å ¨«¨ ¨ëå ¢ëç¨á«¨â¥«ìëå § ¤ ç (computational problems). ®à¬ã«¨à®¢ª § ¤ ç¨ ®¯¨áë¢ ¥â, ª ª¨¬ âॡ®¢ ¨ï¬ ¤®«¦® 㤮¢«¥â¢®àïâì à¥è¥¨¥ § ¤ ç¨, «£®à¨â¬, à¥è î騩 íâã § ¤ çã, 室¨â ®¡ê¥ªâ, í⨬ âॡ®¢ ¨ï¬ 㤮¢«¥â¢®àïî騩. í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ § ¤ çã á®àâ¨à®¢ª¨ (sorting problem); ¯®¬¨¬® ᢮¥© ¯à ªâ¨ç¥áª®© ¢ ¦®á⨠íâ § ¤ ç á«ã¦¨â 㤮¡ë¬ ¯à¨¬¥à®¬ ¤«ï ¨««îáâà 樨 à §«¨çëå ¯®ï⨩ ¨ ¬¥â®¤®¢. ®¯¨áë¢ ¥âáï â ª: 室: ®á«¥¤®¢ ⥫ì®áâì n ç¨á¥« (a1 ; a2; : : :; an ). ë室: ¥à¥áâ ®¢ª (a01; a02; : : :; a0n ) ¨á室®© ¯®á«¥¤®¢ ⥫ì®áâ¨, ¤«ï ª®â®à®© a01 6 a02 6 : : : 6 a0n . ¯à¨¬¥à, ¯®«ã稢 ¢å®¤ h31; 41; 59; 26; 41; 58i, «£®à¨â¬ á®àâ¨à®¢ª¨ ¤®«¦¥ ¢ë¤ âì ¢ë室 h26; 31; 41; 41; 58; 59i. ®¤«¥¦ é ï á®àâ¨à®¢ª¥ ¯®á«¥¤®¢ ⥫ì®áâì §ë¢ ¥âáï ¢å®¤®¬ (instance) § ¤ ç¨ á®àâ¨à®¢ª¨. 8 « ¢ 1 ¢¥¤¥¨¥ ®£¨¥ «£®à¨â¬ë ¨á¯®«ì§ãîâ á®àâ¨à®¢ªã ¢ ª ç¥á⢥ ¯à®¬¥¦ãâ®ç®£® è £ . ¬¥¥âáï ¬®£® à §ëå «£®à¨â¬®¢ á®àâ¨à®¢ª¨; ¢ë¡®à ¢ ª®ªà¥â®© á¨âã 樨 § ¢¨á¨â ®â ¤«¨ë á®àâ¨à㥬®© ¯®á«¥¤®¢ ⥫ì®áâ¨, ®â ⮣®, ¢ ª ª®© á⥯¥¨ ® 㦥 ®âá®àâ¨à®¢ , â ª¦¥ ®â ⨯ ¨¬¥î饩áï ¯ ¬ï⨠(®¯¥à ⨢ ï ¯ ¬ïâì, ¤¨áª¨, ¬ £¨âë¥ «¥âë). «£®à¨â¬ áç¨â îâ ¯à ¢¨«ìë¬ (correct), ¥á«¨ «î¡®¬ ¤®¯ãá⨬®¬ (¤«ï ¤ ®© § ¤ ç¨) ¢å®¤¥ ® ® § ª 稢 ¥â à ¡®âã ¨ ¢ë¤ ¥â १ã«ìâ â, 㤮¢«¥â¢®àïî騩 âॡ®¢ ¨ï¬ § ¤ ç¨. í⮬ á«ãç ¥ £®¢®àïâ, çâ® «£®à¨â¬ à¥è ¥â (solves) ¤ ãî ¢ëç¨á«¨â¥«ìãî § ¤ çã. ¥¯à ¢¨«ìë© «£®à¨â¬ ¬®¦¥â (¤«ï ¥ª®â®à®£® ¢å®¤ ) ¢®¢á¥ ¥ ®áâ ®¢¨âìáï ¨«¨ ¤ âì ¥¯à ¢¨«ìë© à¥§ã«ìâ â. (¯à®ç¥¬, íâ® ¥ ¤¥« ¥â «£®à¨â¬ § ¢¥¤®¬® ¡¥á¯®«¥§ë¬ | ¥á«¨ ®è¨¡ª¨ ¤®áâ â®ç® ।ª¨. ®¤®¡ ï á¨âã æ¨ï ¢áâà¥â¨âáï ¬ ¢ £« ¢¥ 33 ¯à¨ ¯®¨áª¥ ¡®«ìè¨å ¯à®áâëå ç¨á¥«. ® íâ® ¢áñ ¦¥ ᪮॥ ¨áª«î票¥, 祬 ¯à ¢¨«®.) «£®à¨â¬ ¬®¦¥â ¡ëâì § ¯¨á àãá᪮¬ ¨«¨ £«¨©áª®¬ ï§ëª¥, ¢ ¢¨¤¥ ª®¬¯ìîâ¥à®© ¯à®£à ¬¬ë ¨«¨ ¤ ¦¥ ¢ ¬ è¨ëå ª®¤ å | ¢ ¦® ⮫쪮, çâ®¡ë ¯à®æ¥¤ãà ¢ëç¨á«¥¨© ¡ë« çñ⪮ ®¯¨á . ë ¡ã¤¥¬ § ¯¨áë¢ âì «£®à¨â¬ë á ¯®¬®éìî ¯á¥¢¤®ª®¤ (pseudocode), ª®â®àë© ¯®¬¨â ¢ ¬ § ª®¬ë¥ ï§ëª¨ ¯à®£à ¬¬¨à®¢ ¨ï (¨, ᪠«ì, «£®«). §¨æ ¢ ⮬, çâ® ¨®£¤ ¬ë ¯®§¢®«ï¥¬ ᥡ¥ ®¯¨á âì ¤¥©áâ¢¨ï «£®à¨â¬ "᢮¨¬¨ á«®¢ ¬¨", ¥á«¨ â ª ¯®«ãç ¥âáï ïᥥ. ஬¥ ⮣®, ¬ë ®¯ã᪠¥¬ â¥å®«®£¨ç¥áª¨¥ ¯®¤à®¡®á⨠(®¡à ¡®âªã ®è¨¡®ª, ᪠¦¥¬), ª®â®àë¥ ¥®¡å®¤¨¬ë ¢ ॠ«ì®© ¯à®£à ¬¬¥, ® ¬®£ãâ § á«®¨âì áãé¥á⢮ ¤¥« . ®àâ¨à®¢ª ¢áâ ¢ª ¬¨ ®àâ¨à®¢ª ¢áâ ¢ª ¬¨ (insertion sort) 㤮¡ ¤«ï á®àâ¨à®¢ª¨ ª®à®âª¨å ¯®á«¥¤®¢ ⥫ì®á⥩. ¬¥® â ª¨¬ ᯮᮡ®¬ ®¡ëç® á®àâ¨àãîâ ª àâë: ¤¥à¦ ¢ «¥¢®© à㪥 㦥 㯮à冷ç¥ë¥ ª àâë ¨ ¢§ï¢ ¯à ¢®© à㪮© ®ç¥à¥¤ãî ª àâã, ¬ë ¢áâ ¢«ï¥¬ ¥ñ ¢ 㦮¥ ¬¥áâ®, áà ¢¨¢ ï á ¨¬¥î騬¨áï ¨ ¨¤ï á¯à ¢ «¥¢® (á¬. à¨á. 1.1) ¯¨è¥¬ íâ®â «£®à¨â¬ ¢ ¢¨¤¥ ¯à®æ¥¤ãàë Insertion-Sort, ¯ à ¬¥â஬ ª®â®à®© ï¥âáï ¬ áᨢ A[1 : :n] (¯®á«¥¤®¢ ⥫ì®áâì ¤«¨ë n, ¯®¤«¥¦ é ï á®àâ¨à®¢ª¥). ë ®¡®§ ç ¥¬ ç¨á«® í«¥¬¥â®¢ ¢ ¬ áᨢ¥ A ç¥à¥§ length[A]. ®á«¥¤®¢ ⥫ì®áâì á®àâ¨àã¥âáï " ¬¥áâ¥" (in place), ¡¥§ ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠(¯®¬¨¬® ¬ áᨢ ¬ë ¨á¯®«ì§ã¥¬ «¨èì 䨪á¨à®¢ ®¥ ç¨á«® ï祥ª ¯ ¬ïâ¨). ®á«¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë Insertion-Sort ¬ áᨢ A 㯮àï¤®ç¥ ¯® ¢®§à áâ ¨î. «£®à¨â¬ë 9 ¨á㮪 1.1 ®àâ¨à®¢ª ª àâ ¢áâ ¢ª ¬¨ Insertion-Sort(A) 1 for j 2 to length[A] 2 do key A[j ] 3 . ¤®¡ ¢¨âì A[j ] ª ®âá®àâ¨à®¢ ®© ç á⨠A[1 : :j ; 1]. 4 i j ;1 5 while i > 0 and A[i] > key 6 do A[i + 1] A[i] 7 i i;1 8 A[i + 1] key ¨á㮪 1.2 ¡®â ¯à®æ¥¤ãàë Insertion-Sort ¤«ï ¢å®¤ A = h5; 2; 4; 6; 1; 3i. ®§¨æ¨ï j ¯®ª § ªà㦪®¬. à¨á. 1.2 ¯®ª § à ¡®â «£®à¨â¬ ¯à¨ A = h5; 2; 4; 6; 1; 3i. ¤¥ªá j 㪠§ë¢ ¥â "®ç¥à¥¤ãî ª àâã" (⮫쪮 çâ® ¢§ïâãî á® á⮫ ). ç á⮪ A[1 : :j ; 1] á®áâ ¢«ïîâ 㦥 ®âá®àâ¨à®¢ ë¥ ª àâë («¥¢ ï à㪠), A[j + 1 : :n] | ¥éñ ¥ ¯à®á¬®âà¥ë¥. 横«¥ for ¨¤¥ªá j ¯à®¡¥£ ¥â ¬ áᨢ á«¥¢ ¯à ¢®. ë ¡¥àñ¬ í«¥¬¥â 10 « ¢ 1 ¢¥¤¥¨¥ A[j ] (áâப 2 «£®à¨â¬ ) ¨ ᤢ¨£ ¥¬ ¨¤ã騥 ¯¥à¥¤ ¨¬ ¨ ¡®«ì訥 ¥£® ¯® ¢¥«¨ç¨¥ í«¥¬¥âë ( ç¨ ï á j ; 1-£®) ¢¯à ¢®, ®á¢®¡®¦¤ ï ¬¥áâ® ¤«ï ¢§ï⮣® í«¥¬¥â . (áâப¨ 4{7). áâப¥ 8 í«¥¬¥â A[j ] ¯®¬¥é ¥âáï ¢ ®á¢®¡®¦¤ñ®¥ ¬¥áâ®. ᥢ¤®ª®¤ ®â ®á®¢ë¥ ᮣ« 襨ï, ª®â®àë¥ ¬ë ¡ã¤¥¬ ¨á¯®«ì§®¢ âì: 1. âáâ㯠®â «¥¢®£® ¯®«ï 㪠§ë¢ ¥â ã஢¥ì ¢«®¦¥®áâ¨. ¯à¨¬¥à, ⥫® 横« for (áâப 1) á®á⮨⠨§ áâப 2{8, ⥫® 横« while (áâப 5) ᮤ¥à¦¨â áâப¨ 6{7, ® ¥ 8. â® ¦¥ ¯à ¢¨«® ¯à¨¬¥ï¥âáï ¨ ¤«ï if-then-else. â® ¤¥« ¥â ¨§«¨è¨¬ á¯¥æ¨ «ìë¥ ª®¬ ¤ë ⨯ begin ¨ end ¤«ï ç « ¨ ª®æ ¡«®ª . ( ॠ«ìëå ï§ëª å ¯à®£à ¬¬¨à®¢ ¨ï â ª®¥ ᮣ« 襨¥ ¯à¨¬¥ï¥âáï ।ª®, ¯®áª®«ìªã § âàã¤ï¥â ç⥨¥ ¯à®£à ¬¬, ¯¥à¥å®¤ïé¨å á® áâà ¨æë áâà ¨æã.) 2. ¨ª«ë while, for, repeat ¨ ãá«®¢ë¥ ª®áâàãªæ¨¨ if, then, else ¨¬¥îâ â®â ¦¥ á¬ëá«, çâ® ¢ ᪠«¥. 3. ¨¬¢®« . ç¨ ¥â ª®¬¬¥â ਩ (¨¤ã騩 ¤® ª®æ áâப¨). 4. ¤®¢à¥¬¥®¥ ¯à¨á¢ ¨¢ ¨¥ i j e (¯¥à¥¬¥ë¥ i ¨ j ¯®«ãç îâ § 票¥ e) § ¬¥ï¥â ¤¢ ¯à¨á¢ ¨¢ ¨ï j e ¨ i j (¢ í⮬ ¯®à浪¥). 5. ¥à¥¬¥ë¥ (¢ ¤ ®¬ á«ãç ¥ i; j; key ) «®ª «ìë ¢ãâਠ¯à®æ¥¤ãàë (¥á«¨ ¥ ®£®¢®à¥® ¯à®â¨¢®¥). 6. ¤¥ªá ¬ áᨢ ¯¨è¥âáï ¢ ª¢ ¤à âëå ᪮¡ª å: A[i] ¥áâì i-© í«¥¬¥â ¢ ¬ áᨢ¥ A. ª ": :" ¢ë¤¥«ï¥â ç áâì ¬ áᨢ : A[1 : :j ] ®¡®§ ç ¥â ãç á⮪ ¬ áᨢ A, ¢ª«îç î騩 A[1]; A[2]; : : :; A[j ]. 7. áâ® ¨á¯®«ì§ãîâáï ®¡ê¥ªâë (objects), á®áâ®ï騥 ¨§ ¥áª®«ìª¨å ¯®«¥© (elds), ¨«¨, ª ª £®¢®àïâ, ¨¬¥î騥 ¥áª®«ìª® âਡã⮢ (attributes). 票¥ ¯®«ï § ¯¨áë¢ ¥âáï ª ª ¨¬ï ¯®«ï[¨¬ï ®¡ê¥ªâ ]. ¯à¨¬¥à, ¤«¨ ¬ áᨢ áç¨â ¥âáï ¥£® âਡã⮬ ¨ ®¡®§ ç ¥âáï length, â ª çâ® ¤«¨ ¬ áᨢ A § ¯¨è¥âáï ª ª length[A]. â® ®¡®§ ç îâ ª¢ ¤à âë¥ áª®¡ª¨ (í«¥¬¥â ¬ áᨢ ¨«¨ ¯®«¥ ®¡ê¥ªâ ), ¡ã¤¥â ïá® ¨§ ª®â¥ªáâ . ¥à¥¬¥ ï, ®¡®§ ç îé ï ¬ áᨢ ¨«¨ ®¡ê¥ªâ, áç¨â ¥âáï 㪠§ ⥫¥¬ á®áâ ¢«ïî騥 ¥£® ¤ ë¥. ®á«¥ ¯à¨á¢ ¨¢ ¨ï y x ¤«ï «î¡®£® ¯®«ï f ¢ë¯®«¥® f [y] = f [x]. ®«¥¥ ⮣®, ¥á«¨ ¬ë ⥯¥àì ¢ë¯®«¨¬ ®¯¥à â®à f [x] 3, â® ¡ã¤¥â ¥ ⮫쪮 f [x] = 3, ® ¨ f [y] = 3, ¯®áª®«ìªã ¯®á«¥ y x ¯¥à¥¬¥ë¥ x ¨ y 㪠§ë¢ îâ ®¤¨ ¨ â®â ¦¥ ®¡ê¥ªâ. ª § â¥«ì ¬®¦¥â ¨¬¥âì á¯¥æ¨ «ì®¥ § 票¥ nil, ¥ 㪠§ë¢ î饥 ¨ ®¤¨ ®¡ê¥ªâ. 8. à ¬¥âàë ¯¥à¥¤ îâáï ¯® § 票î (by value): ¢ë§¢ ï ¯à®æ¥¤ãà ¯®«ãç ¥â ᮡá⢥ãî ª®¯¨î ¯ à ¬¥â஢; ¨§¬¥¥¨¥ ¯ à ¬¥âà ¢ãâਠ¯à®æ¥¤ãàë á à㦨 ¥¢¨¤¨¬®. ਠ¯¥à¥¤ ç¥ ®¡ê¥ª- «¨§ «£®à¨â¬®¢ 11 ⮢ ª®¯¨àã¥âáï 㪠§ â¥«ì ¤ ë¥, á®áâ ¢«ïî騥 íâ®â ®¡ê¥ªâ, á ¬¨ ¯®«ï ®¡ê¥ªâ | ¥â. ¯à¨¬¥à, ¥á«¨ x | ¯ à ¬¥âà ¯à®æ¥¤ãàë, â® ¯à¨á¢ ¨¢ ¨¥ x y, ¢ë¯®«¥®¥ ¢ãâਠ¯à®æ¥¤ãàë, á à㦨 § ¬¥â¨âì ¥«ì§ï, ¯à¨á¢ ¨¢ ¨¥ f [x] 3 | ¬®¦®. ¯à ¦¥¨ï 1.1-1 «¥¤ãï ®¡à §æã à¨á. 1.2, ¯®ª ¦¨â¥, ª ª à ¡®â ¥â Insertion- Sort ¢å®¤¥ A = h31; 41; 59; 26; 41; 58i. 1.1-2 §¬¥¨â¥ ¯à®æ¥¤ãàã Insertion-Sort â ª, çâ®¡ë ® á®àâ¨à®¢ « ç¨á« ¢ ¥¢®§à áâ î饬 ¯®à浪¥ (¢¬¥áâ® ¥ã¡ë¢ î饣®). 1.1-3 áᬮâਬ á«¥¤ãîéãî § ¤ çã ¯®¨áª : 室: ®á«¥¤®¢ ⥫ì®áâì n ç¨á¥« A = ha1; a2; : : :; an i ¨ ç¨á«® v . ë室: ¤¥ªá i, ¤«ï ª®â®à®£® v = A[i], ¨«¨ á¯¥æ¨ «ì®¥ § 票¥ nil, ¥á«¨ v ¥ ¢áâà¥ç ¥âáï ¢ A. ¯¨è¨â¥ ¯à®£à ¬¬ã «¨¥©®£® ¯®¨áª (linear search), ª®â®àë© ¯®á«¥¤®¢ â¥«ì® ¯à®á¬ âਢ ¥â A ¢ ¯®¨áª å v. 1.1-4 ë ¤¢ n-§ çëå ¤¢®¨çëå ç¨á« , § ¯¨á ëå ¢ ¢¨¤¥ n-í«¥¬¥âëå ¬ áᨢ®¢ A ¨ B . ॡã¥âáï ¯®¬¥áâ¨âì ¨å á㬬ã (¢ ¤¢®¨ç®© § ¯¨á¨) ¢ (n + 1)-í«¥¬¥âë© ¬ áᨢ C . â®ç¨â¥ ¯®áâ ®¢ªã § ¤ ç¨ ¨ § ¯¨è¨â¥ ᮮ⢥âáâ¢ãîéãî ¯à®£à ¬¬ã ¯á¥¢¤®ª®¤¥. 1.2 «¨§ «£®à¨â¬®¢ áᬠâਢ ï à §«¨çë¥ «£®à¨â¬ë à¥è¥¨ï ®¤®© ¨ ⮩ ¦¥ § ¤ ç¨, ¯®«¥§® ¯à® «¨§¨à®¢ âì, ᪮«ìª® ¢ëç¨á«¨â¥«ìëå à¥áãàᮢ ®¨ âॡãîâ (¢à¥¬ï ¢ë¯®«¥¨ï, ¯ ¬ïâì), ¨ ¢ë¡à âì ¨¡®«¥¥ íä䥪⨢ë©. ®¥ç®, ¤® ¤®£®¢®à¨âìáï ® ⮬, ª ª ï ¬®¤¥«ì ¢ëç¨á«¥¨© ¨á¯®«ì§ã¥âáï. í⮩ ª¨£¥ ¢ ª ç¥á⢥ ¬®¤¥«¨ ¯® ¡®«ì襩 ç á⨠¨á¯®«ì§ã¥âáï ®¡ëç ï ®¤®¯à®æ¥áá®à ï ¬ è¨ á ¯à®¨§¢®«ìë¬ ¤®áâ㯮¬ (random-access machine, RAM), ¥ ¯à¥¤ãᬠâਢ îé ï ¯ à ««¥«ì®£® ¢ë¯®«¥¨ï ®¯¥à 権. (ë à áᬮâਬ ¥ª®â®àë¥ ¬®¤¥«¨ ¯ à ««¥«ìëå ¢ëç¨á«¥¨© ¢ ¯®á«¥¤¥© ç á⨠ª¨£¨.) ®àâ¨à®¢ª ¢áâ ¢ª ¬¨: «¨§ ६ï á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ § ¢¨á¨â ®â à §¬¥à á®àâ¨à㥬®£® ¬ áᨢ : 祬 ¡®«ìè¥ ¬ áᨢ, ⥬ ¡®«ìè¥ ¬®¦¥â ¯®âॡ®¢ âìáï ¢à¥¬¥¨. ¡ëç® ¨§ãç îâ § ¢¨á¨¬®á⨠¢à¥¬¥¨ à ¡®âë ®â à §¬¥à ¢å®¤ . (¯à®ç¥¬, ¤«ï «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ ¢ ¦¥ ¥ 12 « ¢ 1 ¢¥¤¥¨¥ ⮫쪮 à §¬¥à ¬ áᨢ , ® ¨ ¯®à冷ª ¥£® í«¥¬¥â®¢: ¥á«¨ ¬ áᨢ ¯®ç⨠㯮à冷ç¥, â® ¢à¥¬¥¨ âॡã¥âáï ¬¥ìè¥.) ª ¨§¬¥àïâì à §¬¥à ¢å®¤ (input size)? â® § ¢¨á¨â ®â ª®ªà¥â®© § ¤ ç¨. ®¤¨å á«ãç ïå à §ã¬® áç¨â âì ç¨á«® í«¥¬¥â®¢ ¢å®¤¥ (á®àâ¨à®¢ª , ¯à¥®¡à §®¢ ¨¥ ãàì¥). ¤àã£¨å ¡®«¥¥ ¥áâ¥á⢥® áç¨â âì ®¡é¥¥ ç¨á«® ¡¨â®¢, ¥®¡å®¤¨¬®¥ ¤«ï ¯à¥¤áâ ¢«¥¨ï ¢á¥å ¢å®¤ëå ¤ ëå. ®£¤ à §¬¥à ¢å®¤ ¨§¬¥àï¥âáï ¥ ®¤¨¬ ç¨á«®¬, ¥áª®«ìª¨¬¨ ( ¯à¨¬¥à, ç¨á«® ¢¥àè¨ ¨ ç¨á«® àñ¡¥à £à ä ). ६¥¥¬ à ¡®âë (running time) «£®à¨â¬ ¬ë §ë¢ ¥¬ ç¨á«® í«¥¬¥â àëå è £®¢, ª®â®àë¥ ® ¢ë¯®«ï¥â | ¢®¯à®á ⮫쪮 ¢ ⮬, çâ® áç¨â âì í«¥¬¥â àë¬ è £®¬. ë ¡ã¤¥¬ ¯®« £ âì, çâ® ®¤ áâப ¯á¥¢¤®ª®¤ âॡã¥â ¥ ¡®«¥¥ 祬 䨪á¨à®¢ ®£® ç¨á« ®¯¥à 権 (¥á«¨ ⮫쪮 íâ® ¥ á«®¢¥á®¥ ®¯¨á ¨¥ ª ª®©-â® á«®¦®© ®¯¥à 樨 | ⨯ "®âá®àâ¨à®¢ âì ¢á¥ â®çª¨ ¯® x-ª®®à¤¨ â¥"). ë ¡ã¤¥¬ à §«¨ç âì â ª¦¥ ¢ë§®¢ (call) ¯à®æ¥¤ãàë ( ª®â®àë© ã室¨â 䨪á¨à®¢ ®¥ ç¨á«® ®¯¥à 権) ¨ ¥ñ ¨á¯®«¥¨¥ (execution), ª®â®à®¥ ¬®¦¥â ¡ëâì ¤®«£¨¬. â ª, ¢¥àñ¬áï ª ¯à®æ¥¤ãॠInsertion-Sort ¨ ®â¬¥â¨¬ ®ª®«® ª ¦¤®© áâப¨ ¥ñ á⮨¬®áâì (ç¨á«® ®¯¥à 権) ¨ ç¨á«® à §, ª®â®à®¥ íâ áâப ¨á¯®«ï¥âáï. «ï ª ¦¤®£® j ®â 2 ¤® n (§¤¥áì n = length[A] | à §¬¥à ¬ áᨢ ) ¯®¤áç¨â ¥¬, ᪮«ìª® à § ¡ã¤¥â ¨á¯®«¥ áâப 5, ¨ ®¡®§ 稬 íâ® ç¨á«® ç¥à¥§ tj . ( ¬¥â¨¬, çâ® áâப¨ ¢ãâਠ横« ¢ë¯®«ïîâáï ®¤¨ à § ¬¥ìè¥, 祬 ¯à®¢¥àª , ¯®áª®«ìªã ¯®á«¥¤ïï ¯à®¢¥àª ¢ë¢®¤¨â ¨§ 横« .) Insertion-Sort(A) á⮨¬®áâì ç¨á«® à § 1 for j 2 to length[A] c1 n 2 do key A[j ] c2 n ; 1 3 . ¤®¡ ¢¨âì A[j ] ª ®âá®àâ¨à®. ¢ ®© ç á⨠A[1 : :j ; 1]. 0 n;1 4 i j ;1 c4 nP; 1 5 while i > 0 and A[i] > key c5 Pnj=2 tj 6 do A[i + 1] A[i] c6 Pnj=2 (tj ; 1) n (t ; 1) 7 i i;1 c7 j =2 j 8 A[i + 1] key c8 n ; 1 âப á⮨¬®á⨠c, ¯®¢â®àñ ï m à §, ¤ ñâ ¢ª« ¤ cm ¢ ®¡é¥¥ ç¨á«® ®¯¥à 権. («ï ª®«¨ç¥á⢠¨á¯®«ì§®¢ ®© ¯ ¬ï⨠í⮣® ᪠- «¨§ «£®à¨â¬®¢ 13 § âì ¥«ì§ï!) «®¦¨¢ ¢ª« ¤ë ¢á¥å áâப, ¯®«ã稬 T (n) = c1n + c2(n ; 1) + c4(n ; 1) + c5 + c6 n X j =2 n X j =2 (tj ; 1) + c7 tj + n X j =2 (tj ; 1) + c8 (n ; 1): ª ¬ë 㦥 £®¢®à¨«¨, ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë § ¢¨á¨â ¥ ⮫쪮 ®â n, ® ¨ ®â ⮣®, ª ª®© ¨¬¥® ¬ áᨢ à §¬¥à n ¯®¤ ¥© ¢å®¤. «ï ¯à®æ¥¤ãàë Insertion-Sort ¨¡®«¥¥ ¡« £®¯à¨ï⥠á«ãç ©, ª®£¤ ¬ áᨢ 㦥 ®âá®àâ¨à®¢ . ®£¤ 横« ¢ áâப¥ 5 § ¢¥àè ¥âáï ¯®á«¥ ¯¥à¢®© ¦¥ ¯à®¢¥àª¨ (¯®áª®«ìªã A[i] 6 key ¯à¨ i = j ; 1), â ª çâ® ¢á¥ tj à ¢ë 1, ¨ ®¡é¥¥ ¢à¥¬ï ¥áâì T (n) = c1n + c2(n ; 1) + c4(n ; 1) + c5(n ; 1) + c8 (n ; 1) = = (c1 + c2 + c4 + c5 + c8 )n ; (c2 + c4 + c5 + c8): ª¨¬ ®¡à §®¬, ¢ ¨¡®«¥¥ ¡« £®¯à¨ï⮬ á«ãç ¥ ¢à¥¬ï T (n), ¥®¡å®¤¨¬®¥ ¤«ï ®¡à ¡®âª¨ ¬ áᨢ à §¬¥à n, ï¥âáï «¨¥©®© äãªæ¨¥© (linear function) ®â n, â. ¥. ¨¬¥¥â ¢¨¤ T (n) = an + b ¤«ï ¥ª®â®àëå ª®áâ â a ¨ b. (⨠ª®áâ âë ®¯à¥¤¥«ïîâáï ¢ë¡à 묨 § 票ﬨ c1; : : :; c8.) ᫨ ¦¥ ¬ áᨢ à ᯮ«®¦¥ ¢ ®¡à ⮬ (ã¡ë¢ î饬) ¯®à浪¥, ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë ¡ã¤¥â ¬ ªá¨¬ «ìë¬: ª ¦¤ë© í«¥¬¥â A[j ] ¯à¨¤ñâáï áà ¢¨âì á® ¢á¥¬¨ í«¥¬¥â ¬¨ A[1] : : :A[j ; 1]. ਠí⮬ tj = j . ᯮ¬¨ ï, çâ® n X j =2 j = n(n2+ 1) ; 1; n X j =2 (j ; 1) = n(n2; 1) (á¬. £«. 3), ¯®«ãç ¥¬, çâ® ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë à ¢® n ( n + 1) T (n) = c1n + c2(n ; 1) + c4(n ; 1) + c5 2 ;1 + + c n(n ; 1) + c n(n ; 1) + c (n ; 1) = 8 2 = c25 + c26 + c27 n2 + c1 + c2 + c4 + c25 ; c26 ; c27 + c8 n ; ; (c2 + c4 + c5 + c8): 6 2 7 ¥¯¥àì äãªæ¨ï T (n) | ª¢ ¤à â¨ç ï (quadratic function), â. ¥. ¨¬¥¥â ¢¨¤ T (n) = an2 + bn + c. (®áâ âë a, b ¨ c ᮢ ®¯à¥¤¥«ïîâáï § 票ﬨ c1{c8.) 14 « ¢ 1 ¢¥¤¥¨¥ ६ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ ¨ ¢ á।¥¬ â ª, ¬ë ¢¨¤¨¬, çâ® ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ ¨ ¢ «ãç襬 á«ãç ¥ ¬®£ãâ á¨«ì® à §«¨ç âìáï. ®«ì襩 ç áâìî á ¡ã¤¥â ¨â¥à¥á®¢ âì ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ (worst-case running time), ª®â®à®¥ ®¯à¥¤¥«ï¥âáï ª ª ¬ ªá¨¬ «ì®¥ ¢à¥¬ï à ¡®âë ¤«ï ¢å®¤®¢ ¤ ®£® à §¬¥à . ®ç¥¬ã? ®â ¥áª®«ìª® ¯à¨ç¨. ï ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥, ¬ë ¬®¦¥¬ £ à â¨à®¢ âì, çâ® ¢ë¯®«¥¨¥ «£®à¨â¬ § ª®ç¨âáï § ¥ª®â®à®¥ ¢à¥¬ï, ¤ ¦¥ ¥ § ï, ª ª®© ¨¬¥® ¢å®¤ (¤ ®£® à §¬¥à ) ¯®¯ ¤ñâáï. ¯à ªâ¨ª¥ "¯«®å¨¥" ¢å®¤ë (¤«ï ª®â®àëå ¢à¥¬ï à ¡®âë ¡«¨§ª® ª ¬ ªá¨¬ã¬ã) ¬®£ãâ ç áâ® ¯®¯ ¤ âìáï. ¯à¨¬¥à, ¤«ï ¡ §ë ¤ ëå ¯«®å¨¬ § ¯à®á®¬ ¬®¦¥â ¡ëâì ¯®¨áª ®âáãâáâ¢ãî饣® í«¥¬¥â (¤®¢®«ì® ç áâ ï á¨âã æ¨ï). ६ï à ¡®âë ¢ á।¥¬ ¬®¦¥â ¡ëâì ¤®¢®«ì® ¡«¨§ª® ª ¢à¥¬¥¨ à ¡®âë ¢ åã¤è¥¬ á«ãç ¥. ãáâì, ¯à¨¬¥à, ¬ë á®àâ¨à㥬 á«ãç ©® à ᯮ«®¦¥ë¥ n ç¨á¥« ¢ ¯®¬®éìî ¯à®æ¥¤ãàë InsertionSort. ª®«ìª® à § ¯à¨¤ñâáï ¢ë¯®«¨âì 横« ¢ áâப å 5{8? á।¥¬ ®ª®«® ¯®«®¢¨ë í«¥¬¥â®¢ ¬ áᨢ A[1 : :j ; 1] ¡®«ì¥ A[j ], â ª çâ® tj ¢ á।¥¬ ¬®¦® áç¨â âì à ¢ë¬ j=2, ¨ ¢à¥¬ï T (n) ª¢ ¤à â¨ç® § ¢¨á¨â ®â n. ¥ª®â®àëå á«ãç ïå á ¡ã¤¥â ¨â¥à¥á®¢ âì â ª¦¥ á।¥¥ ¢à¥¬ï à ¡®âë (average-case running time, expexted running time) «£®à¨â¬ ¢å®¤ å ¤ ®© ¤«¨ë. ®¥ç®, íâ ¢¥«¨ç¨ § ¢¨á¨â ®â ¢ë¡à ®£® à á¯à¥¤¥«¥¨ï ¢¥à®ïâ®á⥩ (®¡ëç® à áᬠâਢ ¥âáï à ¢®¬¥à®¥ à á¯à¥¤¥«¥¨¥), ¨ ¯à ªâ¨ª¥ ॠ«ì®¥ à á¯à¥¤¥«¥¨¥ ¢å®¤®¢ ¬®¦¥â ®ª § âìáï ᮢᥬ ¤à㣨¬. (®£¤ ¥£® ¬®¦® ¯à¥®¡à §®¢ âì ¢ à ¢®¬¥à®¥, ¨á¯®«ì§ãï ¤ â稪 á«ãç ©ëå ç¨á¥«.) ®à冷ª à®áâ è «¨§ ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãàë Insertion-Sort ¡ë« ®á®¢ ¥áª®«ìª¨å ã¯à®é îé¨å ¯à¥¤¯®«®¦¥¨ïå. ç « ¬ë ¯à¥¤¯®«®¦¨«¨, çâ® ¢à¥¬ï ¢ë¯®«¥¨ï i-© áâப¨ ¯®áâ®ï® ¨ à ¢® ci. ⥬ ¬ë ®£à㡨«¨ ®æ¥ªã ¤® an2 + bn + c. ¥©ç á ¬ë ¯®©¤ñ¬ ¥éñ ¤ «ìè¥ ¨ ᪠¦¥¬, çâ® ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ ¨¬¥¥â ¯®à冷ª à®áâ (rate of growth, order of growth) n2, ®â¡à áë¢ ï ç«¥ë ¬¥ìè¨å ¯®à浪®¢ («¨¥©ë¥) ¨ ¥ ¨â¥à¥áãïáì ª®íää¨æ¨¥â®¬ ¯à¨ n2. â® § ¯¨áë¢ îâ â ª: T (n) = (n2) (¯®¤à®¡®¥ ®¡êïᥨ¥ ®¡®§ 票© ¬ë ®â«®¦¨¬ ¤® á«¥¤ãî饩 £« ¢ë). «£®à¨â¬ á ¬¥ì訬 ¯®à浪®¬ à®á⠢६¥¨ à ¡®âë ®¡ëç® ¯à¥¤¯®çâ¨â¥«¥: ¥á«¨, ᪠¦¥¬, ®¤¨ «£®à¨â¬ ¨¬¥¥â ¢à¥¬ï à ¡®âë (n2 ), ¤à㣮© | (n3 ), â® ¯¥à¢ë© ¡®«¥¥ íä䥪⨢¥ (¯® ªà ©¥© ¬¥à¥ ¤«ï ¤®áâ â®ç® ¤«¨ëå ¢å®¤®¢; ¡ã¤ãâ «¨ ॠ«ìë¥ ¢å®¤ë â ª®¢ë¬¨ | ¤à㣮© ¢®¯à®á). ®áâ஥¨¥ «£®à¨â¬®¢ 15 ¯à ¦¥¨ï 㤥¬ á®àâ¨à®¢ âì ¬ áᨢ ¨§ n í«¥¬¥â®¢ â ª: ¯à®á¬®âਬ ¥£® ¨ ©¤ñ¬ ¬¨¨¬ «ìë© í«¥¬¥â, ª®â®àë© áª®¯¨à㥬 ¢ ¯¥à¢ãî ï祩ªã ¤à㣮£® ¬ áᨢ . ⥬ ¯à®á¬®âਬ ¥£® ᮢ ¨ ©¤ñ¬ á«¥¤ãî騩 í«¥¬¥â, ¨ â ª ¤ «¥¥. ª®© ᯮᮡ á®àâ¨à®¢ª¨ ¬®¦® §¢ âì á®àâ¨à®¢ª®© ¢ë¡®à®¬ (selection sort). ¯¨è¨â¥ íâ®â «£®à¨â¬ á ¯®¬®éìî ¯á¥¢¤®ª®¤ . ª ¦¨â¥ ¢à¥¬ï ¥£® à ¡®âë ¢ «ãç襬 ¨ åã¤è¥¬ á«ãç ïå, ¨á¯®«ì§ãï -®¡®§ 票ï. 1.2-2 ¥àñ¬áï ª «£®à¨â¬ã «¨¥©®£® ¯®¨áª (ã¯à. 1.1-3). ª®«ìª® áà ¢¥¨© ¯®âॡã¥âáï ¢ á।¥¬ í⮬㠫£®à¨â¬ã, ¥á«¨ ¨áª®¬ë¬ í«¥¬¥â®¬ ¬®¦¥â ¡ëâì «î¡®© í«¥¬¥â ¬ áᨢ (á ®¤¨ ª®¢®© ¢¥à®ïâ®áâìî)? ª®¢® ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ ¨ ¢ á।¥¬? ª § ¯¨á âì í⨠¢à¥¬¥ á ¯®¬®éìî -®¡®§ 票©? 1.2-3 ¯®á«¥¤®¢ ⥫ì®áâì ç¨á¥« x1 ; x2; : : :; xn . ®ª ¦¨â¥, çâ® § ¢à¥¬ï (n log n) ¬®¦® ®¯à¥¤¥«¨âì, ¥áâì «¨ ¢ í⮩ ¯®á«¥¤®¢ ⥫ì®á⨠¤¢ ®¤¨ ª®¢ëå ç¨á« . 1.2-4 ë ª®íää¨æ¨¥âë a0; a1; : : :; an;1 ¬®£®ç«¥ ; âॡã¥âáï ©â¨ ¥£® § 票¥ ¢ § ¤ ®© â®çª¥ x. ¯¨è¨â¥ ¥áâ¥áâ¢¥ë© «£®à¨â¬, âॡãî騩 ¢à¥¬¥¨ (n2). ª ¢ë¯®«¨âì ¢ëç¨á«¥¨ï § ¢à¥¬ï (n), ¥ ¨á¯®«ì§ãï ¤®¯®«¨â¥«ì®£® ¬ áᨢ ? ᯮ«ì§ã©â¥ "á奬㠮à¥à ": 1.2-1 nX ;1 i=0 ai xi = (: : : (an;1x + an;2 )x + : : : + a1 )x + a0: ª § ¯¨á âì ¢ëà ¦¥¨¥ n3=1000 ; 100n2 ; 100n + 3 á ¯®¬®éìî -®¡®§ 票©? 1.2-6 ®ç⨠«î¡®© «£®à¨â¬ ¬®¦® ¥¬®£® ¨§¬¥¨âì, à ¤¨ª «ì® 㬥ì訢 ¢à¥¬ï ¥£® à ¡®âë ¢ «ãç襬 á«ãç ¥. ª? 1.2-5 1.3 ®áâ஥¨¥ «£®à¨â¬®¢ áâì ¬®£® áâ ¤ àâëå ¯à¨ñ¬®¢, ¨á¯®«ì§ã¥¬ëå ¯à¨ ¯®áâ஥¨¨ «£®à¨â¬®¢. ®àâ¨à®¢ª ¢áâ ¢ª ¬¨ ï¥âáï ¯à¨¬¥à®¬ «£®à¨â¬ , ¤¥©áâ¢ãî饣® ¯® è £ ¬ (incremental approach): ¬ë ¤®¡ ¢«ï¥¬ í«¥¬¥âë ®¤¨ § ¤à㣨¬ ª ®âá®àâ¨à®¢ ®© ç á⨠¬ áᨢ . í⮬ à §¤¥«¥ ¬ë ¯®ª ¦¥¬ ¢ ¤¥©á⢨¨ ¤à㣮© ¯®¤å®¤, ª®â®àë© §ë¢ îâ "à §¤¥«ï© ¨ ¢« áâ¢ã©" (divide-and-conquer approach), ¨ ¯®áâந¬ á ¥£® ¯®¬®éìî § ç¨â¥«ì® ¡®«¥¥ ¡ëáâàë© «£®à¨â¬ á®àâ¨à®¢ª¨. 16 « ¢ 1 ¢¥¤¥¨¥ 1.3.1 à¨æ¨¯ "à §¤¥«ï© ¨ ¢« áâ¢ã©" ®£¨¥ «£®à¨â¬ë ¯® ¯à¨à®¤¥ ४ãàᨢë (recursive algorithms): à¥è ï ¥ª®â®àãî § ¤ çã, ®¨ ¢ë§ë¢ îâ á ¬¨å á¥¡ï ¤«ï à¥è¥¨ï ¥ñ ¯®¤§ ¤ ç. ¤¥ï ¬¥â®¤ "à §¤¥«ï© ¨ ¢« áâ¢ã©" á®á⮨⠪ ª à § ¢ í⮬. ç « § ¤ ç à §¡¨¢ ¥âáï ¥áª®«ìª® ¯®¤§ ¤ ç ¬¥ì襣® à §¬¥à . ⥬ í⨠§ ¤ ç¨ à¥è îâáï (á ¯®¬®éìî ४ãàᨢ®£® ¢ë§®¢ | ¨«¨ ¥¯®á।á⢥®, ¥á«¨ à §¬¥à ¤®áâ â®ç® ¬ «). ª®¥æ, ¨å à¥è¥¨ï ª®¬¡¨¨àãîâáï ¨ ¯®«ãç ¥âáï à¥è¥¨¥ ¨á室®© § ¤ ç¨. «ï § ¤ ç¨ á®àâ¨à®¢ª¨ í⨠âਠíâ ¯ ¢ë£«ï¤ïâ â ª. ç « ¬ë à §¡¨¢ ¥¬ ¬ áᨢ ¤¢¥ ¯®«®¢¨ë ¬¥ì襣® à §¬¥à . ⥬ ¬ë á®àâ¨à㥬 ª ¦¤ãî ¨§ ¯®«®¢¨ ®â¤¥«ì®. ®á«¥ í⮣® ¬ ®áâ ñâáï ᮥ¤¨¨âì ¤¢ 㯮à冷ç¥ëå ¬ áᨢ ¯®«®¢¨®£® à §¬¥à ¢ ®¤¨. ¥ªãàᨢ®¥ à §¡¨¥¨¥ § ¤ ç¨ ¬¥ì訥 ¯à®¨á室¨â ¤® â¥å ¯®à, ¯®ª à §¬¥à ¬ áᨢ ¥ ¤®©¤ñâ ¤® ¥¤¨¨æë («î¡®© ¬ áᨢ ¤«¨ë 1 ¬®¦® áç¨â âì 㯮à冷ç¥ë¬). ¥âਢ¨ «ì®© ç áâìî ï¥âáï ᮥ¤¨¥¨¥ ¤¢ãå 㯮à冷ç¥ëå ¬ áᨢ®¢ ¢ ®¤¨. ® ¢ë¯®«ï¥âáï á ¯®¬®éìî ¢á¯®¬®£ ⥫쮩 ¯à®æ¥¤ãàë Merge(A; p; q; r). à ¬¥âà ¬¨ í⮩ ¯à®æ¥¤ãàë ïîâáï ¬ áᨢ A ¨ ç¨á« p; q; r, 㪠§ë¢ î騥 £à ¨æë ᫨¢ ¥¬ëå ãç á⪮¢. à®æ¥¤ãà ¯à¥¤¯®« £ ¥â, çâ® p 6 q < r ¨ çâ® ãç á⪨ A[p : :q] ¨ A[q + 1 : :r] 㦥 ®âá®àâ¨à®¢ ë, ¨ ᫨¢ ¥â (merges) ¨å ¢ ®¤¨ ãç á⮪ A[p : :r]. ë ®áâ ¢«ï¥¬ ¯®¤à®¡ãî à §à ¡®âªã í⮩ ¯à®æ¥¤ãàë ç¨â ⥫î (ã¯à. 1.3-2), ® ¤®¢®«ì® ïá®, çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Merge ¥áâì (n), £¤¥ n | ®¡é ï ¤«¨ ᫨¢ ¥¬ëå ãç á⪮¢ (n = r ; p +1). â® «¥£ª® ®¡êïá¨âì ª àâ å. ãáâì ¬ë ¨¬¥¥¬ ¤¢¥ á⮯ª¨ ª àâ, ¨ ¢ ª ¦¤®© ª àâë ¨¤ãâ ᢥàåã ¢¨§ ¢ ¢®§à áâ î饬 ¯®à浪¥. ª ᤥ« âì ¨§ ¨å ®¤ã? ª ¦¤®¬ è £¥ ¬ë ¡¥àñ¬ ¬¥ìèãî ¨§ ¤¢ãå ¢¥àå¨å ª àâ ¨ ª« ¤ñ¬ ¥ñ (à㡠誮© ¢¢¥àå) ¢ १ã«ìâ¨àãîéãî á⮯ªã. ®£¤ ®¤ ¨§ ¨á室ëå á⮯®ª áâ ®¢¨âáï ¯ãá⮩, ¬ë ¤®¡ ¢«ï¥¬ ¢á¥ ®á⠢訥áï ª àâë ¢â®à®© á⮯ª¨ ª १ã«ìâ¨àãî饩 á⮯ª¥. á®, çâ® ª ¦¤ë© è £ âॡã¥â ®£à ¨ç¥®£® ç¨á« ¤¥©á⢨©, ¨ ®¡é¥¥ ç¨á«® ¤¥©á⢨© ¥áâì (n). ¥¯¥àì ¯¨è¥¬ ¯à®æ¥¤ãàã á®àâ¨à®¢ª¨ ᫨逸¬ Merge-Sort(A; p; r), ª®â®à ï á®àâ¨àã¥â ãç á⮪ A[p : :r] ¬ áᨢ A, ¥ ¬¥ïï ®áâ «ìãî ç áâì ¬ áᨢ . ਠp > r ãç á⮪ ᮤ¥à¦¨â ¬ ªá¨¬ã¬ ®¤¨ í«¥¬¥â, ¨ ⥬ á ¬ë¬ ã¦¥ ®âá®àâ¨à®¢ . ¯à®â¨¢®¬ á«ãç ¥ ¬ë ®âë᪨¢ ¥¬ ç¨á«® q, ª®â®à®¥ ¤¥«¨â ãç á⮪ ¤¢¥ ¯à¨¬¥à® à ¢ë¥ ç á⨠A[p : :q] (ᮤ¥à¦¨â dn=2e í«¥¬¥â®¢) ¨ A[q + 1 : :r] (ᮤ¥à¦¨â bn=2c í«¥¬¥â®¢). ¤¥áì ç¥à¥§ bxc ¬ë ®¡®§ ç ¥¬ 楫ãî ç áâì x ( ¨¡®«ì襥 楫®¥ ç¨á«®, ¬¥ì襥 ¨«¨ à ¢®¥ x), ç¥à¥§ dxe | ¨¬¥ì襥 楫®¥ ç¨á«®, ¡®«ì襥 ¨«¨ à ¢®¥ x. ®áâ஥¨¥ «£®à¨â¬®¢ 17 sorted sequence | ®âá®àâ¨à®¢ ï ¯®á«¥¤®¢ ⥫ì®áâì merge | ᫨逸 initial sequence | ç «ì ï ¯®á«¥¤®¢ ⥫ì®áâì ¨á㮪 1.3 ®àâ¨à®¢ª ᫨逸¬ ¤«ï ¬ áᨢ A = h5; 2; 4; 6; 1; 3; 2; 6i. Merge-Sort (A; p; r) 1 if p < r 2 then q b(p + r)=2c 3 Merge-Sort(A; p; q ) 4 Merge-Sort(A; q + 1; r) 5 Merge(A; p; q; r) ¥áì ¬ áᨢ ⥯¥àì ¬®¦® ®âá®àâ¨à®¢ âì á ¯®¬®éìî ¢ë§®¢ Merge-Sort(A; 1; length[A]). ᫨ ¤«¨ ¬ áᨢ n = length[A] ¥áâì á⥯¥ì ¤¢®©ª¨, â® ¢ ¯à®æ¥áᥠá®àâ¨à®¢ª¨ ¯à®¨§®©¤ñâ ᫨逸 ¯ à í«¥¬¥â®¢ ¢ ®âá®àâ¨à®¢ ë¥ ãç á⪨ ¤«¨ë 2, § ⥬ ᫨逸 ¯ à â ª¨å ãç á⪮¢ ¢ ®âá®àâ¨à®¢ ë¥ ãç á⪨ ¤«¨ë 4 ¨ â ª ¤ «¥¥ ¤® n ( ¯®á«¥¤¥¬ è £¥ ᮥ¤¨ïîâáï ¤¢ ®âá®àâ¨à®¢ ëå ãç á⪠¤«¨ë n=2). â®â ¯à®æ¥áá ¯®ª § à¨á. 1.3. 1.3.2 «¨§ «£®à¨â¬®¢ ⨯ "à §¤¥«ï© ¨ ¢« áâ¢ã©" ª ®æ¥¨âì ¢à¥¬ï à ¡®âë ४ãàᨢ®£® «£®à¨â¬ ? ਠ¯®¤áçñ⥠¬ë ¤®«¦ë ãç¥áâì ¢à¥¬ï, § âà 稢 ¥¬®¥ ४ãàá¨¢ë¥ ¢ë§®¢ë, â ª çâ® ¯®«ãç ¥âáï ¥ª®â®à®¥ ४ãàà¥â®¥ á®®â®è¥¨¥ (recurrence equation). «¥¥ á«¥¤ã¥â ®æ¥¨âì ¢à¥¬ï à ¡®âë, ¨áå®¤ï ¨§ í⮣® á®®â®è¥¨ï. ®â ¯à¨¬¥à® ª ª íâ® ¤¥« ¥âáï. ।¯®«®¦¨¬, çâ® «£®à¨â¬ à §¡¨¢ ¥â § ¤ çã à §¬¥à n a ¯®¤§ ¤ ç, ª ¦¤ ï ¨§ ª®â®àëå ¨¬¥¥â ¢ b à § ¬¥ì訩 à §¬¥à. 㤥¬ áç¨â âì, çâ® à §¡¨¥¨¥ âॡã¥â ¢à¥¬¥¨ D(n), ᮥ¤¨¥¨¥ ¯®«ãç¥ëå à¥è¥¨© | ¢à¥¬¥¨ C (n). 18 « ¢ 1 ¢¥¤¥¨¥ ®£¤ ¯®«ãç ¥¬ á®®â®è¥¨¥ ¤«ï ¢à¥¬¥¨ à ¡®âë T (n) § ¤ ç å à §¬¥à n (¢ åã¤è¥¬ á«ãç ¥): T (n) = aT (n=b) + D(n) + C (n). â® á®®â®è¥¨¥ ¢ë¯®«¥® ¤«ï ¤®áâ â®ç® ¡®«ìè¨å n, ª®£¤ § ¤ çã ¨¬¥¥â á¬ëá« à §¡¨¢ âì ¯®¤§ ¤ ç¨. «ï ¬ «ëå n, ª®£¤ â ª®¥ à §¡¨¥¨¥ ¥¢®§¬®¦® ¨«¨ ¥ 㦮, ¯à¨¬¥ï¥âáï ª ª®©-â® ¯àאַ© ¬¥â®¤ à¥è¥¨ï § ¤ ç¨. ®áª®«ìªã n ®£à ¨ç¥®, ¢à¥¬ï à ¡®âë ⮦¥ ¥ ¯à¥¢®á室¨â ¥ª®â®à®© ª®áâ âë. «¨§ á®àâ¨à®¢ª¨ ᫨逸¬ «ï ¯à®áâ®âë ¡ã¤¥¬ ¯à¥¤¯®« £ âì, çâ® à §¬¥à ¬ áᨢ (n) ¥áâì á⥯¥ì ¤¢®©ª¨. ( ª ¬ë 㢨¤¨¬ ¢ £« ¢¥ 4, íâ® ¥ ®ç¥ì áãé¥á⢥®.) ®£¤ ª ¦¤®¬ è £¥ á®àâ¨àã¥¬ë© ãç á⮪ ¤¥«¨âáï ¤¢¥ à ¢ë¥ ¯®«®¢¨ë. §¡¨¥¨¥ ç á⨠(¢ëç¨á«¥¨¥ £à ¨æë) âॡã¥â ¢à¥¬¥¨ (1), ᫨逸 | ¢à¥¬¥¨ (n). ®«ãç ¥¬ á®®â®è¥¨¥ ( ¥á«¨ n = 1, T (n) = (1); 2T (n=2) + (n=2); ¥á«¨ n > 1. ª ¬ë 㢨¤¨¬ ¢ £« ¢¥ 4, íâ® á®®â®è¥¨¥ ¢«¥çñâ T (n) = (n log n), £¤¥ ç¥à¥§ log ¬ë ®¡®§ ç ¥¬ ¤¢®¨çë© «®£ à¨ä¬ (®á®¢ ¨¥ «®£ à¨ä¬®¢, ¢¯à®ç¥¬, ¥ ¨£à ¥â ஫¨, â ª ª ª ¯à¨¢®¤¨â «¨èì ª ¨§¬¥¥¨î ª®áâ âë). ®í⮬㠤«ï ¡®«ìè¨å n á®àâ¨à®¢ª ᫨逸¬ íä䥪⨢¥¥ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨, âॡãî饩 ¢à¥¬¥¨ (n2). ¯à ¦¥¨ï 1.3-1 «¥¤ãï ®¡à §æã à¨á. 1.3, ¯®ª § âì à ¡®âã á®àâ¨à®¢ª¨ ᫨逸¬ ¤«ï ¬ áᨢ A = h3; 41; 52; 26; 38; 57; 9; 49i. 1.3-2 ¯¨á âì ⥪áâ ¯à®æ¥¤ãàë Merge(A; p; q; r). 1.3-3 ®ª ¦¨â¥ ¯® ¨¤ãªæ¨¨, çâ® ¥á«¨ T (n) = ( 2; ¥á«¨ n = 2, 2T (n=2) + n; ¥á«¨ n = 2k ¨ k > 1, â® T (n) = n log n (¯à¨ ¢á¥å n, ïîé¨åáï á⥯¥ï¬¨ ¤¢®©ª¨). 1.3-4 ®àâ¨à®¢ªã ¢áâ ¢ª ¬¨ ¬®¦® ®ä®à¬¨âì ª ª ४ãàᨢãî ¯à®æ¥¤ãàã: ¦¥« ï ®âá®àâ¨à®¢ âì A[1 : :n], ¬ë (४ãàᨢ®) á®àâ¨à㥬 A[1 : :n ; 1], § ⥬ áâ ¢¨¬ A[n] ¯à ¢¨«ì®¥ ¬¥áâ® ¢ ®âá®àâ¨à®¢ ®¬ ¬ áᨢ¥ A[1 : :n ; 1]. ¯¨è¨â¥ ४ãàà¥â®¥ á®®â®è¥¨¥ ¤«ï ¢à¥¬¥¨ à ¡®âë â ª®© ¯à®æ¥¤ãàë. ®áâ஥¨¥ «£®à¨â¬®¢ 19 ®§¢à é ïáì ª § ¤ ç¥ ¯®¨áª (ã¯à. 1.1-3), § ¬¥â¨¬, çâ® ¯à¨ ¯®¨áª¥ ¢ ®âá®àâ¨à®¢ ®¬ ¬ áᨢ¥ ¬ë ¬®¦¥¬ á ç « áà ¢¨âì ¨áª®¬ë© í«¥¬¥â á® á।¨¬ í«¥¬¥â®¬ ¬ áᨢ , 㧠âì, ¢ ª ª®© ¯®«®¢¨¥ ¥£® á«¥¤ã¥â ¨áª âì, § ⥬ ¯à¨¬¥¨âì âã ¦¥ ¨¤¥î ४ãàᨢ®. ª®© ᯮᮡ §ë¢ ¥âáï ¤¢®¨çë¬ ¯®¨áª®¬ (binary search). ¯¨è¨â¥ ᮮ⢥âáâ¢ãîéãî ¯à®£à ¬¬ã, ¨á¯®«ì§ãï 横« ¨«¨ ४ãàá¨î. ¡êïá¨â¥, ¯®ç¥¬ã ¢à¥¬ï ¥ñ à ¡®âë ¥áâì (log n). 1.3-6 ¬¥â¨¬, ç⮠横« while ¢ áâப å 5{7 ¯à®æ¥¤ãàë Insertion-Sort (à §¤. 1.1) ¯à®á¬ âਢ ¥â í«¥¬¥âë ®âá®àâ¨à®¢ ®£® ãç á⪠A[1 : :j ; 1] ¯®¤àï¤. ¬¥áâ® í⮣® ¬®¦® ¡ë«® ¡ë ¨á¯®«ì§®¢ âì ¤¢®¨çë© ¯®¨áª (ã¯à. 1.3-5), çâ®¡ë ©â¨ ¬¥áâ® ¢áâ ¢ª¨ § ¢à¥¬ï (log n). ¤ áâáï «¨ â ª¨¬ ®¡à §®¬ ᤥ« âì ®¡é¥¥ ¢à¥¬ï à ¡®âë à ¢ë¬ (n log n)? 1.3-7? ¬ áᨢ S ¨§ n ¤¥©á⢨⥫ìëå ç¨á¥«, â ª¦¥ ç¨á«® x. ª § ¢à¥¬ï (n log n) ®¯à¥¤¥«¨âì, ¬®¦® «¨ ¯à¥¤áâ ¢¨âì x ¢ ¢¨¤¥ áã¬¬ë ¤¢ãå í«¥¬¥â®¢ ¬ áᨢ S ? 1.3-5 ¬¥ç ¨ï ª ¬®£ ¡ë ᪠§ âì ®§ì¬ àã⪮¢, å®à®è¨© «£®à¨â¬ ¯®¤®¡¥ ®áâ஬㠮¦ã | â®â ¨ ¤à㣮© ¤®á⨣ îâ 楫¨ «¥£ª® ¨ ¯à®áâ®. à㣮¥ áà ¢¥¨¥: 祫®¢¥ª, ¯®«ì§ãî騩áï ¯«®å¨¬ «£®à¨â¬®¬, ¯®¤®¡¥ ¯®¢ àã, ®â¡¨¢ î饬㠬ïá® ®â¢ñà⪮©: ¥¤¢ áꥤ®¡ë© ¨ ¬ «®¯à¨¢«¥ª ⥫ìë© à¥§ã«ìâ â ¤®á⨣ ¥âáï 楮© ¡®«ìè¨å ãᨫ¨©. áâ® à §¨æ ¬¥¦¤ã ¯«®å¨¬ ¨ å®à®è¨¬ «£®à¨â¬®¬ ¡®«¥¥ áãé¥á⢥ , 祬 ¬¥¦¤ã ¡ëáâàë¬ ¨ ¬¥¤«¥ë¬ ª®¬¯ìîâ¥à®¬. ãáâì ¬ë å®â¨¬ ®âá®àâ¨à®¢ âì ¬ áᨢ ¨§ ¬¨««¨® ç¨á¥«. â® ¡ëáâ॥ | á®àâ¨à®¢ âì ¥£® ¢áâ ¢ª ¬¨ á㯥મ¬¯ìîâ¥à¥ (100 ¬¨««¨®®¢ ®¯¥à 権 ¢ ᥪã¤ã) ¨«¨ ᫨逸¬ ¤®¬ 襬 ª®¬¯ìîâ¥à¥ (1 ¬¨««¨® ®¯¥à 権)? ãáâì ª ⮬㠦¥ á®àâ¨à®¢ª ¢áâ ¢ª ¬¨ ¯¨á áᥬ¡«¥à¥ ç१¢ëç ©® íª®®¬®, ¨ ¤«ï á®àâ¨à®¢ª¨ n ç¨á¥« 㦮, ᪠¦¥¬, «¨èì 2n2 ®¯¥à 権. â® ¦¥ ¢à¥¬ï «£®à¨â¬ ᫨逸¬ ¯¨á ¡¥§ ®á®¡®© § ¡®âë ®¡ íä䥪⨢®á⨠¨ ç¨á«® ®¯¥à 権 ¥áâì 50n log n. «ï á®àâ¨à®¢ª¨ ¬¨««¨® ç¨á¥« ¯®«ãç ¥¬ 2 (106)2 ®¯¥à 権 = 20 000 ᥪ㤠5;56 ç ᮢ 108 ®¯¥à 権 ¢ ᥪã¤ã ¤«ï á㯥મ¬¯ìîâ¥à ¨ ¢á¥£® 50 (106) log(106) ®¯¥à 権 1 000 ᥪ㤠17 ¬¨ãâ 106 ®¯¥à 権 ¢ ᥪã¤ã ¤«ï ¤®¬ 襣® ª®¬¯ìîâ¥à . ë ¢¨¤¨¬, çâ® à §à ¡®âª íä䥪⨢ëå «£®à¨â¬®¢ | ¥ ¬¥¥¥ ¢ ¦ ï ª®¬¯ìîâ¥à ï â¥å®«®£¨ï, 祬 à §à ¡®âª ¡ëáâன í«¥ªâநª¨. í⮩ ®¡« á⨠⠪¦¥ ¯à®¨á室¨â § ¬¥âë© ¯à®£à¥áá. 20 « ¢ 1 ¢¥¤¥¨¥ ¯à ¦¥¨ï ãáâì á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ ¨ ᫨逸¬ ¨á¯®«ïîâáï ®¤®© ¨ ⮩ ¦¥ ¬ 訥 ¨ âॡãîâ 8n2 ¨ 64n log n ᮮ⢥âá⢥®. «ï ª ª¨å § 票© n á®àâ¨à®¢ª ¢áâ ¢ª ¬¨ ï¥âáï ¡®«¥¥ íä䥪⨢®©? ª ¬®¦® ã«ãçè¨âì «£®à¨â¬ á®àâ¨à®¢ª¨ ᫨逸¬? 1.3-2 ਠª ª®¬ ¨¬¥ì襬 § 票¨ n «£®à¨â¬, ¤¥« î騩 100n2 ®¯¥à 権, íä䥪⨢¥¥ «£®à¨â¬ , ¤¥« î饣® 2n ®¯¥à 権? 1.3-1 ¤ ç¨ 1-1 à ¢¥¨¥ ¢à¥¬¥¨ à ¡®âë ãáâì ¨¬¥¥âáï «£®à¨â¬, à¥è î騩 § ¤ çã à §¬¥à n § f (n) ¬¨ªà®á¥ªã¤. ª®¢ ¬ ªá¨¬ «ìë© à §¬¥à § ¤ ç¨, ª®â®àãî ® ᬮ¦¥â à¥è¨âì § ¢à¥¬ï t? ©â¨ ¥£® ¤«ï äãªæ¨© ¨ ¢à¥¬ñ, ¯¥à¥ç¨á«¥ëå ¢ â ¡«¨æ¥. 1 log pn 1 1 1 1 1 1 ᥪ ¬¨ ç á ¤¥ì ¬¥áïæ £®¤ ¢¥ª n n n log n n2 n3 2n n! 1-2 ®àâ¨à®¢ª ¢áâ ¢ª ¬¨ ¤«ï ª®à®âª¨å ªã᪮¢ ᨬ¯â®â¨ç¥áª¨ á®àâ¨à®¢ª ᫨逸¬ ¡ëáâ॥ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨, ® ¤«ï ¬ «ëå n á®®â®è¥¨¥ ®¡à ⮥. ®í⮬㠨¬¥¥â á¬ëá« ¤®áâ â®ç® ª®à®âª¨¥ ªã᪨ ¥ à §¡¨¢ âì ¤ «ìè¥, ¯à¨¬¥ïâì ª ¨¬ á®àâ¨à®¢ªã ¢áâ ¢ª ¬¨. ®¯à®á ¢ ⮬, £¤¥ á«¥¤ã¥â ¯à®¢¥á⨠£à ¨æã. . ãáâì ¬ áᨢ ¤«¨ë n à §¡¨â k ç á⥩ à §¬¥à n=k. ®ª ¦¨â¥, çâ® ¬®¦® ®âá®àâ¨à®¢ âì ¢á¥ ç á⨠¯® ®â¤¥«ì®á⨠(á ¯®¬®éìî á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨) § ¢à¥¬ï (nk). ¡. ®ª ¦¨â¥, çâ® ¯®á«¥ í⮣® ¬®¦® ᫨âì ¢á¥ ç á⨠¢ ®¤¨ 㯮à冷ç¥ë© ¬ áᨢ § ¢à¥¬ï (n log(n=k)). ¢. ¥¬ á ¬ë¬ ®¡é¥¥ ¢à¥¬ï à ¡®âë â ª®£® á¬¥è ®£® «£®à¨â¬ ¥áâì (nk + n log(n=k)). ª®¢ ¬ ªá¨¬ «ì ï ᪮à®áâì à®áâ k ª ª äãªæ¨¨ ®â n, ¯à¨ ª®â®à®¬ íâ® ¢à¥¬ï ¯®-¯à¥¦¥¬ã ¥áâì (n log n)? £. ª ¡ë ¢ë áâ «¨ ¢ë¡¨à âì ®¯â¨¬ «ì®¥ § 票¥ k ¯à ª- ¬¥ç ¨ï ª £« ¢¥ 1 21 ⨪¥? 1-3 ¨á«® ¨¢¥àᨩ ãáâì A[1 : :n] | ¬ áᨢ ¨§ n à §«¨çëå ç¨á¥«. á ¡ã¤¥â ¨â¥à¥á®¢ âì ª®«¨ç¥á⢮ ¨¢¥àᨩ (inversions) ¢ í⮬ ¬ áᨢ¥, â. ¥. ç¨á«® ¯ à i < j , ¤«ï ª®â®àëå A[i] > A[j ]. . ª ¦¨â¥ ¯ïâì ¨¢¥àᨩ ¢ ¬ áᨢ¥ h2; 3; 8; 6; 1i. ¡. ª®¢® ¬ ªá¨¬ «ì® ¢®§¬®¦®¥ ç¨á«® ¨¢¥àᨩ ¢ ¬ áᨢ¥ ¤«¨ë n? ¢. ª á¢ï§ ® ¢à¥¬ï à ¡®âë «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ ¨ ç¨á«® ¨¢¥àᨩ? ¡êïá¨â¥ ᢮© ®â¢¥â. £. ®áâன⥠«£®à¨â¬, ª®â®àë© áç¨â ¥â ç¨á«® ¨¢¥àᨩ ¢ ¬ áᨢ¥ ¤«¨ë n § ¢à¥¬ï (n log n). (ª § ¨¥: ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ á®àâ¨à®¢ª¨ ᫨逸¬.) ¬¥ç ¨ï áâì ¬®¦¥á⢮ å®à®è¨å ª¨£ ® ¯®áâ஥¨¨ «£®à¨â¬®¢. ®â ¥ª®â®àë¥ ¨§ ¨å: å®, ®¯ªà®äâ ¨ «ì¬ [4,5], á [14], à áá à ¨ à¥â«¨ [14], ®à®¢¨æ ¨ å¨ [105], ãâ [121, 122, 123], ¡¥à [142], ¥«ìå®à [144, 145, 146], ãम¬ ¨ à ã [164], ¥©£®«ì¤, ¨¢¥à£¥«ìâ ¨ ¥® [167], ¥¤¦¢¨ª [175], ¨«ä [201]. à ªâ¨ç¥áª¨¥ ᯥªâë à §à ¡®âª¨ íä䥪⨢ëå «£®à¨â¬®¢: ¥â«¨ [24,25], ®¥â [90]. 1968 £®¤ã ãâ ®¯ã¡«¨ª®¢ « ¯¥à¢ë© ¨§ âàñå ⮬®¢ á¥à¨¨ áªãáá⢮ ¯à®£à ¬¬¨à®¢ ¨ï ¤«ï [121, 122, 123], ª®â®àë© áâ « ç «®¬ ®¢®© í¯®å¨ ¢ 㪥 ®¡ íä䥪⨢ëå «£®à¨â¬ å. ᥠâਠ⮬ ¤® á¨å ¯®à ®áâ îâáï ¥§ ¬¥¨¬ë¬ á¯à ¢®ç¨ª®¬. ª ¯¨è¥â ãâ, á«®¢® " «£®à¨â¬" ¯à®¨á室¨â ®â ¨¬¥¨ à ¡áª®£® ¬ ⥬ ⨪ ¤¥¢ï⮣® ¢¥ª «-®à¥§¬¨ (al-Khow^arizm^, ¨«¨ al-Khw^arizm^). å®, ®¯ªà®äâ ¨ «ì¬ [4] 㪠§ «¨ ¢ ¦®áâì ᨬ¯â®â¨ç¥áª®£® «¨§ ¢à¥¬¥¨ à ¡®âë ª ª á।á⢠áà ¢¥¨ï íä䥪⨢®á⨠«£®à¨â¬®¢. ¨ è¨à®ª® ¨á¯®«ì§®¢ «¨ ४ãàà¥âë¥ á®®â®è¥¨ï ¤«ï ¯®«ãç¥¨ï ®æ¥®ª ¢à¥¬¥¨ à ¡®âë. ¨£ ãâ [123] ᮤ¥à¦¨â ¨áç¥à¯ë¢ î饥 ¨§«®¦¥¨¥ ¬®¦¥á⢠«£®à¨â¬®¢ á®àâ¨à®¢ª¨. áà ¢¨¢ ¥â à §«¨çë¥ «£®à¨â¬ë, â®ç® ¯®¤áç¨âë¢ ï ç¨á«® à §«¨çëå è £®¢ (¬ë ¤¥« «¨ íâ® ¤«ï á®àâ¨à®¢ª¨ áà ¢¥¨¥¬). áᬠâਢ îâáï à §«¨çë¥ ¢ ਠâë á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨, ¢ª«îç ï á®àâ¨à®¢ªã ¥«« (D. L. Shell), ª®â®à ï ¨á¯®«ì§ã¥â á®àâ¨à®¢ªã ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ á ¯®áâ®ïë¬ è £®¬ ¤«ï 㬥ì襨ï ç¨á« ®¯¥à 権. ®àâ¨à®¢ª ᫨逸¬ â ª¦¥ ®¯¨á ¢ ª¨£¥ ãâ , ª®â®àë© ãª §ë¢ ¥â, çâ® ¬¥å ¨ç¥áª®¥ ãáâனá⢮ ¤«ï ᫨ï¨ï ¤¢ãå á⮯®ª ¯¥à䮪 àâ § ®¤¨ ¯à®å®¤ ¡ë«® ¨§®¡à¥â¥® ¢ 1938 £®¤ã. ®- 22 « ¢ 1 ¢¥¤¥¨¥ ¢¨¤¨¬®¬ã, ¦® ä® ¥©¬ (J. von Neumann), ®¤¨ ¨§ ®á®¢ ⥫¥© ¨ä®à¬ ⨪¨, ¯¨á « ¯à®£à ¬¬ã á®àâ¨à®¢ª¨ ᫨逸¬ ¤«ï ª®¬¯ìîâ¥à EDVAC ¢ 1945 £®¤ã. I ⥬ â¨ç¥áª¨¥ ®á®¢ë «¨§ «£®à¨â¬®¢ ¢¥¤¥¨¥ í⮩ ç á⨠ᮡà ë ᢥ¤¥¨ï ¨§ ¬ ⥬ ⨪¨, ª®â®àë¥ ¨á¯®«ì§ãîâáï ¯à¨ «¨§¥ «£®à¨â¬®¢. ë ᮢ¥â㥬 ¡¥£«® ¯à®á¬®âà¥âì ¥ñ ¨ ¯¥à¥©â¨ ª á«¥¤ãî騬 £« ¢ ¬, ¢®§¢à é ïáì ª ¯à®á¬®â८¬ã ¯® ¬¥à¥ ¤®¡®áâ¨. £« ¢¥ 2 ¬ë ¢¢®¤¨¬ ¯®ïâ¨ï ¨ ®¡®§ 票ï, á¢ï§ ë¥ á ᨬ¯â®â¨ª®© äãªæ¨© ( ¨ ¤à.), â ª¦¥ ¥ª®â®àë¥ ¤à㣨¥. è æ¥«ì §¤¥áì ¥ à á᪠§ âì ® çñ¬-â® ®¢®¬, ¯à®á⮠ᮣ« ᮢ âì ®¡®§ ç¥¨ï ¨ â¥à¬¨®«®£¨î. £« ¢¥ 3 ¯à¨¢®¤ïâáï à §«¨çë¥ ¬¥â®¤ë ¢ëç¨á«¥¨ï ¨ ®æ¥ª¨ á㬬 (¯®¤à®¡®¥ ¨§«®¦¥¨¥ ¬®¦® ©â¨ ¢ «î¡®¬ ã祡¨ª¥ ¬ ⥬ â¨ç¥áª®£® «¨§ ). « ¢ 4 ¯®á¢ïé¥ ¯à¥®¡à §®¢ ¨î ४ãàà¥âëå á®®â®è¥¨© ¢ ï¢ë¥ ®æ¥ª¨. ë ä®à¬ã«¨à㥬 ¨ ¤®ª §ë¢ ¥¬ ®¡é¥¥ ã⢥ত¥¨¥ â ª®£® த (⥮६ 4.1), ª®â®à®£® ¢ ¡®«ìè¨á⢥ á«ãç ¥¢ ®ª §ë¢ ¥âáï ¤®áâ â®ç®. £® ¤®ª § ⥫ìá⢮ ¤®¢®«ì® ¤«¨®, ® ¢ ¤ «ì¥©è¥¬ ¥ ¨á¯®«ì§ã¥âáï, â ª çâ® ¯à¨ ¯¥à¢®¬ ç⥨¨ ¥£® ¬®¦® ¯à®¯ãáâ¨âì. £« ¢¥ 5 ¬ë ¤ ñ¬ ®¯à¥¤¥«¥¨ï à §«¨çëå ¯®ï⨩, á¢ï§ ëå á ¬®¦¥á⢠¬¨, ®â®è¥¨ï¬¨, äãªæ¨ï¬¨, £à ä ¬¨ ¨ ¤¥à¥¢ìﬨ, ¨ ¢¢®¤¨¬ ᮮ⢥âáâ¢ãî騥 ®¡®§ 票ï. « ¢ 6 ¯®á¢ïé¥ ®á®¢ë¬ ¯®ïâ¨ï¬ ª®¬¡¨ â®à¨ª¨ ¨ ⥮ਨ ¢¥à®ïâ®á⥩. ®«ìè ï ç áâì ª¨£¨ ¥ ¨á¯®«ì§ã¥â í⮣® ¬ â¥à¨ « , â ª çâ® ¯à¨ ¯¥à¢®¬ ç⥨¨ íâã £« ¢ã (®á®¡¥® ¯®á«¥¤¨¥ à §¤¥«ë) ¬®¦® ᬥ«® ¯à®¯ãáâ¨âì, ¢®§¢à é ïáì ª ¯à®¯ã饮¬ã ¯® ¬¥à¥ ¤®¡®áâ¨. 2 ª®à®áâì à®áâ äãªæ¨© à ¢¨¢ ï ¤¢ «£®à¨â¬ á®àâ¨à®¢ª¨ ¢ £« ¢¥ 1, ¬ë ãáâ ®¢¨«¨, çâ® ¢à¥¬ï à ¡®âë ®¤®£® (á®àâ¨à®¢ª ᫨逸¬) ¯à¨¬¥à® ¯à®¯®à樮 «ì® n2, ¤à㣮£® (á®àâ¨à®¢ª ¢áâ ¢ª ¬¨) | n lg n. ª®¢ë ¡ë ¨ ¡ë«¨ ª®íää¨æ¨¥âë ¯à®¯®à樮 «ì®áâ¨, ¤«ï ¤®áâ â®ç® ¡®«ìè¨å n ¯¥à¢ë© «£®à¨â¬ à ¡®â ¥â ¡ëáâ॥. «¨§¨àãï «£®à¨â¬, ¬®¦® áâ à âìáï ©â¨ â®ç®¥ ç¨á«® ¢ë¯®«ï¥¬ëå ¨¬ ¤¥©á⢨©. ® ¢ ¡®«ìè¨á⢥ á«ãç ¥¢ ¨£à ¥ á⮨â ᢥç, ¨ ¤®áâ â®ç® ®æ¥¨âì ᨬ¯â®â¨ªã à®á⠢६¥¨ à ¡®âë «£®à¨â¬ ¯à¨ áâ६«¥¨¨ à §¬¥à ¢å®¤ ª ¡¥áª®¥ç®á⨠(asymptotic eciency). ᫨ ã ®¤®£® «£®à¨â¬ ᪮à®áâì à®áâ ¬¥ìè¥, 祬 ã ¤à㣮£®, â® ¢ ¡®«ìè¨á⢥ á«ãç ¥¢ ® ¡ã¤¥â íä䥪⨢¥¥ ¤«ï ¢á¥å ¢å®¤®¢, ªà®¬¥ ᮢᥬ ª®à®âª¨å. (®âï ¡ë¢ îâ ¨ ¨áª«î票ï.) 2.1 ᨬ¯â®â¨ç¥áª¨¥ ®¡®§ ç¥¨ï ®âï ¢® ¬®£¨å á«ãç ïå í⨠®¡®§ ç¥¨ï ¨á¯®«ì§ãîâáï ¥ä®à¬ «ì®, ¯®«¥§® ç âì á â®çëå ®¯à¥¤¥«¥¨©. -®¡®§ 票¥ £« ¢¥ 2 ¬ë £®¢®à¨«¨, çâ® ¢à¥¬ï T (n) à ¡®âë «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ ¢å®¤ å ¤«¨ë n ¥áâì (n2 ). ®çë© á¬ëá« í⮣® ã⢥ত¥¨ï â ª®©: ©¤ãâáï â ª¨¥ ª®áâ âë c1; c2 > 0 ¨ â ª®¥ ç¨á«® n0, çâ® c1n2 6 T (n) 6 c2n2 ¯à¨ ¢á¥å n > n0. ®®¡é¥, ¥á«¨ g(n) | ¥ª®â®à ï äãªæ¨ï, â® § ¯¨áì f (n) = (g(n)) ®§ ç ¥â, çâ® ©¤ãâáï â ª¨¥ c1; c2 > 0 ¨ â ª®¥ n0, çâ® 0 6 c1g(n) 6 f (n) 6 c2g(n) ¤«ï ¢á¥å n > n0 (á¬. à¨á. 2.1). ( ¯¨áì f (n) = (g(n)) ç¨â ¥âáï â ª: "íä ®â í ¥áâì âí⠮⠦¥ ®â í".) [!!!!!!!!! ¨á㮪 2.1 - ¯®¤¯¨áì ª ¥¬ã: ] ««îáâà 樨 ª ®¯à¥¤¥«¥¨ï¬ f (n) = (g(n)), f (n) = O(g(n)) ¨ f (n) = (g(n)). §ã¬¥¥âáï, íâ® ®¡®§ 票¥ á«¥¤ã¥â 㯮âॡ«ïâì á ®áâ®à®¦®áâìî: ãáâ ®¢¨¢, çâ® f1(n) = (g(n)) ¨ f2(n) = (g(n)), ¥ á«¥¤ã¥â ᨬ¯â®â¨ç¥áª¨¥ ®¡®§ 票ï 27 § ª«îç âì, çâ® f1(n) = f2(n)! ¯à¥¤¥«¥¨¥ (g(n)) ¯à¥¤¯®« £ ¥â, çâ® äãªæ¨¨ f (n) ¨ g(n) ᨬ¯â®â¨ç¥áª¨ ¥®âà¨æ ⥫ìë, â. ¥. ¥®âà¨æ ⥫ìë ¤«ï ¤®áâ â®ç® ¡®«ìè¨å § 票© n. ¬¥â¨¬, çâ® ¥á«¨ äãªæ¨¨ f ¨ g áâண® ¯®«®¦¨â¥«ìë, â® ¬®¦® ¨áª«îç¨âì n0 ¨§ ®¯à¥¤¥«¥¨ï (¨§¬¥¨¢ ª®áâ âë c1 ¨ c2 â ª, çâ®¡ë ¤«ï ¬ «ëå n ¥à ¢¥á⢮ â ª¦¥ ¢ë¯®«ï«®áì). ᫨ f (n) = (g(n)), â® £®¢®àïâ, çâ® g(n) ï¥âáï ᨬ¯â®â¨ç¥áª¨ â®ç®© ®æ¥ª®© ¤«ï f (n). á ¬®¬ ¤¥«¥ íâ® ®â®è¥¨¥ ᨬ¬¥âà¨ç®: ¥á«¨ f (n) = (g(n)), â® g(n) = (f (n)). ¥àñ¬áï ª ¯à¨¬¥àã ¨§ £« ¢ë 1 ¨ ¯à®¢¥à¨¬, çâ® (1=2)n2 ; 3n = (n2 ). ®£« á® ®¯à¥¤¥«¥¨î, ¤® 㪠§ âì ¯®«®¦¨â¥«ìë¥ ª®áâ âë c1; c2 ¨ ç¨á«® n0 â ª, çâ®¡ë ¥à ¢¥á⢠c1n2 6 12 n2 ; 3n 6 c2n2 ¢ë¯®«ï«¨áì ¤«ï ¢á¥å n > n0. §¤¥«¨¬ n2: c1 6 12 ; n3 6 c2 ¨¤®, çâ® ¢ë¯®«¥¨ï ¢â®à®£® ¥à ¢¥á⢠¤®áâ â®ç® ¯®«®¦¨âì c2 = 1=2. ¥à¢®¥ ¡ã¤¥â ¢ë¯®«¥®, ¥á«¨ ( ¯à¨¬¥à) n0 = 7 ¨ c1 = 1=14. à㣮© ¯à¨¬¥à ¨á¯®«ì§®¢ ¨ï ä®à¬ «ì®£® ®¯à¥¤¥«¥¨ï: ¯®ª ¦¥¬, çâ® 6n3 = 6 (n2). á ¬®¬ ¤¥«¥, ¯ãáâì ©¤ãâáï â ª¨¥ c2 ¨ n0, 3 çâ® 6n 6 c2n2 ¤«ï ¢á¥å n > n0. ® ⮣¤ n 6 c2=6 ¤«ï ¢á¥å n > n0 | ç⮠ ¥ â ª. âë᪨¢ ï ᨬ¯â®â¨ç¥áª¨ â®çãî ®æ¥ªã ¤«ï á㬬ë, ¬ë ¬®¦¥¬ ®â¡à áë¢ âì ç«¥ë ¬¥ì襣® ¯®à浪 , ª®â®àë¥ ¯à¨ ¡®«ìè¨å n áâ ®¢ïâáï ¬ «ë¬¨ ¯® áà ¢¥¨î á ®á®¢ë¬ á« £ ¥¬ë¬. ¬¥â¨¬ â ª¦¥, çâ® ª®íää¨æ¨¥â ¯à¨ áâ à襬 ç«¥¥ ஫¨ ¥ ¨£à ¥â (® ¬®¦¥â ¯®¢«¨ïâì ⮫쪮 ¢ë¡®à ª®áâ â c1 ¨ c2 ). ¯à¨¬¥à, à áᬮâਬ ª¢ ¤à â¨çãî äãªæ¨î f (n) = an2 +bn+c, £¤¥ a; b; c | ¥ª®â®àë¥ ª®áâ âë ¨ a > 0. â¡à áë¢ ï ç«¥ë ¬« ¤è¨å ¯®à浪®¢ ¨ ª®íää¨æ¨¥â ¯à¨ áâ à襬 ç«¥¥, 室¨¬, çâ® f (n) = (n2). ⮡ë ã¡¥¤¨âìáï ¢ í⮬ ä®à¬ «ì® p, ¬®¦® ¯®«®¦¨âì c1 = a=4, c2 = 7a=4 ¨ n0 = 2 max((jbj=a); jcj=a) (¯à®¢¥àìâ¥, çâ® âॡ®¢ ¨ï ¤¥©áâ¢¨â¥«ì® ¢ë¯®«¥ë). ®®¡é¥, ¤«ï «î¡®£® ¯®«¨®¬ p(n) á⥯¥¨ d á ¯®«®¦¨â¥«ìë¬ áâ à訬 ª®íää¨æ¨¥â®¬ ¨¬¥¥¬ p(n) = (nd ) (§ ¤ ç 2-1). ¯®¬ï¥¬ ¢ ¦ë© ç áâë© á«ãç © ¨á¯®«ì§®¢ ¨ï ®¡®§ 票©: (1) ®¡®§ ç ¥â ®£à ¨ç¥ãî äãªæ¨î, ®â¤¥«ñãî ®â ã«ï ¥ª®â®àë© ¯®«®¦¨â¥«ì®© ª®áâ ⮩ ¯à¨ ¤®áâ â®ç® ¡®«ìè¨å § 票ïå à£ã¬¥â . (§ ª®â¥ªáâ ®¡ëç® ïá®, çâ® ¨¬¥® áç¨â ¥âáï à£ã¬¥â®¬ äãªæ¨¨.) 28 « ¢ 2 ª®à®áâì à®áâ äãªæ¨© O- ¨ -®¡®§ ç¥¨ï ¯¨áì f (n) = (g(n)) ¢ª«îç ¥â ¢ á¥¡ï ¤¢¥ ®æ¥ª¨: ¢¥àåîî ¨ ¨¦îî. å ¬®¦® à §¤¥«¨âì. ®¢®àïâ, çâ® f (n) = O(g(n)), ¥á«¨ ©¤ñâáï â ª ï ª®áâ â c > 0 ¨ â ª®¥ ç¨á«® n0, çâ® 0 6 f (n) 6 cg (n) ¤«ï ¢á¥å n > n0 ®¢®àïâ, çâ® f (n) = (g (n)), ¥á«¨ ©¤¥âáï â ª ï ª®áâ â c > 0 ¨ â ª®¥ ç¨á«® n0, çâ® 0 6 cg(n) 6 f (n) ¤«ï ¢á¥å n > n0. ⨠§ ¯¨á¨ ç¨â îâáï â ª: "íä ®â í ¥áâì ® ¡®«ì讥 ®â ¦¥ ®â í", "íä ®â í ¥áâì ®¬¥£ ¡®«ìè ï ®â ¦¥ ®â í". ®-¯à¥¦¥¬ã ¬ë ¯à¥¤¯®« £ ¥¬, çâ® äãªæ¨¨ f ¨ g ¥®âà¨æ ⥫ìë ¤«ï ¤®áâ â®ç® ¡®«ìè¨å § 票© à£ã¬¥â . ¥£ª® ¢¨¤¥âì (ã¯à. 2.1-5), çâ® ¢ë¯®«¥ë á«¥¤ãî騥 ᢮©á⢠: ¥®à¥¬ 2.1. «ï «î¡ëå ¤¢ãå äãªæ¨© f (n) ¨ g (n) ᢮©á⢮ f (n) = (g (n)) ¢ë¯®«¥® ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ f (n) = O(g (n)) ¨ f (n) = (g (n)). «ï «î¡ëå ¤¢ãå äãªæ¨© ᢮©á⢠f (n) = O(g(n)) ¨ g(n) = (f (n)) à ¢®á¨«ìë. ª ¬ë ¢¨¤¥«¨, an2 + bn + c = (n2) (¯à¨ ¯®«®¦¨â¥«ìëå a). ®í⮬ã an2 + bn + c = O(n2). à㣮© ¯à¨¬¥à: ¯à¨ a > 0 ¬®¦® ¯¨á âì an + b = O(n2) (¯®«®¦¨¬ c = a + jbj ¨ n0 = 1). ¬¥â¨¬, çâ® ¢ í⮬ á«ãç ¥ an + b = 6 (n2 ¨ an + b =6 (n2). ᨬ¯â®â¨ç¥áª¨¥ ®¡®§ 票ï (, O ¨ ) ç á⮠㯮âॡ«ïîâáï ¢ãâਠä®à¬ã«. ¯à¨¬¥à, ¢ £« ¢¥ 1 ¬ë ¯®«ã稫¨ ४ãàà¥â®¥ á®®â®è¥¨¥ T (n) = 2T (n=2) + (n) ¤«ï ¢à¥¬¥¨ à ¡®âë á®àâ¨à®¢ª¨ ᫨逸¬. ¤¥áì (n) ®¡®§ ç ¥â ¥ª®â®àãî äãªæ¨î, ¯à® ª®â®àãî ¬ ¢ ¦® § âì «¨èì, çâ® ® ¥ ¬¥ìè¥ c1n ¨ ¥ ¡®«ìè¥ c2n ¤«ï ¥ª®â®àëå ¯®«®¦¨â¥«ìëå c1 ¨ c2 ¨ ¤«ï ¢á¥å ¤®áâ â®ç® ¡®«ìè¨å n. á⮠ᨬ¯â®â¨ç¥áª¨¥ ®¡®§ 票ï 㯮âॡ«ïîâáï ¥ ¢¯®«¥ ä®à¬ «ì®, å®âï ¨å ¯®¤à §ã¬¥¢ ¥¬ë© á¬ëá« ®¡ëç® ïᥠ¨§ ª®â¥ªáâ . ¯à¨¬¥à, ¬ë ¬®¦¥¬ ¯¨á âì ¢ëà ¦¥¨¥ n X i=1 O(i) ¨¬¥ï ¢ ¢¨¤ã á㬬ã h(1) + h(2) + : : : + h(n), £¤¥ h(i) | ¥ª®â®à ï äãªæ¨ï, ¤«ï ª®â®à®© h(i) = O(i). ¥£ª® ¢¨¤¥âì, çâ® á ¬ íâ á㬬 ª ª äãªæ¨ï ®â n ¥áâì O(n2). ¨¯¨çë© ¯à¨¬¥à ¨á¯®«ì§®¢ ¨ï ᨬ¯â®â¨ç¥áª¨å ®¡®§ 票© | 楯®çª à ¢¥á⢠¯®¤®¡¨¥ 2n2+3n+1 = 2n2+(n) = (n2). â®à®¥ ¨§ íâ¨å à ¢¥á⢠(2n2 +(n) = (n2)) ¯®¨¬ ¥âáï ¯à¨ í⮬ â ª: ª ª®¢ ¡ë ¨ ¡ë« äãªæ¨ï h(n) = (n) ¢ «¥¢®© ç áâ¨, á㬬 2n2 + h(n) ¥áâì (n2 ). ᨬ¯â®â¨ç¥áª¨¥ ®¡®§ 票ï 29 o- ¨ !-®¡®§ ç¥¨ï ¯¨áì f (n) = O(g(n)) ®§ ç ¥â, çâ® á à®á⮬ n ®â®è¥¨¥ f (n)=g (n) ®áâ ñâáï ®£à ¨ç¥ë¬. ᫨ ª ⮬㠦¥ lim f (n) = 0; (2.1) n!1 g (n) â® ¬ë ¯¨è¥¬ f (n) = o(g(n)) (ç¨â ¥âáï "íä ®â í ¥áâì ® ¬ «®¥ ®â ¦¥ ®â í"). ®à¬ «ì® £®¢®àï, f (n) = o(g(n)), ¥á«¨ ¤«ï ¢á类£® ¯®«®¦¨â¥«ì®£® " > 0 ©¤ñâáï â ª®¥ n0, çâ® 0 6 f (n) 6 "g(n) ¯à¨ ¢á¥å n > n0. (¥¬ á ¬ë¬ § ¯¨áì f (n) = o(g(n)) ¯à¥¤¯®« £ ¥â, çâ® f (n) ¨ g(n) ¥®âà¨æ ⥫ìë ¤«ï ¤®áâ â®ç® ¡®«ìè¨å n.) ਬ¥à: 2n = o(n2), ® 2n2 = 6 o(n2). «®£¨çë¬ ®¡à §®¬ ¢¢®¤¨âáï !-®¡®§ 票¥: £®¢®àïâ, çâ® f (n) ¥áâì !(g(n)) ("íä ®â í ¥áâì ®¬¥£ ¬ « ï ®â ¦¥ ®â í"), ¥á«¨ ¤«ï «î¡®£® ¯®«®¦¨â¥«ì®£® c áãé¥áâ¢ã¥â â ª®¥ n0, çâ® 0 6 cg(n) 6 f (n) ¯à¨ ¢á¥å n > n0. à㣨¬¨ á«®¢ ¬¨, f (n) = ! (g (n)) ®§ ç ¥â, çâ® g(n) = o(f (n)). ਬ¥à: n2=2 = !(n), ® n2=2 = 6 !(n2). à ¢¥¨¥ äãªæ¨© ¢¥¤ñë¥ ¬¨ ®¯à¥¤¥«¥¨ï ®¡« ¤ îâ ¥ª®â®à묨 ᢮©á⢠¬¨ âà §¨â¨¢®áâ¨, à¥ä«¥ªá¨¢®á⨠¨ ᨬ¬¥âà¨ç®áâ¨: à §¨â¨¢®áâì: f (n) = (g (n)) ¨ g (n) = (h(n)) ¢«¥çñâ f (n) = (h(n)), f (n) = O(g(n)) ¨ g(n) = O(h(n)) ¢«¥çñâ f (n) = O(h(n)), f (n) = (g (n)) ¨ g (n) = (h(n)) ¢«¥çñâ f (n) = (h(n)), f (n) = o(g (n)) ¨ g (n) = o(h(n)) ¢«¥çñâ f (n) = o(h(n)), f (n) = !(g(n)) ¨ g(n) = ! (h(n)) ¢«¥çñâ f (n) = !(h(n)). ¥ä«¥ªá¨¢®áâì: f (n) = (f (n)), f (n) = O(f (n)), f (n) = (f (n)). ¨¬¬¥âà¨ç®áâì: f (n) = (g (n)) ¥á«¨ ¨ ⮫쪮 ¥á«¨ g (n) = (f (n)). ¡à 饨¥: f (n) = O(g(n)) ¥á«¨ ¨ ⮫쪮 ¥á«¨ g (n) = (f (n)), f (n) = o(g (n)) ¥á«¨ ¨ ⮫쪮 ¥á«¨ g(n) = !(f (n)). ®¦® ¯à®¢¥á⨠⠪ãî ¯ à ««¥«ì: ®â®è¥¨ï ¬¥¦¤ã äãªæ¨ï¬¨ f ¨ g ¯®¤®¡ë ®â®è¥¨ï¬ ¬¥¦¤ã ç¨á« ¬¨ a ¨ b: f (n) = O(g (n)) f (n) = (g (n)) f (n) = (g(n)) f (n) = o(g (n)) f (n) = !(g (n)) a6b a>b a=b a<b a>b 30 « ¢ 2 ª®à®áâì à®áâ äãªæ¨© à ««¥«ì íâ , ¢¯à®ç¥¬, ¢¥áì¬ ãá«®¢ : ᢮©á⢠ç¨á«®¢ëå ¥à ¢¥á⢠¥ ¯¥à¥®áïâáï äãªæ¨¨. ¯à¨¬¥à, ¤«ï «î¡ëå ¤¢ãå ç¨á¥« a ¨ b ¢á¥£¤ ¨«¨ a 6 b, ¨«¨ a > b, ®¤ ª® ¥«ì§ï ã⢥ত âì, çâ® ¤«ï «î¡ëå ¤¢ãå (¯®«®¦¨â¥«ìëå) äãªæ¨© f (n) ¨ g(n) ¨«¨ f (n) = O(g(n)), ¨«¨ f (n) = (g(n)). á ¬®¬ ¤¥«¥, ¬®¦® ¯à®¢¥à¨âì, çâ® ¨ ®¤® ¨§ íâ¨å ¤¢ãå á®®â®è¥¨© ¥ ¢ë¯®«¥® ¤«ï f (n) = n ¨ g(n) = n1+sin n (¯®ª § ⥫ì á⥯¥¨ ¢ ¢ëà ¦¥¨¨ ¤«ï g(n) ¬¥ï¥âáï ¢ ¨â¥à¢ «¥ ®â 0 ¤® 2). ¬¥â¨¬ ¥éñ, çâ® ¤«ï ç¨á¥« a 6 b ¢«¥çñâ a < b ¨«¨ a = b, ¢ â® ¢à¥¬ï ª ª ¤«ï äãªæ¨© f (n) = O(g(n)) ¥ ¢«¥çñâ f (n) = o(g (n)) ¨«¨ f (n) = (g (n)). ¯à ¦¥¨ï ãáâì f (n) ¨ g(n) ¥®âà¨æ ⥫ìë ¤«ï ¤®áâ â®ç® ¡®«ìè¨å n. ®ª ¦¨â¥, çâ® max(f (n); g (n)) = (f (n) + g (n)). 2.1-2 ®ª ¦¨â¥, çâ® (n + a)b = (nb ) (2.2) ¤«ï «î¡®£® ¢¥é¥á⢥®£® a ¨ ¤«ï «î¡®£® b > 0. 2.1-3 ®ç¥¬ã ã⢥ত¥¨¥ "¢à¥¬ï à ¡®âë «£®à¨â¬ A ¥ ¬¥ìè¥ O(n2)" ¥ ¨¬¥¥â á¬ëá« ? 2.1-4 ®¦® «¨ ã⢥ত âì, çâ® 2n+1 = O(2n)? â® 22n = O(2n )? 2.1-5 ®ª ¦¨â¥ ⥮६ã 2.1. 2.1-6 ਢ¥¤¨â¥ ¯à¨¬¥à äãªæ¨© f (n) ¨ g (n), ¤«ï ª®â®àëå f (n) = O(g (n)), ® f (n) = 6 o(g(n)) ¨ f (n) =6 (g(n)). 2.1-7 ®ª ¦¨â¥, ç⮠᢮©á⢠f (n) = o(g (n)) ¨ f (n) = ! (g (n)) ¥ ¬®£ãâ ¡ëâì ¢ë¯®«¥ë ®¤®¢à¥¬¥®. 2.1-8 ᨬ¯â®â¨ç¥áª¨¥ ®¡®§ ç¥¨ï ¬®£ãâ ¡ëâì ¢¢¥¤¥ë ¨ ¤«ï äãªæ¨©, § ¢¨áïé¨å ®â ¥áª®«ìª¨å ¯ à ¬¥â஢. ®¢®àïâ, çâ® f (m; n) = O(g (m; n)), ¥á«¨ ©¤ãâáï n0 , m0 ¨ ¯®«®¦¨â¥«ì®¥ c, ¤«ï ª®â®àëå 0 6 f (m; n) 6 cg(m; n) ¤«ï ¢á¥å n > n0 ¨ m > m0. ©â¥ «®£¨çë¥ ®¯à¥¤¥«¥¨ï ¤«ï (g(m; n)) ¨ (g(m; n)). 2.1-1 2.2 â ¤ àâë¥ äãªæ¨¨ ¨ ®¡®§ ç¥¨ï ®®â®®áâì ®¢®àïâ, çâ® äãªæ¨ï f (n) ¬®®â®® ¢®§à áâ ¥â (is monotonically increasing), ¥á«¨ f (m) 6 f (n) ¯à¨ m 6 n. ®¢®àïâ, çâ® äãªæ¨ï f (n) â ¤ àâë¥ äãªæ¨¨ ¨ ®¡®§ 票ï 31 ¬®®â®® ã¡ë¢ ¥â (is monotonically decreasing), ¥á«¨ f (m) > f (n) ¯à¨ m 6 n. ®¢®àïâ, çâ® äãªæ¨ï f (n) áâண® ¢®§à áâ ¥â (is strictly increasing), ¥á«¨ f (m) < f (n) ¯à¨ m < n. ®¢®àïâ, çâ® äãªæ¨ï f (n) áâண® ã¡ë¢ ¥â (is strictly decreasing), ¥á«¨ f (m) > f (n) ¯à¨ m < n. ¥«ë¥ ¯à¨¡«¨¦¥¨ï ᨧ㠨 ᢥàåã «ï «î¡®£® ¢¥é¥á⢥®£® ç¨á« x ç¥à¥§ bxc (the oor of x) ¬ë ®¡®§ ç ¥¬ ¥£® 楫ãî ç áâì, â. ¥. ¨¡®«ì襥 楫®¥ ç¨á«®, ¥ ¯à¥¢®á室ï饥 x. ¨¬¬¥âà¨çë¬ ®¡à §®¬ dxe (the ceiling of x) ®¡®§ ç ¥â ¨¬¥ì襥 楫®¥ ç¨á«®, ¥ ¬¥ì襥 x. 祢¨¤®, x ; 1 < bxc 6 x 6 dxe < x + 1 ¤«ï «î¡®£® x. ஬¥ ⮣®, dn=2e + bn=2c = n ¤«ï «î¡®£® 楫®£® n. ª®¥æ, ¤«ï «î¡®£® x ¨ ¤«ï «î¡ëå 楫ëå ¯®«®¦¨â¥«ìëå a ¨ b ¨¬¥¥¬ ddx=ae=be = dx=abe (2.3) ¨ bbx=ac=bc = bx=abc (2.4) (ç⮡ë ã¡¥¤¨âìáï ¢ í⮬, ¯®«¥§® § ¬¥â¨âì, çâ® ¤«ï «î¡®£® z ¨ ¤«ï 楫®£® n ᢮©á⢠n 6 z ¨ n 6 bzc à ¢®á¨«ìë). ãªæ¨¨ x 7! bxc ¨ x 7! dxe ¬®®â®® ¢®§à áâ îâ. ®£®ç«¥ë ®£®ç«¥®¬ (¯®«¨®¬®¬) á⥯¥¨ d ®â ¯¥à¥¬¥®© n (polynomial in n of degree d) §ë¢ îâ äãªæ¨î p(n) = d X i=0 ai ni (d | ¥®âà¨æ ⥫쮥 楫®¥ ç¨á«®). ¨á« a0 ; a1; : : :; ad §ë¢ îâ ª®íää¨æ¨¥â ¬¨ (coecients) ¬®£®ç«¥ . ë áç¨â ¥¬, çâ® áâ à訩 ª®íää¨æ¨¥â ad ¥ à ¢¥ ã«î (¥á«¨ íâ® ¥ â ª, 㬥ì訬 d | íâ® ¬®¦® ᤥ« âì, ¥á«¨ ⮫쪮 ¬®£®ç«¥ ¥ à ¢¥ ã«î ⮦¤¥á⢥®). «ï ¡®«ìè¨å § 票© n § ª ¬®£®ç«¥ p(n) ®¯à¥¤¥«ï¥âáï áâ à訬 ª®íää¨æ¨¥â®¬ (®áâ «ìë¥ ç«¥ë ¬ «ë ¯® áà ¢¥¨î á ¨¬), 32 « ¢ 2 ª®à®áâì à®áâ äãªæ¨© â ª çâ® ¯à¨ ad > 0 ¬®£®ç«¥ p(n) ᨬ¯â®â¨ç¥áª¨ ¯®«®¦¨â¥«¥ (¯®«®¦¨â¥«¥ ¯à¨ ¡®«ìè¨å n) ¨ ¬®¦® ¯¨á âì p(n) = (nd ). ਠa > 0 äãªæ¨ï n 7! na ¬®®â®® ¢®§à áâ ¥â, ¯à¨ a 6 0 | ¬®®â®® ã¡ë¢ ¥â. ®¢®àïâ, çâ® äãªæ¨ï f (n) ¯®«¨®¬¨ «ì® ®£à ¨ç¥ , ¥á«¨ f (n) = nO(1), ¨«¨, ¤à㣨¬¨ á«®¢ ¬¨, ¥á«¨ f (n) = O(nk ) ¤«ï ¥ª®â®à®© ª®áâ âë k (á¬. ã¯à. 2.2-2). ªá¯®¥âë «ï «î¡ëå ¢¥é¥á⢥ëå m, n ¨ a 6= 0 ¨¬¥¥¬ a0 = 1; (am )n = amn ; a1 = a; (am )n = (an )m ; a;1 = 1=a; am an = am+n : ਠa > 1 äãªæ¨ï n 7! an ¬®®â®® ¢®§à áâ ¥â. ë ¡ã¤¥¬ ¨®£¤ ãá«®¢® ¯®« £ âì 00 = 1. ãªæ¨ï n 7! an §ë¢ ¥âáï ¯®ª § ⥫쮩 äãªæ¨¥©, ¨«¨ íªá¯®¥â®© (exponential). ਠa > 1 ¯®ª § ⥫ì ï äãªæ¨ï à áâñâ ¡ëáâ॥ «î¡®£® ¯®«¨®¬ : ª ª®¢® ¡ë ¨ ¡ë«® b, nb = 0 lim (2.5) n!1 an ¨«¨, ¤à㣨¬¨ á«®¢ ¬¨, nb = o(an ). ᫨ ¢ ª ç¥á⢥ ®á®¢ ¨ï á⥯¥¨ ¢§ïâì ç¨á«® e = 2;71828 : : : , â® íªá¯®¥âã ¬®¦® § ¯¨á âì ¢ ¢¨¤¥ àï¤ 1 k 3 2 X ex = 1 + x + x2! + x3! + : : : = xk! k=0 (2.6) £¤¥ k! = 1 2 3 : : : k (á¬. ¨¦¥ ® ä ªâ®à¨ « å). «ï ¢á¥å ¢¥é¥á⢥ëå x ¢ë¯®«¥® ¥à ¢¥á⢮ ex > 1 + x (2.7) ª®â®à®¥ ®¡à é ¥âáï ¢ à ¢¥á⢮ «¨èì ¯à¨ x = 0. ਠjxj 6 1 ¬®¦® ®æ¥¨âì ex ᢥàåã ¨ ᨧã â ª: 1 + x 6 ex 6 1 + x + x2 (2.8) ®¦® ᪠§ âì, çâ® ex = 1 + x + (x2) ¯à¨ x ! 0, ¨¬¥ï ¢ ¢¨¤ã ᮮ⢥âáâ¢ãî饥 ¨á⮫ª®¢ ¨¥ ®¡®§ 票ï (¢ ª®â®à®¬ n ! 1 § ¬¥¥® x ! 0). ; ਠ¢á¥å x ¢ë¯®«¥® à ¢¥á⢮ limn!1 1 + nx n = ex. â ¤ àâë¥ äãªæ¨¨ ¨ ®¡®§ 票ï 33 ®£ à¨ä¬ë ë ¡ã¤¥¬ ¨á¯®«ì§®¢ âì â ª¨¥ ®¡®§ 票ï: lg n = log2 n (¤¢®¨çë© «®£ à¨ä¬), ln n = loge n ( âãà «ìë© «®£ à¨ä¬), lgk n = (lg n)k ; lg lg n = lg(lg n) (¯®¢â®àë© «®£ à¨ä¬). ë ¡ã¤¥¬ áç¨â âì, çâ® ¢ ä®à¬ã« å § ª «®£ à¨ä¬ ®â®á¨âáï «¨èì ª ¥¯®á।á⢥® á«¥¤ãî饬㠧 ¨¬ ¢ëà ¦¥¨î, â ª çâ® lg n + k ¥áâì lg(n) + k ( ¥ lg(n + k)). ਠb > 1 äãªæ¨ï n 7! logb n (®¯à¥¤¥«ñ ï ¯à¨ ¯®«®¦¨â¥«ìëå n) áâண® ¢®§à áâ ¥â. «¥¤ãî騥 ⮦¤¥á⢠¢¥àë ¯à¨ ¢á¥å a > 0, b > 0, c > 0 ¨ ¯à¨ ¢á¥å n (¥á«¨ ⮫쪮 ®á®¢ ¨ï «®£ à¨ä¬®¢ ¥ à ¢ë 1): a = blogb a ; logb (1=a) = ; logb a logc (ab) = logc a + logc b; logb a = log1 b (2.9) logb an = n logb a; a ca alogb c = clogb a logb a = log logc b §¬¥¥¨¥ ®á®¢ ¨ï ã «®£ à¨ä¬ 㬮¦ ¥â ¥£® ª®áâ âã, ¯®í⮬㠢 § ¯¨á¨ ⨯ O(log n) ¬®¦® ¥ ãâ®çïâì, ª ª®¢® ®á®¢ ¨¥ «®£ à¨ä¬ . ë ¡ã¤¥¬ ç é¥ ¢á¥£® ¨¬¥âì ¤¥«® á ¤¢®¨ç묨 «®£ à¨ä¬ ¬¨ (®¨ ¯®ï¢«ïîâáï, ª®£¤ § ¤ ç ¤¥«¨âáï ¤¢¥ ç áâ¨) ¨ ¯®â®¬ã ®áâ ¢«ï¥¬ § ¨¬¨ ®¡®§ 票¥ lg. «ï âãà «ì®£® «®£ à¨ä¬ ¥áâì àï¤ (ª®â®àë© á室¨âáï ¯à¨ jxj < 1): 2 3 4 5 ln(1 + x) = x ; x2 + x3 ; x4 + x5 ; : : : ਠx > ;1 á¯à ¢¥¤«¨¢ë ¥à ¢¥á⢠x 6 ln(1 + x) 6 x (2.10) 1+x ª®â®àë¥ ®¡à é îâáï ¢ à ¢¥á⢠«¨èì ¯à¨ x = 0. ®¢®àïâ, çâ® äãªæ¨ï f (n) ®£à ¨ç¥ ¯®«¨«®£ à¨ä¬®¬ (is polylogaritmically bounded), ¥á«¨ f (n) = lgO(1) n. ।¥« (2:5) ¯®á«¥ ¯®¤áâ ®¢®ª n = lg m ¨ a = 2c ¤ ñâ lgb m = lim lgb m = 0 lim m!1 (2c )lg m m!1 mc ¨, â ª¨¬ ®¡à §®¬, lgb n = o(nc ) ¤«ï «î¡®© ª®áâ âë c > 0. à㣨¬¨ á«®¢ ¬¨, «î¡®© ¯®«¨®¬ à áâñâ ¡ëáâ॥ «î¡®£® ¯®«¨«®£ à¨ä¬ . 34 « ¢ 2 ª®à®áâì à®áâ äãªæ¨© ªâ®à¨ «ë ¯¨áì n! (ç¨â ¥âáï "í ä ªâ®à¨ «", \n factorial") ®¡®§ ç ¥â ¯à®¨§¢¥¤¥¨¥ ¢á¥å ç¨á¥« ®â 1 ¤® n. ®« £ îâ 0! = 1, â ª çâ® n! = n (n ; 1)! ¯à¨ ¢á¥å n = 1; 2; 3; : : : . à §ã ¦¥ ¢¨¤®, çâ® n! 6 nn (ª ¦¤ë© ¨§ ᮬ®¦¨â¥«¥© ¥ ¡®«ìè¥ n). ®«¥¥ â®ç ï ®æ¥ª ¤ ñâáï ä®à¬ã«®© â¨à«¨£ (Stirling's approximation), ª®â®à ï £« á¨â, çâ® p n n! = 2n ne (1 + (1=n)) (2.11) § ä®à¬ã«ë â¨à«¨£ á«¥¤ã¥â, çâ® n! = o(nn); n! = !(2n ); lg(n!) = (n lg n): ¯à ¢¥¤«¨¢ â ª¦¥ á«¥¤ãîé ï ®æ¥ª : p n n p n 2n e 6 n! 6 2n ne e1=12n: (2.12) â¥à 樨 «®£ à¨ä¬ ë ¨á¯®«ì§ã¥¬ ®¡®§ 票¥ log n ("«®£ à¨ä¬ á® §¢ñ§¤®çª®© ®â í") ¤«ï äãªæ¨¨: §ë¢ ¥¬®© ¨â¥à¨à®¢ ë¬ «®£ à¨ä¬®¬ (iterated logarithm). â äãªæ¨ï ®¯à¥¤¥«ï¥âáï â ª. ç «¥ à áᬮâਬ iãî ¨â¥à æ¨î «®£ à¨ä¬ , äãªæ¨î lg(i), ®¯à¥¤¥«ñãî â ª: lg(0) n = n ¨ lg(i)(n) = lg(lg(i;1) n) ¯à¨ i > 0. (®á«¥¤¥¥ ¢ëà ¦¥¨¥ ®¯à¥¤¥«¥®, ¥á«¨ lg(i;1) n ®¯à¥¤¥«¥® ¨ ¯®«®¦¨â¥«ì®.) ã¤ì⥠¢¨¬ ⥫ìë: ®¡®§ 票ï lgi n ¨ lg(i) n ¢¥è¥ ¯®å®¦¨, ® ®§ ç îâ ᮢ¥à襮 à §ë¥ äãªæ¨¨. ¥¯¥àì lg n ®¯à¥¤¥«ï¥âáï ª ª ¬¨¨¬ «ì®¥ ç¨á«® i > 0, ¯à¨ ª®â®à®¬ lg(i) n 6 1. à㣨¬¨ á«®¢ ¬¨, lg n | íâ® ç¨á«® à §, ª®â®à®¥ 㦮 ¯à¨¬¥¨âì äãªæ¨î lg, çâ®¡ë ¨§ n ¯®«ãç¨âì ç¨á«®, ¥ ¯à¥¢®á室ï饥 1. ãªæ¨ï lg n à áâñ⠨᪫îç¨â¥«ì® ¬¥¤«¥®: lg 2 = 1; lg 4 = 2; lg 16 = 3; lg 65536 = 4; lg 265536 = 5: ®áª®«ìªã ç¨á«® ⮬®¢ ¢ ¡«î¤ ¥¬®© ç á⨠ᥫ¥®© ®æ¥¨¢ ¥âáï ª ª 1080, çâ® ¬®£® ¬¥ìè¥ 265536, â® § 票ï n, ¤«ï ª®â®àëå lg n > 5, ¢àï¤ «¨ ¬®£ãâ ¢áâà¥â¨âìáï. â ¤ àâë¥ äãªæ¨¨ ¨ ®¡®§ 票ï 35 ¨á« ¨¡® çç¨ ®á«¥¤®¢ ⥫ì®áâì ç¨á¥« ¨¡® çç¨ (Fibonacci numbers) ®¯à¥¤¥«ï¥âáï ४ãàà¥âë¬ á®®â®è¥¨¥¬: F0 = 0; F1 = 1; Fi = Fi;1 + Fi;2 ¯à¨ i > 2 (2.13) à㣨¬¨ á«®¢ ¬¨, ¢ ¯®á«¥¤®¢ ⥫ì®á⨠¨¡® çç¨ 0; 1; 1; 2; 3; 5; 8; 13; 21; 34; 55 : : : ª ¦¤®¥ ç¨á«® à ¢® á㬬¥ ¤¢ãå ¯à¥¤ë¤ãé¨å. ¨á« ¨¡® çç¨ á¢ï§ ë á â ª §ë¢ ¥¬ë¬ ®â®è¥¨¥¬ §®«®â®£® á¥ç¥¨ï (golden ratio) ' ¨ á ᮯàï¦ñë¬ á ¨¬ ç¨á«®¬ '^: p 1 + ' = 2 5 = 1;61803 : : : ; (2.14) p 5 1 ; = ;0;61803 : : : '^ = 2 ¬¥®, ¨¬¥¥â ¬¥áâ® ä®à¬ã« i i Fi = ' p; '^ 5 (2.15) ª®â®àãî ¬®¦® ¤®ª § âì ¯® ¨¤ãªæ¨¨ (ã¯à. 2.2-7). ®áª®«ìªã j'^j < i=p5j ¬¥ìè¥ 1=p5 < 1=2, â ª çâ® Fi à ¢® ç¨á«ã 1, á« £ ¥¬®¥ j ' ^ p 'i = 5, ®ªà㣫ñ®¬ã ¤® ¡«¨¦ ©è¥£® 楫®£®. ¨á«® Fi ¡ëáâà® (íªá¯®¥æ¨ «ì®) à áâñâ á à®á⮬ i. ¯à ¦¥¨ï ®ª ¦¨â¥, çâ® ¤«ï ¬®®â®® ¢®§à áâ îé¨å äãªæ¨© f (n) ¨ g(n) äãªæ¨¨ f (n) + g(n) ¨ f (g(n)) ¡ã¤ãâ â ª¦¥ ¬®®â®® ¢®§à áâ âì. ᫨ ª ⮬㠦¥ f (n) ¨ g(n) ¥®âà¨æ ⥫ìë ¯à¨ ¢á¥å n, â® ¨ äãªæ¨ï f (n)g(n) ¡ã¤¥â ¬®®â®® ¢®§à áâ âì. 2.2-2 ®ª ¦¨â¥, çâ® T (n) = nO(1) ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ áãé¥áâ¢ã¥â ¯®«®¦¨â¥«ì®¥ k, ¯à¨ ª®â®à®¬ T (n) = O(nk ) (áç¨â ¥¬, çâ® T (n) > 1). 2.2-3 ®ª ¦¨â¥ à ¢¥á⢠(2.9). 2.2-4 ®ª ¦¨â¥, çâ® lg(n!) = (n lg n) ¨ çâ® n! = o(nn ). 2.2-5? 㤥⠫¨ äãªæ¨ï dlg ne! ¯®«¨®¬¨ «ì® ®£à ¨ç¥®©? 㤥⠫¨ äãªæ¨ï dlg lg ne! ¯®«¨®¬¨ «ì® ®£à ¨ç¥®©? 2.2-6? â® ¡®«ìè¥ (¯à¨ ¡®«ìè¨å n): lg(lg n) ¨«¨ lg (lg n)? 2.2-1 36 « ¢ 2 ª®à®áâì à®áâ äãªæ¨© ®ª ¦¨â¥ ¯® ¨¤ãªæ¨¨ ä®à¬ã«ã (2.15). 2.2-8 ®ª ¦¨â¥ â ªãî ®æ¥ªã ¤«ï ç¨á¥« ¨¡® çç¨: Fi+2 > 'i ¯à¨ i > 0 (§¤¥áì ' | ®â®è¥¨¥ §®«®â®£® á¥ç¥¨ï). 2.2-7 ¤ ç¨ 2-1 ᨬ¯â®â¨ª ¬®£®ç«¥®¢ ãáâì p(n) = a0 + a1n + : : : + adnd | ¬®£®ç«¥ á⥯¥¨ d, ¯à¨çñ¬ ad > 0. ®ª ¦¨â¥, çâ® . p(n) = O(nk ) ¯à¨ k > d. ¡. p(n) = (nk ) ¯à¨ k 6 d. ¢. p(n) = (nk ) ¯à¨ k = d. £. p(n) = o(nk ) ¯à¨ k > d. ¤. p(n) = !(nk ) ¯à¨ k < d. 2-2 à ¢¥¨¥ ᨬ¯â®â¨ª «ï ¢á¥å ª«¥â®ª á«¥¤ãî饩 â ¡«¨æë ®â¢¥âì⥠"¤ " ¨«¨ "¥â" ¢®¯à®á ® ⮬, ¬®¦® «¨ § ¯¨á âì A ª ª O, o, , ! ¨«¨ ®â B (k > 1, " > 0, c > 1 | ¥ª®â®àë¥ ª®áâ âë). A B O o ! . lgk n n" ¡. pnk cn ¢. n nsin n n £. 2 2n=2 ¤. nlg m mlg n ¥. lg(n!) lg(nn) 2-3 à ¢¥¨¥ ᪮à®á⨠à®áâ . ᯮ«®¦¨â¥ á«¥¤ãî騥 30 äãªæ¨© ¢ ¯®à浪¥ 㢥«¨ç¥¨ï ᪮à®á⨠à®áâ (ª ¦¤ ï äãªæ¨ï ¥áâì O(á«¥¤ãîé ï)) ¨ ®â¬¥âìâ¥, ª ª¨¥ ¨§ íâ¨å äãªæ¨© á ¬®¬ ¤¥«¥ ¨¬¥îâ ®¤¨ ª®¢ãî ᪮à®áâì à®áâ (®¤ ¥áâì ®â ¤à㣮©): p lg(lg n) 2lg n ( 2)lg n n2 n!n (lg n)! 2 n 3 (3=2) n lg n lg(n!) 22 n1= lg n n lg lg n ln ln n lg n n2 n ln n p 1 lg n lg n n lg n 2 (lgpn) e 4 (n + 1)! lg n lg lg n 2 2 lg n n 2n n lg n 22n ¡. ª ¦¨â¥ ¥®âà¨æ ⥫ìãî äãªæ¨î f (n), ª®â®à ï ¥ áà ¢¨¬ ¨ á ®¤®© ¨§ äãªæ¨© gi í⮩ â ¡«¨æë (f (n) ¥ ¥áâì O(gi(n)) ¨ gi(n) ¥ ¥áâì O(f (n))). +1 ¤ ç¨ ª £« ¢¥ 2 37 2-4 ¢®©á⢠ᨬ¯â®â¨ç¥áª¨å ®¡®§ 票© ãáâì äãªæ¨¨ f (n) ¨ g(n) ¯®«®¦¨â¥«ìë ¯à¨ ¤®áâ â®ç® ¡®«ìè¨å n. ®¦® «¨ ã⢥ত âì, çâ® . ¥á«¨ f (n) = O(g(n)), â® g(n) = O(f (n))? ¡. f (n) + g(n) = (min(f (n); g(n)))? ¢. f (n) = O(g(n)) ¢«¥çñâ lg(f (n)) = O(lg(g(n))), ¥á«¨ lg(g(n)) > 0 ¨ f (n) > 1 ¤«ï ¤®áâ â®ç® ¡®«ìè¨å n? £. f (n) = O(g(n)) ¢«¥çñâ 2f (n) = O(2g(n))? ¤. f (n) = O((f (n))2)? ¥. f (n) = O(g(n)) ¢«¥çñâ g(n) = (f (n))? ¦. f (n) = (f (n=2))? §. f (n) + o(f (n)) = (f (n))? 2-5 ਠâë ᨬ¯â®â¨ç¥áª¨å ®¡®§ 票© ¥ª®â®àëå ª¨£ å -®¡®§ 票¥ ¨á¯®«ì§ã¥âáï ¢ ¨®¬ á¬ëá«¥. ë ¡ã¤¥¬ ¨á¯®«ì§®¢ âì ®¡®§ 票¥ 1 ¤«ï í⮣® ¢ ਠâ , çâ®¡ë ¨§¡¥¦ âì ¯ãâ ¨æë. ãáâì f (n) ¨ g(n) | äãªæ¨¨ âãà «ì®£® à£ã¬¥â . ®¢®àïâ, çâ® f (n) = 1(g(n)), ¥á«¨ ©¤ñâáï ¯®«®¦¨â¥«ì®¥ ç¨á«® c, ¯à¨ ª®â®à®¬ f (n) > cg(n) > 0 ¤«ï ¡¥áª®¥ç® ¬®£¨å âãà «ìëå n. . ®ª ¦¨â¥, çâ® ¤«ï «î¡ëå ¤¢ãå äãªæ¨© f (n) ¨ g(n), ¯®«®¦¨â¥«ìëå ¯à¨ ¡®«ìè¨å § 票ïå n, ¢ë¯®«¥® «¨¡® f (n) = O(g(n)), «¨¡® f (n) = 1(g(n)), ¨ çâ® ¤«ï 襣® ¯à¥¦¥£® ®¯à¥¤¥«¥¨ï (g (n)) í⮣® ã⢥ত âì ¥«ì§ï. ¡. ª®¢ë ¢®§¬®¦ë¥ ¤®á⮨á⢠¨ ¥¤®áâ ⪨ ¯à¨¬¥¥¨ï ®æ¥®ª ¢¨¤ 1 ¯à¨ ¨áá«¥¤®¢ ¨¨ ¢à¥¬¥¨ à ¡®âë «£®à¨â¬®¢? ¥ª®â®àë¥ ¢â®àë ¢ § ¯¨á¨ f (n) = O(g(n)) ¥ âॡãîâ, ç⮡ë äãªæ¨ï f (n) ¡ë« ᨬ¯â®â¨ç¥áª¨ ¯®«®¦¨â¥«ì®©. 㤥¬ ¨á¯®«ì§®¢ âì ®¡®§ 票¥ O0 ¨ ᪠¦¥¬, çâ® f (n) = O0(g(n)), ¥á«¨ jf (n)j = O(g (n)). ¢. â® ¯à®¨á室¨â ¯à¨ â ª®¬ ®¯à¥¤¥«¥¨¨ á ã⢥ত¥¨ï¬¨ ⥮६ë 2.1? ¥ª®â®àë¥ ¢â®àë ¨á¯®«ì§ãîâ ¥éñ ®¤¨ ¢ ਠ⠮¯à¥¤¥«¥¨ï: ¡ã¤¥¬ £®¢®à¨âì, çâ® f (n) = O~ (g(n)), ¥á«¨ ©¤ãâáï ¯®«®¦¨â¥«ìë¥ ç¨á« c ¨ k, ¤«ï ª®â®àëå 0 6 f (n) 6 cg(n) lgk n ¤«ï ¢á¥å ¤®áâ â®ç® ¡®«ìè¨å n. £. ¯à¥¤¥«¨â¥ ~ ¨ ~ «®£¨çë¬ ®¡à §®¬ ¨ ¤®ª ¦¨â¥ «®£ ⥮६ë 2.1. 2-6 â¥à 樨 ë ¨â¥à¨à®¢ «¨ «®£ à¨ä¬¨ç¥áªãî äãªæ¨î, ® «®£¨ç ï ®¯¥à æ¨ï ¢®§¬®¦ ¨ ¤«ï ¤à㣨å äãªæ¨©. ãáâì f (n) | ¥ª®â®à ï äãªæ¨ï, ¯à¨çñ¬ f (n) < n. ¯à¥¤¥«¨¬ f (i)(n), ¯®«®¦¨¢ f (0)(n) = n ¨ f (i)(n) = f (f (i;1)(n)) ¯à¨ i > 0. «ï 䨪á¨à®¢ ®£® ç¨á« c ®¯à¥¤¥«¨¬ äãªæ¨î fc(n) ª ª ¬¨- 38 « ¢ 2 ª®à®áâì à®áâ äãªæ¨© ¨¬ «ì®¥ i > 0, ¤«ï ª®â®à®£® f (i)(n) 6 c. (à㣨¬¨ á«®¢ ¬¨, fc | í⮠᪮«ìª® à § 㦮 ¯à¨¬¥ïâì äãªæ¨î f , çâ®¡ë ¨§ n ¯®«ãç¨âì ç¨á«®, ¥ ¯à¥¢®á室ï饥 c.) ¬¥â¨¬, çâ® fc(n) ®¯à¥¤¥«¥® ¤ «¥ª® ¥ ¢á¥£¤ . «ï ª ¦¤®© ¨§ á«¥¤ãîé¨å äãªæ¨© f (n) ¨ § 票© c ®æ¥¨â¥ fc ¢®§¬®¦® â®ç¥¥: f (n) c fc(n) . lg n 1 ¡. n ; 1 0 ¢. n=2 1 £. n= 2 2 ¤. p n 2 p ¥. n 1 ¦. n1=3 2 §. n= lg n 2 ¬¥ç ¨ï ª áç¨â ¥â ãâ [121], ¨á¯®«ì§®¢ ¨¥ O-®¡®§ 票© ¢®á室¨â ª ã祡¨ªã ¯® ⥮ਨ ç¨á¥« (P. Bachmann, 1892). ¡®§ 票¥ o(g(n)) ¡ë«® ¨á¯®«ì§®¢ ® ¤ ã (E. Landau) ¢ 1909 £®¤ã ¯à¨ ®¡á㦤¥¨¨ à á¯à¥¤¥«¥¨ï ¯à®áâëå ç¨á¥«. ᯮ«ì§®¢ ¨¥ - ¨ -®¡®§ 票© ४®¬¥¤®¢ ® ã⮬ [124]: í⨠®¡®§ ç¥¨ï ¯®§¢®«ïîâ ¨§¡¥¦ âì â¥å¨ç¥áª¨ ¥ª®à४⮣® 㯮âॡ«¥¨ï O-®¡®§ 票© ¤«ï ¨¦¨å ®æ¥®ª (å®âï ¬®£¨¥ «î¤¨ ¯à®¤®«¦ îâ â ª ¤¥« âì). ®¤à®¡¥¥ ®¡ ᨬ¯â®â¨ç¥áª¨å ®¡®§ 票ïå á¬. ãâ [121, 124] ¨ à áá à ¨ à¥â«¨ [33]. ¤¨ ¨ ⥠¦¥ ®¡®§ ç¥¨ï ¯®à®© ¨á¯®«ì§ãîâáï ¢ à §«¨çëå á¬ëá« å, å®âï à §¨æ , ª ª ¯à ¢¨«®, ®ª §ë¢ ¥âáï ¥áãé¥á⢥®©. ç áâ®áâ¨, ¨®£¤ áà ¢¨¢ ¥¬ë¥ äãªæ¨¨ ¥ ¯à¥¤¯®« £ îâáï ¥®âà¨æ ⥫ì묨 ¯à¨ ¡®«ìè¨å n (¨ áà ¢¨¢ îâáï ¬®¤ã«¨). ãé¥áâ¢ã¥â ¬®£® á¯à ¢®ç¨ª®¢, ᮤ¥à¦ é¨å ᢥ¤¥¨ï ®¡ í«¥¬¥â àëå äãªæ¨ïå: ¡à ¬®¢¨ç ¨ ⥣ã [1], ¥©¥à [27]. ®¦® â ª¦¥ ¢§ïâì «î¡®© ã祡¨ª ¯® «¨§ã (á¬., ¯à¨¬¥à, ¯®á⮫ [12] ¨«¨ ®¬ á ¨ ¨¨ [192]). ¨£ ãâ [121] ᮤ¥à¦¨â ¬®£® ¯®«¥§ëå ¬ ⥬ â¨ç¥áª¨å ᢥ¤¥¨©, ¨á¯®«ì§ã¥¬ëå ¯à¨ «¨§¥ «£®à¨â¬®¢. 3 㬬¨à®¢ ¨¥ ᫨ «£®à¨â¬ ᮤ¥à¦¨â 横« (for, while), â® ¢à¥¬ï ¥£® à ¡®âë ï¥âáï á㬬®© ¢à¥¬ñ ®â¤¥«ìëå è £®¢. ¯à¨¬¥à, ª ª ¬ë § ¥¬ ¨§ à §¤¥« 1.2, ¢ë¯®«¥¨¥ j -£® è £ «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ âॡã¥â ¢à¥¬¥¨, ¯à®¯®à樮 «ì®£® j . ®í⮬㠮¡é¥¥ ¢à¥¬ï ¡ã¤¥â ®¯à¥¤¥«ïâìáï á㬬®© n X j =1 j; ª®â®à ï ¥áâì (n2). ®¤®¡®£® த áã¬¬ë ¬ ¥ à § ¢áâà¥âïâáï (¢ ç áâ®áâ¨, ¢ £« ¢¥ 4 ¯à¨ «¨§¥ ४ãàà¥âëå á®®â®è¥¨©). à §¤¥«¥ 3.1 ¯¥à¥ç¨á«¥ë ®á®¢ë¥ ᢮©á⢠á㬬. ¥ª®â®àë¥ ¨§ íâ¨å ᢮©á⢠¤®ª §ë¢ îâáï ¢ à §¤¥«¥ 3.2; ¡®«ìè¨á⢮ ¯à®¯ãé¥ëå ¤®ª § ⥫ìá⢠¬®¦® ©â¨ ¢ ã祡¨ª å ¯® ¬ ⥬ â¨ç¥áª®¬ã «¨§ã. 3.1 ã¬¬ë ¨ ¨å ᢮©á⢠«ï á㬬ë a1 + a2 + : : : + an ¨á¯®«ì§ãîâ ®¡®§ 票¥ n X k=1 ak : ਠn = 0 § 票¥ á㬬ë áç¨â ¥âáï à ¢ë¬ 0. ª ¯à ¢¨«®, ¨¦¨© ¨ ¢¥à娩 ¯à¥¤¥«ë á㬬¨à®¢ ¨ï | æ¥«ë¥ ç¨á« . ( ᫨ íâ® ¥ â ª, ®¡ëç® ¯®¤à §ã¬¥¢ îâáï æ¥«ë¥ ç áâ¨.) ª®¥çëå á㬬 å á« £ ¥¬ë¥ ¬®¦® ¯à®¨§¢®«ì® ¯¥à¥áâ ¢«ïâì. ªãàá å «¨§ ®¯à¥¤¥«ïîâ á㬬㠡¥áª®¥ç®£® àï¤ (series) a1 + a2 + a3 + : : : ¨«¨ 1 X ak k=1 40 « ¢ 3 㬬¨à®¢ ¨¥ ª ª ¯à¥¤¥« ¯®á«¥¤®¢ ⥫ì®á⨠ç áâ¨çëå á㬬 lim n!1 n X k=1 ak : ᫨ ¯à¥¤¥« ¥ áãé¥áâ¢ã¥â, £®¢®àïâ, çâ® àï¤ P1à á室¨âáï (diverges); ¢ ¯à®â¨¢®¬ á«ãç ¥ ® á室¨âáï . ᫨ àï¤ k=1 jak j á室¨âáï, â® àï¤ P1 a §ë¢ î⠡᮫îâ® á室ï騬áï (absolutely k=1 k convergent series); ¢á直© ¡á®«îâ® á室ï騩áï àï¤ á室¨âáï, ® ¥ ®¡®à®â. ਠ¯¥à¥áâ ®¢ª¥ ç«¥®¢ ¡á®«îâ® á室ï饣®áï àï¤ ® ®áâ ñâáï ¡á®«îâ® á室ï騬áï ¨ ¥£® á㬬 ¥ ¬¥ï¥âáï. ¨¥©®áâì ¢®©á⢮ «¨¥©®á⨠£« á¨â, çâ® n X k=1 (cak + bk ) = c n X k=1 ak + n X k=1 bk ¤«ï «î¡®£® ç¨á« c ¨ ¤«ï «î¡ëå ª®¥çëå ¯®á«¥¤®¢ ⥫ì®á⥩ a1; : : :; an ¨ b1; : : :; bn. ®ç«¥® ᪫ ¤ë¢ âì ¨ 㬮¦ âì ç¨á« ¬®¦® ¥ ⮫쪮 ª®¥çë¥ á㬬ë, ® ¨ á室ï騥áï ¡¥áª®¥çë¥ àï¤ë. à¨ä¬¥â¨ç¥áª¨¥ ¯à®£à¥áᨨ 㬬 n X k=1 k = 1 + 2 + : : : + n; ª®â®à ï ¢®§¨ª« ¯à¨ «¨§¥ «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨, ï¥âáï à¨ä¬¥â¨ç¥áª®© ¯à®£à¥áᨥ© (arithmetic series). ñ § 票¥ à ¢® n X k=1 k = 12 n(n + 1) = = (n2 ): (3.1) (3.2) ¥®¬¥âà¨ç¥áª¨¥ ¯à®£à¥áᨨ ਠx 6= 1 á㬬㠣¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨨ (geometric ¨«¨ exponential series) n X k=0 xk = 1 + x + x2 + : : : + xn ã¬¬ë ¨ ¨å ᢮©á⢠41 ¬®¦® ©â¨ ¯® ä®à¬ã«¥ n X k=0 n+1 xk = x x ;;1 1 : (3.3) 㬬 ¡¥áª®¥ç® ã¡ë¢ î饩 £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨨ (¯à¨ jxj < 1) ¤ ñâáï ä®à¬ã«®© 1 X k=0 xk = 1 ;1 x : (3.4) ମ¨ç¥áª¨© àï¤ ¨¬¥¥â ¢¨¤ 1 + 1=2 + 1=3 + : : : + 1=n + : : : ; ¥£® n- ï ç áâ¨ç ï á㬬 (nth harmonic number) à ¢ Hn = 1 + 12 + 31 + : : : + n1 = n X 1 = ln n + O(1): k k=1 (3.5) ®ç«¥®¥ ¨â¥£à¨à®¢ ¨¥ ¨ ¤¨ää¥à¥æ¨à®¢ ¨¥ ¨ää¥à¥æ¨àãï ¨«¨ ¨â¥£à¨àãï ®¡¥ ç á⨠¨§¢¥á⮣® ⮦¤¥á⢠, ¬®¦® ¯®«ãç¨âì ®¢®¥. ¯à¨¬¥à, ¤¨ää¥à¥æ¨àãï ⮦¤¥á⢮ (3.4) ¨ 㬮¦ ï १ã«ìâ â x, ¯®«ãç ¥¬ 1 X kxk = (1 ;x x)2 : (3.6) k=0 㬬ë à §®á⥩ «ï «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠a0; a1; : : :; an ¬®¦® § ¯¨á âì ⮦¤¥á⢮ n X k=1 (ak ; ak;1 ) = an ; a0 (3.7) (¢á¥ ¯à®¬¥¦ãâ®çë¥ ç«¥ë ᮪à é îâáï). ª¨¥ áã¬¬ë ¯®- £«¨©áª¨ §ë¢ îâ telescoping series. «®£¨ç®, nX ;1 k=0 (ak ; ak+1 ) = a0 ; an : â®â ¯à¨ñ¬ ¯®§¢®«ï¥â ¯à®á㬬¨à®¢ âì àï¤ 1 , ¯®«ãç ¥¬, ç⮠᪮«ìªã k(k1+1) = k1 ; k+1 nX ;1 Pn;1 1 k=1 k(k+1) . ;1 1 1 = nX 1 = 1 ; 1: ; n k=1 k(k + 1) k=1 k k + 1 ®- 42 « ¢ 3 㬬¨à®¢ ¨¥ ந§¢¥¤¥¨ï ந§¢¥¤¥¨¥ ç¨á¥« a1; : : :; an § ¯¨áë¢ îâ ª ª n Y k=1 ak : ਠn = 0 § 票¥ defn¯à®¨§¢¥¤¥¨ï (product) áç¨â ¥âáï à ¢ë¬ 1. ®£ à¨ä¬¨à®¢ ¨¥ ¯à¥¢à é ¥â ¯à®¨§¢¥¤¥¨¥ ¢ á㬬ã: lg n Y k=1 ak = n X k=1 lg ak : ¯à ¦¥¨ï ëç¨á«¨â¥ Pnk=1(2k ; 1). 3.1-2? ®ª ¦¨â¥, ¨á¯®«ì§ãï ä®à¬ã«ã ¤«ï ç áâ¨çëå á㬬 £ ମ¨ç¥áª®£® àï¤ , çâ® Pnk=1 1=(2k ; 1) = ln(pn) + O(1). P k 3.1-3? ®ª ¦¨â¥, çâ® 1 k=0 (k ; 1)=2 = 0. P 2k 3.1-4? ëç¨á«¨â¥ á㬬ã 1 k=1 (2k + 1)x . 3.1-5 ᯮ«ì§ãï «¨¥©®áâì á㬬ë, áä®à¬ã«¨àã©â¥ ¨ ¤®ª ¦¨â¥ ã⢥ত¥¨¥ ® ¢®§¬®¦®á⨠¯¥à¥áâ ®¢ª¨ ᨬ¯â®â¨ç¥áª®£® O®¡®§ ç¥¨ï ¨ á㬬¨à®¢ ¨ï. 3.1-6 ᯮ«ì§ãï «¨¥©®áâì á㬬ë, áä®à¬ã«¨àã©â¥ ¨ ¤®ª ¦¨â¥ ã⢥ত¥¨¥ ® ¢®§¬®¦®á⨠¯¥à¥áâ ®¢ª¨ ᨬ¯â®â¨ç¥áª®£® ®¡®§ ç¥¨ï ¨ á㬬¨à®¢ ¨ï. Q 3.1-7 ëç¨á«¨â¥ ¯à®¨§¢¥¤¥¨¥ nk=1 2 4k . Q 3.1-8? ëç¨á«¨â¥ ¯à®¨§¢¥¤¥¨¥ nk=2 (1 ; 1=k2). 3.1-1 3.2 楪¨ á㬬 áᬮâਬ ¥áª®«ìª® ¯à¨ñ¬®¢, ª®â®àë¥ ¯®§¢®«ïî⠩⨠§ 票¥ á㬬ë (¨«¨ å®âï ¡ë ®æ¥¨âì íâã á㬬ã ᢥàåã ¨«¨ ᨧã). ¤ãªæ¨ï ᫨ 㤠«®áì 㣠¤ âì ä®à¬ã«ã ¤«ï á㬬ë, ¥ñ «¥£ª® ¯à®¢¥à¨âì á ¯®¬®éìî ¬ ⥬ â¨ç¥áª®© ¨¤ãªæ¨¨. ਬ¥à: ¤®ª ¦¥¬, çâ® á㬬 楪¨ á㬬 43 à¨ä¬¥â¨ç¥áª®© ¯à®£à¥áᨨ Sn = Pnk=1 k à ¢ n(n +1)=2. ਠn = 1 íâ® ¢¥à®. ¥¯¥àì ¯à¥¤¯®«®¦¨¬, çâ® à ¢¥á⢮ Sn = n(n + 1)=2 ¢¥à® ¯à¨ ¥ª®â®à®¬ n ¨ ¯à®¢¥à¨¬ ¥£® ¤«ï n + 1. á ¬®¬ ¤¥«¥, nX +1 k=1 k= n X k=1 k + (n + 1) = n(n + 1)=2 + (n + 1) = (n + 1)(n + 2)=2: ¤ãªæ¨î ¬®¦® ¨á¯®«ì§®¢ âì ¨ ¤«ï ¥à ¢¥á⢠. ¯à¨¬¥à, ¯®Pn k n ª ¦¥¬, çâ® á㬬 £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨨ k=0 3 ¥áâì O(3 ). Pn k n ®ç¥¥, ¬ë ¯®ª ¦¥¬, çâ® k=0 3 6 c3 ¤«ï ¥ª®â®à®© ª®áâ âë c P0 (ª®â®àãî ¬ë ¢ë¡¥à¥¬ ¯®§¤¥¥). ਠn = 0 ¨¬¥¥¬ k=0 3k = 1 6 c1; íâ® ¢¥à® ¯à¨ c > 1. ।¯®« £ ï á¯à ¢¥¤«¨¢®áâì ®æ¥ª¨ ¯à¨ ¥ª®â®à®¬ n, ¤®ª ¦¥¬ ¥ñ ¤«ï n + 1. ¬¥¥¬: nX +1 n X 1 1 k k n +1 n n +1 3 = 3 + 3 6 c3 + 3 = 3 + c c3n+1 6 c3n+1: k=0 k=0 ®á«¥¤¨©P¯¥à¥å®¤ § ª®¥, ¥á«¨ (1=3 + 1=c) 6 1, â. ¥. ¥á«¨ c > 3=2. ®í⮬ã nk=0 3k = O(3n), çâ® ¨ âॡ®¢ «®áì ¤®ª § âì. ¤ãªæ¨¥© á«¥¤ã¥â ¯®«ì§®¢ âìáï ªªãà â®, ®á®¡¥® ¯à¨ ¤®ª § ⥫ìá⢥ ᨬ¯â®â¨ç¥áª¨å ®æ¥®ª, P¯®áª®«ìªã âãâ «¥£ª® ®è¨n k = O(n). 祢¨¤®, ¡¨âìáï . «ï ¯à¨¬¥à " ¤®ª ¦¥¬ " , çâ® k=1 P1 k=1 k = O(1). ।¯®« £ ï á¯à ¢¥¤«¨¢®áâì ®æ¥ª¨ ¯à¨ ¥ª®â®à®¬ n, ¤®ª ¦¥¬ ¥ñ ¤«ï á«¥¤ãî饣® § 票ï n. á ¬®¬ ¤¥«¥, nX +1 k=1 k= n X k=1 k + (n + 1) = O(n) + (n + 1) [¥¢¥à®!] = O(n + 1): 訡ª ¢ ⮬, çâ® ª®áâ â , ¯®¤à §ã¬¥¢ ¥¬ ï ¢ ®¡®§ 票¨ O(n), à áâñâ ¢¬¥á⥠á n. ®ç«¥ë¥ áà ¢¥¨ï ®£¤ ¬®¦® ¯®«ãç¨âì ¢¥àåîî ®æ¥ªã ¤«ï á㬬ë, § ¬¥¨¢ ª ¦¤ë© ¥ñ ç«¥ ¡®«ì訩 ( ¯à¨¬¥à, ¨¡®«ì訩 ¨§ ç«¥®¢ á㬬ë). ª, ¯à®á⥩襩 ®æ¥ª®© ᢥàåã ¤«ï á㬬ë à¨ä¬¥â¨ç¥Pn ᪮© ¯à®£à¥áᨨ k=1 k ¡ã¤¥â n X k=1 ®¡é¥¬ á«ãç ¥ k6 n X k=1 n X k=1 n = n2: ak 6 namax; 44 « ¢ 3 㬬¨à®¢ ¨¥ £¤¥ amax | ¨¡®«ì襥 ¨§ a1; : : :; an. ¥ª®â®àëå á«ãç ïå ¬®¦® ¯à¨¬¥¨âì ¡®«¥¥ â®çë© ¬¥â®¤ | áà ¢¥¨¥ á £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨥ©. ®¯ãá⨬, ¤ àï¤ Pn a á ¯®«®¦¨â¥«ì묨 ç«¥ ¬¨, ¤«ï ª®â®à®£® ak+1 =ak 6 r k k=0 ¯à¨ ¢á¥å k > 0 ¨ ¥ª®â®à®¬ r < 1. ®£¤ ak 6 a0rk , ¨ á㬬 ¬®¦¥â ¡ëâì ®£à ¨ç¥ ᢥàåã ¡¥áª®¥ç®© ã¡ë¢ î饩 £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨥ©: n X k=0 ak 6 1 X k=0 rk a0 = a0 1 X k=0 rk = a0 1 ;1 r : P1 ਬ¥¨¬ íâ®â ¬¥â®¤ ¤«ï á㬬ë k=1 k3;k . ¥à¢ë© ç«¥ à ¢¥ 1=3, ®â®è¥¨¥ á®á¥¤¨å ç«¥®¢ à ¢® (k + 1)3;(k+1) = 1 k + 1 6 2 k3;k 3 k 3 ¤«ï ¢á¥å k > 1. «¥¤®¢ ⥫ì®, ª ¦¤ë© ç«¥ áã¬¬ë ®æ¥¨¢ ¥âáï ᢥàåã ¢¥«¨ç¨®© (1=3)(2=3)k, â ª çâ® 1 X k=1 k3;k 6 1 X 1 2 k = 1 1 = 1: 3 1 ; 23 k=1 3 3 ¦®, çâ® ®â®è¥¨¥ á®á¥¤¨å ç«¥®¢ ¥ ¯à®áâ® ¬¥ìè¥ 1, ®£à ¨ç¥® ¥ª®â®à®© ª®áâ ⮩ r < 1, ®¡é¥© ¤«ï ¢á¥å ç«¥®¢ àï¤ . ¯à¨¬¥à, ¤«ï £ ମ¨ç¥áª®£® àï¤ ®â®è¥¨¥ (k + 1)-£® ¨ k < 1. ¥¬ ¥ ¬¥¥¥ k-£® ç«¥®¢ à ¢® k+1 1 X k=1 n 1 = lim (lg n) = 1: 1 = lim X k n!1 k n!1 k=1 ¤¥áì ¥ áãé¥áâ¢ã¥â ª®áâ âë r, ®â¤¥«ïî饩 ®â®è¥¨ï á®á¥¤¨å ç«¥®¢ ®â ¥¤¨¨æë. §¡¨¥¨¥ ç á⨠®¦® à §¡¨âì á㬬ã ç á⨠¨ ®æ¥¨¢ âì ª ¦¤ãî ç áâì ¯® ®â¤¥«ì®áâ¨. ª ç¥á⢥ ¯à¨¬¥à P ¯®«ã稬 ¨¦îî ®æ¥ªã ¤«ï á㬬ë à¨ä¬¥â¨ç¥áª®© ¯à®£à¥áᨨ nk=1 k. ᫨ ¬ë ®æ¥¨¬ ᨧ㠪 ¦¤ë© ç«¥ ¥¤¨¨æ¥©, â® ¯®«ã稬 ®æ¥ªã Pnk=1 k > n. §¨æ á ¢¥à奩 ®æ¥ª®© O(n2) ᫨誮¬ ¢¥«¨ª , ¯®í⮬㠯®áâ㯨¬ ¯®¤à㣮¬ã: n X k=1 k= n=2 X k=1 k+ n X k=n=2+1 k> n=2 X k=1 0+ n X k=n=2+1 n = n 2 : 2 2 楪¨ á㬬 45 ⠮楪 㦥 ᨬ¯â®â¨ç¥áª¨ â®ç (®â«¨ç ¥âáï ®â ¢¥à奩 ®æ¥ª¨, ¨ ⥬ á ¬ë¬ ®â ¨á⨮£® § 票ï, ¥ ¡®«¥¥ 祬 ¢ ª®áâ âã à §). ®£¤ ¯®«¥§® ®â¡à®á¨âì ¥áª®«ìª® ¯¥à¢ëå ç«¥®¢ ¯®á«¥¤®¢ ⥫ì®áâ¨, § ¯¨á ¢ (¤«ï 䨪á¨à®¢ ®£® k0) n X k=0 ak = k0 X k=0 ak + n X k=k0 +1 ¯à¨¬¥à, ¤«ï àï¤ 1 X ak = (1) + n X k=k0 +1 ak : k2 k k=0 2 ®â®è¥¨¥ ¯®á«¥¤®¢ ⥫ìëå ç«¥®¢ (k + 1)2=2k+1 = (k + 1)2 k2 =2k 2k2 ¥ ¢á¥£¤ ¬¥ìè¥ 1. ®í⮬ã, çâ®¡ë ¯à¨¬¥¨âì ¬¥â®¤ áà ¢¥¨ï á £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨥ©, ¢ë¤¥«¨¬ âਠ¯¥à¢ëå ç«¥ àï¤ . «ï ¢á¥å á«¥¤ãîé¨å ç«¥®¢ (k > 3) ®â®è¥¨¥ ¥ ¯à¥¢®á室¨â 8=9, ¯®í⮬ã 1 X 2 2 X 1 8 k2 = X k + 1 k2 6 O(1) + 9 X k=0 2 k k k=0 2 k k=3 2 k 8 k=0 9 = O(1); ¯®áª®«ìªã ¢â®à ï á㬬 | ¡¥áª®¥ç® ã¡ë¢ îé ï £¥®¬¥âà¨ç¥áª ï ¯à®£à¥áá¨ï. §¡¨¥¨¥ àï¤ ç á⨠¡ë¢ ¥â ¯®«¥§® ¨ ¢ ¡®«¥¥ á«®¦ëå á¨âã æ¨ïå.P楨¬ , ¯à¨¬¥à, ç áâ¨çë¥ áã¬¬ë £ ମ¨ç¥áª®£® àï¤ Hn = nk=1 k1 . «ï í⮣® à §®¡ì¥¬ ®â१®ª ®â 1 ¤® n blg nc ç á⥩ 1 + (1=2 + 1=3)+ (1=4+ 1=5 + 1=6 + 1=7)+ : : : . ¦¤ ï ç áâì ¥ ¯à¥¢®á室¨â 1 (§ ¬¥¨¬ ¢á¥ á« £ ¥¬ë¥ ¢ ¥© ¯¥à¢®¥ ¨§ ¨å), ¢á¥£® ç á⥩ blg nc + 1 (¯®á«¥¤ïï ¬®¦¥â ¡ëâì ¥¯®«®©). ®«ãç ¥¬, çâ® 1 + 1=2 + 1=3 + : : : + 1=n 6 lg n + 1: (3.8) à ¢¥¨¥ á ¨â¥£à « ¬¨ «ï P ¬®®â®® ¢®§à áâ î饩 äãªæ¨¨ f ¬ë ¬®¦¥¬ § ª«îç¨âì á㬬ã nk=m f (k) ¬¥¦¤ã ¤¢ã¬ï ¨â¥£à « ¬¨: Zn m;1 f (x) dx 6 n X k=m f (k ) 6 nZ+1 m f (x) dx: (3.9) 46 « ¢ 3 㬬¨à®¢ ¨¥ à ¢¥¨¥ á㬬ë Pnk=m f (k) á ¨â¥£à « ¬¨. ãâਠª ¦¤®£® ¯àאַ㣮«ì¨ª § ¯¨á ¥£® ¯«®é ¤ì. ¡é ï ¯«®é ¤ì ¢á¥å ¯àאַ㣮«ì¨ª®¢ à ¢ § 票î á㬬ë. 票¥ ¨â¥£à « à ¢® ¯«®é ¤¨ § ªà 襮© ä¨R £ãàë ¯®¤ ªà¨¢®©. ( ) à ¢¨¢ ï ¯«®é ¤¨, ¯®«ãç ¥¬ mn;1 f (x) dx P 6 Pnk=m f (k). (R¡) ¤¢¨£ ï ¯àאַ㣮«ì¨ª¨ ¥¤¨¨æã ¢¯à ¢®, ¢¨¤¨¬, çâ® nk=m f (k) 6 n+1 m f (x) dx. ¨á㮪 3.1 楪¨ á㬬 47 á ¬®¬ ¤¥«¥, ª ª ¢¨¤® ¨§ à¨á. 3.1, á㬬 (¯«®é ¤ì ¢á¥å ¯àאַ㣮«ì¨ª®¢) ᮤ¥à¦¨â ®¤ã § ªà è¥ãî ®¡« áâì (¢¥à娩 à¨á㮪) ¨ ᮤ¥à¦¨âáï ¢ ¤à㣮© (¨¦¨© à¨á㮪). «®£¨ç®¥ ¥à ¢¥á⢮ ¬®¦® ¯¨á âì ¤«ï ¬®®â®® ã¡ë¢ î饩 äãªæ¨¨ f : nZ+1 n X m k =m f (x) dx 6 f (k) 6 Zn m;1 f (x) dx: (3.10) ⨬ ¬¥â®¤®¬ ¬®¦® ¯®«ãç¨âì å®à®è¨¥ ®æ¥ª¨ ¤«ï ç áâ¨çëå á㬬 £ ମ¨ç¥áª®£® àï¤ : ¨¦îî ®æ¥ªã n X nZ+1 1> k=1 k 1 dx = ln(n + 1) x (3.11) ¨ ¢¥àåîî ®æ¥ªã (¤«ï àï¤ ¡¥§ ¯¥à¢®£® ç«¥ ) n X k=2 n 1 6 Z dx = ln n; k x 1 ®âªã¤ n X 1 6 ln n + 1: k=1 k (3.12) ¯à ¦¥¨ï ®ª ¦¨â¥, çâ® á㬬 Pnk=1 k1 ®£à ¨ç¥ ᢥàåã ª®áâ ⮩ (¥ § ¢¨áï饩 ®â n). 3.2-2 ©¤¨â¥ ᨬ¯â®â¨ç¥áªãî ¢¥àåîî ®æ¥ªã ¤«ï á㬬ë 3.2-1 2 bX lg nc k=0 dn=2k e: §¡¨¢ ï á㬬ã ç áâ¨, ¯®ª ¦¨â¥, çâ® n-ï ç áâ¨ç ï á㬬 £ ମ¨ç¥áª®£® àï¤ ¥áâì (lg n). P 3.2-4 ª«îç¨â¥ á㬬ã nk=1 k3 ¬¥¦¤ã ¤¢ã¬ï ¨â¥£à « ¬¨. 3.2-5 ®ç¥¬ã ¯à¨ ¯®«ã票¨ ¢¥à奩 ®æ¥ª¨ ¤«ï ç áâ¨ç®© áã¬¬ë £ ମ¨ç¥áª®£® àï¤ ¬ë ®â¡à®á¨«¨ ¯¥à¢ë© ç«¥ ¨ ⮫쪮 ¯®â®¬ ¯à¨¬¥¨«¨ ®æ¥ªã (3.10)? 3.2-3 48 « ¢ 3 㬬¨à®¢ ¨¥ ¤ ç¨ 3-1 楪¨ ¤«ï á㬬 ©¤¨â¥ ᨬ¯â®â¨ç¥áª¨ â®çë¥ ®æ¥ª¨ ¤«ï á«¥¤ãîé¨å á㬬 (áç¨â ï r > 0 ¨ s > 0 ª®áâ â ¬¨): P . Pnk=1 kr . ¡. Pnk=1 lgs k. ¢. nk=1 kr lgs k. ¬¥ç ¨ï ¨£ ãâ [121] | ¯à¥ªà áë© á¯à ¢®ç¨ª ¯® ¬ â¥à¨ «ã í⮩ £« ¢ë. á®¢ë¥ á¢®©á⢠à冷¢ ¬®¦® ©â¨ ¢ «î¡®¬ ã祡¨ª¥ ¯® ¬ ⥬ â¨ç¥áª®¬ã «¨§ã ( ¢â®àë ®âáë« îâ £«®ï§ë箣® ç¨â â¥«ï ª ª¨£ ¬ [12] ¨ [192]). 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï 楨¢ ï ¢à¥¬ï à ¡®âë ४ãàᨢ®© ¯à®æ¥¤ãàë, ¬ë ç áâ® ¯à¨å®¤¨¬ ª á®®â®è¥¨î, ª®â®à®¥ ®æ¥¨¢ ¥â íâ® ¢à¥¬ï ç¥à¥§ ¢à¥¬ï à ¡®âë ⮩ ¦¥ ¯à®æ¥¤ãàë ¢å®¤ëå ¤ ëå ¬¥ì襣® à §¬¥à . ª®£® த á®®â®è¥¨ï §ë¢ îâáï ४ãàà¥â묨 (recurrences). ¯à¨¬¥à, ª ª ¬ë ¢¨¤¥«¨ ¢ £« ¢¥ 1, ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Merge-Sort ®¯¨áë¢ ¥âáï á®®â®è¥¨¥¬ ( ¥á«¨ n = 1, T (n) = (1); (4.1) 2T (n=2) + (n); ¥á«¨ n > 1. ¨§ ª®â®à®£® ¢ë⥪ ¥â (ª ª ¬ë 㢨¤¨¬), çâ® T (n) = (n lg n). í⮩ £« ¢¥ ¯à¥¤« £ îâáï âਠᯮᮡ , ¯®§¢®«ïî騥 à¥è¨âì ४ãàà¥â®¥ á®®â®è¥¨¥, â. ¥. ©â¨ ᨬ¯â®â¨ç¥áªãî ("" ¨«¨ "O") ®æ¥ªã ¤«ï ¥£® à¥è¥¨©. ®-¯¥à¢ëå, ¬®¦® 㣠¤ âì ®æ¥ªã, § ⥬ ¤®ª § âì ¥ñ ¯® ¨¤ãªæ¨¨, ¯®¤áâ ¢«ïï 㣠¤ ãî ä®à¬ã«ã ¢ ¯à ¢ãî ç áâì á®®â®è¥¨ï (¬¥â®¤ ¯®¤áâ ®¢ª¨, substitution method). ®-¢â®àëå, ¬®¦® "à §¢¥àãâì" ४ãàà¥âãî ä®à¬ã«ã, ¯®«ã稢 ¯à¨ í⮬ á㬬ã, ª®â®àãî ¬®¦® § ⥬ ®æ¥¨¢ âì (¬¥â®¤ ¨â¥à 権, iteration method). ª®¥æ, ¬ë ¯à¨¢®¤¨¬ ®¡é¨© १ã«ìâ â ® ४ãàà¥âëå á®®â®è¥¨ïå ¢¨¤ T (n) = aT (n=b) + f (n); £¤¥ a > 1, b > 1 | ¥ª®â®àë¥ ª®áâ âë, f (n) | § ¤ ï äãªæ¨ï. ®®â¢¥âáâ¢ãî騩 १ã«ìâ â ¬ë ¡ã¤¥â §ë¢ âì ®á®¢®© ⥮६®© ® ४ãàà¥âëå á®®â®è¥¨ïå (master theorem). ®à¬ã«¨à®¢ª í⮩ â¥®à¥¬ë ¤®¢®«ì® ¤«¨ , § â® ¢® ¬®£¨å á«ãç ïå ® áà §ã ¯à¨¢®¤¨â ª ®â¢¥âã. ¥å¨ç¥áª¨¥ ¤¥â «¨ ®à¬ã«¨àãï ¨ ¤®ª §ë¢ ï ã⢥ত¥¨ï ¯à® ४ãàà¥âë¥ á®®â®è¥¨ï, ¬ë ¡ã¤¥¬ ®¯ã᪠âì ¥ª®â®àë¥ â¥å¨ç¥áª¨¥ ¯®¤à®¡®áâ¨. ¯à¨¬¥à, ¢ ¯à¨¢¥¤ñ®© ¢ëè¥ ä®à¬ã«¥ ¤«ï ¯à®æ¥¤ãàë MergeSort ¤®«¦ë áâ®ïâì æ¥«ë¥ ç á⨠(T (n) ®¯à¥¤¥«¥® «¨èì ¯à¨ æ¥- 50 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï «ëå n): T (n) = ( (1); ¥á«¨ n = 1, T (dn=2e) + T (bn=2c) + (n); ¥á«¨ n > 1. (4.2) ஬¥ ⮣®, ®¡ëç® ¬ë ¡ã¤¥¬ ®¯ã᪠âì ç «ìë¥ ãá«®¢¨ï, ¨¬¥ï ¢ ¢¨¤ã, çâ® T (n) = (1) ¤«ï ¥¡®«ìè¨å n. ª¨¬ ®¡à §®¬, á®®â®è¥¨¥ (4.1) § ¯¨è¥âáï ¢ ¢¨¤¥ T (n) = 2T (n=2) + (n): (4.3) â® ¯®§¢®«¨â¥«ì®, â ª ª ª ç «ì®¥ ãá«®¢¨¥ (§ 票¥ T (1)) ¢«¨ï¥â ⮫쪮 ¯®áâ®ïë© ¬®¦¨â¥«ì, ® ¥ ¯®à冷ª à®áâ äãªæ¨¨ T (n). ª®¥ ¥¡à¥¦®¥ ®¡à 饨¥ á ¤¥â «ï¬¨, ª®¥ç®, âॡã¥â ®áâ®à®¦®áâ¨, çâ®¡ë ¥ ã¯ãáâ¨âì (¯ãáâì ।ª¨å) á«ãç ¥¢, ¢ ª®â®àëå ¯®¤®¡ë¥ ¤¥â «¨ ¢«¨ïîâ १ã«ìâ â. í⮩ £« ¢¥ ¬ë à §¡¥àñ¬ ¥áª®«ìª® ¯à¨¬¥à®¢, ¯®ª §ë¢ îé¨å, ª ª ¢®á¯®«¨âì ¯à®¯ãé¥ë¥ ¤¥â «¨ (á¬. ¤®ª § ⥫ìá⢮ ⥮६ë 4.1 ¨ § ¤ çã 4.5). 4.1 ¥â®¤ ¯®¤áâ ®¢ª¨ ¤¥ï ¯à®áâ : ®â£ ¤ âì ®â¢¥â ¨ ¤®ª § âì ¥£® ¯® ¨¤ãªæ¨¨. áâ® ®â¢¥â ᮤ¥à¦¨â ª®íää¨æ¨¥âë, ª®â®àë¥ ¤® ¢ë¡à âì â ª, ç⮡ë à áá㦤¥¨¥ ¯® ¨¤ãªæ¨¨ ¯à®å®¤¨«®. ¤ãªâ¨¢ë© ¬¥â®¤ ¯à¨¬¥¨¬ ¨ ª ¨¦¨¬, ¨ ª ¢¥à娬 ®æ¥ª ¬. ª ç¥á⢥ ¯à¨¬¥à ©¤ñ¬ ¢¥àåîî ®æ¥ªã ¤«ï äãªæ¨¨, § ¤ ®© á®®â®è¥¨¥¬ T (n) = 2T (bn=2c) + n; (4.4) ª®â®à®¥ «®£¨ç® (4.2) ¨ (4.3). ®¦® ¯à¥¤¯®«®¦¨âì, çâ® T (n) = O(n lg n), â. ¥. çâ® T (n) 6 cn lg n ¤«ï ¯®¤å®¤ï饣® c > 0. 㤥¬ ¤®ª §ë¢ âì íâ® ¯® ¨¤ãªæ¨¨. ãáâì í⠮楪 ¢¥à ¤«ï bn=2c, â. ¥. T (bn=2c) 6 cbn=2c lg(bn=2c). ®¤áâ ¢¨¢ ¥ñ ¢ á®®â®è¥¨¥, ¯®«ã稬 T (n) 6 2(cbn=2c lg(bn=2c)) + n 6 6 cn lg(n=2) + n = cn lg n ; cn lg 2 + n = cn lg n ; cn + n 6 6 cn lg n: ®á«¥¤¨© ¯¥à¥å®¤ § ª®¥ ¯à¨ c > 1. «ï § ¢¥à襨ï à áá㦤¥¨ï ®áâ ñâáï ¯à®¢¥à¨âì ¡ §¨á ¨¤ãªæ¨¨, â. ¥. ¤®ª § âì ®æ¥ªã ¤«ï ç «ì®£® § 票ï n. ãâ ¬ë áâ «ª¨¢ ¥¬áï á ⥬, çâ® ¯à¨ n = 1 ¯à ¢ ï ç áâì ¥à ¢¥á⢠®¡à é ¥âáï ¢ ã«ì, ª ª¨¬ ¡ë ¨ ¢§ïâì c (¯®áª®«ìªã lg 1 = 0). à¨å®¤¨âáï ¢á¯®¬¨âì, ç⮠ᨬ¯â®â¨ç¥áªãî ®æ¥ªã ¤®áâ â®ç® ¤®ª § âì ¤«ï ¢á¥å n, ç¨ ï á ¥ª®â®à®£®. ®¤¡¥àñ¬ c â ª, çâ®¡ë ¥â®¤ ¯®¤áâ ®¢ª¨ 51 ®æ¥ª T (n) 6 cn lg n ¡ë« ¢¥à ¯à¨ n = 2 ¨ n = 3. ®£¤ ¤«ï ¡®«ìè¨å n ¬®¦® à áá㦤 âì ¯® ¨¤ãªæ¨¨, ¨ ®¯ áë© á«ãç © n = 1 ¬ ¥ ¢áâà¥â¨âáï (¯®áª®«ìªã bn=2c > 2 ¯à¨ n > 3). ª ®â£ ¤ âì ®æ¥ªã? «ï í⮣® 㦥 ¢ëª ¨ ¥¬®£® ¢¥§¥¨ï. ®â ¥áª®«ìª® ¢®¤ïé¨å á®®¡à ¦¥¨©. «®£¨ï. áᬮâਬ ¤«ï ¯à¨¬¥à á®®â®è¥¨¥ T (n) = 2T (bn=2c + 17) + n: ª®â®à®¥ ®â«¨ç ¥âáï ®â (4.4) ¤®¡ ¢®çë¬ á« £ ¥¬ë¬ 17 ¢ ¯à ¢®© ç áâ¨. ®¦® ®¦¨¤ âì, ®¤ ª®, çâ® íâ ¤®¡ ¢ª ¥ ¬®¦¥â áãé¥á⢥® ¨§¬¥¨âì å à ªâ¥à à¥è¥¨ï: ¯à¨ ¡®«ìè¨å n à §¨æ ¬¥¦¤ã bn=2c + 17 ¨ bn=2c ¢àï¤ «¨ â ª 㦠áãé¥á⢥ . ®¦® ¯à¥¤¯®«®¦¨âì, çâ® ®æ¥ª T (n) = O(n lg n) ®áâ ñâáï ¢ ᨫ¥, § ⥬ ¨ ¤®ª § âì íâ® ¯® ¨¤ãªæ¨¨ (á¬. ã¯à. 4.1-5). ®á«¥¤®¢ ⥫ìë¥ ¯à¨¡«¨¦¥¨ï. ®¦® ç âì á ¯à®áâëå ¨ £àã¡ëå ®æ¥®ª, § ⥬ ãâ®çïâì ¨å. ¯à¨¬¥à, ¤«ï á®®â®è¥¨ï (4.1) ¥áâì ®ç¥¢¨¤ ï ¨¦ïï ®æ¥ª T (n) = (n) (¯®áª®«ìªã á¯à ¢ ¥áâì ç«¥ n), ¨ ¢¥àåïï ®æ¥ª T (n) = O(n2) (ª®â®àãî «¥£ª® ¤®ª § âì ¯® ¨¤ãªæ¨¨). «¥¥ ¬®¦® ¯®á⥯¥® á¡«¨¦ âì ¨å, áâ६ïáì ¯®«ãç¨âì ᨬ¯â®â¨ç¥áª¨ â®çë¥ ¨¦îî ¨ ¢¥àåîî ®æ¥ª¨, ®â«¨ç î騥áï ¥ ¡®«¥¥ 祬 ¢ ª®áâ âã à §. ®ª®á⨠®£¤ à áá㦤¥¨¥ ¯® ¨¤ãªæ¨¨ áâ «ª¨¢ ¥âáï á âà㤮áâﬨ, å®âï ®â¢¥â 㣠¤ ¯à ¢¨«ì®. ¡ëç® íâ® ¯à®¨á室¨â ¯®â®¬ã, çâ® ¤®ª §ë¢ ¥¬®¥ ¯® ¨¤ãªæ¨¨ ã⢥ত¥¨¥ ¥¤®áâ â®ç® ᨫì®. í⮬ á«ãç ¥ ¬®¦¥â ¯®¬®çì ¢ëç¨â ¨¥ ç«¥ ¬¥ì襣® ¯®à浪 . áᬮâਬ á®®â®è¥¨¥ T (n) = T (bn=2c) + T (dn=2e) + 1: ®¦® ¤¥ïâìáï, çâ® ¢ í⮬ á«ãç ¥ T (n) = O(n). â® ¤¥©áâ¢¨â¥«ì® â ª. ®¯à®¡ã¥¬, ®¤ ª®, ¤®ª § âì, çâ® T (n) 6 cn ¯à¨ ¯®¤å®¤ï饬 ¢ë¡®à¥ ª®áâ âë c. ¤ãªâ¨¢®¥ ¯à¥¤¯®«®¦¥¨¥ ¤ ñâ T (n) 6 cbn=2c + cdn=2e + 1 = cn + 1; ®âáî¤ ¨ ¤«ï ª ª®£® c ¥ ¢ë⥪ ¥â ¥à ¢¥á⢠T (n) 6 cn. â ª®© á¨âã 樨 ¬®¦® ¯®¯ëâ âìáï ¤®ª § âì ¡®«¥¥ á« ¡ãî ®æ¥ªã, ¯à¨¬¥à O(n2), ® á ¬®¬ ¤¥«¥ ¢ í⮬ ¥â ¥®¡å®¤¨¬®áâ¨: è ¤®£ ¤ª ¢¥à , ¤® ⮫쪮 ¥ ®á« ¡¨âì, ãᨫ¨âì ¯à¥¤¯®«®¦¥¨¥ ¨¤ãªæ¨¨. 52 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï ®¢ ï £¨¯®â¥§ ¢ë£«ï¤¨â â ª: T (n) 6 cn ; b ¤«ï ¥ª®â®àëå ª®áâ â b ¨ c. ®¤áâ ®¢ª ¢ ¯à ¢ãî ç áâì ¤ ñâ T (n) 6 (cbn=2c ; b) + (cdn=2e ; b) + 1 = cn ; 2b + 1 6 cn ; b ®á«¥¤¨© ¯¥à¥å®¤ § ª®¥ ¯à¨ b > 1. áâ ñâáï «¨èì ¢ë¡à âì ª®áâ âã c á ãçñ⮬ ç «ìëå ãá«®¢¨©. â® à áá㦤¥¨¥ ¢ë§ë¢ ¥â ¥¤®ã¬¥¨¥: ¥á«¨ ¤®ª § ⥫ìá⢮ ¥ ¯à®å®¤¨â, ¥ á«¥¤ã¥â «¨ ®á« ¡¨âì (㢥«¨ç¨âì) ®æ¥ªã, ¥ ãᨫ¨¢ âì ¥ñ? ® á ¬®¬ ¤¥«¥ ¨ç¥£® áâà ®£® §¤¥áì ¥â | ãᨫ¨¢ ®æ¥ªã, ¬ë ¯®«ãç ¥¬ ¢®§¬®¦®áâì ¢®á¯®«ì§®¢ âìáï ¡®«¥¥ ᨫìë¬ ¨¤ãªâ¨¢ë¬ ¯à¥¤¯®«®¦¥¨¥¬. ª ¤¥« âì ¥ ¤® ᨬ¯â®â¨ç¥áª ï § ¯¨áì ®¯ á ¯à¨ ¥ã¬¥«®¬ ¯à¨¬¥¥¨¨: ¢®â ¯à¨¬¥à ¥¯à ¢¨«ì®£® "¤®ª § ⥫ìá⢠" ®æ¥ª¨ T (n) = O(n) ¤«ï á®®â®è¥¨ï (4.4). ।¯®«®¦¨¬, çâ® T (n) 6 cn, ⮣¤ ¬®¦® § ¯¨á âì T (n) 6 2(cbn=2c) + n 6 cn + n = O(n): â® à áá㦤¥¨¥, ®¤ ª®, ¨ç¥£® ¥ ¤®ª §ë¢ ¥â, â ª ª ª ¨¤ãªâ¨¢ë© ¯¥à¥å®¤ âॡã¥â, çâ®¡ë ¢ ¯à ¢®© ç á⨠¡ë«® cn c ⮩ ¦¥ á ¬®© ª®áâ ⮩ c, ¥ ¡áâà ªâ®¥ O(n). ¬¥ ¯¥à¥¬¥ëå áâ® ¥á«®¦ ï § ¬¥ ¯¥à¥¬¥ëå ¯®§¢®«ï¥â ¯à¥®¡à §®¢ âì ४ãàà¥â®¥ á®®â®è¥¨¥ ª ¯à¨¢ë箬㠢¨¤ã. ¯à¨¬¥à, á®®â®è¥¨¥ p T (n) = 2T (b nc) + ln n ª ¦¥âáï ¤®¢®«ì® á«®¦ë¬, ®¤ ª® § ¬¥®© ¯¥à¥¬¥ëå ¥£® «¥£ª® ã¯à®áâ¨âì. ¤¥« ¢ § ¬¥ã m = lg n, ¯®«ã稬 T (2m) = 2T (2m=2) + m: ¡®§ 稢 T (2m) ç¥à¥§ S (m), ¯à¨å®¤¨¬ ª á®®â®è¥¨î S (m) = 2S (m=2) + m; ª®â®à®¥ 㦥 ¢áâà¥ç «®áì (4.4). £® à¥è¥¨¥: S (m) = O(m lg m). ®§¢à é ïáì ª T (n) ¢¬¥áâ® S (m), ¯®«ã稬 T (n) = T (2m ) = S (m) = O(m lg m) = O(lg n lg lg n): ਢ¥¤ñ®¥ à áá㦤¥¨¥ âॡã¥â, ª®¥ç®, ãâ®ç¥¨©, ¯®áª®«ìªã ¯®ª çâ® ¬ë ¤®ª § «¨ ®æ¥ªã T (n) «¨èì ¤«ï n, ïîé¨åáï á⥯¥ï¬¨ ¤¢®©ª¨. â®¡ë ¢ë©â¨ ¨§ ¯®«®¦¥¨ï, ¬®¦® ®¯à¥¤¥«¨âì S (m) ª ª ¬ ªá¨¬ã¬ T (n) ¯® ¢á¥¬ n, ¥ ¯à¥¢®á室ï騬 2m. ८¡à §®¢ ¨¥ ¢ á㬬ã 53 ¯à ¦¥¨ï 4.1-1 O(lg n). ®ª ¦¨â¥, çâ® ¨§ T (n) = T (dn=2e) + 1 á«¥¤ã¥â, çâ® T (n) = ®ª ¦¨â¥, çâ® ¨§ T (n) = 2T (bn=2c) + n ¢ë⥪ ¥â T (n) = (n lg n), ¨ ⥬ á ¬ë¬ T (n) = (n lg n). 4.1-3 ª ®¡®©â¨ âà㤮áâì á ç «ìë¬ § 票¥¬ n = 1 ¯à¨ ¨áá«¥¤®¢ ¨¨ á®®â®è¥¨ï (4.4), ¨§¬¥¨¢ ¤®ª §ë¢ ¥¬®¥ ¯® ¨¤ãªæ¨¨ ã⢥ত¥¨¥, ® ¥ ¬¥ïï ç «ì®£® § 票ï? 4.1-4 ®ª ¦¨â¥, çâ® á®®â®è¥¨¥ (4.2) ¤«ï á®àâ¨à®¢ª¨ ᫨逸¬ ¨¬¥¥â à¥è¥¨¥¬ (n lg n). 4.1-5 ®ª ¦¨â¥, çâ® T (n) = 2T (bn=2c + 17) + n ¢«¥çñâ T (n) = O(n lg n). 4.1-6p ¥è¨â¥ á ¯®¬®éìî § ¬¥ë ¯¥à¥¬¥ëå á®®â®è¥¨¥ T (n) = 2T ( n) + 1, (®¯ãáª ï ¯®¤à®¡®áâ¨, á¢ï§ ë¥ á ⥬, çâ® § ç¥¨ï ¯¥à¥¬¥ëå | ¥ 楫ë¥). 4.1-2 4.2 ८¡à §®¢ ¨¥ ¢ á㬬㠪 ¡ëâì, ¥á«¨ ¥ 㤠¥âáï 㣠¤ âì à¥è¥¨¥? ®£¤ ¬®¦®, ¨â¥à¨àãï íâ® á®®â®è¥¨¥ (¯®¤áâ ¢«ïï ¥£® á ¬® ¢ ᥡï), ¯®«ãç¨âì àï¤, ª®â®àë© ¬®¦® ®æ¥¨¢ âì ⥬ ¨«¨ ¨ë¬ ᯮᮡ®¬. «ï ¯à¨¬¥à à áᬮâਬ á®®â®è¥¨¥ T (n) = 3T (bn=4c) + n: ®¤áâ ¢«ïï ¥£® ¢ ᥡï, ¯®«ã稬: T (n) = n + 3T (bn=4c) = n + 3(bn=4c + 3T (bn=16c)) = n + 3(bn=4c + 3(bn=16c + 3T (bn=64c))) = n + 3bn=4c + 9bn=16c + 27T (bn=64c); ë ¢®á¯®«ì§®¢ «¨áì ⥬, çâ®, ᮣ« á® (2.4), bbn=4c=4c = bn=16c ¨ bbn=16c=4c = bn=64c. ª®«ìª® è £®¢ ¤® ᤥ« âì, çâ®¡ë ¤®©â¨ ¤® ç «ì®£® ãá«®¢¨ï? ®áª®«ìªã ¯®á«¥ i-®© ¨â¥à 樨 á¯à ¢ ®ª ¦¥âáï T (bn=4ic), ¬ë ¤®©¤ñ¬ ¤® T (1), ª®£¤ bn=4ic = 1, â. ¥. ª®£¤ i > log4 n. ¬¥â¨¢, çâ® bn=4ic 6 n=4i, ¬ë ¬®¦¥¬ ®æ¥¨âì è àï¤ ã¡ë¢ î饩 £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨥ© (¯«îá ¯®á«¥¤¨© ç«¥, á®- 54 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï ®â¢¥âáâ¢ãî騩 3log n § ¤ ç ¬ ®£à ¨ç¥®£® à §¬¥à ): T (n) 6 n + 3n=4 + 9n=16 + 27n=64 + : : : + 3log n (1) 4 4 6n 1 3 i X + (nlog 3 ) 4 i=0 = 4n + o(n) = O(n) 4 (ë § ¬¥¨«¨ ª®¥çãî á㬬㠨§ ¥ ¡®«¥¥ 祬 log4 n + 1 ç«¥®¢ á㬬㠡¥áª®¥ç®£® àï¤ , â ª¦¥ ¯¥à¥¯¨á «¨ 3log n ª ª nlog 3, çâ® ¥áâì o(n), â ª ª ª log4 3 < 1.) áâ® ¯à¥®¡à §®¢ ¨¥ ४ãàà¥â®£® á®®â®è¥¨ï ¢ á㬬㠯ਢ®¤¨â ª ¤®¢®«ì® á«®¦ë¬ ¢ëª« ¤ª ¬. ਠí⮬ ¢ ¦® á«¥¤¨âì § ¤¢ã¬ï ¢¥é ¬¨: ᪮«ìª® è £®¢ ¯®¤áâ ®¢ª¨ âॡã¥âáï ¨ ª ª®¢ á㬬 ç«¥®¢, ¯®«ãç îé¨åáï ¤ ®¬ è £¥. ®£¤ ¥áª®«ìª® ¯¥à¢ëå è £®¢ ¯®§¢®«ïî⠮⣠¤ âì ®â¢¥â, ª®â®àë© § ⥬ 㤠ñâáï ¤®ª § âì ¯® ¨¤ãªæ¨¨ (á ¬¥ì訬 ª®«¨ç¥á⢮¬ ¢ëç¨á«¥¨©). ᮡ¥® ¬®£® å«®¯®â ¤®áâ ¢«ïîâ ®ªà㣫¥¨ï (¯¥à¥å®¤ ª 楫®© ç áâ¨). «ï ç « á⮨⠯।¯®«®¦¨âì, çâ® § ç¥¨ï ¯ à ¬¥âà â ª®¢ë, çâ® ®ªà㣫¥¨ï ¥ âॡãîâáï (¢ 襬 ¯à¨¬¥à¥ ¯à¨ n = 4k ¨ç¥£® ®ªà㣫ïâì ¥ ¯à¨¤ñâáï). ®®¡é¥ £®¢®àï, â ª®¥ ¯à¥¤¯®«®¦¥¨¥ ¥ ¢¯®«¥ § ª®®, â ª ª ª ®æ¥ªã ¤® ¤®ª § âì ¤«ï ¢á¥å ¤®áâ â®ç® ¡®«ìè¨å 楫ëå ç¨á¥«, ¥ ⮫쪮 ¤«ï á⥯¥¥© ç¥â¢ñન. ë 㢨¤¨¬ ¢ à §¤¥«¥ 4.3, ª ª ¬®¦® ®¡®©â¨ íâã âà㤮áâì (á¬. â ª¦¥ § ¤ çã 4-5). 4 4 ¥à¥¢ìï ४ãàᨨ à®æ¥áá ¯®¤áâ ®¢ª¨ á®®â®è¥¨ï ¢ á¥¡ï ¬®¦® ¨§®¡à §¨âì ¢ ¢¨¤¥ ¤¥à¥¢ ४ãàᨨ (recursion tree). ª íâ® ¤¥« ¥âáï, ¯®ª § ® à¨á. 4.1 ¯à¨¬¥à¥ á®®â®è¥¨ï T (n) = 2T (n=2) + n2 : «ï 㤮¡á⢠¯à¥¤¯®«®¦¨¬, çâ® n | á⥯¥ì ¤¢®©ª¨. ¢¨£ ïáì ®â ( ) ª (£), ¬ë ¯®á⥯¥® à §¢®à 稢 ¥¬ ¢ëà ¦¥¨¥ ¤«ï T (n), ¨á¯®«ì§ãï ¢ëà ¦¥¨ï ¤«ï T (n), T (n=2), T (n=4) ¨ â. ¤. ¥¯¥àì ¬ë ¬®¦¥¬ ¢ëç¨á«¨âì T (n), ᪫ ¤ë¢ ï § ç¥¨ï ¢¥àè¨ ª ¦¤®¬ ã஢¥. ¢¥à奬 ã஢¥ ¯®«ãç ¥¬ n2, ¢â®à®¬ | (n=2)2 + (n=2)2 = n2 =2, âà¥â쥬 | (n=4)2 +(n=4)2 +(n=4)2 +(n=4)2 = n2 =4. ®«ãç ¥âáï ã¡ë¢ îé ï £¥®¬¥âà¨ç¥áª ï ¯à®£à¥áá¨ï, á㬬 ª®â®à®© ®â«¨ç ¥âáï ®â ¥ñ ¯¥à¢®£® ç«¥ ¥ ¡®«¥¥ 祬 ¯®áâ®ïë© ¬®¦¨â¥«ì. â ª, T (n) = (n2). à¨á. 4.2 ¯®ª § ¡®«¥¥ á«®¦ë© ¯à¨¬¥à | ¤¥à¥¢® ¤«ï á®®â®è¥¨ï T (n) = T (n=3) + T (2n=3) + n ८¡à §®¢ ¨¥ ¢ á㬬ã 55 Total=¢á¥£® ¨á㮪 4.1 ¥à¥¢® ४ãàᨨ ¤«ï á®®â®è¥¨ï T (n) = 2T (n=2) + n2 . ëá®â ¯®«®áâìî à §¢¥àã⮣® ¤¥à¥¢ (£) à ¢ lg n (¤¥à¥¢® ¨¬¥¥â lg n + 1 ã஢¥©). ¨á㮪 4.2 ¥à¥¢® ४ãàᨨ ¤«ï á®®â®è¥¨ï T (n) = T (n=3) + T (2n=3) + n. 56 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï (¤«ï ¯à®áâ®âë ¬ë ¢®¢ì ¨£®à¨à㥬 ®ªà㣫¥¨ï). ¤¥áì á㬬 § 票© ª ¦¤®¬ ã஢¥ à ¢ n. ¥à¥¢® ®¡àë¢ ¥âáï, ª®£¤ § 票ï à£ã¬¥â áâ ®¢ïâáï áà ¢¨¬ë¬¨ á 1. «ï à §ëå ¢¥â¢¥© íâ® ¯à®¨á室¨â à §®© £«ã¡¨¥, ¨ á ¬ë© ¤«¨ë© ¯ãâì n ! (2=3)n ! (2=3)2n ! ! 1 âॡã¥â ®ª®«® k = log3=2 n è £®¢ (¯à¨ â ª®¬ k ¬ë ¨¬¥¥¬ (2=3)k n = 1). ®í⮬ã T (n) ¬®¦® ®æ¥¨âì ª ª O(n lg n). ¯à ¦¥¨ï â¥à¨àãï (¯®¤áâ ¢«ïï ¢ ᥡï) á®®â®è¥¨¥ T (n) = 3T (bn=2c) + n, ©¤¨â¥ å®à®èãî ¢¥àåîî ᨬ¯â®â¨ç¥áªãî ®æ¥ªã ¤«ï T (n). 4.2-1 «¨§¨àãï ¤¥à¥¢® ४ãàᨨ, ¯®ª ¦¨â¥, çâ® T (n) = T (n=3) + T (2n=3) + n ¢«¥çñâ T (n) = (n lg n). 4.2-3 à¨áã©â¥ ¤¥à¥¢® ४ãàᨨ ¤«ï T (n) = 4T (bn=2c) + n ¨ ¯®«ãç¨â¥ ᨬ¯â®â¨ç¥áª¨ â®çë¥ ®æ¥ª¨ ¤«ï T (n). 4.2-4 ¯®¬®éìî ¨â¥à 権 à¥è¨â¥ á®®â®è¥¨¥ T (n) = T (n ; a) + T (a) + n, £¤¥ a > 1 | ¥ª®â®à ï ª®áâ â . 4.2-5 ¯®¬®éìî ¤¥à¥¢ ४ãàᨨ à¥è¨â¥ á®®â®è¥¨¥ T (n) = T (n) + T ((1 ; )n) + n, £¤¥ | ª®áâ â ¢ ¨â¥à¢ «¥ 0 < < 1. 4.2-2 4.3 ¡é¨© à¥æ¥¯â â®â ¬¥â®¤ £®¤¨âáï ¤«ï ४ãàà¥âëå á®®â®è¥¨© ¢¨¤ T (n) = aT (n=b) + f (n); (4.5) £¤¥ a > 1 ¨ b > 1 | ¥ª®â®àë¥ ª®áâ âë, f | ¯®«®¦¨â¥«ì ï (¯® ªà ©¥© ¬¥à¥ ¤«ï ¡®«ìè¨å § 票© à£ã¬¥â ) äãªæ¨ï. ¤ ñâ ®¡éãî ä®à¬ã«ã; § ¯®¬¨¢ ¥ñ, ¬®¦® à¥è âì ¢ 㬥 à §«¨çë¥ à¥ªãàà¥âë¥ á®®â®è¥¨ï. ®®â®è¥¨¥ (4.5) ¢®§¨ª ¥â, ¥á«¨ «£®à¨â¬ à §¡¨¢ ¥â § ¤ çã à §¬¥à n a ¯®¤§ ¤ ç à §¬¥à n=b, í⨠¯®¤§ ¤ ç¨ à¥è îâáï ४ãàᨢ® (ª ¦¤ ï § ¢à¥¬ï T (n=b)) ¨ १ã«ìâ âë ®¡ê¥¤¨ïîâáï. ਠí⮬ § âà âë à §¡¨¥¨¥ ¨ ®¡ê¥¤¨¥¨¥ ®¯¨áë¢ îâáï äãªæ¨¥© f (n) (¢ ®¡®§ 票ïå à §¤¥« 1.3.2 f (n) = C (n) + D(n)). ¯à¨¬¥à, ¤«ï ¯à®æ¥¤ãàë Merge-Sort ¬ë ¨¬¥¥¬ a = 2, b = 2, f (n) = (n). ª ¢á¥£¤ , ¢ ä®à¬ã«¥ (4.5) ¢®§¨ª ¥â ¯à®¡«¥¬ á ®ªà㣫¥¨¥¬: n=b ¬®¦¥â ¥ ¡ëâì 楫ë¬. ®à¬ «ì® á«¥¤®¢ «® ¡ë § ¬¥¨âì ¡é¨© à¥æ¥¯â 57 T (n=b) T (bn=bc) ¨«¨ T (dn=be). ¡ ¢ ਠâ , ª ª ¬ë 㢨¤¨¬ ¢ á«¥¤ãî饬 à §¤¥«¥, ¯à¨¢®¤ïâ ª ®¤®¬ã ¨ ⮬㠦¥ ®â¢¥âã, ¨ ¤«ï ¯à®áâ®âë ¬ë ¡ã¤¥¬ ®¯ã᪠âì ®ªà㣫¥¨¥ ¢ è¨å ä®à¬ã« å. ᮢ ï ⥮६ ® ४ãàà¥âëå ®æ¥ª å ¥®à¥¬ 4.1. ãáâì a > 1 ¨ b > 1 | ª®áâ âë, f (n) | äãªæ¨ï, T (n) ®¯à¥¤¥«¥® ¯à¨ ¥®âà¨æ ⥫ìëå n ä®à¬ã«®© T (n) = aT (n=b) + f (n); £¤¥ ¯®¤ n=b ¯®¨¬ ¥âáï «¨¡® dn=be, «¨¡® bn=bc. ®£¤ : 1. ᫨ f (n) = O(nlogb a;" ) ¤«ï ¥ª®â®à®£® " > 0, â® T (n) = (nlogb a ). 2. ᫨ f (n) = (nlogb a ), â® T (n) = (nlogb a lg n). 3. ᫨ f (n) = (nlogb a+" ) ¤«ï ¥ª®â®à®£® " > 0 ¨ ¥á«¨ af (n=b) 6 cf (n) ¤«ï ¥ª®â®à®© ª®áâ âë c < 1 ¨ ¤®áâ â®ç® ¡®«ìè¨å n, â® T (n) = (f (n)). çñ¬ áãâì í⮩ ⥮६ë? ª ¦¤®¬ ¨§ âàñå á«ãç ¥¢ ¬ë áà ¢¨¢ ¥¬ f (n) á nlogb a; ¥á«¨ ®¤ ¨§ íâ¨å äãªæ¨© à áâñâ ¡ëáâ॥ ¤à㣮©, â® ® ¨ ®¯à¥¤¥«ï¥â ¯®à冷ª à®áâ T (n) (á«ãç ¨ 1 ¨ 3). ᫨ ®¡¥ äãªæ¨¨ ®¤®£® ¯®à浪 (á«ãç © 2), â® ¯®ï¢«ï¥âáï ¤®¯®«¨â¥«ìë© «®£ à¨ä¬¨ç¥áª¨© ¬®¦¨â¥«ì ¨ ®â¢¥â®¬ á«ã¦¨â ä®à¬ã« (nlogb a lg n) = (f (n) lg n). ⬥⨬ ¢ ¦ë¥ â¥å¨ç¥áª¨¥ ¤¥â «¨. ¯¥à¢®¬ á«ãç ¥ ¥¤®áâ â®ç®, ç⮡ë f (n) ¡ë« ¯à®áâ® ¬¥ìè¥, 祬 nlogb a: ¬ 㦥 "§ §®à" à §¬¥à n" ¤«ï ¥ª®â®à®£® " > 0. ®ç® â ª ¦¥ ¢ âà¥â쥬 á«ãç ¥ f (n) ¤®«¦ ¡ëâì ¡®«ìè¥ nlogb a á § ¯ ᮬ, ¨ ª ⮬㠦¥ 㤮¢«¥â¢®àïâì ãá«®¢¨î "ॣã«ïà®áâ¨" af (n=b) 6 cf (n); ¯à®¢¥àª ¯®á«¥¤¥£® ãá«®¢¨ï, ª ª ¯à ¢¨«®, ¥ á®áâ ¢«ï¥â âà㤠. ¬¥â¨¬, çâ® âਠ㪠§ ëå á«ãç ï ¥ ¨áç¥à¯ë¢ îâ ¢á¥å ¢®§¬®¦®á⥩: ¬®¦¥â ®ª § âìáï, ¯à¨¬¥à, çâ® äãªæ¨ï f (n) ¬¥ìè¥, 祬 nlogb a, ® § §®à ¥¤®áâ â®ç® ¢¥«¨ª ¤«ï ⮣®, çâ®¡ë ¢®á¯®«ì§®¢ âìáï ¯¥à¢ë¬ ã⢥ত¥¨¥¬ ⥮६ë. «®£¨ç ï "饫ì" ¥áâì ¨ ¬¥¦¤ã á«ãç ﬨ 2 ¨ 3. ª®¥æ, äãªæ¨ï ¬®¦¥â ¥ ®¡« ¤ âì ᢮©á⢮¬ ॣã«ïà®áâ¨. ਬ¥¥¨ï ®á®¢®© ⥮६ë áᬮâਬ ¥áª®«ìª® ¯à¨¬¥à®¢, £¤¥ ¯à¨¬¥¥¨¥ â¥®à¥¬ë ¯®§¢®«ï¥â áà §ã ¦¥ ¢ë¯¨á âì ®â¢¥â. «ï ç « à áᬮâਬ á®®â®è¥¨¥ T (n) = 9T (n=3) + n: í⮬ á«ãç ¥ a = 9, b = 3, f (n) = n, nlogb a = nlog 9 = (n2). 3 58 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï ®áª®«ìªã f (n) = O(nlog 9;" ) ¤«ï " = 1, ¬ë ¯à¨¬¥ï¥¬ ¯¥à¢®¥ ã⢥ত¥¨¥ â¥®à¥¬ë ¨ § ª«îç ¥¬, çâ® T (n) = (n2). ¥¯¥àì à áᬮâਬ á®®â®è¥¨¥ T (n) = T (2n=3) + 1: 3 ¤¥áì a = 1, b = 3=2, f (n) = 1 ¨ nlogb a = nlog = 1 = n0 = 1. ®¤å®¤¨â á«ãç © 2, ¯®áª®«ìªã f (n) = (nlogb a) = (1), ¨ ¬ë ¯®«ãç ¥¬, çâ® T (n) = (lg n). «ï á®®â®è¥¨ï T (n) = 3T (n=4) + n lg n ¬ë ¨¬¥¥¬ a = 3, b = 4, f (n) = n lg n; ¯à¨ í⮬ nlogb a = nlog 3 = O(n0;793). §®à (á " 0;2) ¥áâì, ®áâ ñâáï ¯à®¢¥à¨âì ãá«®¢¨¥ ॣã«ïà®áâ¨. «ï ¤®áâ â®ç® ¡®«ì讣® n ¨¬¥¥¬ af (n=b) = 3(n=4) lg(n=4) 6 (3=4)n lg n = cf (n) ¤«ï c = 3=4. ¥¬ á ¬ë¬ ¯® âà¥â쥬ã ã⢥ত¥¨î ⥮६ë T (n) = (n lg n). ®â ¯à¨¬¥à, ª®£¤ ⥮६㠯ਬ¥¨âì ¥ 㤠ñâáï: ¯ãáâì T (n) = 2T (n=2) + n lg n. ¤¥áì a = 2, b = 2, f (n) = n lg n, nlogb a = n. ¨¤®, çâ® f (n) = n lg n ᨬ¯â®â¨ç¥áª¨ ¡®«ìè¥, 祬 nlogb a, ® § §®à ¥¤®áâ â®ç¥: ®â®è¥¨¥ f (n)=nlogb a = (n lg n)=n = lg n ¥ ®æ¥¨¢ ¥âáï ᨧ㠢¥«¨ç¨®© n" ¨ ¤«ï ª ª®£® " > 0. â® á®®â®è¥¨¥ ¯®¯ ¤ ¥â ¢ ¯à®¬¥¦ã⮪ ¬¥¦¤ã á«ãç ﬨ 2 ¨ 3; ¤«ï ¥£® ¬®¦® ¯®«ãç¨âì ®â¢¥â ¯® ä®à¬ã«¥ ¨§ ã¯à. 4.4-2. 3 2 4 ¯à ¦¥¨ï ᯮ«ì§ãï ®á®¢ãî ⥮६ã, ©¤¨â¥ ᨬ¯â®â¨ç¥áª¨ â®çë¥ ®æ¥ª¨ ¤«ï á®®â®è¥¨ï . T (n) = 4T (n=2) + n; ¡. T (n) = 4T (n=2) + n2; ¢. T (n) = 4T (n=2) + n3. 4.3-2 ६ï à ¡®âë «£®à¨â¬ A ®¯¨áë¢ ¥âáï á®®â®è¥¨¥¬ T (n) = 7T (n=2)+n2, ¢à¥¬ï à ¡®âë «£®à¨â¬ A0 | á®®â®è¥¨¥¬ T 0(n) = aT 0(n=4)+ n2 . ਠª ª®¬ ¨¡®«ì襬 楫®¬ § 票¨ a «£®à¨â¬ A0 ᨬ¯â®â¨ç¥áª¨ ¡ëáâ॥, 祬 A? 4.3-3 ᯮ«ì§ãï ®á®¢ãî ⥮६ã, ¯®ª ¦¨â¥, çâ® á®®â®è¥¨¥ T (n) = T (n=2) + (1) (¤«ï ¤¢®¨ç®£® ¯®¨áª , á¬. ã¯à. 1.3-5) ¢«¥çñâ T (n) = (lg n). 4.3-4 ®ª ¦¨â¥, çâ® ãá«®¢¨ï ॣã«ïà®á⨠(á«ãç © 3) ¥ ¢ë⥪ ¥â ¨§ ¤à㣨å ãá«®¢¨©: ¯à¨¢¥¤¨â¥ ¯à¨¬¥à äãªæ¨¨ f , ¤«ï ª®â®à®© áãé¥áâ¢ã¥â âॡ㥬 ï ª®áâ â ", ® ãá«®¢¨¥ ॣã«ïà®á⨠¥ ¢ë¯®«¥®. 4.3-1 4.4 ®ª § ⥫ìá⢮ ¥®à¥¬ë 4.1 59 ? 4.4 ®ª § ⥫ìá⢮ ¥®à¥¬ë 4.1 ë ¯à¨¢¥¤ñ¬ ¤®ª § ⥫ìá⢮ ⥮६ë 4.1 ¤«ï ¤®â®èëå ç¨â ⥫¥©; ¢ ¤ «ì¥©è¥¬ ®® ¥ ¯® ¤®¡¨âáï, â ª çâ® ¯à¨ ¯¥à¢®¬ ç⥨¨ ¥£® ¢¯®«¥ ¬®¦® ¯à®¯ãáâ¨âì. ®ª § ⥫ìá⢮ á®á⮨⠨§ ¤¢ãå ç á⥩. ç « ¬ë à áᬠâਢ ¥¬ ⮫쪮 ⥠n, ª®â®àë¥ ï¢«ïîâáï á⥯¥ï¬¨ ç¨á« b; ¢á¥ ®á®¢ë¥ ¨¤¥¨ ¢¨¤ë 㦥 ¤«ï í⮣® á«ãç ï. ⥬ ¯®«ãç¥ë© १ã«ìâ â à á¯à®áâà ï¥âáï ¢á¥ âãà «ìë¥ ç¨á« , ¯à¨ í⮬ ¬ë ªªãà â® á«¥¤¨¬ § ®ªà㣫¥¨ï¬¨ ¨ â. ¯. í⮬ à §¤¥«¥ ¬ë ¯®§¢®«¨¬ ᥡ¥ ¥ ᮢᥬ ª®à४⮠®¡à é âìáï á ᨬ¯â®â¨ç¥áª®© § ¯¨áìî: ¡ã¤¥¬ ¨á¯®«ì§®¢ âì ¥ñ ¤«ï äãªæ¨©, ®¯à¥¤¥«ñëå ⮫쪮 á⥯¥ïå ç¨á« b, å®âï ®¯à¥¤¥«¥¨¥ âॡã¥â, çâ®¡ë ®æ¥ª¨ ¤®ª §ë¢ «¨áì ¤«ï ¢á¥å ¤®áâ â®ç® ¡®«ìè¨å âãà «ìëå ç¨á¥«. § ª®â¥ªá⠡㤥⠯®ïâ®, çâ® ¨¬¥¥âáï ¢ ¢¨¤ã, ® 㦮 ¡ëâì ¢¨¬ ⥫ìë¬, çâ®¡ë ¥ § ¯ãâ âìáï: ¥á«¨ ® äãªæ¨¨ T (n) ¨ç¥£® ¥ ¨§¢¥áâ®, â® ®æ¥ª T (n) = O(n) ¤«ï n, ïîé¨åáï á⥯¥ï¬¨ ¤¢®©ª¨, ¨ç¥£® ¥ £ à â¨àã¥â ¤«ï ¯à®¨§¢®«ìëå n. (®§¬®¦®, çâ® T (n) = n ¯à¨ n = 1; 2; 4; 8; : : : ¨ T (n) = n2 ¯à¨ ®áâ «ìëå n.) 4.4.1 «ãç © âãà «ìëå á⥯¥¥© ãáâì T (n) ®¯à¥¤¥«¥® ¤«ï ç¨á¥«, ïîé¨åáï ( âãà «ì묨) á⥯¥ï¬¨ ç¨á« b > 1 (¥ ®¡ï§ â¥«ì® æ¥«®£®) ¨ 㤮¢«¥â¢®àï¥â á®®â®è¥¨î (4.5), â. ¥. T (n) = aT (n=b) + f (n): ë ¯®«ã稬 ®æ¥ªã ¤«ï T â ª: ¯¥à¥©¤ñ¬ ®â í⮣® á®®â®è¥¨ï ª á㬬¨à®¢ ¨î («¥¬¬ 4.2), § ⥬ ®æ¥¨¬ ¯®«ãç¥ãî á㬬ã («¥¬¬ 4.3) ¨ ¯®¤¢¥¤ñ¬ ¨â®£¨ («¥¬¬ 4.4). ¥¬¬ 4.2. ãáâì a > 1, b > 1 | ª®áâ âë, ¨ ¯ãáâì f (n) | ¥®âà¨æ ⥫ì ï äãªæ¨ï, ®¯à¥¤¥«ñ ï á⥯¥ïå b. ãáâì T (n) | äãªæ¨ï, ®¯à¥¤¥«ñ ï á⥯¥ïå b á®®â®è¥¨¥¬ T (n) = aT (n=b) + f (n) ¯à¨ n > 1, ¯à¨çñ¬ T (1) > 0. ®£¤ T (n) = (nlogb a ) + logX b n;1 j =0 aj f (n=bj ): (4.6) 60 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï ¨á㮪 4.3 ¥à¥¢® ४ãàᨨ ¤«ï á®®â®è¥¨ï T (n) = aT (n=b) + f (n) ï¥âáï ¯®«ë¬ a-¨çë¬ ¤¥à¥¢®¬ ¢ëá®âë logb n á nlog b a . 㬬 ¢¥á®¢ ¯® ãà®¢ï¬ ¯®ª § á¯à ¢ , ®¡é ï á㬬 ¤ ñâáï ä®à¬ã«®© (4.6). ®ª § ⥫ìá⢮. ®á«¥¤®¢ â¥«ì® ¯®¤áâ ¢«ïï á®®â®è¥¨¥ á ¬® ¢ ᥡï, ¯®«ãç ¥¬ T (n) = f (n) + aT (n=b) = f (n) + af (n=b) + a2T (n=b2) = f (n) + af (n=b) + a2f (n=b2) + : : : + alogb n;1 f (n=blogb n;1 ) + alogb n T (1): ®áª®«ìªã alogb n = nlogb a, ¯®á«¥¤¨© ç«¥ ¬®¦¥â ¡ëâì § ¯¨á ª ª (nlogb a ). á⠢訥áï ç«¥ë ®¡à §ãîâ á㬬ã, 䨣ãà¨àãîéãî ¢ ã⢥ত¥¨¨ «¥¬¬ë. ¥à¥¢® ४ãàᨨ ®ª § ⥫ìá⢮ «¥¬¬ë 4.2 ¬®¦® ¯®ïá¨âì ¢ â¥à¬¨ å ¤¥à¥¢ ४ãàᨨ (à¨á. 4.3), ¥á«¨ ç¨á«® a 楫®¥ (å®âï á ¬® ¤®ª § ⥫ìá⢮ í⮣® ¥ âॡã¥â). ª®à¥ á⮨â ç¨á«® f (n), ¢ ª ¦¤®¬ ¨§ a ¥£® ¤¥â¥© á⮨â ç¨á«® f (n=b), ¢ ª ¦¤®¬ ¨§ a2 ¢ãª®¢ á⮨â f (n=b2) ¨ â. ¤. ã஢¥ j ¨¬¥¥âáï aj ¢¥àè¨; ¢¥á ª ¦¤®© | f (n=bj ). ¨áâìï 室ïâáï à ááâ®ï¨¨ logb n ®â ª®àï, ¨ ¨¬¥îâ ¯®«®¦¨â¥«ìë© ¢¥á T (1); ¢á¥£® ¤¥à¥¢¥ alogb n = nlogb a «¨áâ쥢. 4.4 ®ª § ⥫ìá⢮ ¥®à¥¬ë 4.1 61 ¢¥á⢮ (4.6) ¯®«ãç ¥âáï, ¥á«¨ á«®¦¨âì ¢¥á ¢á¥å ã஢ïå: ®¡é¨© ¢¥á j -¬ ã஢¥ ¥áâì aj f (n=bj ), ®¡é¨© ¢¥á ¢ãâ॥© ç á⨠¤¥à¥¢ ¥áâì logX b n;1 aj f (n=bj ): j =0 ᫨ ४ãàà¥â®¥ á®®â®è¥¨¥ ¯à®¨§®è«® ¨§ «£®à¨â¬ ⨯ "à §¤¥«ï© ¨ ¢« áâ¢ã©", íâ á㬬 ®âà ¦ ¥â á⮨¬®áâì à §¡¨¥¨ï § ¤ ç¨ ¯®¤§ ¤ ç¨ ¨ ®¡ê¥¤¨¥¨ï à¥è¥¨©. 㬬 àë© ¢¥á ¢á¥å «¨áâ쥢 ¥áâì á⮨¬®áâì à¥è¥¨ï ¢á¥å nlogb a § ¤ ç à §¬¥à 1, ª®â®à ï á®áâ ¢«ï¥â (nlogb a). â¥à¬¨ å ¤¥à¥¢ ४ãàᨨ «¥£ª® ®¡êïá¨âì, 祬ã ᮮ⢥âáâ¢ãîâ âਠá«ãç ï ¢ ä®à¬ã«¨à®¢ª¥ ®á®¢®© ⥮६ë. ¯¥à¢®¬ á«ãç ¥ ®á®¢ ï ç áâì ¢¥á á®á।®â®ç¥ ¢ «¨áâìïå, ¢ âà¥â쥬 | ¢ ª®à¥, ¢® ¢â®à®¬ ¢¥á à ¢®¬¥à® à á¯à¥¤¥«ñ ¯® ãà®¢ï¬ ¤¥à¥¢ . ¥¯¥àì ®æ¥¨¬ ¢¥«¨ç¨ã áã¬¬ë ¢ ä®à¬ã«¥ (4.6). ¥¬¬ 4.3. ãáâì a > 1, b > 1 | ª®áâ âë, f (n) | ¥®âà¨æ ⥫ì ï äãªæ¨ï, ®¯à¥¤¥«ñ ï âãà «ìëå á⥯¥ïå b. áᬮâਬ äãªæ¨î g(n), ®¯à¥¤¥«ñãî ä®à¬ã«®© g (n) = logX b n;1 j =0 aj f (n=bj ) (4.7) (¤«ï n, ïîé¨åáï á⥯¥ï¬¨ b). ®£¤ 1. ᫨ f (n) = O(nlogb a;" ) ¤«ï ¥ª®â®à®© ª®áâ âë " > 0, â® g(n) = O(nlogb a). 2. ᫨ f (n) = (nlogb a ), â® g (n) = (nlogb a lg n). 3. ᫨ af (n=b) 6 cf (n) ¤«ï ¥ª®â®à®© ª®áâ âë c < 1 ¨ ¤«ï ¢á¥å n > b, â® g(n) = (f (n)). ®ª § ⥫ìá⢮. 1. ¯¥à¢®¬ á«ãç ¥ ¤®áâ â®ç® ¤®ª § âì ã⢥ত¥¨¥ «¥¬¬ë ¤«ï äãªæ¨¨ f (n) = n, £¤¥ = logb a ; " «ï â ª®© äãªæ¨¨ f à ¢¥á⢮ (4.7) ¬®¦¥â ¡ëâì ¯¥à¥¯¨á ® â ª: (⥯¥àì = logb a) g (n) = f (n) + af (n=b) + a2f (n=b2) + : : : + ak;1f (n=bk;1) = n + a(n=b) + a2 (n=b2) + : : : + ak;1 (n=bk;1) ; (4.8) ¯à ¢ ï ç áâì ¯à¥¤áâ ¢«ï¥â ᮡ®© £¥®¬¥âà¨ç¥áªãî ¯à®£à¥áá¨î ¤«¨ë k = logb n á® § ¬¥ ⥫¥¬ a=b; íâ®â § ¬¥ â¥«ì ¡®«ìè¥ 1, â ª ª ª < logb a ¨ b < a. «ï â ª®© ¯à®£à¥á¨¨ á㬬 ¯® ¯®à浪ã à ¢ ¯®á«¥¤¥¬ã ç«¥ã (®â«¨ç ¥âáï ®â ¥£® ¥ ¡®«¥¥ 祬 ª®áâ âã à §). â®â ¯®á«¥¤¨© ç«¥ ¥áâì O(ak ) = O(nlogb a). «ï ¯¥à¢®£® á«ãç ï ã⢥ত¥¨¥ «¥¬¬ë ¤®ª § ®. 62 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï 2. ® ¢â®à®¬ á«ãç ¥ «®£¨ç®¥ à áá㦤¥¨¥ ¤ ñâ á㬬ã ⮣® ¦¥ ¢¨¤ : g(n) = f (n) + af (n=b) + a2 f (n=b2) + : : : = n + a(n=b) + a2 (n=b2) + : : : ; (4.9) ® ⥯¥àì = logb a ¨ ¯®â®¬ã § ¬¥ â¥«ì £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨨ à ¢¥ 1 ¨ ¢á¥ ¥ñ ç«¥ë à ¢ë. å ç¨á«® ¥áâì logb n, ¨ ¯®â®¬ã á㬬 à ¢ nlogb a logb n = (nlogb a lg n): «ãç © 2 à §®¡à . 3. í⮬ á«ãç ¥ ãá«®¢¨¥ ॣã«ïà®á⨠äãªæ¨¨ f £ à â¨àã¥â, çâ® ¢ 襩 á㬬¥ ª ¦¤ë© á«¥¤ãî騩 ç«¥ ¥ ¯à¥¢®á室¨â ¯à¥¤ë¤ã饣®, 㬮¦¥®£® c < 1. ¥¬ á ¬ë¬ ¥ñ ¬®¦® ®æ¥¨âì ᢥàåã ã¡ë¢ î饩 £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨥ© á® § ¬¥ ⥫¥¬ c, ¨ á㬬 â ª®© ¯à®£à¥áᨨ ¥ ¡®«¥¥ 祬 ¢ ª®áâ âã (à ¢ãî 1=(1 ; c)) à § ¯à¥¢®á室¨â ¯¥à¢ë© ç«¥ (® ¨ ¥ ¬¥ìè¥ ¥£®, â ª ª ª ¢á¥ á« £ ¥¬ë¥ ¥®âà¨æ ⥫ìë). ª¨¬ ®¡à §®¬, g(n) = (f (n)) ¤«ï n, ïîé¨åáï á⥯¥ï¬¨ b. ®ª § ⥫ìá⢮ «¥¬¬ë § ¢¥à襮. ¥¯¥àì ¬ë ¬®¦¥¬ ¤®ª § âì ®á®¢ãî ⥮६㠮 ४ãàà¥âëå ®æ¥ª å ¤«ï á«ãç ï, ª®£¤ n ¥áâì âãà «ì ï á⥯¥ì b. ¥¬¬ 4.4. ãáâì a > 1, b > 1 | ª®áâ âë, ¨ ¯ãáâì f (n) | ¥®âà¨æ ⥫ì ï äãªæ¨ï, ®¯à¥¤¥«ñ ï á⥯¥ïå b. ãáâì T (n) | äãªæ¨ï, ®¯à¥¤¥«ñ ï á⥯¥ïå b á®®â®è¥¨¥¬ T (n) = aT (n=b) + f (n) ¯à¨ n > 1 ¨ T (1) > 0. ®£¤ : 1. ᫨ f (n) = O(nlogb a;" ) ¤«ï ¥ª®â®à®£® " > 0, â® T (n) = (nlogb a ). 2. ᫨ f (n) = (nlogb a ), â® T (n) = (nlogb a ) lg n. 3. ᫨ f (n) = (nlogb a+" ) ¤«ï ¥ª®â®à®£® " > 0 ¨ ¥á«¨ af (n=b) 6 cf (n) ¤«ï ¥ª®â®à®© ª®áâ âë c < 1 ¨ ¤«ï ¤®áâ â®ç® ¡®«ìè¨å n, â® T (n) = (f (n)). ??????? ª ã¡à âì â®çªã ¢ ª®æ¥ á«®¢ ®ª § ⥫ìá⢮? ®ª § ⥫ìá⢮. á®á⮨⠢ ª®¬¡¨ 樨 «¥¬¬ 4.2 ¨ 4.3. ¯¥à¢®¬ á«ãç ¥ ¯®«ãç ¥¬ T (n) = (nlogb a ) + O(nlogb a ) = (nlogb a): ® ¢â®à®¬ á«ãç ¥ ¨¬¥¥¬ T (n) = (nlogb a ) + (nlogb a lg n) = (nlogb a lg n): âà¥â쥬 á«ãç ¥ T (n) = (nlogb a) + (f (n)) = (f (n)): 4.4 ®ª § ⥫ìá⢮ ¥®à¥¬ë 4.1 63 ¬¥â¨¬, çâ® ¢ ¯®á«¥¤¥¬ á«ãç ¥ ãá«®¢¨¥ "f (n) = (nlogb a+") ¤«ï ¥ª®â®à®£® " > 0" ¬®¦® ¡ë«® ¡ë ®¯ãáâ¨âì, â ª ª ª ®® ¢ë⥪ ¥â ¨§ ãá«®¢¨ï ॣã«ïà®á⨠(á¬. ã¯à. 4.4-3). ¥¬¬ 4.4 ¤®ª § . 4.4.2 ¥«ë¥ ¯à¨¡«¨¦¥¨ï ᢥàåã ¨ ᨧ㠬 ®áâ «®áì à §®¡à âìáï ¯®¤à®¡® á ¯à®¨§¢®«ì묨 n, ¥ ïî騬¨áï á⥯¥ï¬¨ ç¨á« b. í⮬ á«ãç ¥ n=b ¯®¤«¥¦¨â ®ªà㣫¥¨î ¨ á®®â®è¥¨¥ ¨¬¥¥â ¢¨¤ T (n) = aT (dn=be) + f (n) (4.10) ¨«¨ T (n) = aT (bn=bc) + f (n): (4.11) ¤® ã¡¥¤¨âìáï, çâ® ®æ¥ª ®áâ ñâáï ¢ ᨫ¥ ¨ ¤«ï í⮣® á«ãç ï. ®á¬®âਬ, ª ª¨¥ ¨§¬¥¥¨ï ¤® ¢¥á⨠¢ è¨ à áá㦤¥¨ï. ¬¥áâ® ¯®á«¥¤®¢ ⥫ì®á⨠n; n=b; n=b2; : : : ⥯¥àì ¤® à áᬠâਢ âì ¯®á«¥¤®¢ ⥫ì®áâì ni, ®¯à¥¤¥«ñãî â ª: ( ni = n; ¥á«¨ i = 0, dni;1 =be; ¥á«¨ i > 0. (4.12) (¬ë à áᬠâਢ ¥¬ á«ãç © ®ªà㣫¥¨ï á ¨§¡ë⪮¬). â ¯®á«¥¤®¢ ⥫ì®áâì | ã¡ë¢ îé ï, ® ¥ ®¡ï§ â¥«ì® áâ६¨âáï ª ¥¤¨¨æ¥. ¤ ª® ¬ë ¬®¦¥¬ ã⢥ত âì, çâ® ¯®á«¥ logb n ¨â¥à 権 ¯®«ãç¨âáï ç¨á«®, ®£à ¨ç¥®¥ ¥ § ¢¨áï饩 ®â n (å®âï § ¢¨áï饩 ®â b) ª®áâ ⮩. á ¬®¬ ¤¥«¥, ¨§ ¥à ¢¥á⢠dxe 6 x + 1 á«¥¤ã¥â, çâ® n0 6 n; n1 6 nb + 1; n2 6 bn2 + 1b + 1; n3 6 bn3 + b12 + 1b + 1; :::::::::::::::::::::: ®áª®«ìªã 1 + 1=b + 1=b2 + : : : 6 1=(b ; 1), ¤«ï i = blogb nc ¬ë ¯®«ãç ¥¬ ni 6 n=bi + b=(b ; 1) 6 b + b=(b ; 1) = O(1). 64 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï â¥à¨àãï á®®â®è¥¨¥ (4.10), ¬ë ¯®«ãç ¥¬ T (n) = f (n0) + aT (n1) = f (n0) + af (n1 ) + a2 T (n2) 6 f (n0) + af (n1) + a2f (n2) + : : : + + ablogb nc;1 f (nblogb nc;1 ) + ablogb nc T (nblogb nc ) = (nlogb a ) + blogX b nc;1 j =0 aj f (nj ): (4.13) â® ¢ëà ¦¥¨¥ ®ç¥ì ¯®å®¦¥ (4.6), ⮫쪮 §¤¥áì n ¥ ®¡ï§ ® ¡ëâì á⥯¥ìî ç¨á« b. [âண® £®¢®àï, ᪠§ ®¥ âॡã¥â ¥ª®â®àëå ãâ®ç¥¨©. ¥«® ¢ ⮬, çâ® ¢¥«¨ç¨ T (ndlog bne ) ¬®¦¥â ®ª § âìáï à ¢®© ã«î. ® ¬ë § ¥¬, çâ® f (n) ᨬ¯â®â¨ç¥áª¨ ¯®«®¦¨â¥«ì , â. ¥. ¯®«®¦¨â¥«ì ¤«ï ¢á¥å n, ç¨ ï á ¥ª®â®à®£® n0. ®í⮬㠢 à §¢ñàâë¢ ¨¨ á㬬ë 㦮 ®áâ ®¢¨âìáï, ¥¬®£® ¥ ¤®©¤ï ¤® í⮣® n0. ë ®¯ã᪠¥¬ ¯®¤à®¡®áâ¨.] ¥¯¥àì ¤® à §®¡à âìáï á á®®â®è¥¨ï¬¨ ¬¥¦¤ã á« £ ¥¬ë¬¨ ¢ á㬬¥ g (n) = blogX b nc;1 j =0 aj f (nj ): (4.14) ìè¥ ¬ë áà ¢¨¢ «¨ íâã á㬬ã á £¥®¬¥âà¨ç¥áª®© ¯à®£à¥áᨥ©, ¢ ª®â®à®© § ¬¥ â¥«ì ¡ë« ¡®«ìè¥ ¥¤¨¨æë (¯¥à¢ë© á«ãç ©), à ¢¥ ¥¤¨¨æ¥ (¢â®à®© á«ãç ©) ¨«¨ ¬¥ìè¥ ¥¤¨¨æë (âà¥â¨© á«ãç ©). à¥â¨© á«ãç © ¥ ¢ë§ë¢ ¥â ¤®¯®«¨â¥«ìëå ¯à®¡«¥¬, â ª ª ª ¢ ãá«®¢¨¨ ॣã«ïà®á⨠⠪¦¥ ¯à¥¤ãᬠâਢ ¥âáï ®ªà㣫¥¨¥ (¯à¨çñ¬ ¢ âã ¦¥ áâ®à®ã, çâ® ¨ ¢ ४ãàà¥â®¬ á®®â®è¥¨¨). ® ¢â®à®¬ á«ãç ¥ ¬ë ¤®«¦ë ®æ¥¨âì, ᪮«ìª® ¢¥«¨ª¨ ¨§¬¥¥¨ï ¢á«¥¤á⢨¥ § ¬¥ë n=bi ni . ª ¬ë ¢¨¤¥«¨, à §¨æ ¥ ¯à¥¢®á室¨â b=(b ; 1), ® ¤® ¥éñ ®â ¡á®«î⮩ ®è¨¡ª¨ ¯¥à¥©â¨ ª ®â®á¨â¥«ì®©. ¬ ¤® ¯à®¢¥à¨âì, çâ® f (nj ) = O(nlogb a=aj ) = O((n=bj )logb a ), ⮣¤ ¯à®å®¤¨â ¤®ª § ⥫ìá⢮ «¥¬¬ë 4.3 (á«ãç © 2). ¬¥â¨¬, çâ® bj =n 6 1 ¯à¨ j 6 blogb nc. § ®æ¥ª¨ f (n) = O(nlogb a) ¢ë⥪ ¥â, çâ® ¤«ï ¯®¤å®¤ï饣® c ¨ ¤®- ¤ ç¨ ª £« ¢¥ 4 65 áâ â®ç® ¡®«ìè¨å nj logb a n b f (nj ) 6 c bj + b ; 1 log a j logb a b b b n 1+ n b;1 = c aj log a logb a b n b 6 c aj 1+ b;1 log a b = O n aj : ®á«¥¤¨© ¯¥à¥å®¤ ¨á¯®«ì§ã¥â â®, çâ® c(1 + b=(b ; 1))logb a | ª®áâ â . â ª, á«ãç © 2 à §®¡à . áá㦤¥¨¥ ¤«ï á«ãç ï 1 ¯®ç⨠⠪®¥ ¦¥. ¬ 㦮 ¤®ª § âì ®æ¥ªã f (nj ) = O(nlogb a;" ); íâ® ¤¥« ¥âáï ¯à¨¬¥à® â ª ¦¥, ª ª ¨ ¢ á«ãç ¥ 2, å®âï ¯à¥®¡à §®¢ ¨ï ¡ã¤ã⠥᪮«ìª® á«®¦¥¥. â ª, ¬ë à áᬮâ५¨ á«ãç © ¯à®¨§¢®«ì®£® n ¤«ï ®ªà㣫¥¨ï á ¨§¡ë⪮¬. «®£¨ç® ¬®¦® à áᬮâà¥âì á«ãç © ®ªà㣫¥¨ï á ¥¤®áâ ⪮¬, ¯à¨ í⮬ 㦮 ¡ã¤¥â ¤®ª §ë¢ âì, çâ® nj ¥ ¬®¦¥â ¡ëâì á¨«ì® ¬¥ìè¥ n=bj . ¯à ¦¥¨ï 4.4-1? ª ¦¨â¥ ¯à®áâãî ï¢ãî ä®à¬ã«ã ¤«ï ni ¨§ (4.12), ¥á«¨ b | ¯®«®¦¨â¥«ì®¥ 楫®¥ ç¨á«®. 4.4-2? ®ª ¦¨â¥, çâ® ¥á«¨ f (n) = (nlogb a lgk n), £¤¥ k > 0, â® á®®â®è¥¨¥ (4.5) ¢«¥çñâ T (n) = (nlogb a lgk+1 n). «ï ¯à®áâ®âë à áᬮâà¨â¥ «¨èì á«ãç © 楫ëå á⥯¥¥© b. 4.4-3? ®ª ¦¨â¥, çâ® ¢ á«ãç ¥ 3 ®á®¢®© â¥®à¥¬ë ®¤® ¨§ ãá«®¢¨© «¨è¥¥: ãá«®¢¨¥ ॣã«ïà®á⨠(af (n=b) 6 cf (n) ¤«ï ¥ª®â®à®£® c < 1) £ à â¨àã¥â, çâ® áãé¥áâ¢ã¥â " > 0, ¤«ï ª®â®à®£® f (n) = (nlogb a+" ). ¤ ç¨ 4-1 ਬ¥àë ४ãàà¥âëå á®®â®è¥¨© ©â¥ ª ª ¬®¦® ¡®«¥¥ â®çë¥ á¨¬¯â®â¨ç¥áª¨¥ ¢¥à娥 ¨ ¨¦¨¥ ®æ¥ª¨ ¤«ï á«¥¤ãîé¨å á®®â®è¥¨© (áç¨â ¥¬, çâ® T (n) | ª®áâ ⠯ਠn 6 2): . T (n) = 2T (n=2) + n3. ¡. T (n) = T (9n=10) + n. 66 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï ¢. T (n) = 16T (n=4) + n2. £. T (n) = 7T (n=3) + n2. ¤. T (n) = 7T (n=2) + pn2. ¥. T (n) = 2T (n=4) + n. ¦. T (n) = T (pn ; 1) + n. §. T (n) = T ( n) + 1. 4-2 ¥¤®áâ î饥 ç¨á«® áᨢ A[1 : :n] ᮤ¥à¦¨â ¢á¥ æ¥«ë¥ ç¨á« ®â 0 ¤® n, ªà®¬¥ ®¤®£®. â®¡ë ©â¨ ¯à®¯ã饮¥ ç¨á«®, ¬®¦® ®â¬¥ç âì ¢® ¢á¯®¬®£ ⥫쮬 ¬ áᨢ¥ B[0 : :n] ¢á¥ ç¨á« , ¢áâà¥ç î騥áï ¢ A, ¨ § ⥬ ¯®á¬®âà¥âì, ª ª®¥ ç¨á«® ¥ ®â¬¥ç¥® (¢áñ ¢¬¥á⥠âॡã¥â ¢à¥¬¥¨ O(n)). ਠí⮬ ¨á¯®«ì§®¢ ¨¥ í«¥¬¥â ¬ áᨢ A ¢ ª ç¥á⢥ ¨¤¥ªá áç¨â ¥âáï í«¥¬¥â ன ®¯¥à 樥©. «®¦¨¬ â ª®¥ ¤®¯®«¨â¥«ì®¥ ®£à ¨ç¥¨¥ ¤®áâ㯠ª ¬ áᨢã A: § ®¤® ¤¥©á⢨¥ ¬ë ¬®¦¥¬ ¯®á¬®âà¥âì § ¤ ë© ¡¨â § ¤ ®£® í«¥¬¥â ¬ áᨢ A. ®ª ¦¨â¥, çâ® ¨ ¯à¨ â ª¨å ®£à ¨ç¥¨ïå ¬ë ¬®¦¥¬ ©â¨ ¯à®¯ã饮¥ ç¨á«® § ¢à¥¬ï O(n). 4-3 à¥¬ï ¯¥à¥¤ ç¨ ¯ à ¬¥â஢ í⮩ ª¨£¥ ¬ë ¯à¥¤¯®« £ ¥¬, çâ® ¯¥à¥¤ ç ¯ à ¬¥â஢ § ¨¬ ¥â ¯®áâ®ï®¥ ¢à¥¬ï, ¤ ¦¥ ¥á«¨ ¯¥à¥¤ ¢ ¥¬ë© ¯ à ¬¥âà | ¬ áᨢ. ¡®«ìè¨á⢥ ï§ëª®¢ ¯à®£à ¬¬¨à®¢ ¨ï íâ® â ª ¨ ¥áâì, ¯®áª®«ìªã ¯¥à¥¤ ñâáï ¥ á ¬ ¬ áᨢ, 㪠§ â¥«ì ¥£®. ® ¢®§¬®¦ë ¨ ¤à㣨¥ ¢ ਠâë. à ¢¨¬ âਠᯮᮡ ¯¥à¥¤ ç¨ ¬ áᨢ®¢ ¢ ª ç¥á⢥ ¯ à ¬¥â஢: 1. áᨢ ¯¥à¥¤ ¥âáï ª ª 㪠§ â¥«ì § ¢à¥¬ï (1). 2. áᨢ ª®¯¨àã¥âáï § ¢à¥¬ï (N ), £¤¥ N | à §¬¥à ¬ áᨢ . 3. ¯à®æ¥¤ãàã ¯¥à¥¤ ñâáï ⮫쪮 â ç áâì ¬ áᨢ , ª®â®à ï ¡ã¤¥â ¢ ¥© ¨á¯®«ì§®¢ âìáï. ਠí⮬ âॡã¥âáï ¢à¥¬ï (q ; p + 1), ¥á«¨ ¯¥à¥¤ ñâáï ãç á⮪ A[p : :q]. . áᬮâਬ ४ãàá¨¢ë© «£®à¨â¬ ¤¢®¨ç®£® ¯®¨áª ç¨á« ¢ 㯮à冷祮¬ ¬ áᨢ¥ (ã¯à. 1.3-5). ª®¢® ¡ã¤¥â ¢à¥¬ï ¥£® à ¡®âë ¯à¨ ª ¦¤®¬ ¨§ 㪠§ ëå ᯮᮡ®¢ ¯¥à¥¤ ç¨ ¯ à ¬¥âà ? (à£ã¬¥â ¬¨ ४ãàᨢ®© ¯à®æ¥¤ãàë ïîâáï ¨áª®¬ë© í«¥¬¥â ¨ ¬ áᨢ, ¢ ª®â®à®¬ ®áãé¥á⢫ï¥âáï ¯®¨áª.) ¡. ஢¥¤¨â¥ â ª®© «¨§ ¤«ï «£®à¨â¬ Merge-Sort ¨§ à §¤¥« 1.3.1. 4-4 éñ ¥áª®«ìª® ४ãàà¥âëå á®®â®è¥¨© ª ¦¨â¥ ¢®§¬®¦® ¡®«¥¥ â®çë¥ á¨¬¯â®â¨ç¥áª¨¥ ¢¥à娥 ¨ ¨¦¨¥ ®æ¥ª¨ ¤«ï T (n) ¢ ª ¦¤®¬ ¨§ 㪠§ ëå ¨¦¥ ¯à¨¬¥à®¢. ।¯®« £ ¥âáï, çâ® T (n) | ª®áâ ⠯ਠn 6 8. . T (n) = 3T (n=2) + n lg n. ¤ ç¨ ª £« ¢¥ 4 67 ¡. T (n) = 3T (n=3 + 5) + n=2. ¢. T (n) = 2T (n=2) + n= lg n. £. T (n) = T (n ; 1) + 1=n. ¤. T (n) = pT (n ;p1) + lg n. ¥. T (n) = nT ( n) + n. 4-5 ¥à¥å®¤ ®â á⥯¥¥© ª ¯à®¨§¢®«ìë¬ à£ã¬¥â ¬ ãáâì ¬ë ¯®«ã稫¨ ®æ¥ªã ¤«ï T (n) ¯à¨ ¢á¥å n, ïîé¨åáï á⥯¥ï¬¨ ¥ª®â®à®£® 楫®£® b. ª à á¯à®áâà ¨âì ¥ñ ¯à®¨§¢®«ìë¥ n? . ãáâì T (n) ¨ h(n) | ¬®®â®® ¢®§à áâ î騥 äãªæ¨¨, ®¯à¥¤¥«ñë¥ ¤«ï ¯à®¨§¢®«ìëå ¯®«®¦¨â¥«ìëå à£ã¬¥â®¢ (¥ ®¡ï§ â¥«ì® æ¥«ëå), ¯à¨çñ¬ T (n) 6 h(n) ¤«ï ¢á¥å n, ïîé¨åáï á⥯¥ï¬¨ 楫®£® ç¨á« b > 1. ãáâì ¨§¢¥áâ®, ªà®¬¥ ⮣®, çâ® h "à áâñâ ¤®áâ â®ç® ¬¥¤«¥®": h(n) = O(h(n=b)). ®ª ¦¨â¥, çâ® T (n) = O(h(n)). ¡. ãáâì ¤«ï äãªæ¨¨ T ¢ë¯®«¥® á®®â®è¥¨¥ T (n) = aT (n=b) + f (n) ¯à¨ n > n0 ; ¯ãáâì a > 1, b > 1 ¨ f (n) ¬®®â®® ¢®§à áâ ¥â. ãáâì T (n) ¬®®â®® ¢®§à á⠥⠯ਠn 6 n0, ¨ ¯à¨ í⮬ T (n0) 6 aT (n0=b) + f (n0): ®ª ¦¨â¥, çâ® T (n) ¬®®â®® ¢®§à áâ ¥â. ¢. ¯à®áâ¨â¥ ¤®ª § ⥫ìá⢮ ⥮६ë 4.1 ¤«ï á«ãç ï ¬®®â®®© ¨ "¤®áâ â®ç® ¬¥¤«¥® à áâã饩" äãªæ¨¨ f (n). ®á¯®«ì§ã©â¥áì «¥¬¬®© 4.4. 4-6 ¨á« ¨¡® çç¨ ¨á« ¨¡® çç¨ ®¯à¥¤¥«ïîâáï á®®â®è¥¨¥¬ (2.13). ¤¥áì ¬ë à áᬮâਬ ¥ª®â®àë¥ ¨å ᢮©á⢠. «ï í⮣® ®¯à¥¤¥«¨¬ ¯à®¨§¢®¤ïéãî äãªæ¨î (generating function), ®¯à¥¤¥«ï¥¬ãî ª ª ä®à¬ «ìë© á⥯¥®© àï¤ (formal power series) F= 1 X i=0 Fi z i = 0 + z + z 2 + 2z 3 + 3z4 + 5z5 + 8z 6 + 13z7 + : : : . ®ª ¦¨â¥, çâ® F (z) = z + zF (z) + z2F (z). ¡. ®ª ¦¨â¥, çâ® z z 1 1 1 F (z) = 1 ; z ; z2 = (1 ; 'z)(1 ; 'z = p 1 ; 'z ; 1 ; 'z b ) b 5 £¤¥ p 1 + ' = 2 5 = 1;61803 : : : ¨ p 1 ; 'b = 2 5 = ;0;61803 : : : 68 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï ¢. ®ª ¦¨â¥, çâ® F (z) = 1 X i=0 p1 ('i ; 'bi)zi: 5 p £. ®ª ¦¨â¥, çâ® Fi ¯à¨ i > 0 à ¢® ¡«¨¦ ©è¥¬ã ª 'i= 5 楫®¬ã ç¨á«ã. (ª § ¨¥: j'bj < 1.) ¤. ®ª ¦¨â¥, çâ® Fi+2 > 'i ¤«ï ¢á¥å i > 0. 4-7 ¥áâ¨à®¢ ¨¥ ¬¨ªà®á奬 ¬¥¥âáï n ®¤¨ ª®¢ëå ¬¨ªà®á奬, ᯮᮡëå ¯à®¢¥àïâì ¤à㣠¤à㣠; ¥ª®â®àë¥ ¨§ ¨å ¨á¯à ¢ë, ¥ª®â®àë¥ | ¥â. «ï ¯à®¢¥àª¨ ¯ à ¬¨ªà®á奬 ¢áâ ¢«ï¥âáï ¢ á¯¥æ¨ «ìãî ¯« âã, ¯®á«¥ 祣® ª ¦¤ ï ¨§ ¨å á®®¡é ¥â ® á®áâ®ï¨¨ á®á¥¤ . á¯à ¢ ï ¬¨ªà®á奬 ¯à¨ í⮬ ¨ª®£¤ ¥ ®è¨¡ ¥âáï, ¥¨á¯à ¢ ï ¬®¦¥â ¤ âì «î¡®© ®â¢¥â. ⢥â A ⢥â B ¥§ã«ìâ â B ¨á¯à ¢ A ¨á¯à ¢ ®¡¥ å®à®è¨¥ ¨«¨ ®¡¥ ¯«®å¨¥ B ¨á¯à ¢ A ¥¨á¯à ¢ å®âï ¡ë ®¤ ¥¨á¯à ¢ B ¥¨á¯à ¢ A ¨á¯à ¢ å®âï ¡ë ®¤ ¥¨á¯à ¢ B ¥¨á¯à ¢ A ¥¨á¯à ¢ å®âï ¡ë ®¤ ¥¨á¯à ¢ . ®ª ¦¨â¥, çâ® ¥á«¨ ¡®«ìè¥ ¯®«®¢¨ë ¬¨ªà®á奬 ¯«®å¨¥, â® ¯®¯ ஥ â¥áâ¨à®¢ ¨¥ ¥ ¯®§¢®«¨â 㧠âì ¢¥àïª , ª ª¨¥ ¨¬¥® ¬¨ªà®áå¥¬ë ¯«®å¨ (®¨ ᬮ£ãâ á ®¡¬ ãâì). ¡. ãáâì 㦮 ©â¨ å®âï ¡ë ®¤ã å®à®èãî ¬¨ªà®á奬㠨§ n èâãª, ¨§ ª®â®àëå ¡®«ìè¥ ¯®«®¢¨ë ¨á¯à ¢ëå. ®ª ¦¨â¥, çâ® ¤®áâ â®ç® bn=2c ¯®¯ àëå â¥á⮢, ç⮡ë ᢥá⨠§ ¤ çã ª «®£¨ç®© § ¤ ç¥ ¯®«®¢¨®£® à §¬¥à . ¢. ãáâì ¨á¯à ¢® ¡®«ìè¥ ¯®«®¢¨ë ¬¨ªà®á奬. ®ª ¦¨â¥, çâ® ¬®¦® ©â¨ ¢á¥ å®à®è¨¥ ¬¨ªà®áå¥¬ë § (n) ¯®¯ àëå â¥á⮢. (®á¯®«ì§ã©â¥áì ४ãàà¥âë¬ á®®â®è¥¨¥¬.) [âã § ¤ çã ¬®¦® ¯¥à¥ä®à¬ã«¨à®¢ âì ¢ ¨ëå â¥à¬¨ å: ¨¬¥¥âáï n ®¤¨ ª®¢ëå ¢¨¤ ¯à¥¤¬¥â®¢, ® á ¬®¬ ¤¥«¥ ®¨ ®â®áïâáï ª ¥áª®«ìª¨¬ ª ⥣®à¨ï¬. áâì ¯à¨¡®à, ª®â®àë© ¯® ¤¢ã¬ ¯à¥¤¬¥â ¬ ¯à®¢¥àï¥â, ®¤¨ ª®¢ë «¨ ®¨. §¢¥áâ®, çâ® ¯à¥¤¬¥âë ¥ª®â®à®© ª ⥣®à¨¨ á®áâ ¢«ïîâ ¡®«ìè¨á⢮. ¤® ©â¨ ¯à¥¤áâ ¢¨â¥«ì í⮣® ¡®«ìè¨á⢠§ O(n) áà ¢¥¨©. ®¬¨¬® ४ãàà¥â®£® à¥è¥¨ï, íâ § ¤ ç ¨¬¥¥â ¯à®á⮥ ¨â¥à ⨢®¥ à¥è¥¨¥. ¢¥¤ñ¬ ª®à®¡ªã, ¢ ª®â®à®© ¡ã¤¥¬ ª ¯«¨¢ âì ®¤¨ ª®¢ë¥ ¯à¥¤¬¥âë, â ª¦¥ ãàã, ªã¤ ¬®¦® ¢ëª¨¤ë¢ âì ¯à¥¤¬¥âë. ¥à¥ª« ¤ë¢ ¥¬ ¥¯à®á¬®âà¥ë¥ í«¥¬¥âë ¢ ª®à®¡ªã ¨«¨ ãàã, ¯®¤¤¥à¦¨¢ ï â ª®¥ ᢮©á⢮: á।¨ ¥¢ëª¨ãâëå ¨áª®¬ë¥ á®áâ ¢«ïîâ ¡®«ìè¨á⢮.] ¬¥ç ¨ï ª £« ¢¥ 4 69 ¬¥ç ¨ï ¨á« ¨¡® çç¨ à áᬠâਢ «¨áì ¨¡® çç¨ (L. Fibonacci) ¢ 1202 £®¤ã. ã ¢à (A. De Moivre) ¯à¨¬¥¨« ¯à®¨§¢®¤ï騥 äãªæ¨¨ ¤«ï à¥è¥¨ï ४ãàà¥âëå á®®â®è¥¨© (á¬. § ¤ çã 4-6). ᮢ ï ⥮६ ® ४ãàà¥âëå á®®â®è¥¨ïå § ¨¬á⢮¢ ¨§ à ¡®âë ¥â«¨, ª¥ ¨ ªá [26], £¤¥ ¯à¨¢®¤¨âáï ¡®«¥¥ ᨫìë© à¥§ã«ìâ â (¢ª«îç î騩 १ã«ìâ â ã¯à. 4.4-2). ãâ [121] ¨ î [140] ¯®ª §ë¢ îâ, ª ª à¥è âì «¨¥©ë¥ ४ãàà¥âë¥ á®®â®è¥¨ï á ¯®¬®éìî ¯à®¨§¢®¤ïé¨å äãªæ¨©. ®¯®«¨â¥«ìë¥ á¢¥¤¥¨ï ® à¥è¥¨¨ ४ãàà¥âëå á®®â®è¥¨© ¯à¨¢®¤ïâ ãम¬ ¨ à ã [164]. 70 « ¢ 4 ¥ªãàà¥âë¥ á®®â®è¥¨ï 1257 ®¦¥á⢠5 í⮩ £« ¢¥ ¬ë ¯®¬¨ ¥¬ ®¯à¥¤¥«¥¨ï, â¥à¬¨®«®£¨î, ®¡®§ ç¥¨ï ¨ ®á®¢ë¥ ᢮©á⢠¬®¦¥áâ¢, ®â®è¥¨©, äãªæ¨©, £à 䮢 ¨ ¤¥à¥¢ì¥¢. ¨â ⥫¨, § ª®¬ë¥ á ¨¬¨, ¬®£ã⠯யãáâ¨âì íâã £« ¢ã (®¡à é ïáì ª ¥© ¯® ¬¥à¥ ¥®¡å®¤¨¬®áâ¨). 5.1 ®¦¥á⢠®¦¥á⢮ (set) á®á⮨⠨§ í«¥¬¥â®¢ (members, elements). ᫨ ®¡ê¥ªâ x ï¥âáï í«¥¬¥â®¬ ¬®¦¥á⢠S , ¬ë ¯¨è¥¬ x 2 S (ç¨â ¥âáï "x ¯à¨ ¤«¥¦¨â S "). ᫨ x ¥ ¯à¨ ¤«¥¦¨â S , ¯¨è¥¬ x 2= S . ®¦® § ¤ âì ¬®¦¥á⢮ ¯¥à¥ç¨á«¥¨¥¬ ¥£® í«¥¬¥â®¢ ç¥à¥§ § ¯ïâë¥ ¢ 䨣ãàëå ᪮¡ª å. ¯à¨¬¥à, ¬®¦¥á⢮ S = f1; 2; 3g ᮤ¥à¦¨â í«¥¬¥âë 1; 2; 3 ¨ ⮫쪮 ¨å. ¨á«® 2 ï¥âáï í«¥¬¥â®¬ í⮣® ¬®¦¥á⢠, ç¨á«® 4 | ¥â, â ª çâ® 2 2 S , 4 2= S . ®¦¥á⢮ ¥ ¬®¦¥â ᮤ¥à¦ âì ¤¢ãå ®¤¨ ª®¢ëå í«¥¬¥â®¢, ¨ ¯®à冷ª í«¥¬¥â®¢ ¥ 䨪á¨à®¢ . ¢ ¬®¦¥á⢠A ¨ B à ¢ë (are equal), ¥á«¨ ®¨ á®áâ®ïâ ¨§ ®¤¨å ¨ â¥å ¦¥ í«¥¬¥â®¢. í⮬ á«ãç ¥ ¯¨èãâ A = B. ¯à¨¬¥à, f1; 2; 3; 1g = f1; 2; 3g = f3; 2; 1g. «ï ç áâ® ¨á¯®«ì§ã¥¬ëå ¬®¦¥á⢠¨¬¥îâáï á¯¥æ¨ «ìë¥ ®¡®§ 票ï: ®¡®§ ç ¥â ¯ãá⮥ ¬®¦¥á⢮ (empty set), ¥ ᮤ¥à¦ 饥 ¨ ®¤®£® í«¥¬¥â . ®¡®§ ç ¥â ¬®¦¥á⢮ 楫ëå ç¨á¥« (integers); = f: : : ; ;2; ;1; 0; 1; 2; : : : g; ®¡®§ ç ¥â ¬®¦¥á⢮ ¢¥é¥á⢥ëå (¤¥©á⢨⥫ìëå) ç¨á¥« (real ? Z Z R numbers); ®¡®§ ç ¥â ¬®¦¥á⢮ âãà «ìëå ç¨á¥« (natural numbers); = f0; 1; 2; : : : g1 ᫨ ¢á¥ í«¥¬¥âë ¬®¦¥á⢠A ïîâáï í«¥¬¥â ¬¨ ¬®¦¥N 1 N ®£¤ 㬥à æ¨î âãà «ìëå ç¨á¥« ç¨ îâ á 1 | à ìè¥ â ª ¡ë«® ¯à¨ïâ®. 72 « ¢ 5 ®¦¥á⢠á⢠B, (¨§ x 2 A á«¥¤ã¥â x 2 B), £®¢®àïâ, çâ® A ï¥âáï ¯®¤¬®¦¥á⢮¬ (subset) ¬®¦¥á⢠B ¨ ¯¨èãâ A B . ᫨ ¯à¨ í⮬ A ¥ ᮢ¯ ¤ ¥â á B , â® A §ë¢ ¥âáï ᮡáâ¢¥ë¬ ¯®¤¬®¦¥á⢮¬ (proper subset) ¬®¦¥á⢠B ; ¢ í⮬ á«ãç ¥ ¯¨èãâ A B . (®£¨¥ ¢â®àë ¨á¯®«ì§ãîâ ®¡®§ 票¥ A B ¤«ï ¯®¤¬®¦¥áâ¢, ¥ ¤«ï ᮡá⢥ëå ¯®¤¬®¦¥á⢠.) «ï «î¡®£® ¬®¦¥á⢠A ¢ë¯®«¥® á®®â®è¥¨¥ A A. ®¦¥á⢠A ¨ B à ¢ë ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ A B ¨ B A. «ï «î¡ëå âàñå ¬®¦¥á⢠A, B ¨ C ¨§ A B ¨ B C á«¥¤ã¥â A C . «ï «î¡®£® ¬®¦¥á⢠A ¨¬¥¥â ¬¥áâ® á®®â®è¥¨¥ A. ®£¤ ¬®¦¥á⢮ ®¯à¥¤¥«ï¥âáï ª ª ç áâì ¤à㣮£® ¬®¦¥á⢠: ¬ë ¬®¦¥¬ ¢ë¤¥«¨âì ¨§ ¬®¦¥á⢠A ¢á¥ í«¥¬¥âë, ®¡« ¤ î騥 ¥ª®â®àë¬ á¢®©á⢮¬, ¨ ®¡à §®¢ âì ¨§ ¨å ®¢®¥ ¬®¦¥á⢮ B. ¯à¨¬¥à, ¬®¦¥á⢮ çñâëå ç¨á¥« ¬®¦® ®¯à¥¤¥«¨âì ª ª fx : x 2 ¨ x=2 | 楫®¥ ç¨á«®g. â® ®¡ëç® ç¨â îâ "¬®¦¥á⢮ x ¨§ , ¤«ï ª®â®àëå..." ®£¤ ¢¬¥áâ® ¤¢®¥â®ç¨ï ¨á¯®«ì§ã¥âáï ¢¥à⨪ «ì ï ç¥àâ . «ï «î¡ëå ¬®¦¥á⢠A ¨ B ¬®¦® ¯®áâநâì á«¥¤ãî騥 ¬®¦¥á⢠, ¯®«ãç ¥¬ë¥ á ¯®¬®éìî ⥮à¥â¨ª®-¬®¦¥á⢥ëå ®¯¥à 権 (set ? Z Z operations): ¥à¥á¥ç¥¨¥ (intersection) ¬®¦¥á⢠A ¨ B ®¯à¥¤¥«ï¥âáï ª ª ¬®- ¦¥á⢮ A \ B = fx : x 2 A ¨ x 2 B g: ¡ê¥¤¨¥¨¥ (union) ¬®¦¥á⢠A ¨ B ®¯à¥¤¥«ï¥âáï ª ª ¬®¦¥á⢮ A [ B = fx : x 2 A ¨«¨ x 2 Bg: §®áâì (dierence) ¬®¦¥á⢠A ¨ B ®¯à¥¤¥«ï¥âáï ª ª ¬®¦¥á⢮ A n B = fx : x 2 A ¨ x 2= Bg: ¥®à¥â¨ª®-¬®¦¥áâ¢¥ë¥ ®¯¥à 樨 ®¡« ¤ îâ á«¥¤ãî騬¨ ᢮©á⢠¬¨: ¢®©á⢠¯ãá⮣® ¬®¦¥á⢠(empty set laws): A\ = ; ? ? A [ = A: ? ¤¥¬¯®â¥â®áâì (idempotency laws): A \ A = A; A [ A = A: ®¬¬ãâ ⨢®áâì (commutative laws): A \ B = B \ A; A [ B = B [ A: ®¦¥á⢠73 ??? ª à⨪¥ á«¥¤ã¥â § ¬¥¨âì ¬¨ãá n ¨á㮪 5.1 ¨ £à ¬¬ ¥ , ¨««îáâà¨àãîé ï ¯¥à¢ë© ¨§ § ª®®¢ ¤¥ ®à£ (5.2). ®¦¥á⢠A; B;C ¨§®¡à ¦¥ë ªà㣠¬¨ ¯«®áª®áâ¨. áá®æ¨ ⨢®áâì (associative laws): A \ (B \ C ) = (A \ B) \ C; A [ (B [ C ) = (A [ B) [ C: ¨áâਡã⨢®áâì (distributive laws): A \ (B [ C ) = (A \ B) [ (A \ C ); A [ (B \ C ) = (A [ B ) \ (A [ C ) (5.1) ª®ë ¯®£«®é¥¨ï (absorption laws): A \ (A [ B ) = A; A [ (A \ B ) = A ª®ë ¤¥ ®à£ (DeMorgan's laws): A n (B \ C ) = (A n B) [ (A n C ); (5.2) A n (B [ C ) = (A n B) \ (A n C ) ¨á. 5.1 ¨««îáâà¨àã¥â ¯¥à¢ë© ¨§ § ª®®¢ ¤¥ ®à£ (5.1); ¬®¦¥á⢠A, B ¨ C ¨§®¡à ¦¥ë ¢ ¢¨¤¥ ªà㣮¢ ¯«®áª®áâ¨. áâ® ¢á¥ à áᬠâਢ ¥¬ë¥ ¬®¦¥á⢠ïîâáï ¯®¤¬®¦¥á⢠¥ª®â®à®£® 䨪á¨à®¢ ®£® ¬®¦¥á⢠, §ë¢ ¥¬®£® 㨢¥àá㬮¬ (universe). ¯à¨¬¥à, ¥á«¨ á ¨â¥à¥áãîâ ¬®¦¥á⢠, í«¥¬¥â ¬¨ ª®â®àëå ïîâáï æ¥«ë¥ ç¨á« , â® ¢ ª ç¥á⢥ 㨢¥àá㬠¬®¦® ¢§ïâì ¬®¦¥á⢮ 楫ëå ç¨á¥«. ᫨ 㨢¥àá㬠U 䨪á¨à®¢ , ¬®¦® ®¯à¥¤¥«¨âì ¤®¯®«¥¨¥ (complement) ¬®¦¥á⢠A ª ª A = U n A. «ï «î¡®£® A U ¢¥àë â ª¨¥ ã⢥ত¥¨ï: A = A; A \ A = ; A [ A = U: § § ª®®¢ ¤¥ ®à£ (5.2) á«¥¤ã¥â, çâ® ¤«ï «î¡ëå ¬®¦¥á⢠A; B U ¨¬¥îâ ¬¥áâ® à ¢¥á⢠A \ B = A [ B; A [ B = A \ B: ¢ ¬®¦¥á⢠A ¨ B §ë¢ îâáï ¥¯¥à¥á¥ª î騬¨áï (disjoint), ¥á«¨ ®¨ ¥ ¨¬¥îâ ®¡é¨å í«¥¬¥â®¢, â. ¥. ¥á«¨ A \ B = . ®¢®àïâ, ç⮠ᥬ¥©á⢮ S = fSig ¥¯ãáâëå ¬®¦¥á⢠®¡à §ã¥â à §¡¨¥¨¥ (partition) ¬®¦¥á⢠S , ¥á«¨ Z ? ? 74 « ¢ 5 ®¦¥á⢠¬®¦¥á⢠Si ¯®¯ à® ¥ ¯¥à¥á¥ª îâáï (are pairwise disjoint), â. ¥. Si \ Sj = ¯à¨ i 6= j , ¨å ®¡ê¥¤¨¥¨¥ ¥áâì S , â. ¥. [ S= Si ? Si 2S à㣨¬¨ á«®¢ ¬¨, ᥬ¥©á⢮ S ®¡à §ã¥â à §¡¨¥¨¥ ¬®¦¥á⢠S , ¥á«¨ «î¡®© í«¥¬¥â s 2 S ¯à¨ ¤«¥¦¨â ஢® ®¤®¬ã ¨§ ¬®¦¥á⢠Si ᥬ¥©á⢠. ¨á«® í«¥¬¥â®¢ ¢ ¬®¦¥á⢥ S §ë¢ ¥âáï ¥£® ¬®é®áâìî (cardinality), ¨«¨ à §¬¥à®¬ (size), ¨ ®¡®§ ç ¥âáï jS j. ¢ ¬®¦¥á⢠¨¬¥îâ ®¤ã ¨ âã ¦¥ ¬®é®áâì, ¥á«¨ ¬¥¦¤ã ¨å í«¥¬¥â ¬¨ ¬®¦® ãáâ ®¢¨âì ¢§ ¨¬® ®¤®§ 箥 ᮮ⢥âá⢨¥. ®é®áâì ¯ãá⮣® ¬®¦¥áâ¢ à ¢ ã«î: j j = 0. ®é®áâì ª®¥ç®£® (nite) ¬®¦¥á⢠| âãà «ì®¥ ç¨á«®; ¤«ï ¡¥áª®¥çëå (innite) ¬®¦¥á⢠¯®ï⨥ ¬®é®á⨠âॡã¥â ªªãà ⮣® ®¯à¥¤¥«¥¨ï. ® ¬ ¥ ¯® ¤®¡¨âáï; 㯮¬ï¥¬ «¨èì, çâ® ¬®¦¥á⢠, í«¥¬¥âë ª®â®àëå ¬®¦® ¯®áâ ¢¨âì ¢® ¢§ ¨¬® ®¤®§ 箥 ᮮ⢥âá⢨¥ á âãà «ì묨 ç¨á« ¬¨, §ë¢ îâáï áçñâ묨 (countably innite); ¡¥áª®¥çë¥ ¬®¦¥á⢠, ¥ ïî騥áï áçñâ묨, §ë¢ îâ ¥áçñâ묨 (uncountable). ®¦¥á⢮ 楫ëå ç¨á¥« áçñâ®, ¢ â® ¢à¥¬ï ª ª ¬®¦¥á⢮ ¢¥é¥á⢥ëå ç¨á¥« ¥áçñâ®. «ï «î¡ëå ¤¢ãå ª®¥çëå ¬®¦¥á⢠A ¨ B ¢ë¯®«¥® à ¢¥á⢮ jA [ Bj = jAj + jBj ; jA \ Bj (5.3) ¨§ í⮣® à ¢¥á⢠¢ë⥪ ¥â, çâ® jA [ Bj 6 jAj + jBj ᫨ ¬®¦¥á⢠A ¨ B ¥ ¯¥à¥á¥ª îâáï, â® jA \ Bj = 0 ¨ íâ® ¥à ¢¥á⢮ ®¡à é ¥âáï ¢ à ¢¥á⢮: jA [ Bj = jAj + jBj. ᫨ A B, â® jAj 6 jBj. ®¥ç®¥ ¬®¦¥á⢮ ¨§ n í«¥¬¥â®¢ §ë¢ îâ n-í«¥¬¥âë¬ (n-set); ®¤®í«¥¬¥â®¥ ¬®¦¥á⢮ ¨¬¥ãîâ ¨®£¤ ᨣ«¥â®®¬ (singleton). £«¨©áª®© «¨â¥à âãॠ㯮âॡ«ï¥âáï â ª¦¥ â¥à¬¨ k-subset, ®§ ç î騩 k-í«¥¬¥â®¥ ¯®¤¬®¦¥á⢮ (ª ª®£®-«¨¡® ¬®¦¥á⢠). «ï ¤ ®£® ¬®¦¥á⢠S ¬®¦® à áᬮâà¥âì ¬®¦¥á⢮ ¢á¥å ¥£® ¯®¤¬®¦¥áâ¢, ¢ª«îç ï ¯ãá⮥ ¬®¦¥á⢮ ¨ á ¬® S ; ¥£® ®¡®§ ç îâ 2S ¨ §ë¢ îâ ¬®¦¥á⢮¬-á⥯¥ìî (power set). ¯à¨¬¥à, 2fa;bg = f ; fag; fbg; fa; bgg. «ï ª®¥ç®£® S ¬®¦¥á⢮ 2S ᮤ¥à¦¨â 2jSj í«¥¬¥â®¢. ¯®àï¤®ç¥ ï ¯ à ¨§ ¤¢ãå í«¥¬¥â®¢ a ¨ b ®¡®§ ç ¥âáï (a; b) ¨ ä®à¬ «ì® ¬®¦¥â ¡ëâì ®¯à¥¤¥«¥ ª ª (a; b) = fa; fa; bgg, â ª çâ® (a; b) ®â«¨ç ¥âáï ®â (b; a). [â® ®¯à¥¤¥«¥¨¥ 㯮à冷祮© ¯ àë ? Z R ? ®¦¥á⢠75 ¯à¥¤«®¦¥® ãà ⮢᪨¬. ®¦® ¡ë«® ¡ë ¨á¯®«ì§®¢ âì ¨ ¤à㣮¥ ®¯à¥¤¥«¥¨¥, ¢ ¦® ⮫쪮, ç⮡ë (a; b) = (c; d) ¡ë«® à ¢®á¨«ì® (a = c) ¨ (b = d).] ¥ª à⮢® ¯à®¨§¢¥¤¥¨¥ (cartesian product) ¤¢ãå ¬®¦¥á⢠A ¨ B ®¯à¥¤¥«ï¥âáï ª ª ¬®¦¥á⢮ ¢á¥å 㯮à冷ç¥ëå ¯ à, ã ª®â®àëå ¯¥à¢ë© í«¥¬¥â ¯à¨ ¤«¥¦¨â A, ¢â®à®© | B. ¡®§ 票¥: AB. ®à¬ «ì® ¬®¦® § ¯¨á âì A B = f(a; b) : a 2 A ¨ b 2 B g ¯à¨¬¥à, fa; bg fa; b; cg = f(a; a); (a; b); (a; c); (b; a); (b; b); (b; c)g. «ï ª®¥çëå ¬®¦¥á⢠A ¨ B ¬®é®áâì ¨å ¯à®¨§¢¥¤¥¨ï à ¢ ¯à®¨§¢¥¤¥¨î ¬®é®á⥩: jA Bj = jAj jBj: (5.4) ¥ª à⮢® ¯à®¨§¢¥¤¥¨¥ n ¬®¦¥á⢠A1; A2; : : :; An ®¯à¥¤¥«ï¥âáï ª ª ¬®¦¥á⢮ n-®ª (n-tuples) A1A2 : : :An = f(a1; a2; : : : ; an ) : ai 2 Ai ¯à¨ ¢á¥å i = 1; 2; : : : ; ng (ä®à¬ «ì® ¬®¦® ®¯à¥¤¥«¨âì âனªã (a; b; c) ª ª ((a; b); c), çñ⢥àªã (a; b; c; d) ª ª ((a; b; c); d) ¨ â ª ¤ «¥¥). ¨á«® í«¥¬¥â®¢ ¢ ¤¥ª à⮢®¬ ¯à®¨§¢¥¤¥¨¥ à ¢® ¯à®¨§¢¥¤¥¨î ¬®é®á⥩ ᮬ®¦¨â¥«¥©: jA1 A2 : : : Anj = jA1j jA2j : : : jAnj ®¦® ®¯à¥¤¥«¨âì â ª¦¥ ¤¥ª à⮢ã á⥯¥ì An = A A : : : A ª ª ¯à®¨§¢¥¤¥¨¥ n ®¤¨ ª®¢ëå ᮬ®¦¨â¥«¥©; ¤«ï ª®¥ç®£® A ¬®é®áâì An à ¢ jAjn. ⬥⨬, çâ® n-ª¨ ¬®¦® à áᬠâਢ âì ª ª ª®¥çë¥ ¯®á«¥¤®¢ ⥫ì®á⨠¤«¨ë n (á¬. á. ??). ¯à ¦¥¨ï à¨áã©â¥ ¤¨ £à ¬¬ã ¥ ¤«ï ¯¥à¢®£® ¨§ ᢮©á⢠¤¨áâਡã⨢®á⨠(5.1). 5.1-2 ®ª ¦¨â¥ ®¡®¡é¥¨¥ § ª®®¢ ¤¥ ®à£ á«ãç © ¡®«ì襣® ç¨á« ¬®¦¥áâ¢: A1 \ A2 \ : : : \ An = A1 [ A2 [ : : : [ An ; A1 [ A2 [ : : : [ An = A1 \ A2 \ : : : \ An: 5.1-1 76 « ¢ 5 ®¦¥á⢠5.1-3 ®ª ¦¨â¥ ®¡®¡é¥¨¥ à ¢¥á⢠(5.3), §ë¢ ¥¬®¥ ä®à¬ã«®© ¢ª«î票© ¨ ¨áª«î票© (principle of inclusion and exclusion): jA1 [ A2 [ : : : [ Anj = jA1j + jA2j + : : : + jAn j ; jA1 \ A2j ; jA1 \ A3j ; : : : + jA1 \ A2 \ A3 j + : : : + (;1)n;1 jA1 \ A2 \ : : : \ An j 5.1-4 áçñâ®. ®ª § âì, çâ® ¬®¦¥á⢮ ¥çñâëå âãà «ìëå ç¨á¥« ®ª § âì, çâ® ¥á«¨ ¬®¦¥á⢮ S ª®¥ç® ¨ ᮤ¥à¦¨â n í«¥¬¥â®¢, â® ¬®¦¥á⢮-á⥯¥ì 2S ᮤ¥à¦¨â 2n í«¥¬¥â®¢. (à㣨¬¨ á«®¢ ¬¨, ¬®¦¥á⢮ S ¨¬¥¥â 2n à §«¨çëå ¯®¤¬®¦¥áâ¢.) 5.1-6 ©â¥ ä®à¬ «ì® ¨¤ãªâ¨¢®¥ ®¯à¥¤¥«¥¨¥ n-ª¨, ¨á¯®«ì§ãï ¯®ï⨥ 㯮à冷祮© ¯ àë. 5.1-5 5.2 â®è¥¨ï ¨ àë¬ ®â®è¥¨¥¬ (binary relation) R ¬¥¦¤ã í«¥¬¥â ¬¨ ¬®¦¥á⢠A ¨ B §ë¢ ¥âáï ¯®¤¬®¦¥á⢮ ¤¥ª à⮢ ¯à®¨§¢¥¤¥¨ï A B . ᫨ (a; b) 2 R, ¯¨èãâ aRb ¨ £®¢®àïâ, çâ® í«¥¬¥â a 室¨âáï ¢ ®â®è¥¨¨ R á í«¥¬¥â®¬ b. ¨ àë¬ ®â®è¥¨¥¬ ¬®¦¥á⢥ A §ë¢ îâ ¯®¤¬®¦¥á⢮ ¤¥ª à⮢ ª¢ ¤à â A A. ¯à¨¬¥à, ®â®è¥¨¥ "¡ëâì ¬¥ìè¥" ¬®¦¥á⢥ âãà «ìëå ç¨á¥« ¥áâì ¬®¦¥á⢮ f(a; b) : a; b 2 ¨ a < bg. ®¤ n-¬¥áâë¬ ®â®è¥¨¥¬ (n-ary relation) ¬®¦¥á⢠å A1; A2; : : : ; An ¯®¨¬ îâ ¯®¤¬®¦¥á⢮ ¤¥ª à⮢ ¯à®¨§¢¥¤¥¨ï A1 A2 : : : An . ¨ ஥ ®â®è¥¨¥ R A A §ë¢ îâ à¥ä«¥ªá¨¢ë¬ (reexive), ¥á«¨ aRa ¤«ï ¢á¥å a 2 A. ¯à¨¬¥à, ®â®è¥¨ï "=" ¨ "6" ïîâáï à¥ä«¥ªá¨¢ë¬¨ ®â®è¥¨ï¬¨ ¬®¦¥á⢥ , ® ®â®è¥¨¥ "<" â ª®¢ë¬ ¥ ï¥âáï. â®è¥¨¥ R §ë¢ ¥âáï ᨬ¬¥âà¨çë¬ (symmetric), ¥á«¨ aRb ¢«¥çñâ bRa ¤«ï ¢á¥å a; b 2 A. â®è¥¨¥ à ¢¥á⢠ï¥âáï ᨬ¬¥âà¨çë¬, ®â®è¥¨ï "<" ¨ "6" | ¥â. â®è¥¨¥ R §ë¢ îâ âà §¨â¨¢ë¬ (transitive), ¥á«¨ aRb ¨ bRc ¢«¥çñâ aRc N N â®è¥¨ï 77 ¤«ï ¢á¥å a; b; c 2 A. ¯à¨¬¥à, ®â®è¥¨ï "<", "6" ¨ "=" ïîâáï âà §¨â¨¢ë¬¨, ®â®è¥¨¥ R = f(a; b) : a; b 2 ¨ a = b ; 1g | ¥â, â ª ª ª 3R4 ¨ 4R5, ® ¥ 3R5. â®è¥¨¥, ïî饥áï ®¤®¢à¥¬¥® à¥ä«¥ªá¨¢ë¬, ᨬ¬¥âà¨çë¬ ¨ âà §¨â¨¢ë¬, §ë¢ îâ ®â®è¥¨¥¬ íª¢¨¢ «¥â®á⨠(equivalence relation). ᫨ R | ®â®è¥¨¥ íª¢¨¢ «¥â®á⨠¬®¦¥á⢥ A, â® ¬®¦® ®¯à¥¤¥«¨âì ª« áá íª¢¨¢ «¥â®á⨠(equivalence class) í«¥¬¥â a 2 A ª ª ¬®¦¥á⢮ [a] = fb 2 A : aRbg ¢á¥å í«¥¬¥â®¢, íª¢¨¢ «¥âëå a. ¯à¨¬¥à, ¬®¦¥á⢥ âãà «ìëå ç¨á¥« ¬®¦® ®¯à¥¤¥«¨âì ®â®è¥¨¥ íª¢¨¢ «¥â®áâ¨, áç¨â ï ç¨á« a ¨ b íª¢¨¢ «¥â묨, ¥á«¨ ¨å á㬬 a + b çñâ . â® ®â®è¥¨¥ ( §®¢ñ¬ ¥£® R) ¤¥©áâ¢¨â¥«ì® ¡ã¤¥â ®â®è¥¨¥¬ íª¢¨¢ «¥â®áâ¨. á ¬®¬ ¤¥«¥, á㬬 a + a ¢á¥£¤ çñâ , â ª çâ® ®® à¥ä«¥ªá¨¢®; a + b = b + a, â ª çâ® R ᨬ¬¥âà¨ç®; ª®¥æ, ¥á«¨ a + b ¨ b + c | çñâë¥ ç¨á« , â® a + c = (a + b)+(b + c) ; 2b â ª¦¥ çñâ®, â ª çâ® R âà §¨â¨¢®. « áá íª¢¨¢ «¥â®á⨠ç¨á« 4 ¥áâì [4] = f0; 2; 4; 6; : : : g, ª« áá íª¢¨¢ «¥â®á⨠ç¨á« 3 ¥áâì [3] = f1; 3; 5; 7; : : : g. ᮢ®¥ ᢮©á⢮ ª« áᮢ íª¢¨¢ «¥â®á⨠á®á⮨⠢ á«¥¤ãî饬: N ¥®à¥¬ 5.1 (â®è¥¨ï íª¢¨¢ «¥â®á⨠ᮮ⢥âáâ¢ãîâ à §¡¨¥¨ï¬). «ï «î¡®£® ®â®è¥¨ï íª¢¨¢ «¥â®á⨠¬®¦¥á⢥ A ª« ááë íª¢¨¢ «¥â®á⨠®¡à §ãîâ à §¡¨¥¨¥ A. ¯à®â¨¢, ¤«ï «î¡®£® à §¡¨¥¨ï ¬®¦¥á⢠A ®â®è¥¨¥ "¡ëâì ¢ ®¤®¬ ª« áá¥" ï¥âáï ®â®è¥¨¥¬ íª¢¨¢ «¥â®áâ¨. ®ª § ⥫ìá⢮. â®¡ë ¤®ª § âì ¯¥à¢®¥ ã⢥ত¥¨¥, ¤® ¯®ª § âì, çâ® ª« ááë íª¢¨¢ «¥â®á⨠¥¯ãáâë, ¯®¯ à® ¥ ¯¥à¥á¥ª îâáï ¨ ¢ ®¡ê¥¤¨¥¨¨ ¤ îâ ¢áñ ¬®¦¥á⢮ A. ® ᢮©áâ¢ã à¥ä«¥ªá¨¢®á⨠a 2 [a], ¯®í⮬㠪« ááë ¥¯ãáâë ¨ ¯®ªàë¢ îâ ¢áñ a. ®ª ¦¥¬, çâ® ¥á«¨ ª« ááë [a] ¨ [b] ¯¥à¥á¥ª îâáï, â® ®¨ ᮢ¯ ¤ îâ. ãáâì c | ¨å ®¡é¨© í«¥¬¥â, ⮣¤ aRc, bRc, cRb (ᨬ¬¥âà¨ç®áâì) ¨ aRb (âà §¨â¨¢®áâì). ¥¯¥àì ¢¨¤®, çâ® [b] [a]: ¥á«¨ x | ¯à®¨§¢®«ìë© í«¥¬¥â b, â® bRx ¨ ¯® âà §¨â¨¢®á⨠aRx. «®£¨ç®, [a] [b] ¨ ¯®â®¬ã [a] = [b]. â®à®¥ ã⢥ত¥¨¥ ⥮६ë ᮢᥬ ®ç¥¢¨¤®. ¨ ஥ ®â®è¥¨¥ R ¬®¦¥á⢥ A §ë¢ ¥âáï â¨á¨¬¬¥âà¨çë¬, ¥á«¨ aRb ¨ bRa ¢«¥çñâ a = b: ¯à¨¬¥à, ®â®è¥¨¥ "6" âãà «ìëå ç¨á« å ï¥âáï â¨á¨¬¬¥âà¨çë¬, ¯®áª®«ìªã ¨§ a 6 b ¨ b 6 a á«¥¤ã¥â a = b. ¥ä«¥ªá¨¢®¥, â¨á¨¬¬¥âà¨ç®¥ ¨ âà §¨â¨¢®¥ ®â®è¥¨¥ §ë¢ ¥âáï ®â®è¥¨¥¬ ç áâ¨ç®£® ¯®à浪 (partial order), ¨ ¬®¦¥á⢮ ¢¬¥á⥠á â ª¨¬ ®â®è¥¨¥¬ ñ¬ §ë¢ ¥âáï ç áâ¨ç® 㯮à冷ç¥ë¬ ¬®¦¥á⢮¬ (partially ordered set). ¯à¨¬¥à, ®â®è¥¨¥ "¡ëâì ¯®â®¬- 78 « ¢ 5 ®¦¥á⢠ª®¬" ¬®¦¥á⢥ «î¤¥© ï¥âáï ç áâ¨çë¬ ¯®à浪®¬, ¥á«¨ ¬ë áç¨â ¥¬ 祫®¢¥ª ᢮¨¬ ¯®â®¬ª®¬. áâ¨ç® 㯮à冷祮¥ ¬®¦¥á⢮, ¤ ¦¥ ª®¥ç®¥, ¬®¦¥â ¥ ¨¬¥âì ¨¡®«ì襣® í«¥¬¥â | â ª®£® í«¥¬¥â x, çâ® yRx ¤«ï «î¡®£® í«¥¬¥â y. «¥¤ã¥â à §«¨ç âì ¯®ïâ¨ï ¨¡®«ì襣® ¨ ¬ ªá¨¬ «ì®£® í«¥¬¥â®¢: í«¥¬¥â x §ë¢ ¥âáï ¬ ªá¨¬ «ìë¬ (maximal), ¥á«¨ ¥ áãé¥áâ¢ã¥â ¡®«ì襣® í«¥¬¥â , â. ¥. ¥á«¨ ¨§ xRy á«¥¤ã¥â x = y. ¯à¨¬¥à, á।¨ ¥áª®«ìª¨å ª àâ®ëå ª®à®¡®ª ¬®¦¥â ¥ ¡ëâì ¨¡®«ì襩 (¢ ª®â®àãî ¯®¬¥é ¥âáï «î¡ ï ¤à㣠ï), ® § ¢¥¤®¬® ¥áâì ®¤ ¨«¨ ¥áª®«ìª® ¬ ªá¨¬ «ìëå (ª®â®àë¥ ¥ ¢«¥§ îâ ¨ ¢ ®¤ã ¤àã£ãî). áâ¨çë© ¯®à冷ª §ë¢ ¥âáï «¨¥©ë¬ (total order, linear order), ¥á«¨ ¤«ï «î¡ëå í«¥¬¥â®¢ a ¨ b ¢ë¯®«¥® «¨¡® aRb, «¨¡® bRa (¨«¨ ®¡ | ⮣¤ ®¨ à ¢ë ¯® ᢮©áâ¢ã â¨á¨¬¬¥âà¨ç®áâ¨). ¯à¨¬¥à, ®â®è¥¨¥ "6" ¬®¦¥á⢥ âãà «ìëå ç¨á¥« ï¥âáï «¨¥©ë¬ ¯®à浪®¬, ®â®è¥¨¥ "¡ëâì ¯®â®¬ª®¬" ¬®¦¥á⢥ «î¤¥© | ¥â (¬®¦® ©â¨ ¤¢ãå 祫®¢¥ª, ¥ ïîé¨åáï ¯®â®¬ª ¬¨ ¤à㣠¤à㣠). ¯à ¦¥¨ï ®ª § âì, çâ® ®â®è¥¨¥ "" ¬®¦¥á⢥ ¢á¥å ¯®¤¬®¦¥á⢠¬®¦¥á⢠ï¥âáï ®â®è¥¨¥¬ ç áâ¨ç®£®, ® ¥ «¨¥©®£® ¯®à浪 . 5.2-2 ®ª § âì, çâ® ¤«ï «î¡®£® ¯®«®¦¨â¥«ì®£® n ®â®è¥¨¥ a b (mod n) ï¥âáï ®â®è¥¨¥¬ íª¢¨¢ «¥â®á⨠¬®¦¥á⢥ . (®¢®àïâ, çâ® a b (mod n), ¥á«¨ áãé¥áâ¢ã¥â 楫®¥ q, ¤«ï ª®â®à®£® a ; b = qn.) ª®«ìª® ª« áᮢ íª¢¨¢ «¥â®á⨠¥áâì ã í⮣® ®â®è¥¨ï? 5.2-3 ਢ¥¤¨â¥ ¯à¨¬¥à ®â®è¥¨ï, ª®â®à®¥ . à¥ä«¥ªá¨¢® ¨ ᨬ¬¥âà¨ç®, ® ¥ âà §¨â¨¢®; ¡. à¥ä«¥ªá¨¢® ¨ âà §¨â¨¢®, ® ¥ ᨬ¬¥âà¨ç®; ¢. ᨬ¬¥âà¨ç® ¨ âà §¨â¨¢®, ® ¥ à¥ä«¥ªá¨¢®. 5.2-4 ãáâì S | ª®¥ç®¥ ¬®¦¥á⢮, R | ®â®è¥¨¥ íª¢¨¢ «¥â®á⨠S . ®ª ¦¨â¥, çâ® ¥á«¨ R â¨á¨¬¬¥âà¨ç®, çâ® ¢á¥ ª« ááë íª¢¨¢ «¥â®á⨠ᮤ¥à¦ â ¯® ®¤®¬ã í«¥¬¥âã. 5.2-5 à®ä¥áá®à ¤ã¬ ¥â, çâ® ¢á类¥ ᨬ¬¥âà¨ç®¥ ¨ âà §¨â¨¢®¥ ®â®è¥¨¥ à¥ä«¥ªá¨¢®, ¨ ¯à¥¤« £ ¥â â ª®¥ ¤®ª § ⥫ìá⢮: ¨§ aRb á«¥¤ã¥â bRa ¯® ᨬ¬¥âà¨ç®áâ¨, ®âªã¤ á«¥¤ã¥â aRa ¯® âà §¨â¨¢®áâ¨. à ¢¨«ì® «¨ íâ® ¤®ª § ⥫ìá⢮? 5.2-1 Z Z ãªæ¨¨ 79 5.3 ãªæ¨¨ ãáâì ¤ ë ¤¢ ¬®¦¥á⢠A ¨ B. ãªæ¨¥© (function), ®â®¡à ¦ î饩 A ¢ B, §ë¢ ¥âáï ¡¨ ஥ ®â®è¥¨¥ f A B, ®¡« ¤ î饥 â ª¨¬ ᢮©á⢮¬: ¤«ï ª ¦¤®£® a 2 A áãé¥áâ¢ã¥â ஢® ®¤® b 2 B, ¤«ï ª®â®à®£® (a; b) 2 f . ®¦¥á⢮ A §ë¢ ¥âáï ®¡« áâìî ®¯à¥¤¥«¥¨ï (domain) äãªæ¨¨; ¤«ï ¬®¦¥á⢠B ¢ àãá᪮¬ ï§ëª¥ ¥â ®¡é¥¯à¨ï⮣® §¢ ¨ï, ¯®- £«¨©áª¨ ®® §ë¢ ¥âáï codomain. ®¦® ᪠§ âì, çâ® äãªæ¨ï f ᮯ®áâ ¢«ï¥â á ª ¦¤ë¬ í«¥¬¥â®¬ ¬®¦¥á⢠A ¥ª®â®àë© í«¥¬¥â ¬®¦¥á⢠B. ¤®¬ã í«¥¬¥âã ¬®¦¥á⢠A ¬®¦¥â ᮮ⢥âá⢮¢ âì ⮫쪮 ®¤¨ í«¥¬¥â ¬®¦¥á⢠B, å®âï ®¤¨ ¨ â®â ¦¥ í«¥¬¥â B ¬®¦¥â ᮮ⢥âá⢮¢ âì ¥áª®«ìª¨¬ à §«¨çë¬ í«¥¬¥â ¬ A. ¯à¨¬¥à, ¡¨ ஥ ®â®è¥¨¥ f = f(a; b) : a 2 ¨ b = a mod 2g ¬®¦® à áᬠâਢ âì ª ª äãªæ¨î f : ! f0; 1g, ¯®áª®«ìªã ¤«ï ª ¦¤®£® âãà «ì®£® ç¨á« a áãé¥áâ¢ã¥â ¥¤¨á⢥®¥ b 2 f0; 1g, à ¢®¥ a mod 2. ®¦® § ¯¨á âì f (0) = 0, f (1) = 1, f (2) = 0 ¨ â ª ¤ «¥¥. ¤à㣮© áâ®à®ë, ®â®è¥¨¥ g = f(a; b) : a; b 2 ¨ a + b çñâ®g ¥ ï¥âáï äãªæ¨¥©, ¯®áª®«ìªã ( ¯à¨¬¥à) ¯ àë (1; 3) ¨ (1; 5), ¯à¨ ¤«¥¦ 騥 í⮬㠮â®è¥¨î, ¨¬¥îâ à ¢ë¥ ¯¥à¢ë¥ ç«¥ë, ® à §ë¥ ¢â®àë¥. ᫨ ¯ à (a; b) ¯à¨ ¤«¥¦¨â ®â®è¥¨î f , ïî饬ãáï äãªæ¨¥©, â® £®¢®àïâ, çâ® b ï¥âáï § 票¥¬ (value) äãªæ¨¨ ¤«ï à£ã¬¥â (argument) a, ¨ ¯¨èãâ b = f (a). â®¡ë § ¤ âì äãªæ¨î, ¤® 㪠§ âì ¥ñ § 票¥ ¤«ï ª ¦¤®£® à£ã¬¥â , ¯à¨ ¤«¥¦ 饣® ¥ñ ®¡« á⨠®¯à¥¤¥«¥¨ï. ¯à¨¬¥à, ¬®¦® § ¤ âì äãªæ¨î f : ! ä®à¬ã«®© f (n) = 2n, ª®â®à ï ®§ ç ¥â, çâ® f = f(n; 2n) : n 2 g. ¢¥ äãªæ¨¨ f; g : A ! B áç¨â îâáï à ¢ë¬¨ (equal), ¥á«¨ f (a) = g(a) ¤«ï ¢á¥å a 2 A. (¡à â¨â¥ ¢¨¬ ¨¥, çâ® á ä®à¬ «ì®© â®çª¨ §à¥¨ï ¬ë áç¨â ¥¬ äãªæ¨¨ f : A ! B1 ¨ g : A ! B2 à §«¨ç묨 ¯à¨ B1 = 6 B2, ¤ ¦¥ ¥á«¨ f (a) = g(a) ¯à¨ ¢á¥å a!) ®¥ç®© ¯®á«¥¤®¢ ⥫ì®áâìî (nite sequence) ¤«¨ë n §ë¢ îâ äãªæ¨î f , ®¡« áâì ®¯à¥¤¥«¥¨ï ª®â®à®© ¥áâì ¬®¦¥á⢮ f0; 1; 2; : : :; n ; 1g. ®¥çãî ¯®á«¥¤®¢ ⥫ì®áâì ç áâ® § ¯¨áë¢ îâ ª ª ᯨ᮪ ¥ñ § 票©, â. ¥. ª ª hf (0); f (1); : : :; f (n ; 1)i. ¥áª®¥ç®© ¯®á«¥¤®¢ ⥫ì®áâìî (innite sequence) §ë¢ ¥âáï äãªæ¨ï, ®¡« áâìî ®¯à¥¤¥«¥¨ï ª®â®à®© ï¥âáï ¬®¦¥á⢮ âãà «ìëå ç¨á¥«. ¯à¨¬¥à, ¯®á«¥¤®¢ ⥫ì®áâì ¨¡® çç¨, § ¤ ï ãà ¢¥¨¥¬ (2.13), ¬®¦¥â ¡ëâì § ¯¨á ª ª h0; 1; 1; 2; 3; 5; 8; 13; 21; : : : i. N N N N N N N 80 « ¢ 5 ®¦¥á⢠᫨ ®¡« áâì ®¯à¥¤¥«¥¨ï äãªæ¨¨ ï¥âáï ¤¥ª àâ®¢ë¬ ¯à®¨§¢¥¤¥¨¥¬ ¥áª®«ìª¨å ¬®¦¥á⢠, ¬ë ®¡ëç® ®¯ã᪠¥¬ ¤®¯®«¨â¥«ìë¥ áª®¡ª¨ ¢®ªà㣠à£ã¬¥â®¢. ¯à¨¬¥à, ¥á«¨ f : A1 A2 : : : An ! B, ¬ë ¯¨è¥¬ f (a1; a2; : : :; an) ¢¬¥áâ® ¡®«¥¥ ä®à¬ «ì®£® f ((a1; a2; : : : ; an)). ¦¤®¥ ¨§ ai â ª¦¥ §ë¢ ¥âáï à£ã¬¥â®¬ (argument) äãªæ¨¨ f , å®âï ä®à¬ «ì® ¥ñ à£ã¬¥â®¢ á«¥¤®¢ «® ¡ë áç¨â âì n-ªã (a1; a2; : : :; an). ᫨ b = f (a) ¤«ï ¥ª®â®à®© äãªæ¨¨ f : A ! B ¨ ¥ª®â®àëå a 2 A, b 2 B, â® í«¥¬¥â b §ë¢ îâ ®¡à §®¬ (image) í«¥¬¥â a. «ï ¯à®¨§¢®«ì®£® ¯®¤¬®¦¥á⢠A0 ¬®¦¥á⢠A ¥£® ®¡à § f (A0) ®¯à¥¤¥«ïîâ ä®à¬ã«®© f (A0) = fb 2 B : b = f (a)¤«ï ¥ª®â®à®£® a 2 A0g: ®¦¥á⢮ § 票© (range) äãªæ¨¨ f ®¯à¥¤¥«ï¥âáï ª ª ®¡à § ®¡« á⨠¥ñ ®¯à¥¤¥«¥¨ï, â. ¥. ª ª f (A). ¯à¨¬¥à, ¬®¦¥á⢮ § 票© äãªæ¨¨ f : ! , ®¯à¥¤¥«ñ®© ä®à¬ã«®© f (n) = 2n, ¥áâì ¬®¦¥á⢮ ¢á¥å çñâëå âãà «ìëå ç¨á¥«, ª®â®à®¥ ¬®¦® § ¯¨á âì ª ª f ( ) = fm : m = 2n ¤«ï ¥ª®â®à®£® n 2 g. ãªæ¨ï f : A ! B §ë¢ ¥âáï áîàꥪ樥© (surjection), ¨«¨ «®¦¥¨¥¬, ¥á«¨ ¥ñ ®¡à § ᮢ¯ ¤ ¥â á ¬®¦¥á⢮¬ B , â. ¥. ¢á直© í«¥¬¥â b 2 B ï¥âáï ®¡à §®¬ ¥ª®â®à®£® í«¥¬¥â a 2 A. ¯à¨¬¥à, äãªæ¨ï f : ! , § ¤ ï ä®à¬ã«®© f (n) = bn=2c, ï¥âáï áîàꥪ樥©. ãªæ¨ï f (n) = 2n ¥ ¡ã¤¥â áîàꥪ樥©, ¥á«¨ áç¨â âì, çâ® f : ! , ® ¡ã¤¥â â ª®¢®©, ¥á«¨ áç¨â âì ¥ñ ®â®¡à ¦ î饩 ¬®¦¥á⢮ âãà «ìëå ç¨á¥« ¢ ¬®¦¥á⢮ çñâëå âãà «ìëå ç¨á¥«. ãªæ¨î f : A ! B, ïîéãîáï áîàꥪ樥©, §ë¢ îâ â ª¦¥ ®â®¡à ¦¥¨¥¬ A B (onto B). ãªæ¨ï f : A ! B §ë¢ ¥âáï ¨ê¥ªæ¨¥© (injection), ¨«¨ ¢«®¦¥¨¥¬, ¥á«¨ à §«¨çë¬ à£ã¬¥â ¬ ᮮ⢥âáâ¢ãîâ à §«¨çë¥ § 票ï, â. ¥. ¥á«¨ f (a) = 6 f (a0) ¯à¨ a =6 a0. ¯à¨¬¥à, äãªæ¨ï f (n) = 2n ï¥âáï ¨ê¥ªæ¨¥© ¬®¦¥á⢠¢ ¬®¦¥á⢮ , ¯®áª®«ìªã «î¡®¥ ç¨á«® n ï¥âáï ®¡à §®¬ á ¬®¥ ¡®«ì襥 ®¤®£® í«¥¬¥â (n=2, ¥á«¨ n çñâ®; ¥çñâë¥ ç¨á« ¥ ïîâáï ®¡à § ¬¨ ¨ª ª¨å í«¥¬¥â®¢). ãªæ¨ï f (n) = bn=2c ¥ ï¥âáï ¨ê¥ªæ¨¥©, â ª ª ª ( ¯à¨¬¥à) f (2) = f (3) = 1. £«¨©áª®© «¨â¥à âãॠ¤«ï ¨ê¥ªæ¨© 㯮âॡ«ï¥âáï â ª¦¥ â¥à¬¨ "one-to-one function". ãªæ¨ï f : A ! B §ë¢ ¥âáï ¡¨¥ªæ¨¥© (bijection), ¥á«¨ ® ®¤®¢à¥¬¥® ï¥âáï ¨ê¥ªæ¨¥© ¨ áîàꥪ樥©. ¯à¨¬¥à, äãªæ¨ï f (n) = (;1)n dn=2e, à áᬠâਢ ¥¬ ï ª ª äãªæ¨ï, ®â®¡à ¦ îé ï N N N N N N N N N N ãªæ¨¨ N 81 ¢ , ï¥âáï ¡¨¥ªæ¨¥©: Z 0! 0 1 ! ;1 2! 1 3 ! ;2 4! 2 .. . ꥪ⨢®áâì ®§ ç ¥â, çâ® ¨ª ª®© í«¥¬¥â ¬®¦¥á⢠¥ ï¥âáï ®¡à §®¬ ¤¢ãå à §ëå í«¥¬¥â®¢ ¬®¦¥á⢠. îàꥪ⨢®áâì ®§ ç ¥â, çâ® ¢á直© í«¥¬¥â ¬®¦¥á⢠ï¥âáï ®¡à §®¬ å®âï ¡ë ®¤®£® í«¥¬¥â ¬®¦¥á⢠. ¨¥ªæ¨¨ §ë¢ îâ â ª¦¥ Z N Z N ¢§ ¨¬® ®¤®§ ç묨 ᮮ⢥âá⢨ﬨ (one-to-one correspondence), ¯®áª®«ìªã ®¨ ãáâ ¢«¨¢ îâ ᮮ⢥âáâ¢¨ï ¬¥¦¤ã í«¥¬¥â ¬¨ ¬®¦¥á⢠A ¨ B. ¨¥ªâ¨¢ ï äãªæ¨ï, ®â®¡à ¦ îé ï ¬®¦¥á⢮ A ¢ ᥡï, §ë¢ ¥âáï ¯¥à¥áâ ®¢ª®© (permutation) ¬®¦¥á⢠A. ᫨ äãªæ¨ï f ¡¨¥ªâ¨¢ , ¬®¦® ®¯à¥¤¥«¨âì ®¡à âãî (inverse) äãªæ¨î f ;1 á®®â®è¥¨¥¬ f ;1(b) = a ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ f (a) = b: ¯à¨¬¥à, ¤«ï à áᬮâ८© ¢ëè¥ äãªæ¨¨ f (n) = (;1)ndn=2e ®¡à â ï äãªæ¨ï ¢ëç¨á«ï¥âáï ¯® ä®à¬ã«¥ f ;1(m) = ( 2m; ¥á«¨ m > 0, ;2m ; 1; ¥á«¨ m < 0. ¯à ¦¥¨ï ãáâì A ¨ B | ª®¥çë¥ ¬®¦¥á⢠, ¨ f : A ! B | ¥ª®â®à ï äãªæ¨ï. ®ª ¦¨â¥, çâ® . ¥á«¨ f | ¨ê¥ªæ¨ï, â® jAj 6 jBj; ¡. ¥á«¨ f | áîàꥪæ¨ï, â® jAj > jBj. 5.3-2 㤥⠫¨ ¡¨¥ªæ¨¥© äãªæ¨ï f : ! , § ¤ ï ä®à¬ã«®© f (x) = x + 1? ®â ¦¥ ¢®¯à®á ¤«ï äãªæ¨¨ ! , § ¤ ®© ⮩ ¦¥ ä®à¬ã«®©. 5.3-3 ©â¥ ®¯à¥¤¥«¥¨¥ ®¡à ⮣® ª ¡¨ ஬㠮â®è¥¨î. ( ᫨ ®â®è¥¨¥ ï¥âáï ¡¨¥ªæ¨¥©, â® ®¯à¥¤¥«¥¨¥ ¤®«¦® ¤ ¢ âì ®¡à âãî ¡¨¥ªæ¨î ¢ ®¯¨á ®¬ ¢ëè¥ á¬ëá«¥.) 5.3-4? ®áâன⥠¡¨¥ªæ¨î f : ! . 5.3-1 N N Z Z Z Z Z 82 « ¢ 5 ®¦¥á⢠¨á㮪 5.2 ਥâ¨à®¢ ë¥ ¨ ¥®à¨¥â¨à®¢ ë¥ £à äë. ( ) ਥâ¨à®¢ ë© £à ä (V; E ), £¤¥ V = f1; 2; 3; 4; 5; 6g ¨ E = f(1; 2); (2; 2); (2; 4); (2; 5); (4; 1); (4; 5); (5; 4); (6; 3)g. ¥¡à® (2; 2) ï¥âáï ॡ஬横«®¬. (¡) ¥®à¨¥â¨à®¢ ë© £à ä G = (V; E ), £¤¥ V = f1; 2; 3; 4; 5; 6g ¨ E = f(1; 2); (1; 5); (2; 5); (3; 6)g. ¥àè¨ 4 ï¥âáï ¨§®«¨à®¢ ®© (¥ ¨¬¥¥â ᬥ¦ëå ¢¥àè¨). (¢) ®¤£à ä £à ä ( ), ¯®«ãç î騩áï ¥£® ®£à ¨ç¥¨¥¬ ¬®¦¥á⢮ ¢¥àè¨ f1; 2; 3; 6g. 5.4 à äë í⮬ à §¤¥«¥ ¬ë à áᬮâਬ ®á®¢ë¥ ¯®ïâ¨ï, á¢ï§ ë¥ á ®à¨¥â¨à®¢ 묨 ¨ ¥®à¨¥â¨à®¢ 묨 £à ä ¬¨. «¥¤ã¥â ¨¬¥âì ¢ ¢¨¤ã, çâ® â¥à¬¨®«®£¨ï §¤¥áì ¥ ¢¯®«¥ ãáâ®ï« áì ¨ ¢ à §ëå ª¨£ å ¬®¦® ¢áâà¥â¨âì à §ë¥ ®¯à¥¤¥«¥¨ï, ® ¯® ¡®«ì襩 ç áâ¨ à §«¨ç¨ï ¥¢¥«¨ª¨. ë ¢¥àñ¬áï ª £à ä ¬ ¢ £« ¢¥ 23, £¤¥ à áᬠâਢ îâáï à §«¨çë¥ «£®à¨â¬ë £à ä å. ਥâ¨à®¢ ë© £à ä (directed graph) ®¯à¥¤¥«ï¥âáï ª ª ¯ à (V; E ), £¤¥ V | ª®¥ç®¥ ¬®¦¥á⢮, E | ¡¨ ஥ ®â®è¥¨¥ V , â. ¥. ¯®¤¬®¦¥á⢮ ¬®¦¥á⢠V V . ਥâ¨à®¢ ë© £à ä ¨®£¤ ¤«ï ªà ⪮á⨠§ë¢ îâ ®à£à 䮬 (digraph). ®¦¥á⢮ V §ë¢ îâ ¬®¦¥á⢮¬ ¢¥àè¨ £à ä (vertex set); ¥£® í«¥¬¥â §ë¢ îâ ¢¥à訮© £à ä (vertex; ¬®¦¥á⢥®¥ ç¨á«® vertices). ®¦¥á⢮ E §ë¢ îâ ¬®¦¥á⢮¬ àñ¡¥à (edge set) £à ä ; ¥£® í«¥¬¥âë §ë¢ îâ àñ¡à ¬¨ (edges). à¨á㪥 5.2 ( ) ¯®ª § ®à¨¥â¨à®¢ ë© £à ä á ¬®¦¥á⢮¬ ¢¥àè¨ f1; 2; 3; 4; 5; 6g. ¥àè¨ë ¨§®¡à ¦¥ë ªà㦪 ¬¨, àñ¡à | áâ५ª ¬¨. ¬¥â¨¬, çâ® £à ä ¬®¦¥â ᮤ¥à¦ âì àñ¡à -横«ë (self-loops), ᮥ¤¨ïî騥 ¢¥àè¨ã á ᮡ®©. ¥®à¨¥â¨à®¢ ®¬ (undirected) £à ä¥ G = (V; E ) ¬®¦¥á⢮ àñ¡¥à (V ) á®á⮨⠨§ ¥ã¯®à冷ç¥ëå (unordered) ¯ à ¢¥àè¨: ¯ à ¬¨ ïîâáï ¬®¦¥á⢠fu; vg, £¤¥ u; v 2 V ¨ u = 6 v. ë ¡ã¤¥¬ ®¡®§ ç âì ¥®à¨¥â¨à®¢ ®¥ ॡ஠ª ª (u; v) ¢¬¥áâ® fu; vg; ¯à¨ í⮬ ¤«ï ¥®à¨¥â¨à®¢ ®£® £à ä (u; v) ¨ (v; u) ®¡®§ ç îâ ®¤® ¨ â® ¦¥ ॡà®. ¥®à¨¥â¨à®¢ ë© £à ä ¥ ¬®¦¥â ᮤ¥à¦ âì àñ¡¥à-横«®¢, ¨ ª ¦¤®¥ ॡ஠á®á⮨⠨§ ¤¢ãå à §«¨çëå ¢¥àè¨ ("ᮥ¤¨ïï" ¨å). à¨á. 5.2 (¡) ¨§®¡à ¦ñ ¥®à¨¥â¨à®¢ ë© £à ä á ¬®¦¥á⢮¬ ¢¥àè¨ f1; 2; 3; 4; 5; 6g. à äë 83 ®£¨¥ ¯®ïâ¨ï ¯ à ««¥«ì® ®¯à¥¤¥«ïîâáï ¤«ï ®à¨¥â¨à®¢ ëå ¨ ¥®à¨¥â¨à®¢ ëå £à 䮢 (á ᮮ⢥âáâ¢ãî騬¨ ¨§¬¥¥¨ï¬¨). ஠ॡ஠(u; v) ®à¨¥â¨à®¢ ®£® £à ä £®¢®àïâ, çâ® ®® ¢ë室¨â ¨§ (incident from, leaves) ¢¥àè¨ë u ¨ ¢å®¤¨â (incident to, enters) ¢ ¢¥àè¨ã v . ¯à¨¬¥à, à¨á. 5.2 ( ) ¨¬¥¥âáï âਠॡà , ¢ë室ïé¨å ¨§ ¢¥àè¨ë 2 ((2; 2); (2; 4); (2; 5)) ¨ ¤¢ ॡà , ¢ ¥ñ ¢å®¤ïé¨å ((1; 2); (2; 2)). ஠ॡ஠(u; v) ¥®à¨¥â¨à®¢ ®£® £à ä £®¢®àïâ, çâ® ®® ¨æ¨¤¥â® ¢¥àè¨ ¬ (incident on vertices) u ¨ v. ¯à¨¬¥à, à¨á. 2.5 (¡) ¥áâì ¤¢ ॡà , ¨æ¨¤¥âë¥ ¢¥à訥 2 (àñ¡à (1; 2) ¨ (2; 5)). ᫨ ¢ £à ä¥ G ¨¬¥¥âáï ॡ஠(u; v), £®¢®àïâ, çâ® ¢¥àè¨ v ᬥ¦ á ¢¥à訮© u (is adjacent to u). «ï ¥®à¨¥â¨à®¢ ëå £à 䮢 ®â®è¥¨¥ ᬥ¦®á⨠ï¥âáï ᨬ¬¥âà¨çë¬, ® ¤«ï ®à¨¥â¨à®¢ ëå £à 䮢 íâ® ¥ ®¡ï§ ⥫ì®. ᫨ ¢¥àè¨ v ᬥ¦ á ¢¥à訮© u ¢ ®à¨¥â¨à®¢ ®¬ £à ä¥, ¯¨èãâ u ! v. «ï ®¡®¨å à¨á㪮¢ 5.2 ( ) ¨ 5.2 (¡) ¢¥àè¨ 2 ï¥âáï ᬥ¦®© á ¢¥à訮© 1, ® «¨èì ¢® ¢â®à®¬ ¨§ ¨å ¢¥àè¨ 1 ᬥ¦ á ¢¥à訮© 2 (¢ ¯¥à¢®¬ á«ãç ¥ ॡ஠(2; 1) ®âáãâáâ¢ã¥â ¢ £à ä¥). ⥯¥ìî (degree) ¢¥àè¨ë ¢ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ §ë¢ ¥âáï ç¨á«® ¨æ¨¤¥âëå ¥© àñ¡¥à. ¯à¨¬¥à, ¤«ï £à ä à¨á. 5.2 (¡) á⥯¥ì ¢¥àè¨ë 2 à ¢ 2. «ï ®à¨¥â¨à®¢ ®£® £à ä à §«¨ç îâ ¨á室ïéãî á⥯¥ì (out-degree), ®¯à¥¤¥«ï¥¬ãî ª ª ç¨á«® ¢ë室ïé¨å ¨§ ¥ñ àñ¡¥à, ¨ ¢å®¤ïéãî á⥯¥ì (in-degree), ®¯à¥¤¥«ï¥¬ãî ª ª ç¨á«® ¢å®¤ïé¨å ¢ ¥ñ àñ¡¥à. 㬬 ¨á室ï饩 ¨ ¢å®¤ï饩 á⥯¥¥© §ë¢ ¥âáï á⥯¥ìî (degree) ¢¥àè¨ë. ¯à¨¬¥à, ¢¥àè¨ 2 ¢ £à ä¥ à¨á. 5.2 ( ) ¨¬¥¥â ¢å®¤ïéãî á⥯¥ì 2, ¨á室ïéãî á⥯¥ì 3 ¨ á⥯¥ì 5. ãâì ¤«¨ë k (path of length k) ¨§ ¢¥àè¨ë u ¢ ¢¥àè¨ã v ®¯à¥¤¥«ï¥âáï ª ª ¯®á«¥¤®¢ ⥫ì®áâì ¢¥àè¨ hv0; v1; v2; : : :; vki, ¢ ª®â®à®© v0 = u, vk = v ¨ (vi;1 ; vi) 2 E ¤«ï ¢á¥å i = 1; 2; : : :; k. ª¨¬ ®¡à §®¬, ¯ãâì ¤«¨ë k á®á⮨⠨§ k àñ¡¥à. â®â ¯ãâì ᮤ¥à¦¨â (contains) ¢¥àè¨ë v0; v1; : : :; vk ¨ àñ¡à (v0; v1); (v1; v2); : : :; (vk;1; vk ). ¥àè¨ã v0 §ë¢ îâ ç «®¬ ¯ãâ¨, ¢¥àè¨ã vk | ¥£® ª®æ®¬; £®¢®àïâ, çâ® ¯ãâì ¢¥¤ñâ ¨§ v0 ¢ vk . ᫨ ¤«ï ¤ ëå ¢¥àè¨ u ¨ u0 áãé¥áâ¢ã¥â ¯ãâì p ¨§ u ¢ u0, â® £®¢®àïâ, çâ® ¢¥àè¨ u0 ¤®á⨦¨¬ ¨§ u ¯® ¯ã⨠p (u0 is reachable from u via p). í⮬ á«ãç ¥ ¬ë ¯¨è¥¬ (¤«ï ®à¨¥â¨à®¢ ëå £à 䮢) u p u0. ãâì §ë¢ ¥âáï ¯à®áâë¬ (simple), ¥á«¨ ¢á¥ ¢¥àè¨ë ¢ ñ¬ à §«¨çë. ¯à¨¬¥à, à¨á. 5.2 ( ) ¥áâì ¯à®á⮩ ¯ãâì h1; 2; 5; 4i ¤«¨ë 3, â ª¦¥ ¯ãâì h2; 5; 4; 5i ⮩ ¦¥ ¤«¨ë, ¥ ïî騩áï ¯à®áâë¬. ®¤¯ãâì (subpath) ¯ã⨠p = hv0; v1; : : :; vk i ¯®«ãç¨âáï, ¥á«¨ ¬ë ¢®§ì¬ñ¬ ¥ª®â®à®¥ ç¨á«® ¨¤ãé¨å ¯®¤àï¤ ¢¥àè¨ í⮣® ¯ãâ¨, â. ¥. ¯®á«¥¤®¢ ⥫ì®áâì hvi; vi+1; : : :; vj i ¯à¨ ¥ª®â®àëå i; j , ¤«ï ª®â®àëå 0 6 i 6 j 6 k. 84 « ¢ 5 ®¦¥á⢠¨ª«®¬ (cycle) ¢ ®à¨¥â¨à®¢ ®¬ £à ä¥ §ë¢ ¥âáï ¯ãâì, ¢ ª®â®à®¬ ç «ì ï ¢¥àè¨ á®¢¯ ¤ ¥â á ª®¥ç®© ¨ ª®â®àë© á®¤¥à¦¨â å®âï ¡ë ®¤® ॡà®. ¨ª« hv0; v1; : : :; vki §ë¢ ¥âáï ¯à®áâë¬, ¥á«¨ ¢ ñ¬ ¥â ®¤¨ ª®¢ëå ¢¥àè¨ (ªà®¬¥ ¯¥à¢®© ¨ ¯®á«¥¤¥©), â. ¥. ¥á«¨ ¢á¥ ¢¥àè¨ë v1; v2; : : :; vk à §«¨çë. ¥¡à®-横« ï¥âáï 横«®¬ ¤«¨ë 1. ë ®â®¦¤¥á⢫塞 横«ë, ®â«¨ç î騥áï ᤢ¨£®¬ ¢¤®«ì 横« : ®¤¨ ¨ â®â ¦¥ 横« ¤«¨ë k ¬®¦¥â ¡ëâì ¯à¥¤áâ ¢«¥ k à §«¨ç묨 ¯ãâﬨ (¢ ª ç¥á⢥ ç « ¨ ª®æ ¬®¦® ¢§ïâì «î¡ãî ¨§ k ¢¥àè¨). ¯à¨¬¥à, à¨á. 5.2 ( ) ¯ã⨠h1; 2; 4; 1i, h2; 4; 1; 2i ¨ h4; 1; 2; 4i ¯à¥¤áâ ¢«ïîâ ®¤¨ ¨ â®â ¦¥ 横«. â®â 横« ï¥âáï ¯à®áâë¬, ¢ â® ¢à¥¬ï ª ª 横« h1; 2; 4; 5; 4; 1i â ª®¢ë¬ ¥ ï¥âáï. ⮬ ¦¥ à¨á㪥 ¥áâì 横« h2; 2i, ®¡à §®¢ ë© ¥¤¨áâ¢¥ë¬ à¥¡à®¬-横«®¬ (2; 2). ਥâ¨à®¢ ë© £à ä, ¥ ᮤ¥à¦ 騩 àñ¡¥à-横«®¢, §ë¢ ¥âáï ¯à®áâë¬ (simple). ¥®à¨¥â¨à®¢ ®¬ £à ä¥ ¯ãâì hv0; v1; : : :; vk i §ë¢ ¥âáï (¯à®áâë¬) 横«®¬, ¥á«¨ k > 3, v0 = vk ¨ ¢á¥ ¢¥àè¨ë v1; v2; : : :; vk à §«¨çë. ¯à¨¬¥à, à¨á. 5.2 (¡) ¨¬¥¥âáï ¯à®á⮩ 横« h1; 2; 5; 1i. à ä, ¢ ª®â®à®¬ ¥â 横«®¢, §ë¢ ¥âáï 横«¨ç¥áª¨¬ (acyclic). ¥®à¨¥â¨à®¢ ë© £à ä §ë¢ ¥âáï á¢ï§ë¬ (connected), ¥á«¨ ¤«ï «î¡®© ¯ àë ¢¥àè¨ áãé¥áâ¢ã¥â ¯ãâì ¨§ ®¤®© ¢ ¤àã£ãî. «ï ¥®à¨¥â¨à®¢ ®£® £à ä ®â®è¥¨¥ "¡ëâì ¤®á⨦¨¬ë¬ ¨§" ï¥âáï ®â®è¥¨¥¬ íª¢¨¢ «¥â®á⨠¬®¦¥á⢥ ¢¥àè¨. « ááë íª¢¨¢ «¥â®á⨠§ë¢ îâáï á¢ï§ë¬¨ ª®¬¯®¥â ¬¨ (connected components) £à ä . ¯à¨¬¥à, à¨á. 5.2 (¡) ¨¬¥îâáï âਠá¢ï§ë¥ ª®¬¯®¥âë: f1; 2; 5g, f3; 6g ¨ f4g. ¥®à¨¥â¨à®¢ ë© £à ä á¢ï§¥ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ® á®á⮨⠨§ ¥¤¨á⢥®© á¢ï§®© ª®¬¯®¥âë. ਥâ¨à®¢ ë© £à ä §ë¢ ¥âáï á¨«ì® á¢ï§ë¬ (strongly connected), ¥á«¨ ¨§ «î¡®© ¥£® ¢¥àè¨ë ¤®á⨦¨¬ (¯® ®à¨¥â¨à®¢ ë¬ ¯ãâï¬) «î¡ ï ¤à㣠ï. î¡®© ®à¨¥â¨à®¢ ë© £à ä ¬®¦® à §¡¨âì á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë (strongly connected components), ª®â®àë¥ ®¯à¥¤¥«ïîâáï ª ª ª« ááë íª¢¨¢ «¥â®á⨠®â®è¥¨ï "u ¤®á⨦¨¬® ¨§ v ¨ v ¤®á⨦¨¬® ¨§ u". ਥâ¨à®¢ ë© £à ä á¨«ì® á¢ï§¥ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ á®á⮨⠨§ ¥¤¨á⢥®© á¨«ì® á¢ï§®© ª®¬¯®¥âë. à ä à¨á. 5.2 ( ) ¨¬¥¥â âਠ⠪¨å ª®¬¯®¥âë: f1; 2; 4; 5g, f3g ¨ f6g. ¬¥â¨¬, çâ® ¢¥àè¨ë f3; 6g ¥ ¢å®¤ïâ ¢ ®¤ã á¨«ì® á¢ï§ãî ª®¬¯®¥âã, â ª ª ª 3 ¤®á⨦¨¬ ¨§ 6, ® ¥ ®¡®à®â. ¢ £à ä G = (V; E ) ¨ G0 = (V 0; E 0) §ë¢ îâáï ¨§®¬®àä묨 (isomorphic), ¥á«¨ áãé¥áâ¢ã¥â ¢§ ¨¬® ®¤®§ 箥 ᮮ⢥âá⢨¥ f : V ! V 0 ¬¥¦¤ã ¬®¦¥á⢠¬¨ ¨å ¢¥àè¨, ¯à¨ ª®â®à®¬ àñ¡à ¬ ®¤®£® £à ä ᮮ⢥âáâ¢ãîâ àñ¡à ¤à㣮£®: (u; v) 2 E ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ (f (u); f (v)) 2 E 0. ®¦® ᪠§ âì, çâ® ¨§®¬®àäë¥ £à äë | íâ® ®¤¨ ¨ â®â ¦¥ £à ä, ¢ ª®â®à®¬ ¢¥àè¨ë §¢ ë ¯®-à §®¬ã. à¨á. 5.3 ( ) ¯à¨¢¥¤ñ ¯à¨¬¥à ¤¢ãå ¨§®¬®àäëå £à 䮢 G ¨ G0 á ¬®¦¥á⢠¬¨ ¢¥àè¨ V = f1; 2; 3; 4; 5; 6g ¨ à äë 85 ¨á㮪 5.3 ( ) à ¨§®¬®àäëå £à 䮢. (¡) ¥¨§®¬®àäë¥ £à äë: ¢¥à娩 ¨¬¥¥â ¢¥àè¨ã á⥯¥¨ 4, ¨¦¨© | ¥â. V 0 = fu; v; w; x; y; z g. ãªæ¨ï f : V ! V 0 , ¤«ï ª®â®à®© f (1) = u, f (2) = v , f (3) = w, f (4) = x, f (5) = y , f (6) = z , ï¥âáï ¨§®¬®à䨧¬®¬. ¯à®â¨¢, £à äë à¨á. 5.3 (¡) ¥ ¨§®¬®àäë, å®âï ®¡ ¨¬¥îâ ¯® 5 ¢¥àè¨ ¨ ¯® 7 àñ¡¥à. ⮡ë ã¡¥¤¨âìáï, çâ® ®¨ ¥ ¨§®¬®àäë, ¤®áâ â®ç® ®â¬¥â¨âì, çâ® ¢ ¢¥à奬 £à ä¥ ¥áâì ¢¥àè¨ á⥯¥¨ 4, ¢ ¨¦¥¬ | ¥â. à ä G0 = (E 0; V 0) §ë¢ îâ ¯®¤£à 䮬 (subgraph) £à ä G = (E; V ), ¥á«¨ E 0 E ¨ V 0 V . ᫨ ¢ £à ä¥ G = (E; V ) ¢ë¡à âì ¯à®¨§¢®«ì®¥ ¬®¦¥á⢮ ¢¥àè¨ V 0, â® ¬®¦® à áᬮâà¥âì ¥£® ¯®¤£à ä, á®áâ®ï騩 ¨§ íâ¨å ¢¥àè¨ ¨ ¢á¥å ᮥ¤¨ïîé¨å ¨å àñ¡¥à, â. ¥. £à ä G0 = (E 0; V 0), ¤«ï ª®â®à®£® E 0 = f(u; v ) 2 E : u; v 2 V 0 g â®â ¯®¤£à ä ¬®¦® §¢ âì ®£à ¨ç¥¨¥¬ £à ä G ¬®¦¥á⢮ ¢¥àè¨ V 0 (subgraph of G induced by V 0). £à ¨ç¥¨¥ £à ä à¨á. 5.2 ( ) ¬®¦¥á⢮ ¢¥àè¨ f1; 2; 3; 6g ¯®ª § ® à¨á. 5.2 (¢) ¨ ¨¬¥¥â âਠॡà (1; 2), (2; 2), (6; 3). «ï «î¡®£® ¥®à¨¥â¨à®¢ ®£® £à ä G ¬®¦® à áᬮâà¥âì ¥£® ®à¨¥â¨à®¢ ë© ¢ ਠâ (directed version), § ¬¥¨¢ ª ¦¤®¥ ¥®à¨¥â¨à®¢ ®¥ ॡ஠fu; vg ¯ à㠮ਥâ¨à®¢ ëå àñ¡¥à (u; v) ¨ (v; u), ¨¤ãé¨å ¢ ¯à®â¨¢®¯®«®¦ëå ¯à ¢«¥¨ïå. ¤à㣮© áâ®à®ë, ¤«ï ª ¦¤®£® ®à¨¥â¨à®¢ ®£® £à ä ¬®¦® à áᬮâà¥âì ¥£® ¥®à¨¥â¨à®¢ ë© ¢ ਠâ (undirected version), § ¡ë¢ ¯à® ®à¨¥â æ¨î àñ¡¥à, 㤠«¨¢ àñ¡à -横«ë ¨ ᮥ¤¨¨¢ àñ¡à (u; v) ¨ (v; u) ¢ ®¤® ¥®à¨¥â¨à®¢ ®¥ ॡ஠fu; vg. ®à¨¥â¨à®¢ ®¬ £à ä¥ á®á¥¤®¬ (neighbor) ¢¥àè¨ë u §ë¢ îâ «î¡ãî ¢¥àè¨ã, ᮥ¤¨ñãî á ¥© ॡ஬ (¢ âã ¨«¨ ¤àã£ãî áâ®à®ã); â ª¨¬ ®¡à §®¬, v ï¥âáï á®á¥¤®¬ u ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ v ᬥ¦® u ¨«¨ u ᬥ¦® v . «ï ¥®à¨¥â¨à®¢ ®£® £à ä ¢ëà ¦¥¨ï "v | á®á¥¤ u" ¨ "v ᬥ¦ á u" ïîâáï ᨮ¨¬ ¬¨. 86 « ¢ 5 ®¦¥á⢠¥ª®â®àë¥ ¢¨¤ë £à 䮢 ¨¬¥îâ á¯¥æ¨ «ìë¥ §¢ ¨ï. ®«ë¬ (complete) £à 䮬 §ë¢ îâ ¥®à¨¥â¨à®¢ ë© £à ä, ᮤ¥à¦ 騩 ¢á¥ ¢®§¬®¦ë¥ àñ¡à ¤«ï ¤ ®£® ¬®¦¥á⢠¢¥àè¨ («î¡ ï ¢¥àè¨ á¬¥¦ «î¡®© ¤à㣮©). ¥®à¨¥â¨à®¢ ë© £à ä (V; E ) §ë¢ îâ ¤¢ã¤®«ìë¬ (bipartite), ¥á«¨ ¬®¦¥á⢮ ¢¥àè¨ V ¬®¦® à §¡¨âì ¤¢¥ ç áâì V1 ¨ V2 â ª¨¬ ®¡à §®¬, çâ® ª®æë «î¡®£® à¥¡à ®ª §ë¢ îâáï ¢ à §ëå ç áâïå. 横«¨ç¥áª¨© ¥®à¨¥â¨à®¢ ë© £à ä §ë¢ îâ «¥á®¬ (forest), á¢ï§ë© 横«¨ç¥áª¨© ¥®à¨¥â¨à®¢ ë© £à ä §ë¢ îâ ¤¥à¥¢®¬ (¡¥§ ¢ë¤¥«¥®£® ª®àï; ¯®¤à®¡® ¤¥à¥¢ìï à áᬠâਢ îâáï ¢ á«¥¤ãî饬 à §¤¥«¥). ®- £«¨©áª¨ ¤¥à¥¢® ¡¥§ ¢ë¤¥«¥®£® ª®àï §ë¢ ¥âáï free tree. ਥâ¨à®¢ ë© æ¨ª«¨ç¥áª¨© £à ä (directed acyclic graph) ¯® £«¨©áª¨ ç á⮠᮪à é îâ ¤® "dag" (¯® ¯¥à¢ë¬ ¡ãª¢ ¬). ®£¤ à áᬠâਢ îâ ®¡®¡é¥¨ï ¯®ïâ¨ï £à ä . ¯à¨¬¥à, ¬®¦® à áᬠâਢ âì ¬ã«ì⨣à ä (multigraph), ª®â®àë© ¯®å®¦ ¥®à¨¥â¨à®¢ ë© £à ä, ® ¬®¦¥â ᮤ¥à¦ âì ¬®£® àñ¡¥à, ᮥ¤¨ïîé¨å ®¤ã ¨ âã ¦¥ ¯ àã ¢¥àè¨, â ª¦¥ àñ¡à -横«ë. ¨¯¥à£à ä (hypergraph) ®â«¨ç ¥âáï ®â ¥®à¨¥â¨à®¢ ®£® £à ä ⥬, çâ® ® ᮤ¥à¦¨â £¨¯¥ààñ¡à (hyperedges), ᮥ¤¨ïî騥 ¥ ¤¢¥ ¢¥àè¨ë, ¯à®¨§¢®«ì®¥ ¬®¦¥á⢮ ¢¥àè¨. ®£¨¥ «£®à¨â¬ë ®¡à ¡®âª¨ ®¡ëçëå £à 䮢 ¬®£ãâ ¡ëâì ®¡®¡é¥ë â ª¨¥ £à 䮯®¤®¡ë¥ áâàãªâãàë. ¯à ¦¥¨ï ¢¥ç¥à¨ª¥ ª ¦¤ë© £®áâì áç¨â ¥â, ᪮«ìª® à㪮¯®¦ ⨩ ® ᤥ« «. ®â®¬ ¢á¥ ç¨á« ᪫ ¤ë¢ îâáï. ®ª ¦¨â¥, çâ® ¯®«ãç¨âáï çñ⮥ ç¨á«®, ¤®ª § ¢ á«¥¤ãîéãî «¥¬¬ã ® à㪮¯®¦ â¨ïå (handshaking lemma): ¤«ï ¥®à¨¥â¨à®¢ ®£® £à ä á㬬 á⥯¥¥© ¢á¥å ¥£® ¢¥àè¨ à ¢ 㤢®¥®¬ã ç¨á«ã àñ¡¥à. 5.4-2 ®ª ¦¨â¥, çâ® âॡ®¢ ¨¥ k > 3 ¢ ®¯à¥¤¥«¥¨¨ 横« ¢ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ áãé¥á⢥® (¥á«¨ ¥£® ®â¬¥¨âì, ¢ «î¡®¬ £à ä¥, £¤¥ ¥áâì å®âì ®¤® ॡà®, ¡ã¤¥â 横«). 5.4-3 ®ª ¦¨â¥, çâ® ¥á«¨ ¢ £à ä¥ (®à¨¥â¨à®¢ ®¬ ¨«¨ ¥®à¨¥â¨à®¢ ®¬) ¥áâì ¯ãâì ¨§ ¢¥àè¨ë u ¢ ¢¥àè¨ã v, â® ¢ ñ¬ ¥áâì ¯à®á⮩ ¯ãâì ¨§ u ¢ v. ®ª ¦¨â¥, çâ® ¥á«¨ ¢ ®à¨¥â¨à®¢ ®¬ £à ä¥ ¥áâì 横«, â® ¢ ñ¬ ¥áâì ¯à®á⮩ 横«. 5.4-4 ®ª ¦¨â¥, çâ® ¢ á¢ï§®¬ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ (V; E ) ç¨á«® ¢¥àè¨ ¯à¥¢®á室¨â ç¨á«® àñ¡¥à ¥ ¡®«¥¥ 祬 1: jE j > jV j ; 1 5.4-5 ஢¥àìâ¥, çâ® ®â®è¥¨¥ "¡ëâì ¤®á⨦¨¬ë¬ ¨§" ï¥âáï (¤«ï ¥®à¨¥â¨à®¢ ®£® £à ä ) ®â®è¥¨¥¬ íª¢¨¢ «¥â®5.4-1 ¥à¥¢ìï 87 áâ¨. ª¨¥ ¨§ âàñå ᢮©áâ¢, ¢å®¤ïé¨å ¢ ®¯à¥¤¥«¥¨¥ ®â®è¥¨ï íª¢¨¢ «¥â®áâ¨, á¯à ¢¥¤«¨¢ë ¤«ï ®â®è¥¨ï ¤®á⨦¨¬®á⨠¢ ®à¨¥â¨à®¢ ®¬ £à ä¥? 5.4-6 à¨áã©â¥ ¥®à¨¥â¨à®¢ ãî ¢¥àá¨î £à ä à¨á. 5.2 ( ) ¨ ®à¨¥â¨à®¢ ãî ¢¥àá¨î £à ä à¨á. 5.2 (¡). 5.4-7? ª ¬®¦® ¯à¥¤áâ ¢¨âì £¨¯¥à£à ä á ¯®¬®éìî ¤¢ã¤®«ì®£® £à ä , ¨§®¡à ¦ ï ®â®è¥¨¥ ¨æ¨¤¥â®á⨠¢ £¨¯¥à£à ä¥ ®â®è¥¨¥¬ ᬥ¦®á⨠¢ ¤¢ã¤®«ì®¬ £à ä¥? (ª § ¨¥: ¢¥àè¨ ¬¨ ¤¢ã¤®«ì®£® £à ä ¤®«¦ë ¡ëâì ¢¥àè¨ë £¨¯¥à£à ä , â ª¦¥ £¨¯¥ààñ¡à £¨¯¥à£à ä .) 5.5 ¥à¥¢ìï ª ¨ á«®¢® "£à ä", á«®¢® "¤¥à¥¢®" â ª¦¥ 㯮âॡ«ï¥âáï ¢ ¥áª®«ìª¨å தá⢥ëå á¬ëá« å. í⮬ à §¤¥«¥ ¬ë ¤ ñ¬ ®¯à¥¤¥«¥¨ï ¨ à áᬠâਢ ¥¬ ᢮©á⢠¥áª®«ìª¨å ¢¨¤®¢ ¤¥à¥¢ì¥¢. à §¤¥« å 11.4 ¨ 23.1 ¬ë ¢¥àñ¬áï ª ¤¥à¥¢ìï¬ ¨ à áᬮâਬ á¯®á®¡ë ¨å ¯à¥¤áâ ¢«¥¨ï ¢ ¯à®£à ¬¬ å. 5.5.1 ¥à¥¢ìï ¡¥§ ¢ë¤¥«¥®£® ª®àï ª ¬ë £®¢®à¨«¨ ¢ à §¤¥«¥ 5.4, ¤¥à¥¢® (¡¥§ ¢ë¤¥«¥®£® ª®àï, free tree) ®¯à¥¤¥«ï¥âáï ª ª á¢ï§ë© 横«¨ç¥áª¨© ¥®à¨¥â¨à®¢ ë© £à ä. ᫨ ¥®à¨¥â¨à®¢ ë© £à ä ï¥âáï 横«¨ç¥áª¨¬, ® (¢®§¬®¦®) ¥á¢ï§ë¬, ¥£® §ë¢ îâ «¥á®¬ (forest); ª ª ¨ ¯®«®¦¥®, «¥á á®á⮨⠨§ ¤¥à¥¢ì¥¢ (ïîé¨åáï ¥£® á¢ï§ë¬¨ ª®¬¯®¥â ¬¨). ®£¨¥ «£®à¨â¬ë ®¡à ¡®âª¨ ¤¥à¥¢ì¥¢ ¯à¨¬¥¨¬ë ¨ ª «¥á ¬. à¨á. 5.4 ( ) ¨§®¡à ¦¥® ¤¥à¥¢®; à¨á. 5.4 (¡) ¨§®¡à ¦ñ «¥á. ¥á à¨á㪠5.4 (¡) ¥ ï¥âáï ¤¥à¥¢®¬, â ª ª ª ¥ á¢ï§¥. à ä à¨á㪥 5.4 (¢) ¥ ï¥âáï ¨ ¤¥à¥¢®¬, ¨ ¤ ¦¥ «¥á®¬, â ª ª ª ¢ ñ¬ ¥áâì 横«. á«¥¤ãî饩 ⥮६¥ 㪠§ ® ¥áª®«ìª® ¢ ¦ëå ᢮©á⢠¤¥à¥- ¨á㮪 5.4 ( ) ¥à¥¢® ¡¥§ ¢ë¤¥«¥®£® ª®àï. (¡) ¥á. (¢) à ä, ᮤ¥à¦ 騩 横«, ¥ ï¥âáï ¨ ¤¥à¥¢®¬, ¨ «¥á®¬. 88 « ¢ 5 ®¦¥á⢠¨á㮪 5.5 ¢ ¯à®áâëå ¯ã⨠¨§ u ¢ v ¢ì¥¢. ¥®à¥¬ 5.2 (¢®©á⢠¤¥à¥¢ì¥¢). ãáâì G = (V; E ) | ¥®à¨¥â¨à®¢ ë© £à ä. ®£¤ á«¥¤ãî騥 ᢮©áâ¢ à ¢®á¨«ìë: 1. G ï¥âáï ¤¥à¥¢®¬ (¡¥§ ¢ë¤¥«¥®£® ª®àï). 2. «ï «î¡ëå ¤¢ãå ¢¥àè¨ G áãé¥áâ¢ã¥â ¥¤¨áâ¢¥ë© á®¥¤¨ïî騩 ¨å ¯à®á⮩ ¯ãâì. 3. à ä G á¢ï§¥, ® ¯¥à¥áâ ñâ ¡ëâì á¢ï§ë¬, ¥á«¨ 㤠«¨âì «î¡®¥ ¥£® ॡà®. 4. à ä G á¢ï§¥ ¨ jE j = jV j ; 1. 5. à ä G 横«¨ç¥áª¨© ¨ jE j = jV j ; 1. 6. à ä G 横«¨ç¥áª¨©, ® ¤®¡ ¢«¥¨¥ «î¡®£® à¥¡à ª ¥¬ã ¯®à®¦¤ ¥â 横«. ®ª § ⥫ìá⢮. (1) ) (2): ®áª®«ìªã ¤¥à¥¢® á¢ï§®, ¤«ï «î¡ëå ¤¢ãå ¢¥àè¨ áãé¥áâ¢ã¥â ᮥ¤¨ïî騩 ¨å ¯ãâì; ¢ëª¨ã¢ ¨§ ¥£® «¨è¥¥, ¬®¦¥¬ áç¨â âì, çâ® íâ®â ¯ãâì ¯à®á⮩. ãáâì ¥áâì ¤¢ à §ëå ¯à®áâëå ¯ã⨠p1 ¨ p2 ¨§ ¥ª®â®àë© ¢¥àè¨ë u ¢ ¤àã£ãî ¢¥àè¨ã v (à¨á. 5.5). ®á¬®âਬ, £¤¥ í⨠¯ã⨠à á室ïâáï; ¯ãáâì w | ¯®á«¥¤ïï ®¡é ï ¢¥àè¨ ¯¥à¥¤ à §¢¥â¢«¥¨¥¬, x ¨ y | à §«¨çë¥ ¢¥àè¨ë, á«¥¤ãî騥 § w ¢ ¯ãâïå p1 ¨ p2. ¢¨£ ïáì ¯® ¯¥à¢®¬ã ¯ãâ¨, ¤®¦¤ñ¬áï ¬®¬¥â , ª®£¤ ¯ãâì ¢®¢ì ¯¥à¥á¥ª ¥âáï á® ¢â®àë¬ ¢ ¥ª®â®à®© ¢¥à訥 z. áᬮâਬ ãç á⮪ p0 ¯¥à¢®£® ¯ã⨠®â w ¤® z (ç¥à¥§ x) ¨ ãç á⮪ ¢â®à®£® ¯ã⨠p00 ®â w ¤® z (ç¥à¥§ y ). ã⨠p0 ¨ p00 ¥ ¨¬¥îâ ®¡é¨å ¢¥àè¨ (¥ áç¨â ï ª®æ®¢), ¯®áª®«ìªã z ¡ë«® ¯¥à¢®© ¢¥à訮© ¯ã⨠p1 ¯®á«¥ w, ¯®¯ ¢è¥© ¢ p2. ®íâ®¬ã ¬ë ¯®«ãç ¥¬ 横« (á®áâ®ï騩 ¨§ p0 ¨ ®¡à é¥¨ï ¯ã⨠p00). (2) ) (3) à ä, ®ç¥¢¨¤®, á¢ï§¥. ãáâì (u; v ) | «î¡®¥ ¥£® ॡà®. ᫨ ¯®á«¥ ¥£® 㤠«¥¨ï £à ä ®áâ ¥âáï á¢ï§ë¬, â® ¢ ñ¬ ¡ã¤¥â ¯ãâì, ᮥ¤¨ïî騩 u ¨ v | ¢â®à®© ¯ãâì, çâ® ¯à®â¨¢®à¥ç¨â ¯à¥¤¯®«®¦¥¨î. (3) ) (4) ® ãá«®¢¨î, £à ä á¢ï§¥, ¯®í⮬ã jE j > jV j; 1 (ã¯à. 5.44). ®ª ¦¥¬, çâ® jE j 6 jV j ; 1, à áá㦤 ï ¯® ¨¤ãªæ¨¨. ¢ï§ë© £à ä á n = 1; 2 ¢¥àè¨ ¬¨ ¨¬¥¥â n ; 1 àñ¡¥à. ãáâì £à ä G ¨¬¥¥â n > 3 àñ¡¥à ¨ ¤«ï £à 䮢 á ¬¥ì訬 ç¨á«®¬ àñ¡¥à è¥ ¥à ¢¥á⢮ 㦥 ¤®ª § ®. ¤ «¥¨¥ ॡà à §¡¨¢ ¥â £à ä G k > 2 á¢ï§ëå ª®¬¯®¥â ( á ¬®¬ ¤¥«¥ ¤¢¥, ® íâ® ¬ ¥ ¢ ¦®). «ï ¥à¥¢ìï 89 ª ¦¤®© ¨§ ª®¬¯®¥â ¢ë¯®«¥® ãá«®¢¨¥ (3). ¤ãªâ¨¢®¥ ¯à¥¤¯®«®¦¥¨¥ £ à â¨àã¥â, çâ® ®¡é¥¥ ç¨á«® àñ¡¥à ¢ ¨å ¥ ¡®«ìè¥ jV j ; k 6 jV j ; 2. ç¨â, ¤® 㤠«¥¨ï à¥¡à ¡ë«® ¥ ¡®«¥¥ jV j ; 1 àñ¡¥à. (4) ) (5) ãáâì £à ä á¢ï§¥ ¨ jE j = jV j; 1. ®ª ¦¥¬, çâ® £à ä ¥ ¨¬¥¥â 横«®¢. ᫨ 横« ¥áâì, 㤠«¥¨¥ «î¡®£® à¥¡à ¨§ 横« ¥ àãè ¥â á¢ï§®á⨠(¬®¦® ¯à®©â¨ ¯® ®áâ î饩áï ç á⨠横« ). 㤥¬ ¯®¢â®àïâì íâ® ¤® â¥å ¯®à, ¯®ª ¥ ®áâ ¥âáï á¢ï§ë© £à ä ¡¥§ 横«®¢ (¤¥à¥¢®). ª ¬ë 㦥 § ¥¬, ¤«ï ¤¥à¥¢ ç¨á«® àñ¡¥à ¥¤¨¨æã ¬¥ìè¥ ç¨á« ¢¥àè¨ | ® ¯® ¯à¥¤¯®«®¦¥¨î â® ¦¥ á®®â®è¥¨¥ ¡ë«® ¨ ¤® 㤠«¥¨ï àñ¡¥à, â ª ç⮠㤠«¨âì ¬ë ¨ç¥£® ¥ ¬®£«¨ ¨ á á ¬®£® ç « ¥ ¡ë«® 横«®¢. (5) ) (6) ãáâì £à ä G ¥ ¨¬¥¥â 横«®¢ ¨ jE j = jV j ; 1. ãáâì G ¨¬¥¥â k á¢ï§ëå ª®¬¯®¥â; ®¨ ¯® ®¯à¥¤¥«¥¨î ïîâáï ¤¥à¥¢ìﬨ. ë § ¥¬, çâ® ¢ ª ¦¤®© ¨§ ¨å ç¨á«® àñ¡¥à ¥¤¨¨æã ¬¥ìè¥ ç¨á« ¢¥àè¨, ¯®í⮬㠮¡é¥¥ ç¨á«® àñ¡¥à k ¬¥ìè¥ ç¨á« ¢¥àè¨. ç¨â, k = 1 ¨ £à ä ¯à¥¤áâ ¢«ï¥â ᮡ®© ¤¥à¥¢®. ñ¬ «î¡ë¥ ¤¢¥ ¢¥àè¨ë ¬®£ãâ ¡ëâì ᮥ¤¨¥ë ¯à®áâë¬ ¯ãâñ¬ (¬ë 㦥 § ¥¬, çâ® (1) ) (2)), ¨ ¯®â®¬ã ¤®¡ ¢«¥¨¥ «î¡®£® à¥¡à ¯®à®¦¤ ¥â 横«. (6) ) (1) ãáâì £à ä ï¥âáï 横«¨ç¥áª¨¬, ® ¤®¡ ¢«¥¨¥ «î¡®£® à¥¡à ¯®à®¦¤ ¥â 横«. ¤® ¯®ª § âì, çâ® ® á¢ï§¥. á ¬®¬ ¤¥«¥, à áᬮâਬ ¤¢¥ ¯à®¨§¢®«ìë¥ ¢¥àè¨ë u ¨ v. ë § ¥¬, çâ® ¤®¡ ¢«¥¨¥ ॡà (u; v) ¯®à®¦¤ ¥â 横«. í⮬ 横«¥ ¤®«¦® ¢áâà¥ç âìáï ॡ஠(u; v), ¯®áª®«ìªã ¤® ¥£® ¤®¡ ¢«¥¨ï 横« ¥ ¡ë«® | ® ⮫쪮 ®¤¨ à §, ¨ ®áâ «ì ï ç áâì 横« ᮥ¤¨ï¥â u ¨ v , çâ® ¨ âॡ®¢ «®áì. 5.5.2 ¥à¥¢ìï á ª®à¥¬. ਥâ¨à®¢ ë¥ ¤¥à¥¢ìï ¥à¥¢® á ª®à¥¬, ¨«¨ ª®à¥¢®¥ ¤¥à¥¢® (rooted tree), ¯®«ãç ¥âáï, ¥á«¨ ¢ ¤¥à¥¢¥ (á¢ï§®¬ 横«¨ç¥áª®¬ ¥®à¨¥â¨à®¢ ®¬ £à ä¥) ¢ë¤¥«¨âì ®¤ã ¨§ ¢¥àè¨ ¢ë¤¥«¥ , §¢ ¢ ¥ñ ª®à¥¬ (root). ¥àè¨ë ª®à¥¢®£® ¤¥à¥¢ ¯®- £«¨©áª¨ §ë¢ îâáï â ª¦¥ "nodes". à¨á㪥 5.6 ( ) ¯®ª § ® ª®à¥¢®¥ ¤¥à¥¢® á 12 ¢¥àè¨ ¬¨ ¨ ª®à¥¬ 7. ãáâì x | ¯à®¨§¢®«ì ï ¢¥àè¨ ª®à¥¢®£® ¤¥à¥¢ á ª®à¥¬ ¢ r. ãé¥áâ¢ã¥â ¥¤¨áâ¢¥ë© ¯ãâì ¨§ r ¢ x; ¢á¥ ¢¥àè¨ë, 室ï騥áï í⮬ ¯ãâ¨, ¬ë §ë¢ ¥¬ ¯à¥¤ª ¬¨ (ancestors) ¢¥àè¨ë x. ᫨ y ï¥âáï ¯à¥¤ª®¬ x, â® x §ë¢ ¥âáï ¯®â®¬ª®¬ (descendant) y . ¦¤ãî ¢¥àè¨ã ¬ë áç¨â ¥¬ ᢮¨¬ ¯à¥¤ª®¬ ¨ ¯®â®¬ª®¬. ।ª¨ ¨ ¯®â®¬ª¨ ¢¥àè¨ë x, ¥ ᮢ¯ ¤ î騥 á x, §ë¢ îâáï ᮡá⢥묨 ¯à¥¤ª ¬¨ (proper ancestors) ¨ ᮡá⢥묨 ¯®â®¬ª ¬¨ (proper descendants) ¢¥àè¨ë x. [â â¥à¬¨®«®£¨ï ¥ ¢¯®«¥ 㤠ç : äà §ã "¢¥àè¨ ï¢«ï¥âáï ᢮¨¬ ᮡáâ¢¥ë¬ ¯®â®¬ª®¬" ¬®¦® ⮫ª®¢ âì ¯® à §®¬ã, ¨ ¯à¨ ®¤®¬ ⮫ª®¢ ¨¨ ® 90 « ¢ 5 ®¦¥á⢠¢ëá®â = 4, £«ã¡¨ 0, £«ã¡¨ 1 ¨ â.¯. ¨á㮪 5.6 ( ) ®à¥¢®¥ ¤¥à¥¢® ¢ëá®âë 4. ¥à¥¢® à¨á®¢ ® ®¡ëçë¬ ®¡à §®¬: ª®à¥ì (¢¥àè¨ 7) à¨á®¢ ᢥàåã, á®á¥¤¨¥ á ¨¬ ¢¥àè¨ë (¤¥â¨ ª®àï, ¢¥àè¨ë £«ã¡¨ë 1) à¨á®¢ ë ¯®¤ ¥©, ¢¥àè¨ë á«¥¤ãî饣® ã஢ï (¤¥â¨ ¤¥â¥© ª®àï, ¢¥àè¨ë £«ã¡¨ë 2) ¯®¤ ¨¬¨ ¨ â. ¤. «ï ¤¥à¥¢ì¥¢ á ¯®à浪®¬ ¤¥âïå ¤«ï ª ¦¤®© ¢¥àè¨ë 䨪á¨à®¢ ¯®à冷ª ¬®¦¥á⢥ ¥ñ ¤¥â¥©. (¡) ® ¦¥ á ¬®¥ ª®à¥¢®¥ ¤¥à¥¢®, ® á ¤à㣨¬ ¯®à浪®¬ (á।¨ ¤¥â¥© ¢¥àè¨ë 3), ¡ã¤¥â ¤à㣨¬ ¤¥à¥¢®¬ á ¯®à浪®¬ ¤¥âïå. ¢¥à , ¯à¨ ¤à㣮¬ ¥â.] «ï ª ¦¤®© ¢¥àè¨ë x ¬®¦® à áᬮâà¥âì ¤¥à¥¢®, á®áâ®ï饥 ¨§ ¢á¥å ¯®â®¬ª®¢ x, ¢ ª®â®à®¬ x áç¨â ¥âáï ª®à¥¬. ® §ë¢ ¥âáï ¯®¤¤¥à¥¢®¬ á ª®à¥¬ ¢ x (subtree rooted at x). ¯à¨¬¥à, à¨á. 5.6 ( ) ¯®¤¤¥à¥¢® á ª®à¥¬ ¢ 8 ᮤ¥à¦¨â ¢¥àè¨ë 8, 6, 5 ¨ 9. ᫨ (y; x) | ¯®á«¥¤¥¥ ॡ஠¯ã⨠¨§ ª®àï ¢ x, â® y §ë¢ ¥âáï த¨â¥«¥¬ (parent) x, x §ë¢ ¥âáï ॡñª®¬ y. [ ìè¥ ¢¬¥áâ® "த¨â¥«ì" ¨ "ॡñ®ª" £®¢®à¨«¨ "®â¥æ" (father) ¨ "áë" (son), çâ® ¡ë«® ¡®«¥¥ «®£¨ç®, â ª ª ª ¢®®¡é¥-â® ã 祫®¢¥ª ¤¢®¥ த¨â¥«¥©, ã ¢¥àè¨ë ¤¥à¥¢ | ¥ ¡®«¥¥ ®¤®£®. â® ¯à¨ïâ ï ⥯¥àì ¢ ¬¥à¨ª ᪮© «¨â¥à âãॠâ¥à¬¨®«®£¨ï "¯®«¨â¨ç¥áª¨ ª®à४â ".] ®à¥ì ï¥âáï ¥¤¨á⢥®© ¢¥à訮©, ã ª®â®à®© ¥â த¨â¥«ï. ¥àè¨ë, ¨¬¥î騥 ®¡é¥£® த¨â¥«ï, §ë¢ îâ ¢ ¬¥à¨ª ᪮© «¨â¥à âãॠsiblings; ª ᮦ «¥¨î, àãá᪮£® ¯¥à¥¢®¤ ã í⮣® á«®¢ ¥â, ¨ ¬ë ¡ã¤¥¬ (ª ª íâ® ¤¥« «®áì à ìè¥) §ë¢ âì â ª¨¥ ¢¥àè¨ë ¡à âìﬨ. ¥àè¨ ª®à¥¢®£® ¤¥à¥¢ , ¥ ¨¬¥îé ï ¤¥â¥©, §ë¢ ¥âáï «¨á⮬ (leaf, external node). ¥àè¨ë, ¨¬¥î騥 ¤¥â¥©, §ë¢ îâáï ¢ãâ२¬¨ (internal). ¨á«® ¤¥â¥© ã ¢¥àè¨ë ª®à¥¢®£® ¤¥à¥¢ §ë¢ ¥âáï ¥ñ á⥯¥ìî (degree). ⬥⨬, çâ® ¤«ï ¢á¥å ¢¥àè¨, ªà®¬¥ ª®àï, á⥯¥ì ¥¤¨¨æã ¬¥ìè¥ á⥯¥¨ ⮩ ¦¥ ¢¥àè¨ë ¢ ⮬ ¦¥ ¤¥à¥¢¥, ¥á«¨ à áᬠâਢ âì ¤¥à¥¢® ª ª ¥®à¨¥â¨à®¢ ë© £à ä (¯®áª®«ìªã ⮣¤ ¤® ãç¨âë¢ âì ¨ ॡà®, ¨¤ã饥 ¢¢¥àå). «¨ ¯ã⨠®â ª®àï ¤® ¯à®¨§¢®«ì®© ¢¥àè¨ë x §ë¢ ¥âáï £«ã¡¨®© (depth) ¢¥àè¨ë x. ªá¨¬ «ì ï £«ã¡¨ ¢¥àè¨ ¤¥à¥¢ §ë¢ ¥âáï ¢ëá®â®© (height) ¤¥à¥¢ . ¥à¥¢®¬ á ¯®à浪®¬ ¤¥âïå (ordered tree) §ë¢ ¥âáï ª®à¥¢®¥ ¥à¥¢ìï 91 ¨á㮪 5.7 ¢®¨çë¥ ¤¥à¥¢ìï. ( ) ¢®¨ç®¥ ¤¥à¥¢®, ¨§®¡à ¦ñ®¥ âà ¤¨æ¨®ë¬ ®¡à §®¬. ¥¢ë© ॡñ®ª ¢¥àè¨ë à¨á®¢ á«¥¢ -ᨧ㠮⠥ñ, ¯à ¢ë© | á¯à ¢ -ᨧã. (¡) à㣮¥ ¤¢®¨ç®¥ ¤¥à¥¢® (®â«¨ç¨¥ ¢ ⮬, ç⮠⥯¥àì ã ¢¥àè¨ë 7 ¥áâì ¯à ¢ë© à¥¡ñ®ª 5 ¨ ¥â «¥¢®£®, ¥ ®¡®à®â). ª®¥ à §«¨ç¨¥ ¢®§¬®¦® ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥, ® ¥ ¢ ¤¥à¥¢¥ á ¯®à浪®¬ ¤¥âïå. (¢) ®¡ ¢«ïï ¤®¯®«¨â¥«ìë¥ «¨áâìï ª ¤¥à¥¢ã (a), ¬ë ¯®«ãç ¥¬ ¤¥à¥¢®, ã ª®â®à®£® ª ¦¤ ï áâ à ï ¢¥àè¨ ¨¬¥¥â ¤¢ãå ¤¥â¥©. ®¡ ¢«¥ë¥ «¨áâìï ¨§®¡à ¦¥ë ª¢ ¤à ⨪ ¬¨. ¤¥à¥¢® á ¤®¯®«¨â¥«ì®© áâàãªâãன: ¤«ï ª ¦¤®© ¢¥àè¨ë ¬®¦¥á⢮ ¥ñ ¤¥â¥© 㯮à冷祮 (¨§¢¥áâ®, ª ª®© ¥ñ ¯®â®¬®ª ¯¥à¢ë©, ª ª®© ¢â®à®© ¨ â. ¤.). ¢ ¤¥à¥¢ à¨á. 5.6 ®¤¨ ª®¢ë ª ª ª®à¥¢ë¥ ¤¥à¥¢ìï, ® à §«¨çë ª ª ¤¥à¥¢ìï á ¯®à浪®¬ ¤¥âïå. 5.5.3 ¢®¨çë¥ ¤¥à¥¢ìï. ®§¨æ¨®ë¥ ¤¥à¥¢ìï ¢®¨ç®¥ ¤¥à¥¢® (binary tree) ¯à®é¥ ¢á¥£® ®¯à¥¤¥«¨âì ४ãàᨢ® ª ª ª®¥çë© ¡®à ¢¥àè¨, ª®â®àë© «¨¡® ¯ãáâ (¥ ᮤ¥à¦¨â ¢¥àè¨), «¨¡® à §¡¨â âਠ¥¯¥à¥á¥ª î騥áï ç áâ¨: ¢¥àè¨ã, §ë¢ ¥¬ãî ª®à¥¬ (root), ¤¢®¨ç®¥ ¤¥à¥¢®, §ë¢ ¥¬®¥ «¥¢ë¬ ¯®¤¤¥à¥¢®¬ (left subtree) ª®àï, ¨ ¤¢®¨ç®¥ ¤¥à¥¢®, §ë¢ ¥¬®¥ ¯à ¢ë¬ ¯®¤¤¥à¥¢®¬ (right subtree) ª®àï. ¢®¨ç®¥ ¤¥à¥¢®, ¥ ᮤ¥à¦ 饥 ¢¥àè¨, §ë¢ ¥âáï ¯ãáâë¬ (empty). ® ¨®£¤ ®¡®§ ç ¥âáï nil. ᫨ «¥¢®¥ ¯®¤¤¥à¥¢® ¥¯ãáâ®, â® ¥£® ª®à¥ì §ë¢ ¥âáï «¥¢ë¬ ॡñª®¬ (left child) ª®àï ¢á¥£® ¤¥à¥¢ ; ¯à ¢ë© ॡñ®ª (right child) ®¯à¥¤¥«ï¥âáï «®£¨ç®. ᫨ «¥¢®¥ ¨«¨ ¯à ¢®¥ ¯®¤¤¥à¥¢® ª®àï ¯ãáâ®, â® £®¢®àïâ, çâ® ã ª®àï ¥â «¥¢®£® ¨«¨ ¯à ¢®£® ॡñª (child is absent). ਬ¥à ¤¢®¨ç®£® ¤¥à¥¢ ¯®ª § à¨á. 5.7 ( ). ë«® ¡ë ®è¨¡ª®© ®¯à¥¤¥«¨âì ¤¢®¨ç®¥ ¤¥à¥¢® ¯à®áâ® ª ª ¤¥à¥¢® á ¯®à浪®¬ ¤¥âïå, ¢ ª®â®à®¬ á⥯¥ì ª ¦¤®© ¢¥àè¨ë ¥ ¯à¥¢®á室¨â 2. ¥«® ¢ ⮬, çâ® ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ ¢ ¦®, ª ª¨¬ ï¥âáï ¥¤¨áâ¢¥ë© à¥¡ñ®ª ¢¥àè¨ë á⥯¥¨ 1 | «¥¢ë¬ ¨«¨ ¯à ¢ë¬, ¤«ï ¤¥à¥¢ á ¯®à浪®¬ ¤¥âïå â ª®£® à §«¨ç¨ï ¥ áãé¥áâ¢ã¥â. à¨á. 5.7 ( ,¡) ¯®ª § ë ¤¢ à §«¨çëå ¤¢®¨çëå ¤¥à¥¢ , ª®â®àë¥ 92 « ¢ 5 ®¦¥á⢠¢ëá®â =3, £«ã¡¨ 0, £«ã¡¨ 1 ¨ â.¯. ¨á㮪 5.8 ®«®¥ ¤¢®¨ç®¥ ¤¥à¥¢® ¢ëá®âë 3 ¨¬¥¥â 8 «¨áâ쥢 ¨ 7 ¢ãâà¥¨å ¢¥àè¨. ®¤¨ ª®¢ë ª ª ¤¥à¥¢ìï á ¯®à浪®¬ ¤¥âïå. ãáâãî騥 ¬¥áâ ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ ç áâ® § ¯®«ïîâ 䨪⨢묨 «¨áâìﬨ. ®á«¥ í⮣® ã ª ¦¤®© áâ ன ¢¥àè¨ë ¡ã¤¥â ¤¢®¥ ¤¥â¥© («¨¡® ¯à¥¦¨å, «¨¡® ¤®¡ ¢«¥ëå). â® ¯à¥®¡à §®¢ ¨¥ ¯®ª § ® à¨á. 5.7 (¢). ®¦® ®¯à¥¤¥«¨âì «®£¨ ¤¢®¨çëå ¤¥à¥¢ì¥¢ ¤«ï ¤¥à¥¢ì¥¢ ¡®«ì襩 á⥯¥¨: ¤¢®¨çë¥ ¤¥à¥¢ìï ïîâáï ç áâë¬ á«ãç ¥¬ k¨çëå (k-ary) ¤¥à¥¢ì¥¢ ¯à¨ k = 2. ®«¥¥ ¯®¤à®¡®, ¯®§¨æ¨®®¥ ¤¥à¥¢® (positional tree) ®¯à¥¤¥«ï¥âáï ª ª ª®à¥¢®¥ ¤¥à¥¢®, ¢ ª®â®à®¬ ¤¥â¨ «î¡®© ¢¥àè¨ë ¯®¬¥ç¥ë à §«¨ç묨 楫묨 ¯®«®¦¨â¥«ì묨 ç¨á« ¬¨, ª®â®àë¥ áç¨â îâáï ¨å ®¬¥à ¬¨. ਠí⮬ ã ª ¦¤®© ¢¥àè¨ë ¥áâì ¢ ª ᨨ ¤«ï ¤¥â¥© ®¬¥à 1, 2, 3 ¨ â ª ¤ «¥¥, ¨§ ª®â®àëå ¥ª®â®àë¥ (ª®¥ç®¥ ç¨á«®) § ¯®«¥ë, ®áâ «ìë¥ á¢®¡®¤ë (ith child is absent). ਠí⮬ k-¨çë¬ ¤¥à¥¢®¬ §ë¢ ¥âáï ¯®§¨æ¨®®¥ ¤¥à¥¢®, ¥ ¨¬¥î饥 ¢¥àè¨ á ®¬¥à ¬¨ ¡®«ìè¥ k. ®«ë¬ k-¨çë¬ ¤¥à¥¢®¬ (complete k-ary tree) §ë¢ ¥âáï k-¨ç®¥ ¤¥à¥¢®, ¢ ª®â®à®¬ ¢á¥ «¨áâìï ¨¬¥îâ ®¤¨ ª®¢ãî £«ã¡¨ã ¨ ¢á¥ ¢ãâ२¥ ¢¥àè¨ë ¨¬¥îâ á⥯¥ì k. (¥¬ á ¬ë¬ áâàãªâãà â ª®£® ¤¥à¥¢ ¯®«®áâìî ®¯à¥¤¥«ï¥âáï ¥£® ¢ëá®â®©.) à¨á. 5.8 ¯®ª § ® ¯®«®¥ ¤¢®¨ç®¥ ¤¥à¥¢® ¢ëá®âë 3. ®¤áç¨â ¥¬, ᪮«ìª® «¨áâ쥢 ¨¬¥¥â ¯®«®¥ k-¨ç®¥ ¤¥à¥¢® ¢ëá®âë h. ®à¥ì ï¥âáï ¥¤¨á⢥®© ¢¥à訮© £«ã¡¨ë 0, ¥£® k ¤¥â¥© ïîâáï ¢¥àè¨ ¬¨ £«ã¡¨ë 1, ¨å ¤¥â쬨 ïîâáï k2 ¢¥àè¨ £«ã¡¨ë k ¨ â ª ¤ «¥¥ ¢¯«®âì ¤® kh «¨áâ쥢 £«ã¡¨ë h. ®¦® ¤®¡ ¢¨âì, çâ® ¢ëá®â k¨ç®£® ¤¥à¥¢ á n «¨áâìﬨ à ¢ logk n (â ª®¥ ¤¥à¥¢® áãé¥áâ¢ã¥â, ⮫쪮 ¥á«¨ íâ®â «®£ à¨ä¬ 楫ë©). ¨á«® ¢ãâà¥¨å ¢¥àè¨ ¯®«®£® k-¨ç®£® ¤¥à¥¢ ¢ëá®âë h à ¢® h 1 + k + k2 + : : : + kh;1 = kk ;;11 (á¬. (3.3)). ç áâ®áâ¨, ¤«ï ¯®«®£® ¤¢®¨ç®£® ¤¥à¥¢ ç¨á«® ¢ãâà¥¨å ¢¥àè¨ ¥¤¨¨æã ¬¥ìè¥ ç¨á« «¨áâ쥢. ¤ ç¨ ª £« ¢¥ 5 93 ¯à ¦¥¨ï à¨áã©â¥ ¢á¥ ¤¥à¥¢ìï (¡¥§ ¢ë¤¥«¥®£® ª®àï), ᮤ¥à¦ 騥 âਠ¢¥àè¨ë A, B ¨ C . à¨áã©â¥ ¢á¥ ª®à¥¢ë¥ ¤¥à¥¢ìï á ¢¥àè¨ ¬¨ A, B ¨ C ¨ ª®à¥¬ A. à¨áã©â¥ ¢á¥ (ª®à¥¢ë¥) ¤¥à¥¢ìï á ¯®à浪®¬ ¤¥âïå á ¢¥àè¨ ¬¨ A, B ¨ C ¨ ª®à¥¬ A. à¨áã©â¥ ¢á¥ ¤¢®¨çë¥ ¤¥à¥¢ìï á ¢¥àè¨ ¬¨ A, B ¨ C ¨ ª®à¥¬ A. 5.5-2 ®ª ¦¨â¥, çâ® ¤«ï «î¡®£® n > 7 áãé¥áâ¢ã¥â ¤¥à¥¢® c n ¢¥àè¨ ¬¨, ¨§ ª®â®à®£® ¬®¦® ¯®«ãç¨âì n à §«¨çëå ª®à¥¢ëå ¤¥à¥¢ì¥¢, ®¡ê¢ ª®à¥¬ ®¤ã ¨§ n ¢¥àè¨. 5.5-3 ãáâì G = (V; E ) | ®à¨¥â¨à®¢ ë© æ¨ª«¨ç¥áª¨© £à ä, ¢ ª®â®à®¬ áãé¥áâ¢ã¥â ¢¥àè¨ v0, ¨§ ª®â®à®© ¢ ª ¦¤ãî ¤àã£ãî v 2 V ¢¥¤ñâ ¥¤¨áâ¢¥ë© ¯ãâì. ®ª ¦¨â¥, çâ® ¥®à¨¥â¨à®¢ ë© ¢ ਠ⠣à ä G ï¥âáï ¤¥à¥¢®¬. 5.5-4 ®ª ¦¨â¥ ¯® ¨¤ãªæ¨¨, çâ® ¢ «î¡®¬ ¤¢®¨ç®¬ ¤¥à¥¢¥ ç¨á«® ¢¥àè¨ á⥯¥¨ 2 ¥¤¨¨æã ¬¥ìè¥ ç¨á« «¨áâ쥢. 5.5-5 ®ª ¦¨â¥, çâ® ¤¢®¨ç®¥ ¤¥à¥¢® á n ¢¥àè¨ ¬¨ ¨¬¥¥â ¢ëá®âã ¥ ¬¥ìè¥ blg nc. 5.5-6? ¯à¥¤¥«¨¬ ¢ãâà¥îî á㬬㠤«¨ (internal path length) ¤«ï ¤¢®¨ç®£® ¤¥à¥¢ , ¢ ª®â®à®¬ ª ¦¤ ï ¢¥àè¨ ¨¬¥¥â á⥯¥ì 0 ¨«¨ 2, ª ª á㬬㠣«ã¡¨ ¢á¥å ¢ãâà¥¨å ¢¥àè¨. ¯à¥¤¥«¨¬ ¢¥èîî á㬬㠤«¨ ¤«ï í⮣® ¦¥ ¤¥à¥¢ ª ª á㬬㠣«ã¡¨ ¢á¥å ¥£® «¨áâ쥢. ãáâì n | ç¨á«® ¢ãâà¥¨å ¢¥àè¨ â ª®£® ¤¥à¥¢ , i ¨ e | ¢ãâà¥ïï ¨ ¢¥èïï áã¬¬ë ¤«¨. ®ª ¦¨â¥, çâ® e = i + 2n. 5.5-7? ¯à¥¤¥«¨¬ "¢¥á" «¨áâ ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ ª ª 2;d , £¤¥ d | ¥£® £«ã¡¨ . ®ª ¦¨â¥, çâ® á㬬 ¢¥á®¢ ¢á¥å «¨áâ쥢 ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ ¥ ¯à¥¢®á室¨â 1 (¥à ¢¥á⢮ à äâ , Kraft inequality) 5.5-8? ®ª ¦¨â¥, çâ® ¢ «î¡®¬ ¤¢®¨ç®¬ ¤¥à¥¢¥ á L «¨áâìﬨ ¬®¦® ©â¨ ¯®¤¤¥à¥¢®, ç¨á«® «¨áâ쥢 ¢ ª®â®à®¬ 室¨âáï ®â१ª¥ [L=3; 2L=3]. 5.5-1 ¤ ç¨ 5-1 áªà ᪠£à ä §®¢ñ¬ k-à áªà ᪮© ¥®à¨¥â¨à®¢ ®£® £à ä (V; E ) äãªæ¨î c : V ! f0; 1; : : :; k ; 1g, ¤«ï ª®â®à®£® c(u) 6= c(v ) ¤«ï «î¡ëå ¤¢ãå ᬥ¦ëå ¢¥àè¨ u ¨ v. (®æë «î¡®£® à¥¡à ¤®«¦ë ¨¬¥âì à §ë¥ æ¢¥â .) . ®ª ¦¨â¥, çâ® «î¡®¥ ¤¥à¥¢® ¨¬¥¥â 2-à áªà áªã. 94 « ¢ 5 ®¦¥á⢠¡. ®ª ¦¨â¥, çâ® á«¥¤ãî騥 ᢮©á⢠¥®à¨¥â¨à®¢ ®£® £à ä G à ¢®á¨«ìë: 1. à ä G ¤¢ã¤®«ìë©. 2. à ä G ¨¬¥¥â 2-à áªà áªã. 3. à ä G ¥ ¨¬¥¥â 横«®¢ ¥çñ⮩ ¤«¨ë. ¢. ãáâì d | ¬ ªá¨¬ «ì ï á⥯¥ì ¢¥àè¨ ¥®à¨¥â¨à®¢ ®£® £à ä G. ®ª ¦¨â¥, çâ® G ¨¬¥¥â (d + 1)-à áªà áªã. £p. ®ª ¦¨â¥, çâ® ¥á«¨ £à ä G ¨¬¥¥â O(jV j) àñ¡¥à, â® G ¨¬¥¥â O( jV j)-à áªà áªã. 5-2 à äë ¨ «î¤¨ ¥à¥¢¥¤¨â¥ ï§ëª ¥®à¨¥â¨à®¢ ëå £à 䮢 á«¥¤ãî騥 ã⢥ত¥¨ï ¨ ¤®ª ¦¨â¥ ¨å. (।¯®« £ ¥âáï, çâ® ®â®è¥¨¥ "¡ëâì ¤à㣮¬" ᨬ¬¥âà¨ç®, ¨ 祫®¢¥ª ¥ ¢ª«îç ¥âáï ¢ ç¨á«® ᢮¨å ¤à㧥©.) . «î¡®© ª®¬¯ ¨¨ ¨§ n > 2 祫®¢¥ª ©¤ãâáï ¤¢ 祫®¢¥ª á ®¤¨ ª®¢ë¬ ç¨á«®¬ ¤à㧥© (á।¨ ¯à¨áãâáâ¢ãîé¨å). ¡. «î¡®© £à㯯¥ ¨§ 6 祫®¢¥ª ¬®¦® ©â¨ «¨¡® âàñå 祫®¢¥ª, ïîé¨åáï ¤àã§ìﬨ ¤à㣠¤à㣠, «¨¡® âàñå 祫®¢¥ª, ¨ª ª¨¥ ¤¢®¥ ¨§ ª®â®àëå ¥ ïîâáï ¤àã§ìﬨ. ¢. î¡ãî ª®¬¯ ¨î «î¤¥© ¬®¦® à §¢¥á⨠¯® ¤¢ã¬ ª®¬ â ¬ â ª, çâ® ¤«ï ª ¦¤®£® 祫®¢¥ª ª ª ¬¨¨¬ã¬ ¯®«®¢¨ ¥£® ¤à㧥© ®ª ¦ãâáï ¢ ¤à㣮© ª®¬ â¥. £. ᫨ ¢ ª®¬¯ ¨¨ ¨§ n 祫®¢¥ª ã ª ¦¤®£® ¥ ¬¥¥¥ n=2 ¤à㧥©, â® íâã ª®¬¯ ¨î ¬®¦® à áá ¤¨âì § ªàã£«ë¬ á⮫®¬ â ª, çâ®¡ë ª ¦¤ë© ᨤ¥« ¬¥¦¤ã ¤¢ã¬ï ᢮¨¬¨ ¤àã§ìﬨ. 5-3 §¡¨¥¨¥ ¤¥à¥¢ì¥¢ ç á⨠®£¨¥ «£®à¨â¬ë £à ä å, ¤¥©áâ¢ãî騥 ¯® ¯à¨æ¨¯ã "à §¤¥«ï© ¨ ¢« áâ¢ã©", ¤¥«ïâ £à ä ¤¢¥ ç áâ¨, ¯à¨ í⮬ ¦¥« â¥«ì® ã¤ «ïâì ª ª ¬®¦® ¬¥ìè¥ àñ¡¥à ¨ ¯®«ãç¨âì ¤¢¥ ç á⨠¯® ¢®§¬®¦®á⨠¡«¨§ª®£® à §¬¥à . . ®ª ¦¨â¥, çâ® ¢ «î¡®¬ ¤¢®¨ç®¬ ¤¥à¥¢¥ á n ¢¥àè¨ ¬¨ ¬®¦® ©â¨ ॡà®, ¯®á«¥ 㤠«¥¨ï ª®â®à®£® ¯®«ãç âáï ¤¢¥ ç áâ¨ à §¬¥à ¥ ¡®«ìè¥ 3n=4 ª ¦¤ ï. ¡. ®ª ¦¨â¥, çâ® ª®áâ âã 3=4 ¢ ¯ãªâ¥ ( ) ¥«ì§ï ã«ãçè¨âì, ¯à¨¢¥¤ï ¯à¨¬¥à ¤¢®¨ç®£® ¤¥à¥¢ , ¤«ï ª®â®à®£® ¯®á«¥ 㤠«¥¨ï «î¡®£® à¥¡à ¢ ®¤®© ¨§ ç á⥩ ®áâ ñâáï ¥ ¬¥¥¥ 3n=4 ¢¥àè¨. ¢. ®ª ¦¨â¥, çâ® ¬®¦¥á⢮ ¢¥àè¨ «î¡®£® ¤¢®¨ç®£® ¤¥à¥¢ á n ¢¥àè¨ ¬¨ ¬®¦® à §¡¨âì ¤¢¥ ç á⨠A ¨ B â ª¨¬ ®¡à §®¬, çâ® jAj = bn=2c, jBj = dn=2e, ç¨á«® àñ¡¥à, ᮥ¤¨ïîé¨å ¢¥àè¨ë ¨§ à §ëå ç á⥩, ¥áâì O(lg n). ¬¥ç ¨ï ª £« ¢¥ 5 95 ¬¥ç ¨ï ᮢ ⥫ì ᨬ¢®«¨ç¥áª®© «®£¨ª¨ ã«ì (G. Boole) ¢¢ñ« ¬®£¨¥ ¨§ ë¥è¨å ⥮à¥â¨ª®-¬®¦¥á⢥ëå ®¡®§ 票© ¢ ª¨£¥, ®¯ã¡«¨ª®¢ ®© ¢ 1854 £®¤ã. ®¢à¥¬¥ ï ⥮à¨ï ¬®¦¥á⢠(¯à¥¦¤¥ ¢á¥£® ⥮à¨ï ¬®é®á⥩ ¡¥áª®¥çëå ¬®¦¥áâ¢) ¡ë« ᮧ¤ â®à®¬ (G. Cantor) ¢ 1874{1895 £®¤ å. ¥à¬¨ "äãªæ¨ï" ¨á¯®«ì§®¢ « ¥©¡¨æ (G.W. Leibnitz) ¢ ¯à¨¬¥¥¨¨ ª ¥ª®â®àë¬ ¬ ⥬ â¨ç¥áª¨¬ ä®à¬ã« ¬. ¯à¥¤¥«¥¨¥ äãªæ¨¨ ¢¯®á«¥¤á⢨¨ ¬®£®ªà â® ®¡®¡é «®áì. ¥®à¨ï £à 䮢 ¢®á室¨â ª 1736 £®¤ã, ª®£¤ ©«¥à (L. Euler) ¯®ª § «, çâ® ¥¢®§¬®¦® ¯à®©â¨ ¯® ¢á¥¬ ᥬ¨ ¬®áâ ¬ £®à®¤ ñ¨£á¡¥à£ ¯® ®¤®¬ã à §ã ¨ ¢¥àãâìáï ¢ ¨á室ãî â®çªã. ®«¥§ë¬ á¯à ¢®ç¨ª®¬ ¯® ®¯à¥¤¥«¥¨ï¬ ¨ १ã«ìâ â ¬ ⥮ਨ £à 䮢 ï¥âáï ª¨£ à ਠ[94]. 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì í⮩ £« ¢¥ ¨§« £ îâáï ç « ª®¬¡¨ â®à¨ª¨ ¨ ⥮ਨ ¢¥à®ïâ®á⥩. ᫨ ¢ë § ª®¬ë á ¨¬¨, ᮢ¥â㥬 ¯à®á¬®âà¥âì ç «® £« ¢ë ¨ ¢¨¬ â¥«ì® ¯à®ç¥áâì ¯®á«¥¤¨¥ à §¤¥«ë. ®£¨¥ £« ¢ë í⮩ ª¨£¨ ¥ ¨á¯®«ì§ãîâ ⥮à¨î ¢¥à®ïâ®á⥩, ® ª®¥-£¤¥ ® ¥®¡å®¤¨¬ . §¤¥« 6.1 ¯®¬¨ ¥â ®á®¢ë¥ ä ªâë ª®¬¡¨ â®à¨ª¨ (¢ ⮬ ç¨á«¥ ä®à¬ã«ë ¤«ï ¯¥à¥áâ ®¢®ª ¨ á®ç¥â ¨©). §¤¥« 6.2 ᮤ¥à¦¨â ªá¨®¬ë ¢¥à®ïâ®á⨠¨ ®á®¢ë¥ ä ªâë ® à á¯à¥¤¥«¥¨ïå ¢¥à®ïâ®á⥩. à §¤¥«¥ 6.3 ®¯à¥¤¥«ïîâáï ¯®ïâ¨ï á«ãç ©®© ¢¥«¨ç¨ë, ¥¥ ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï ¨ ¤¨á¯¥àᨨ. §¤¥« 6.4 ¯®á¢ïé¥ £¥®¬¥âà¨ç¥áª®¬ã ¨ ¡¨®¬¨ «ì®¬ã à á¯à¥¤¥«¥¨ï¬. áá«¥¤®¢ ¨¥ ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï ¯à®¤®«¦ ¥âáï ¢ à §¤¥«¥ 6.5 (®æ¥ª "墮á⮢"). ¯®á«¥¤¥¬ à §¤¥«¥ 6.6 ¯à¨¬¥¥¨¥ ⥮ਨ ¢¥à®ïâ®á⥩ ¨««îáâà¨àã¥âáï ¯à¨¬¥à¥ âàñå § ¤ ç: ¯ à ¤®ªá ¤ï ஦¤¥¨ï, á«ãç ©®£® à á¯à¥¤¥«¥¨ï è ஢ ¯® ãà ¬ ¨ ®æ¥ª¨ ¤«¨ë ¢ë¨£àëèëå ãç á⪮¢ ¯à¨ ¡à®á ¨¨ ¬®¥âë. 6.1 ®¤áçñâ ª®«¨ç¥á⢠®£¤ ¬®¦® ©â¨ ç¨á«® ¯à¥¤¬¥â®¢ ®¯à¥¤¥«ñ®£® ¢¨¤ , ¥ ¯¥à¥ç¨á«ïï ¨å ¢á¥. ¯à¨¬¥à, «¥£ª® ©â¨ ç¨á«® ¢á¥å n-¡¨â®¢ëå áâப ¨«¨ ¢á¥å ¯¥à¥áâ ®¢®ª n ®¡ê¥ªâ®¢. í⮬ à §¤¥«¥ ¬ë à áᬮâਬ ®á®¢ë¥ ¬¥â®¤ë â ª®£® ¯®¤áçñâ . ।¯®« £ ¥âáï, çâ® ç¨â â¥«ì § ª®¬ á ¯®ïâ¨ï¬¨ ⥮ਨ ¬®¦¥á⢠(á¬. à §¤. 5.1). à ¢¨« áã¬¬ë ¨ ¯à®¨§¢¥¤¥¨ï ®¦¥á⢮, ª®«¨ç¥á⢮ í«¥¬¥â®¢ ª®â®à®£® ¬ë å®â¨¬ ¯®¤áç¨â âì, ç áâ® ¬®¦¥â ¡ëâì ¯à¥¤áâ ¢«¥® ¢ ¢¨¤¥ ®¡ê¥¤¨¥¨ï ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¨«¨ ¤¥ª à⮢ ¯à®¨§¢¥¤¥¨ï ¬®¦¥áâ¢. à ¢¨«® á㬬ë (rule of sum) £« á¨â, çâ® jA [ B j = jAj + jB j ¤«ï ¥¯¥à¥á¥ª îé¨åáï ª®¥çëå ¬®¦¥á⢠A ¨ B (ç áâë© á«ãç © ä®à¬ã«ë (5.3)). ᫨ ᨬ¢®« ®¬¥à¥ ¬ è¨ë ¤®«¦¥ ¡ëâì «¨¡® ®¤áçñâ ª®«¨ç¥á⢠97 « â¨áª®© ¡ãª¢®©, «¨¡® æ¨äன, â® ¢á¥£® ¥áâì 26 + 10 = 36 ¢®§¬®¦®á⥩, â ª ª ª ¡ãª¢ 26, æ¨äà 10. à ¢¨«® ¯à®¨§¢¥¤¥¨ï (rule of product) ã⢥ত ¥â, çâ® jA B j = jAj jBj ¤«ï ª®¥çëå ¬®¦¥á⢠A ¨ B, á¬. (5.4). ¯à¨¬¥à, ¨¬¥ï 28 á®à⮢ ¬®à®¦¥®£® ¨ 4 ¢¨¤ á¨à®¯ , ¬®¦® ¨§£®â®¢¨âì 28 4 = 112 ¢ ਠ⮢ ¬®à®¦¥®£® á á¨à®¯®¬ (¥ ᬥ訢 ï à §ë¥ á®àâ ¬®à®¦¥®£® ¨ á¨à®¯ ). âப¨ âப®© (string; ¯®-àãá᪨ £®¢®àïâ â ª¦¥ ® á«®¢ å) §ë¢ îâ ª®¥çãî ¯®á«¥¤®¢ ⥫ì®áâì í«¥¬¥â®¢ ¥ª®â®à®£® ª®¥ç®£® ¬®¦¥á⢠S ( §ë¢ ¥¬®£® «ä ¢¨â®¬). ¯à¨¬¥à, áãé¥áâ¢ã¥â 8 ¤¢®¨çëå (á®áâ ¢«¥ëå ¨§ ã«¥© ¨ ¥¤¨¨æ) áâப ¤«¨ë 3: 000; 001; 010; 011; 100; 101; 110; 111: ®£¤ áâப㠤«¨ë k §ë¢ îâ k-áâப®© (k-string). ®¤áâப®© (substring) s0 áâப¨ s §ë¢ ¥âáï ¯à®¨§¢®«ì ï ¯®á«¥¤®¢ ⥫ì®áâì ¨¤ãé¨å ¯®¤àï¤ í«¥¬¥â®¢ áâப¨ s. ®¢®àï ® k-¯®¤áâப¥ (ksubstring), ¨¬¥îâ ¢ ¢¨¤ã ¯®¤áâப㠤«¨ë k. ª, 010 ï¥âáï 3¯®¤áâப®© áâப¨ 01101001 (® ç¨ ¥âáï á ¯®§¨æ¨¨ 4), 111 | ¥â. âப ¤«¨ë k ¨§ í«¥¬¥â®¢ ¬®¦¥á⢠S ï¥âáï í«¥¬¥â®¬ ¯àאַ£® ¯à®¨§¢¥¤¥¨ï S k , â ª çâ® ¢á¥£® áãé¥áâ¢ã¥â jS jk áâப ¤«¨ë k. ç áâ®áâ¨, ¨¬¥¥âáï 2k ¤¢®¨çëå áâப ¤«¨ë k. â® ¬®¦® ®¡êïá¨âì ¥éñ ¨ â ª: ¯¥à¢ë© í«¥¬¥â áâப¨ ¬®¦® ¢ë¡à âì jS j ᯮᮡ ¬¨; ¤«ï ª ¦¤®£® ¨§ ¨å ¥áâì jS j ¢ ਠ⮢ ¯à®¤®«¦¥¨ï, ¨ â ª ¤ «¥¥ | ¢á¥£® k ¢ë¡®à®¢, ¯®«ãç ¥âáï jS jjS j : : :jS j (k ¬®¦¨â¥«¥©) ¢ ਠ⮢. ¥à¥áâ ®¢ª¨ ¥à¥áâ ®¢ª®© (permutation) ª®¥ç®£® ¬®¦¥á⢠S §ë¢ ¥âáï 㯮àï¤®ç¥ ï ¯®á«¥¤®¢ ⥫ì®áâì ¢á¥å ¥£® í«¥¬¥â®¢, ¢ ª®â®à®© ª ¦¤ë© í«¥¬¥â ¢áâà¥ç ¥âáï ஢® ®¤¨ à §. ª, áãé¥áâ¢ã¥â 6 ¯¥à¥áâ ®¢®ª ¬®¦¥á⢠S = fa; b; cg : abc; acb; bac; bca; cab; cba: ᥣ® ¨¬¥¥âáï n! ¯¥à¥áâ ®¢®ª ¬®¦¥á⢠¨§ n í«¥¬¥â®¢, â ª ª ª ¯¥à¢ë© í«¥¬¥â ¯¥à¥áâ ®¢ª¨ ¬®¦® ¢ë¡à âì n ᯮᮡ ¬¨, ¢â®à®© n ; 1 ᯮᮡ ¬¨, âà¥â¨© n ; 2 ᯮᮡ ¬¨, ¨ â. ¤. 98 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì §¬¥é¥¨ï ¡¥§ ¯®¢â®à¥¨© ᫨ ª ¦¤ë© í«¥¬¥â ¬®¦® ¨á¯®«ì§®¢ âì ⮫쪮 ®¤¨ à §, ® ¥ âॡã¥âáï ¨á¯®«ì§®¢ âì ¢á¥ í«¥¬¥âë, £®¢®àïâ ® à §¬¥é¥¨ïå ¡¥§ ¯®¢â®à¥¨©. ãáâì 䨪á¨à®¢ ® ¬®¦¥á⢮ S ¨§ n í«¥¬¥â®¢ ¨ ¥ª®â®à®¥ k, ¥ ¯à¥¢®á室ï饥 n. §¬¥é¥¨¥¬ ¡¥§ ¯®¢â®à¥¨© ¨§ n ¯® k §ë¢ îâ ¯®á«¥¤®¢ ⥫ì®áâì ¤«¨ë k, á®áâ ¢«¥ãî ¨§ à §«¨çëå í«¥¬¥â®¢ S . (£«¨©áª¨© â¥à¬¨ | k-permutation.) ¨á«® â ª¨å à §¬¥é¥¨© à ¢® n(n ; 1)(n ; 2) (n ; k + 1) = (n ;n! k)! (6.1) â ª ª ª áãé¥áâ¢ã¥â n ᯮᮡ®¢ ¢ë¡®à ¯¥à¢®£® í«¥¬¥â , n;1 ᯮᮡ®¢ ¢ë¡®à ¢â®à®£® í«¥¬¥â , ¨ â ª ¤ «¥¥ ¤® k-£® í«¥¬¥â , ª®â®àë© ¬®¦® ¢ë¡à âì n ; k + 1 ᯮᮡ ¬¨. ¯à¨¬¥à, áãé¥áâ¢ã¥â 12 = 4 3 ¯®á«¥¤®¢ ⥫ì®á⥩ ¨§ ¤¢ãå à §«¨çëå í«¥¬¥â®¢ ¬®¦¥á⢠fa; b; c; dg: ab; ac; ad; ba; bc; bd; ca; cb; cd; da; db; dc: áâë¬ á«ãç ¥¬ í⮩ ä®à¬ã«ë ï¥âáï ä®à¬ã« ¤«ï ç¨á« ¯¥à¥áâ ®¢®ª (¯®áª®«ìªã ¯¥à¥áâ ®¢ª¨ ïîâáï ç áâë¬ á«ãç ¥¬ à §¬¥é¥¨© ¯à¨ n = k). ®ç¥â ¨ï ®ç¥â ¨ï¬¨ (k-combinations) ¨§ n í«¥¬¥â®¢ ¯® k §ë¢ îâáï kí«¥¬¥âë¥ ¯®¤¬®¦¥á⢠ª ª®£®-«¨¡® n-í«¥¬¥â®£® ¬®¦¥á⢠. ¯à¨¬¥à, ã ¬®¦¥á⢠fa; b; c; dg ¨§ 4 í«¥¬¥â®¢ ¨¬¥¥âáï 6 ¤¢ãåí«¥¬¥âëå ¯®¤¬®¦¥á⢠fa; bg; fa; cg; fa; dg; fb; cg; fb; dg; fc; dg: ¨á«® á®ç¥â ¨© ¨§ n ¯® k ¢ k! à § ¬¥ìè¥ ç¨á« à §¬¥é¥¨© ¡¥§ ¯®¢â®à¥¨© (¤«ï â¥å ¦¥ n ¨ k), â ª ª ª ¨§ ª ¦¤®£® k-á®ç¥â ¨ï ¬®¦® ᤥ« âì k! à §¬¥é¥¨© ¡¥§ ¯®¢â®à¥¨©, ¯¥à¥áâ ¢«ïï ¥£® í«¥¬¥âë. ®í⮬㠨§ ä®à¬ã«ë (6.1) á«¥¤ã¥â, çâ® ç¨á«® á®ç¥â ¨© ¨§ n ¯® k à ¢® n! : (6.2) k!(n ; k)! «ï k = 0 íâ ä®à¬ã« ¤ ñâ 1, ª ª ¨ ¤®«¦® ¡ëâì (¥áâì ஢® ®¤® ¯ãá⮥ ¯®¤¬®¦¥á⢮; ¯®¬¨¬, çâ® 0! = 1). ®¤áçñâ ª®«¨ç¥á⢠99 ¨®¬¨ «ìë¥ ª®íää¨æ¨¥âë «ï ç¨á« á®ç¥â ¨© ¨§ n;n¯® k ¨á¯®«ì§ã¥âáï ®¡®§ 票¥ Cnk ¨«¨ (¢ £«¨©áª®© «¨â¥à âãà¥) k : k Cn = nk = k!(nn;! k)! : (6.3) â ä®à¬ã« ᨬ¬¥âà¨ç ®â®á¨â¥«ì® § ¬¥ë k n ; k : Cnk = Cnn;k : (6.4) ¨á« Cnk ¨§¢¥áâë â ª¦¥ ª ª ¡¨®¬¨ «ìë¥ ª®íää¨æ¨¥âë (binomial coecients), ¯®ï¢«ïî騥áï ¢ ¡¨®¬¥ ìîâ® (binomial expansion): (x + y )n = n X k=0 Cnk xk yn;k (6.5) (¥á«¨ à áªàëâì ᪮¡ª¨ ¢ (x+y )n, â® ª®«¨ç¥á⢮ ç«¥®¢, ᮤ¥à¦ é¨å k ¬®¦¨â¥«¥© x ¨ n ; k ¬®¦¨â¥«¥© y , à ¢® ª®«¨ç¥áâ¢ã ᯮᮡ®¢ ¢ë¡à âì k ¬¥áâ ¨§ n, â. ¥. Cnk ). ਠx = y = 1 ¡¨®¬ ìîâ® ¤ ñâ n X n 2 = Cnk : (6.6) k=0 (®¬¡¨ â®àë© á¬ëá«: 2n ¤¢®¨çëå áâப ¤«¨ë n á£à㯯¨à®¢ ë ¯® ç¨á«ã ¥¤¨¨æ: ¨¬¥¥âáï ª ª à § Cnk áâப á k ¥¤¨¨æ ¬¨.) ãé¥áâ¢ã¥â ¬®£® ⮦¤¥áâ¢ á ¡¨®¬¨ «ì묨 ª®íää¨æ¨¥â ¬¨ (¥ª®â®àë¥ ¨§ ¨å ¯à¥¤« £ îâáï ¢ ª ç¥á⢥ ã¯à ¦¥¨© ¢ ª®æ¥ í⮣® à §¤¥« ). 楪¨ ¡¨®¬¨ «ìëå ª®íää¨æ¨¥â®¢ ¥ª®â®àëå á«ãç ïå ¬ ¯® ¤®¡¨âáï ®æ¥¨âì ¢¥«¨ç¨ã ¡¨®¬¨ «ìëå ª®íää¨æ¨¥â®¢. «ï 1 6 k 6 n ¨¬¥¥¬ ®æ¥ªã ᨧã Cnk = n(n ;k(1)k ; 1)(n ; 1k + 1) ; 1 n ; k + 1 = nk nk ; 1 1 n k > k : (6.7) 100 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ᯮ«ì§ãï ¥à ¢¥á⢮ k! > ( ke )k , ïî饥áï á«¥¤á⢨¥¬ ä®à¬ã«ë â¨à«¨£ (2.12), ¯®«ãç ¥¬ ®æ¥ªã ᢥàåã Cnk = n(n ;k(1)k ; 1)(n ; 1k + 1) k (6.8) 6 nk! k 6 en (6.9) k : «ï ¢á¥å 0 6 k 6 n ¬®¦® ¯® ¨¤ãªæ¨¨ (á¬. ã¯à. 6.1-12) ¤®ª § âì ®æ¥ªã n (6.10) Cnk 6 kk (n ;n k)n;k ; £¤¥ à ¤¨ 㤮¡á⢠§ ¯¨á¨ ¯®« £ ¥¬ 00 = 1. «ï k = n, £¤¥ 0 6 6 1, í⠮楪 ¬®¦¥â ¡ëâì § ¯¨á ª ª n Cnn 6 (n)n((1 n; )n)(1;)n ! = £¤¥ ¢¥«¨ç¨ 1 = 2nH (); 1 1; 1; n H () = ; lg ; (1 ; ) lg(1 ; ) (6.11) (6.12) (6.13) §ë¢ ¥âáï (¤¢®¨ç®©) 襮®¢áª®© íâய¨¥©, ¯®- £«¨©áª¨ (binary) entropy function. í⮩ § ¯¨á¨ ¬ë ¯®« £ ¥¬ 0 lg 0 = 0, â ª çâ® H (0) = H (1) = 0. ¯à ¦¥¨ï ª®«ìª® áãé¥áâ¢ã¥â k-¯®¤áâப áâப¨ ¤«¨ë n? (®¤áâப¨, ç¨ î騥áï á à §«¨çëå ¯®§¨æ¨© áâப¨, áç¨â îâáï à §ë¬¨.) ª ª®¢® ®¡é¥¥ ç¨á«® ¯®¤áâப áâப¨ ¤«¨ë n? 6.1-2 ã«¥¢ äãªæ¨ï (boolean function) á n ¢å®¤ ¬¨ ¨ m ¢ë室 ¬¨ | íâ® äãªæ¨ï, ®¯à¥¤¥«¥ ï ¬®¦¥á⢥ ftrue; falsegn á® § 票ﬨ ¢ ¬®¦¥á⢥ ftrue; falsegm. ª®«ìª® áãé¥áâ¢ã¥â à §«¨çëå ¡ã«¥¢ëå äãªæ¨© á n ¢å®¤ ¬¨ ¨ ®¤¨¬ ¢ë室®¬? ¡ã«¥¢ëå äãªæ¨© á n ¢å®¤ ¬¨ ¨ m ¢ë室 ¬¨? 6.1-3 ª®«ìª¨¬¨ ᯮᮡ ¬¨ n (à §«¨çëå) ¯à®ä¥áá®à®¢ ¬®£ãâ à ᯮ«®¦¨âìáï § ªàã£«ë¬ á⮫®¬? ¯®á®¡ë, ®â«¨ç î騥áï ¯®¢®à®â®¬, áç¨â îâáï ®¤¨ ª®¢ë¬¨. 6.1-1 ®¤áçñâ ª®«¨ç¥á⢠101 ª®«ìª¨¬¨ ᯮᮡ ¬¨ ¬®¦® ¢ë¡à âì âà¨ à §«¨çëå ç¨á« ¨§ ¬®¦¥á⢠f1; 2; : : :; 100g â ª, çâ®¡ë ¨å á㬬 ¡ë« ç¥â®©? (®à冷ª ¢ë¡®à áãé¥á⢥.) 6.1-5 ®ª ¦¨â¥ ⮦¤¥á⢮ Cnk = nk Cnk;;11 (6.14) 6.1-4 ¤«ï 0 < k 6 n. 6.1-6 ®ª ¦¨â¥ ⮦¤¥á⢮ Cnk = n ;n k Cnk;1 ¤«ï 0 6 k < n. 6.1-7 롨à ï k ¯à¥¤¬¥â®¢ ¨§ n, ¬®¦® ®â¬¥â¨âì ®¤¨ ¨§ ¯à¥¤¬¥â®¢ ¨ á«¥¤¨âì, ¢ë¡à ® ¨«¨ ¥â. ᯮ«ì§ãï íâ® ®¡áâ®ï⥫ìá⢮, ¤®ª ¦¨â¥, çâ® Cnk = Cnk;1 + Cnk;;11 : ᯮ«ì§ãï १ã«ìâ â ã¯à ¦¥¨ï 6.1-7, á®áâ ¢ì⥠⠡«¨æã ¤«ï Cnk ¯à¨ n = 0; 1; 2; : : :; 6 ¨ ¯à¨ k ®â 0 ¤® n ¢ ¢¨¤¥ à ¢®¡¥¤à¥®£® âà¥ã£®«ì¨ª (C00 ᢥàåã, C10 ¨ C11 ¢ á«¥¤ãî饩 áâப¥, ¨ â ª ¤ «¥¥). â®â âà¥ã£®«ì¨ª §ë¢ îâ âà¥ã£®«ì¨ª®¬ ᪠«ï (Pascal's 6.1-8 triangle). 6.1-9 ®ª ¦¨â¥ à ¢¥á⢮ n X i=1 i = Cn2+1: ®ª ¦¨â¥, çâ® ¤«ï 䨪á¨à®¢ ®£® n > 0 ¢¥«¨ç¨ Cnk ¤®á⨣ ¥â ¨¡®«ì襣® (á।¨ ¢á¥å k ®â 0 ¤® n) § ç¥¨ï ¯à¨ k = bn=2c ¨ ¯à¨ k = dn=2e (â ª çâ® ¤«ï çñ⮣® n ¬ ªá¨¬ã¬ ®¤¨, ¤«ï ¥çñ⮣® | ¤¢ áâ®ïé¨å à冷¬). 6.1-11? ®ª ¦¨â¥, çâ® ¤«ï «î¡ëå n > 0, j > 0, k > 0, j + k 6 n ¢ë¯®«¥® ¥à ¢¥á⢮ Cnj+k 6 Cnj Cnk;j á ¯®¬®éìî ª®¬¡¨ â®àëå à áá㦤¥¨©, â ª¦¥ á ¨á¯®«ì§®¢ ¨¥¬ ä®à¬ã«ë (6.3). ª ª¨å á«ãç ïå íâ® ¥à ¢¥á⢮ ®¡à é ¥âáï ¢ à ¢¥á⢮? 6.1-12? ®ª ¦¨â¥ ¯® ¨¤ãªæ¨¨ ¥à ¢¥á⢮ (6.10) ¤«ï k 6 n=2; § ⥬, ¨á¯®«ì§ãï (6.4), ¤®ª ¦¨â¥ ¥£® ¤«ï ¢á¥å k 6 n. 6.1-10 102 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì 6.1-13? ᯮ«ì§ãï ä®à¬ã«ã â¨à«¨£ , ¤®ª ¦¨â¥, çâ® 2n C2nn = p2n (1 + O(1=n)): (6.16) 6.1-14? ¨ää¥à¥æ¨àãï H (), ¯®ª ¦¨â¥, çâ® ¬ ªá¨¬ã¬ ¤®á⨣ - ¥âáï ¯à¨ = 1=2. ¥¬ã à ¢® H (1=2)? 6.2 ¥à®ïâ®áâì í⮬ à §¤¥«¥ ¬ë ¯®¬¨¬ ®á®¢ë¥ ¯®ïâ¨ï ⥮ਨ ¢¥à®ïâ®á⥩. ãáâì § ¤ ® ¥ª®â®à®¥ ¬®¦¥á⢮ S , ª®â®à®¥ ¬ë §ë¢ ¥¬ ¢¥à®ïâ®áâë¬ ¯à®áâà á⢮¬ (sample space), ¥£® í«¥¬¥âë | í«¥¬¥â à묨 ᮡëâ¨ï¬¨ (elementary events). ¦¤ë© ¨§ í«¥¬¥â®¢ ¬®¦¥â à áᬠâਢ âìáï ª ª ¢®§¬®¦ë© ¨á室 ¨á¯ëâ ¨ï. ¯à¨¬¥à, ¡à®á ¨î ¤¢ãå à §«¨çëå ¬®¥â ᮮ⢥âáâ¢ã¥â ¢¥à®ïâ®á⮥ ¯à®áâà á⢮, ᮤ¥à¦ 饥 ç¥âëॠáâப¨ ¤«¨ë 2, á®áâ ¢«¥ë¥ ¨§ ᨬ¢®«®¢ ® (®àñ«) ¨ à (à¥èª ): S = f®®; ®à; à®; ààg ®¡ë⨥¬ (event) §ë¢ ¥âáï ¯®¤¬®¦¥á⢮ ¯à®áâà á⢠S . ¯à¨¬¥à, ¢ 襬 ¯à¨¬¥à¥ ¬®¦® à áᬮâà¥âì ᮡë⨥ "¢ë¯ « ®¤¨ ®àñ« ¨ ®¤ à¥èª ", â. ¥. ¬®¦¥á⢮ f®à; à®g. ®¡ë⨥ S (¢áñ ¢¥à®ïâ®á⮥ ¯à®áâà á⢮) §ë¢ ¥âáï ¤®á⮢¥àë¬ á®¡ë⨥¬ (certain event), ᮡë⨥ §ë¢ ¥âáï ¥¢®§¬®¦ë¬ ᮡë⨥¬ (null event). ®¡ëâ¨ï A ¨ B §ë¢ îâáï ¥á®¢¬¥áâ묨 (mutually exclusive), ¥á«¨ A \ B = . ¦¤®¥ í«¥¬¥â ஥ ᮡë⨥ s 2 S ¬ë ¡ã¤¥¬ áç¨â âì ᮡë⨥¬ fsg S . §«¨çë¥ í«¥¬¥â àë¥ á®¡ëâ¨ï ¥á®¢¬¥áâë. ª § ®¥ ®â®á¨âáï ¡¥§ ®£®¢®à®ª ª á«ãç î ª®¥ç®£® ¨«¨ áçñ⮣® ¬®¦¥á⢠S . ®¡é¥¬ á«ãç ¥ ®¯à¥¤¥«¥¨¥ á«®¦¥¥, ¨ ᮡëâ¨ï¬¨ áç¨â îâáï ¥ ¢á¥ ¯®¤¬®¦¥á⢠¬®¦¥á⢠S , ⮫쪮 ¥ª®â®àë¥. ¨ ¤®«¦ë ®¡à §®¢ë¢ âì - «£¥¡àã (¯¥à¥á¥ç¥¨¥ ¨ ®¡ê¥¤¨¥¨¥ áçñ⮣® ç¨á« ᮡë⨩ ¥áâì ᮡë⨥; ¤®¯®«¥¨¥ ᮡëâ¨ï ¥áâì ᮡë⨥). ë ¥ ¡ã¤¥¬ £®¢®à¨âì ®¡ í⮬ ¯®¤à®¡®, å®âï ¥ª®â®àë¥ ¯à¨¬¥àë â ª®£® த (à ¢®¬¥à®¥ à á¯à¥¤¥«¥¨¥ ®â१ª¥) ¬ ¢áâà¥âïâáï. ? ? ªá¨®¬ë ¢¥à®ïâ®á⨠á¯à¥¤¥«¥¨¥¬ ¢¥à®ïâ®á⥩ (probability distribution) ¢¥à®ïâ®á⮬ ¯à®áâà á⢥ S §ë¢ ¥âáï äãªæ¨ï P, áâ ¢ïé ï ¢ ᮮ⢥âá⢨¥ ª ¦¤®¬ã ᮡëâ¨î ¥ª®â®à®¥ ¥®âà¨æ ⥫쮥 ç¨á«® ¨ ¥à®ïâ®áâì 103 㤮¢«¥â¢®àïîé ï á«¥¤ãî騬 âॡ®¢ ¨ï¬ ( ªá¨®¬ ¬ ¢¥à®ïâ®áâ¨, ¯®- £«¨©áª¨ probability axioms): 1. PA > 0 ¤«ï «î¡®£® ᮡëâ¨ï A. 2. PfS g = 1. 3. PfA [ B g = PfAg + PfB g ¤«ï «î¡ëå ¤¢ãå ¥á®¢¬¥áâëå ᮡë⨩ A ¨ B, ¨, ¡®«¥¥ ⮣®, X Pf[i Ai g = PfAi g: i ¤«ï «î¡®© (ª®¥ç®© ¨«¨ áç¥â®©) ¯®á«¥¤®¢ ⥫ì®á⨠¯®¯ à® ¥á®¢¬¥áâëå ᮡë⨩ A1; A2; : : : ¨á«® PfAg §ë¢ ¥âáï ¢¥à®ïâ®áâìî ᮡëâ¨ï A (probability of the event A). ¬¥â¨¬, çâ® ªá¨®¬ 2 䨪á¨àã¥â "¥¤¨¨æã ¨§¬¥à¥¨ï" ¢¥à®ïâ®á⥩, ¯à¨¨¬ ï § 1 ¢¥à®ïâ®áâì ¤®á⮢¥à®£® ᮡëâ¨ï. ®â ¥áª®«ìª® ¯à®áâëå á«¥¤á⢨© ¨§ íâ¨å ªá¨®¬. ¥¢®§¬®¦®¥ ᮡë⨥ ¨¬¥¥â ã«¥¢ãî ¢¥à®ïâ®áâì Pf g = 0. ᫨ A B, â® PfAg 6 PfB g. ᯮ«ì§ãï ®¡®§ 票¥ A ¤«ï ᮡëâ¨ï S ; A (¤®¯®«¥¨¥ ª A), ¨¬¥¥¬ PfAg = 1 ; PfAg. «ï «î¡ëå ¤¢ãå ᮡë⨩ A ¨ B ¨¬¥¥â ¬¥áâ® PfA [ B g = PfAg + PfB g ; PfA \ B g (6.17) 6 PfAg + PfBg: (6.18) 襬 ¯à¨¬¥à¥ á ¡à®á ¨¥¬ ¤¢ãå ¬®¥â, ¯®«®¦¨¬ ¢¥à®ïâ®áâì ª ¦¤®£® í«¥¬¥â ண® ¨á室 à ¢®© 1=4. ®£¤ ¢¥à®ïâ®áâì ¢ë¯ ¤¥¨ï ¯® ªà ©¥© ¬¥à¥ ®¤®£® ®à« ¡ã¤¥â Pf®®; ®à; à®g = Pf®®g + Pf®àg + Pfà®g = 3=4: ç¥: ¢¥à®ïâ®áâì ⮣®, çâ® ¥ ¡ã¤¥â ¨ ®¤®£® ®à« , à ¢ Pfààg = 1=4, ¯®í⮬㠢¥à®ïâ®áâì ¯®ï¢«¥¨ï ¯® ¬¥ì襩 ¬¥à¥ ®¤®£® ®à« ¥áâì 1 ; 1=4 = 3=4. ? 6.2.1 ¨áªà¥â®¥ à á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩ á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩ ª®¥ç®¬ ¨«¨ áçñ⮬ ¢¥à®ïâ®á⮬ ¯à®áâà á⢥ §ë¢ ¥âáï ¤¨áªà¥âë¬ (discrete). «ï â ª¨å à á¯à¥¤¥«¥¨© ¬®¦® ¯¨á âì X PfAg = Pfsg; s2 A ¤«ï «î¡®£® ᮡëâ¨ï A, ¯®áª®«ìªã ®® ï¥âáï ®¡ê¥¤¨¥¨¥¬ ¥ ¡®«¥¥ 祬 áçñ⮣® ¬®¦¥á⢠¥á®¢¬¥áâëå í«¥¬¥â àëå ᮡë⨩. ᫨ ¬®¦¥á⢮ S ª®¥ç® ¨ ¢á¥ í«¥¬¥âë ¥£® à ¢®¢¥à®ïâë, â® ¯®«ãç ¥âáï à ¢®¬¥à®¥ à á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩ 104 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì (uniform probability distribution) ª®¥ç®¬ ¬®¦¥á⢥ S . ਠí⮬ ¢¥à®ïâ®áâì «î¡®£® ᮡëâ¨ï, ¢ª«îç î饣® ¢ ᥡï k í«¥¬¥â àëå ¨á室®¢ ¨§ jS j, à ¢ k=jS j. â ª¨å á«ãç ïå £®¢®àïâ "¢ë¡¥à¥¬ á«ãç ©® í«¥¬¥â s 2 S ". ª ç¥á⢥ ¯à¨¬¥à à áᬮâਬ ¡à®á ¨¥ ᨬ¬¥âà¨ç®© ¬®¥âë (ipping a fair coin), ¤«ï ª®â®à®© ¢¥à®ïâ®á⨠®à« ¨ à¥èª¨ ®¤¨ ª®¢ë ¨ à ¢ë 1=2. à®á ï ¥ñ n à §, ¬ë ¯à¨å®¤¨¬ ª à ¢®¬¥à®¬ã à á¯à¥¤¥«¥¨î ¯à®áâà á⢥ S = f®; àgn , á®áâ®ï饬 ¨§ 2n í«¥¬¥â®¢. ¦¤®¥ í«¥¬¥â ஥ ᮡë⨥ ¨§ S ¬®¦® à áᬠâਢ âì ª ª áâப㠤«¨ë n í«¥¬¥â®¢ ¬®¦¥á⢠f®; àg, ¨ ¢á¥ â ª¨¥ áâப¨ ¨¬¥îâ ¢¥à®ïâ®áâì 1=2n. ®¡ë⨥ A = f¢ë¯ «® k ®à«®¢ ¨ n ; k à¥è¥ªg ¥áâì ¯®¤¬®¦¥á⢮ S ¨ á®á⮨⠨§ jAj = Cnk í«¥¬¥â®¢, â ª ª ª áãé¥áâ¢ã¥â Cnk áâப, ᮤ¥à¦ é¨å ஢® k ®à«®¢. ¥¬ á ¬ë¬, ¢¥à®ïâ®áâì ᮡëâ¨ï A à ¢ PfAg = Cnk =2n. ¥¯à¥à뢮¥ à ¢®¬¥à®¥ à á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩ 㤥¬ áç¨â âì í«¥¬¥â à묨 ¨á室 ¬¨ â®çª¨ ¥ª®â®à®£® ®â१ª [a; b]. ¯à¥¤¥«¨¬ ¢¥à®ïâ®áâì ᮡëâ¨ï [c; d] [a; b] ä®à¬ã«®© Pf[c; d]g = bd ;; ac : í⮬ á«ãç ¥, ª ª ¬ë £®¢®à¨«¨, ¤® áç¨â âì ᮡëâ¨ï¬¨ ¥ ¢á¥ ¯®¤¬®¦¥á⢠®â१ª , ⮫쪮 ¥ª®â®àë¥, ª®â®àë¥ §ë¢ îâ ¨§¬¥à¨¬ë¬¨. ë ¥ ¯à¨¢®¤¨¬ ᮮ⢥âáâ¢ãîé¨å ®¯à¥¤¥«¥¨©, ®âáë« ï ç¨â â¥«ï ª «î¡®¬ã ã祡¨ªã ¯® ⥮ਨ ¢¥à®ïâ®á⥩ ¨«¨ ¯® ⥮ਨ ¬¥àë. ¬¥â¨¬, çâ® ¢¥à®ïâ®áâì ª ¦¤®© â®çª¨ à ¢ 0, ¨ ¯®â®¬ã ¢¥à®ïâ®áâì ¯®«ã¨â¥à¢ « (c; d] ¨ ¨â¥à¢ « (c; d) ¬®£ãâ ¡ëâì ®¯à¥¤¥«¥ë ⮩ ¦¥ ä®à¬ã«®©. ª®¥ à á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩ §ë¢ îâ ¥¯à¥àë¢ë¬ à ¢®- ¬¥àë¬ à á¯à¥¤¥«¥¨¥¬ (continuous uniform probability distribution). á«®¢ ï ¢¥à®ïâ®áâì ¨ ¥§ ¢¨á¨¬®áâì ®£¤ ¬ë à ᯮ« £ ¥¬ ç áâ¨ç®© ¨ä®à¬ 樥© ® १ã«ìâ ⥠íªá¯¥à¨¬¥â . ¯à¨¬¥à, ¯ãáâì ¬ ¨§¢¥áâ®, çâ® ¢ १ã«ìâ ⥠¡à®á ¨ï ¤¢ãå ᨬ¬¥âà¨çëå ¬®¥â ¯® ªà ©¥© ¬¥à¥ ®¤ ¨§ ¨å ¢ë¯ « ®à«®¬. ª®¢ ¢¥à®ïâ®áâì ⮣®, çâ® ®¡¥ ¬®¥âë ¢ë¯ «¨ ®à«®¬? §¢¥áâ ï ¬ ¨ä®à¬ æ¨ï ¯®§¢®«ï¥â ¨áª«îç¨âì á«ãç © ¢ë¯ ¤¥¨ï ¤¢ãå à¥è¥ª. ਠ®áâ ¢è¨åáï ¨á室 ¡ã¤ãâ à ¢®¢¥à®ïâë, ¯®í⮬㠢¥à®ïâ®áâì ª ¦¤®£® (¢ ⮬ ç¨á«¥ ¨ ¨â¥à¥áãî饣® á) ¥áâì 1=3. ¥à®ïâ®áâì 105 â ¨¤¥ï ä®à¬ «¨§ã¥âáï ¢ ®¯à¥¤¥«¥¨¨ ãá«®¢®© ¢¥à®ïâ®á⨠(conditional probability) ᮡëâ¨ï A ¯à¨ ãá«®¢¨¨ ᮡëâ¨ï B ; ® ®¡®§ ç ¥âáï PfAjBg ¨ ®¯à¥¤¥«ï¥âáï ä®à¬ã«®© PfAjB g = PfPAfB\ gB g ; (6.19) (¬ë ¯à¥¤¯®« £ ¥¬, çâ® PfB g 6= 0). âã¨â¨¢ë© á¬ëá« ¯®ïâ¥: ᮡë⨥ B ¯à®¨á室¨â ¢ ¥ª®â®à®© ¤®«¥ íªá¯¥à¨¬¥â®¢; ¬ë ᬮâਬ, ª ªãî ç áâì á।¨ ¨å á®áâ ¢«ïîâ â¥, ª®£¤ ¯à®¨§®è«® ¥éñ ¨ ᮡë⨥ A. ¢ ᮡëâ¨ï §ë¢ îâáï ¥§ ¢¨á¨¬ë¬¨ (independent), ¥á«¨ PfA \ B g = PfAgPfB g; á«ãç ¥ PfBg 6= 0 íâ® ãá«®¢¨¥ ¬®¦® ¯¥à¥¯¨á âì ª ª PfAjB g = PfAg: 襬 ¯à¨¬¥à¥ á ¤¢ãªà âë¬ ¡à®á ¨¥¬ ¬®¥âë ¯®ï¢«¥¨ï ®à« ¯à¨ ¯¥à¢®¬ ¨ ¢â®à®¬ ¡à®á ¨¨ ¡ã¤ãâ ¥§ ¢¨á¨¬ë¬¨, â ª ª ª ª ¦¤®¥ ᮡë⨥ ¨¬¥¥â ¢¥à®ïâ®áâì 1=2, ¨å ¯¥à¥á¥ç¥¨¥ (¤¢ ®à« ) | 1=4. ⮬ ¦¥ ¯à¨¬¥à¥ ᮡëâ¨ï "¯¥à¢ ï ¬®¥â ¢ë¯ « ®à«®¬" ¨ "¢ë¯ « ®¤¨ ®àñ« ¨ ®¤ à¥èª " â ª¦¥ ¥§ ¢¨á¨¬ë, å®âï íâ® áà §ã ¨ ¥ â ª ïá®. ® ¢ í⮬ «¥£ª® ã¡¥¤¨âìáï ¯® ®¯à¥¤¥«¥¨î: ¢¥à®ïâ®áâì ª ¦¤®£® ᮡëâ¨ï à ¢ 1=2, ¢¥à®ïâ®áâì ¨å ¯¥à¥á¥ç¥¨ï à ¢ 1=4. ¢®â ᮡëâ¨ï "¯¥à¢ ï ¬®¥â ¢ë¯ « ®à«®¬" ¨ "¢ë¯ « å®âì ®¤ à¥èª " ¥ ¡ã¤ãâ ¥§ ¢¨á¨¬ë¬¨. ®¡ëâ¨ï "¯¥à¢ ï ¬®¥â ¢ë¯ « ®à«®¬" ¨ "¢â®à ï ¬®¥â ¢ë¯ « ®à«®¬" ¯¥à¥áâ ãâ ¡ëâì ¥§ ¢¨á¨¬ë¬¨, ¥á«¨ ¨§¬¥¨âì à á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩ ¨ áç¨â âì, çâ® ¬®¥âë ᪫¥¥ë ¨ ®¤®¢à¥¬¥® ¢ë¯ ¤ îâ «¨¡® ®à«®¬, «¨¡® à¥èª®© (â. ¥. çâ® ª®¬¡¨ 樨 ®® ¨ àà ¨¬¥îâ ¢¥à®ïâ®áâì 1=2). ®¡ëâ¨ï A1; A2; : : :; An §ë¢ îâáï ¯®¯ à® ¥§ ¢¨á¨¬ë¬¨ (pairwise independent), ¥á«¨ PfAi \ Aj g = PfAi gPfAj g ¤«ï ¢á¥å 1 6 i < j 6 n. ®¡ëâ¨ï A1; A2; ; An §ë¢ îâáï ¥§ ¢¨á¨¬ë¬¨ ¢ ᮢ®ªã¯®á⨠(mutually independent), ¥á«¨ ¤«ï «î¡®£® ¡®à Ai ; Ai ; : : :; Aik íâ¨å ᮡë⨩ (§¤¥áì 2 6 k 6 n ¨ 1 6 i1 < i2 < < ik 6 n) ¨¬¥¥â ¬¥áâ® à ¢¥á⢮ PfAi \ Ai \ : : : \ Aik g = PfAi gPfAi g PfAik g: â® âॡ®¢ ¨¥ | ¡®«¥¥ ᨫ쮥: ¯à¨¬¥à, ¢ 襬 ¯à¨¬¥à¥ ᮡëâ¨ï "¯¥à¢ ï ¬®¥â ¢ë¯ « ®à«®¬", "¢â®à ï ¬®¥â ¢ë¯ « ®à«®¬" ¨ "¤¢¥ ¬®¥âë ¢ë¯ «¨ ®¤¨ ª®¢®" ¯®¯ à® ¥§ ¢¨á¨¬ë, ® ¥ ïîâáï ¥§ ¢¨á¨¬ë¬¨ ¢ ᮢ®ªã¯®áâ¨. 1 1 2 1 2 2 106 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ®à¬ã« ©¥á § ®¯à¥¤¥«¥¨ï ãá«®¢®© ¢¥à®ïâ®á⨠(6.19) á«¥¤ã¥â, çâ® ¤«ï ¤¢ãå ᮡë⨩ A ¨ B, ¢¥à®ïâ®á⨠ª®â®àëå ¯®«®¦¨â¥«ìë, ¢ë¯®«¥® à ¢¥á⢮ PfA \ B g = PfB gPfAjB g (6.20) = PfAgPfB jAg: ëà ¦ ï ®âáî¤ PfAjBg, ¯®«ãç ¥¬ ä®à¬ã«ã PfAjB g = PfAPgfPBfBg jAg ; (6.21) ¨§¢¥áâãî ª ª ä®à¬ã« ©¥á (Bayes's theorem). âã ä®à¬ã«ã ¬®¦® ¯¥à¥¯¨á âì â ª: ¯®áª®«ìªã B = (B \ A) [ (B \ A), B \ A ¨ B \ A | ¥á®¢¬¥áâë¥ á®¡ëâ¨ï, â® PfB g = PfB \ Ag + PfB \ Ag = PfAgPfB jAg + PfAgPfB jAg: ®¤áâ ¢«ïï ¤ ®¥ ¢ëà ¦¥¨¥ ¢ ä®à¬ã«ã (6.21), ¯®«ãç ¥¬ ¤à㣮© ¢ ਠâ ä®à¬ã«ë ©¥á : PfAgPfB jAg PfAjB g = : PfAgPfB jAg + PfAgPfB jAg ®à¬ã« ©¥á ¯®¬®£ ¥â ¢ëç¨á«ïâì ãá«®¢ë¥ ¢¥à®ïâ®áâ¨. ãáâì ã á ¥áâì ¤¢¥ ¬®¥âë: ®¤ ᨬ¬¥âà¨ç ï, ¤àã£ ï ¢á¥£¤ ¢ë¯ ¤ ¥â ®à«®¬. ë á«ãç ©ë¬ ®¡à §®¬ ¢ë¡¨à ¥¬ ®¤ã ¨§ ¤¢ãå ¬®¥â, ¯®á«¥ 祣® ¥ñ ¤¢ ¦¤ë ¯®¤¡à áë¢ ¥¬. ।¯®«®¦¨¬, çâ® ®¡ à § ¢ë¯ «¨ ®à«ë. ª®¢ ¢¥à®ïâ®áâì ⮣®, çâ® ¡ë« ¢ë¡à ¥á¨¬¬¥âà¨ç ï ¬®¥â ? ¥è¨¬ íâã § ¤ ç㠯ਠ¯®¬®é¨ ä®à¬ã«ë ©¥á . ãáâì ᮡë⨥ A | ¢ë¡®à ¥á¨¬¬¥âà¨ç®© ¬®¥âë, ᮡë⨥ B | ¢ë¯ ¤¥¨¥ ¢ë¡à ®© ¬®¥âë ®à« ¬¨ ¤¢ ¦¤ë. ¬ 㦮 ¢ëç¨á«¨âì PfAjBg. ¬¥¥¬: PfAg = 1=2, PfBjAg = 1, PfAg = 1=2 ¨ PfBjAg = 1=4, á«¥¤®¢ ⥫ì®, 1 PfB jAg = (1=2) 1(1+=2) (1=2) (1=4) = 4=5: ¯à ¦¥¨ï ®ª ¦¨â¥ ¥à ¢¥á⢮ ã«ï (Boole's inequality): PfA1 [ A2 [ : : : g 6 PfA1 g + PfA2 g + : : : (6.22) ¤«ï «î¡®© ª®¥ç®© ¨«¨ áçñ⮩ ¯®á«¥¤®¢ ⥫ì®á⨠ᮡë⨩ A1 ; A 2 ; : : : . 6.2-1 ¥à®ïâ®áâì 107 à®ä¥áá®à ¡à®á ¥â ᨬ¬¥âà¨çãî ¬®¥âã, áâ㤥⠡à®á ¥â ¡à®á ¥â ¤¢¥ ᨬ¬¥âà¨çë¥ ¬®¥âë. ª®¢ ¢¥à®ïâ®áâì ⮣®, çâ® ã ¯à®ä¥áá®à ¢ë¯ ¤¥â ¡®«ìè¥ ®à«®¢, 祬 ã áâ㤥â ? (ᥠâਠ¡à®á ¨ï ¥§ ¢¨á¨¬ë.) 6.2-3 ®«®¤ã ª àâ (á ç¨á« ¬¨ ®â 1 ¤® 10) â áãîâ ¨ ¢ë¨¬ îâ âਠª àâë. ª®¢ ¢¥à®ïâ®áâì ⮣®, çâ® ç¨á« íâ¨å ª àâ å ¡ã¤ãâ ¨¤â¨ ¢ ¢®§à áâ î饬 ¯®à浪¥? 6.2-4? ¬¥¥âáï ¥á¨¬¬¥âà¨ç ï ¬®¥â , ¤«ï ª®â®à®© ¢¥à®ïâ®áâì ¢ë¯ ¤¥¨ï ®à« ¥áâì ¥¨§¢¥á⮥ ¬ ç¨á«® p (0 < p < 1). ®ª ¦¨â¥, ª ª á ¥ñ ¯®¬®éìî ¬®¦® ¨¬¨â¨à®¢ âì ᨬ¬¥âà¨çãî ¬®¥âã, ᤥ« ¢ ¥áª®«ìª® ¡à®á ¨©. (ª § ¨¥: ¡à®áì⥠¬®¥âã ¤¢ ¦¤ë; ¥á«¨ १ã«ìâ âë à §ë¥, ¤ ©â¥ ®â¢¥â; ¥á«¨ ®¤¨ ª®¢ë¥, ¯®¢â®àï©â¥ ¨á¯ëâ ¨¥.) 6.2-5? ª ¨¬¨â¨à®¢ âì ¡à®á ¨¥ ¬®¥âë á ¢¥à®ïâ®áâìî ¯®ï¢«¥¨ï ®à« a=b, ¨¬¥ï ᨬ¬¥âà¨çãî ¬®¥âã, ª®â®àãî ¬®¦® ¯®¤¡à áë¢ âì ¥áª®«ìª® à §? (¨á« a ¨ b 楫ë¥, 0 < a < b, ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¡à®á ¨© ¤®«¦® ¡ëâì ®£à ¨ç¥® ᢥàåã ¯®«¨®¬®¬ ®â lg b.) 6.2-6 ®ª ¦¨â¥, çâ® PfAjB g + PfAjB g = 1: 6.2-2 6.2-7 ®ª ¦¨â¥, çâ® ¤«ï «î¡®£® ¡®à ᮡë⨩ A1; A2; : : :; An, PfA1 \ A2 \ : : : \ An g = = PfA1g PfA2jA1 g PfA3jA1 \ A2 g PfAn jA1 \ A2 \ \ An;1 g: 6.2-8? ਤ㬠©â¥ ¬®¦¥á⢮ ¨§ n ¯®¯ à® ¥§ ¢¨á¨¬ëå ᮡë⨩, ¤«ï ª®â®à®£® «î¡®¥ ¯®¤¬®¦¥á⢮ ¨§ k > 2 ᮡë⨩ ¥ ¡ã¤¥â ¥§ ¢¨á¨¬ë¬ ¢ ᮢ®ªã¯®áâ¨. 6.2-9? ®¡ëâ¨ï A ¨ B ïîâáï ãá«®¢® ¥§ ¢¨á¨¬ë¬¨ (conditionally independent) ¯à¨ ãá«®¢¨¨ ᮡëâ¨ï C , ¥á«¨ PfA \ B jC g = PfAjC g PfB jC g: ਤ㬠©â¥ ¯à®á⮩ (® ¥ âਢ¨ «ìë©) ¯à¨¬¥à ¤¢ãå ᮡë⨩, ª®â®àë¥ ¥ ïîâáï ¥§ ¢¨á¨¬ë¬¨, ® ãá«®¢® ¥§ ¢¨á¨¬ë ¯à¨ ãá«®¢¨¨ ¥ª®â®à®£® âà¥â쥣® ᮡëâ¨ï. 6.2-10? ë ãç áâ¢ã¥â¥ ¢ ¨£à¥, ¢ ª®â®à®© ¯à¨§ áªàëâ § ®¤®© ¨§ âàñå è¨à¬ (¨ ¢ë¨£à ¥â¥ ¯à¨§, ¥á«¨ ®â£ ¤ ¥â¥, £¤¥). ®á«¥ ⮣® ª ª ¢ë ¢ë¡à «¨ ®¤ã ¨§ è¨à¬, ¢¥¤ã騩 ¨£àë ®âªàë« ®¤ã ¨§ ¤¢ãå 108 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ®áâ ¢è¨åáï è¨à¬, ¨ ®ª § «®áì, çâ® â ¬ ¯à¨§ ¥â. íâ®â ¬®¬¥â ¬®¦® ¯®¬¥ïâì ᢮© ¢ë¡®à, 㪠§ ¢ âà¥âìî è¨à¬ã. ª ¨§¬¥ïâáï è áë ¢ë¨£àëè, ¥á«¨ ¢ë ᤥ« ¥â¥ íâ®? 6.2-11? ç «ì¨ª âîàì¬ë ¢ë¡à « ®¤®£® ¨§ âàñå § ª«îçñëå X , Y ¨ Z , çâ®¡ë ®â¯ãáâ¨âì ¥£® ¢®«î. áâ «ìë¥ ¤¢®¥ ¡ã¤ãâ ª §¥ë. âà ¦ § ¥â, ªâ® ¨§ âà®¨å ¢ë©¤¥â ᢮¡®¤ã, ® ¥ ¨¬¥¥â ¯à ¢ á®®¡é âì ¨ª ª®¬ã ¨§ 㧨ª®¢ ¨ä®à¬ æ¨î ® ¥£® áã¤ì¡¥. ª«îç¥ë© X ¯à®á¨â áâà ¦ §¢ âì ¥¬ã ¨¬ï ®¤®£® ¨§ § ª«îç¥ëå Y ¨«¨ Z , ª®â®àë© ¡ã¤¥â ª §ñ, ®¡êïáïï, çâ® ¥¬ã ¨ â ª ¨§¢¥áâ®, çâ® ®¤¨ ¨§ ¨å â®ç® ¡ã¤¥â ª §ñ, , § ç¨â, ® ¥ ¯®«ãç¨â ¨ª ª®© ¨ä®à¬ 樨 ® ᢮¥© áã¤ì¡¥. âà ¦ á®®¡é ¥â X , çâ® Y ¡ã¤¥â ª §¥. ª«îçñë© X à ¤ã¥âáï, áç¨â ï, çâ® ¥£® è áë ®áâ âìáï ¢ ¦¨¢ëå ¢®§à®á«¨ ¤® 1=2 (®á¢®¡®¦¤ñ ¡ã¤¥â ¨«¨ ®, ¨«¨ Z ). à ¢ «¨ ®? 6.3 ¨áªà¥âë¥ á«ãç ©ë¥ ¢¥«¨ç¨ë ¨áªà¥â ï á«ãç © ï ¢¥«¨ç¨ (discrete random variable) X | íâ® äãªæ¨ï, ®â®¡à ¦ îé ï ª®¥ç®¥ ¨«¨ áçñ⮥ ¢¥à®ïâ®á⮥ ¯à®áâà á⢮ S ¢ ¬®¦¥á⢮ ¤¥©á⢨⥫ìëå ç¨á¥«. ¦¤®¬ã ¢®§¬®¦®¬ã ¨á室㠨á¯ëâ ¨ï ® áâ ¢¨â ¢ ᮮ⢥âá⢨¥ ¤¥©á⢨⥫쮥 ç¨á«®. (¥¬ á ¬ë¬ ¬®¦¥á⢥ § 票© äãªæ¨¨ X ¢®§¨ª ¥â à á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩.) ⥮ਨ ¢¥à®ïâ®á⥩ à áᬠâਢ îâ ¨ á«ãç ©ë¥ ¢¥«¨ç¨ë ¥áçñâëå ¢¥à®ïâ®áâëå ¯à®áâà á⢠å, ® íâ® á«®¦¥¥, ¨ ¬ë ®¡®©¤ñ¬áï ¡¥§ ¨å. «ï á«ãç ©®© ¢¥«¨ç¨ë X ¨ ¤¥©á⢨⥫쮣® ç¨á« x ®¯à¥¤¥«ï¥¬ ᮡë⨥ X = x ª ª fs 2 S : X (s) = xg; ¢¥à®ïâ®áâì í⮣® ᮡëâ¨ï à ¢ PfX = xg = ãªæ¨ï X fs2S :X (s)=xg f (x) = PfX = xg Pfsg: §ë¢ ¥âáï äãªæ¨¥© à á¯à¥¤¥«¥¨ï ¢¥à®ïâ®á⥩ (probability density function) á«ãç ©®© ¢¥«¨ç¨ë X . § ªá¨®¬ ¢¥à®ïâ®á⨠᫥¤ã¥â, çâ® PfX = xg > 0 ¨ Px PfX = xg = 1. «ï ¯à¨¬¥à à áᬮâਬ ¡à®á ¨¥ ¯ àë ®¡ëçëå è¥á⨣à ëå ª®á⥩. ¬¥¥âáï 36 í«¥¬¥â àëå ᮡë⨩, á®áâ ¢«ïîé¨å ¢¥à®ïâ®á⮥ ¯à®áâà á⢮. 㤥¬ ¯à¥¤¯®« £ âì, çâ® ¢á¥ ®¨ à ¢®¢¥à®ïâë: Pfsg = 1=36. ¯à¥¤¥«¨¬ á«ãç ©ãî ¢¥«¨ç¨ã X , ª ª ¬ ªá¨¬ «ì®¥ ç¨á«®, ¢ë¯ ¢è¥¥ ®¤®© ¨§ ¤¢ãå ª®á⥩. ®£¤ ¨áªà¥âë¥ á«ãç ©ë¥ ¢¥«¨ç¨ë 109 PfX = 3g = 5=36, â ª ª ª X ¯à¨¨¬ ¥â § 票¥ 3 ¯à¨ 5 í«¥¬¥â àëå ¨á室 å ( ¨¬¥®, (1; 3), (2; 3), (3; 3), (3; 2) ¨ (3; 1)). ª ¯à ¢¨«®, ®¤®¬ ¨ ⮬ ¦¥ ¢¥à®ïâ®á⮬ ¯à®áâà á⢥ à áᬠâਢ î⠥᪮«ìª® á«ãç ©ëå ¢¥«¨ç¨. ᫨ X ¨ Y | á«ãç ©ë¥ ¢¥«¨ç¨ë, â® äãªæ¨ï f (x; y) = PfX = x; Y = y g §ë¢ ¥âáï äãªæ¨¥© ᮢ¬¥á⮣® à á¯à¥¤¥«¥¨ï ¢¥à®ïâ®á⥩ (joint probability density function) ¢¥«¨ç¨ X ¨ Y . «ï 䨪á¨à®¢ ®£® § 票ï y X PfY = y g = PfX = x; Y = y g: x «®£¨ç®, ¤«ï 䨪á¨à®¢ ®£® § 票ï x, PfX = xg = X y PfX = x; Y = y g: ᯮ«ì§ãï ®¯à¥¤¥«¥¨¥ ãá«®¢®© ¢¥à®ïâ®á⨠(6.19), ¬®¦® § ¯¨á âì PfX = xjY = y g = PfXP=fYx;=Yy g= y g : ¢¥ á«ãç ©ë¥ ¢¥«¨ç¨ë §ë¢ îâáï ¥§ ¢¨á¨¬ë¬¨ (independent), ¥á«¨ ᮡëâ¨ï X = x ¨ Y = y ïîâáï ¥§ ¢¨á¨¬ë¬¨ ¤«ï «î¡ëå § 票© x ¨ y, ¤à㣨¬¨ á«®¢ ¬¨, ¥á«¨ ¥á«¨ PfX = x; Y = yg = PfX = xgPfY = y g ¤«ï ¢á¥å x ¨ y . ª« ¤ë¢ ï ¨ 㬮¦ ï á«ãç ©ë¥ ¢¥«¨ç¨ë, ®¯à¥¤¥«ñë¥ ®¤®¬ ¨ ⮬ ¦¥ ¢¥à®ïâ®á⮬ ¯à®áâà á⢥, ¬ë ¯®«ãç ¥¬ ®¢ë¥ á«ãç ©ë¥ ¢¥«¨ç¨ë, ®¯à¥¤¥«ñë¥ â®¬ ¦¥ ¯à®áâà á⢥. ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ á«ãç ©®© ¢¥«¨ç¨ë à®á⥩è ï ¨ ¨¡®«¥¥ ç áâ® ¨á¯®«ì§ã¥¬ ï å à ªâ¥à¨á⨪ á«ãç ©®© ¢¥«¨ç¨ë | íâ® ¥ñ á।¥¥ (mean), §ë¢ ¥¬®¥ â ª¦¥ ¬ ⥬ â¨ç¥áª¨¬ ®¦¨¤ ¨¥¬ (expected value, expectation). «ï ¤¨áªà¥â®© á«ãç ©®© ¢¥«¨ç¨ë X ®® ®¯à¥¤¥«ï¥âáï ä®à¬ã«®© M[X ] = X x xPfX = xg; (6.23) ¨ áãé¥áâ¢ã¥â, ª®£¤ íâ®â àï¤ ¨¬¥¥â ª®¥ç®¥ ç¨á«® ç«¥®¢ ¨«¨ ¡á®«îâ® á室¨âáï. ®£¤ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ®¡®§ ç ¥âáï X ¨«¨ ¯à®áâ® , ¥á«¨ ¨§ ª®â¥ªáâ ïá®, ® ª ª®© á«ãç ©®© ¢¥«¨ç¨¥ ¨¤¥â à¥çì. ãáâì ¢ ¨£à¥ ¤¢ ¦¤ë ¡à®á îâ ᨬ¬¥âà¨çãî ¬®¥âã; ¢ë ¯®«ãç ¥â¥ 3 àã¡«ï § ª ¦¤®£® ¢ë¯ ¢è¥£® ®à« ¨ ®â¤ ñ⥠2 àã¡«ï § 110 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ª ¦¤ãî ¢ë¯ ¢èãî à¥èªã. 먣àëè X ¡ã¤¥â á«ãç ©®© ¢¥«¨ç¨®©, ¨ ¥ñ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¡ã¤¥â à ¢® M[X ] = 6 Pf2 ®à« g + 1 Pf1 ®àñ« ¨ 1 à¥èª g ; 4 Pf2 à¥èª¨g = 6(1=4) + 1(1=2) ; 4(1=4) = 1: ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ á㬬ë á«ãç ©ëå ¢¥«¨ç¨ à ¢® á㬬¥ ¨å ®¦¨¤ ¨©: M[X + Y ] = M[X ] + M[Y ]; (6.24) ¥á«¨ M[X ] ¨ M[Y ] ®¯à¥¤¥«¥ë. â® ¯à ¢¨«® ¬®¦® à á¯à®áâà ¨âì «î¡ë¥ ª®¥çë¥ ¨ ¡á®«îâ® á室ï騥áï ¡¥áª®¥çë¥ á㬬ë. ãáâì X | á«ãç © ï ¢¥«¨ç¨ , g(x) | ¯à®¨§¢®«ì ï äãªæ¨ï. ®£¤ ¬®¦® à áᬮâà¥âì á«ãç ©ãî ¢¥«¨ç¨ã g(X ) ( ⮬ ¦¥ ¢¥à®ïâ®á⮬ ¯à®áâà á⢥). ñ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ (¥á«¨ ®® ®¯à¥¤¥«¥®) ¬®¦® ©â¨ ¯® ä®à¬ã«¥ M[g (X )] = X x g (x)PfX = xg: «ï äãªæ¨¨ g(x) = ax, £¤¥ a | ¥ª®â®à ï ª®áâ â , ¨¬¥¥¬ M[aX ] = aM[X ]: (6.25) ¢ ¯®á«¥¤¨å ᢮©á⢠¬®¦® ᪮¬¡¨¨à®¢ âì ¢ ®¤®© ä®à¬ã«¥ (᢮©á⢮ «¨¥©®áâ¨): ¤«ï «î¡ëå ¤¢ãå á«ãç ©ëå ¢¥«¨ç¨ X ¨ Y ¨ «î¡®© ª®áâ âë a M[aX + Y ] = aM[X ] + M[Y ]: (6.26) ᫨ ¤¢¥ á«ãç ©ë¥ ¢¥«¨ç¨ë X ¨ Y ¥§ ¢¨á¨¬ë ¨ ¨å ¬ ⥬ â¨ç¥áª¨¥ ®¦¨¤ ¨ï ®¯à¥¤¥«¥ë, â® M[XY ] = = XX x y x y XX X =( x xy PfX = x; Y = y g xy PfX = xgPfY = yg X xPfX = xg)( = M[X ]M[Y ]: y y PfY = y g) ®«¥¥ ®¡é®, ¥á«¨ ¨¬¥¥âáï n ¥§ ¢¨á¨¬ëå ¢ ᮢ®ªã¯®á⨠á«ãç ©ëå ¢¥«¨ç¨ X1; X2; : : :; Xn, ¨¬¥îé¨å ¬ ⥬ â¨ç¥áª¨¥ ®¦¨¤ ¨ï, â® M[X1X2 Xn ] = M[X1]M[X2] M[Xn ]: (6.27) ¨áªà¥âë¥ á«ãç ©ë¥ ¢¥«¨ç¨ë 111 ᫨ á«ãç © ï ¢¥«¨ç¨ X ¬®¦¥â ¯à¨¨¬ âì ⮫쪮 âãà «ìë¥ § 票ï (0; 1; 2; : : : ), â® ¨¬¥¥âáï ªà ᨢ ï ä®à¬ã« ¤«ï ¥ñ ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï: M[X ] = = = 1 X i=0 1 X i=0 1 X i=1 iPfX = ig i(PfX > ig ; PfX > i + 1g) PfX > ig: (6.28) á ¬®¬ ¤¥«¥, ª ¦¤ë© ç«¥ PfX > ig ¯à¨áãâáâ¢ã¥â ¢ á㬬¥ i à § á® § ª®¬ ¯«îá ¨ i ; 1 à § á® § ª®¬ ¬¨ãá (¨áª«î票¥ á®áâ ¢«ï¥â ç«¥ PfX > 0g, ¢®¢á¥ ®âáãâáâ¢ãî騩 ¢ á㬬¥). ¨á¯¥àá¨ï ¨ áâ ¤ à⮥ ®âª«®¥¨¥ ¨á¯¥àá¨ï (variance) á«ãç ©®© ¢¥«¨ç¨ë X á ¬ ⥬ â¨ç¥áª¨¬ ®¦¨¤ ¨¥¬ M[X ] ®¯à¥¤¥«ï¥âáï ª ª D[X ] = M[(X ; M[X ])2] = M[X 2 ; 2X M[X ] + M2[X ]] = M[X 2] ; 2M[X M[X ]] + M2[X ] = M[X 2] ; 2M2[X ] + M2[X ] = M[X 2] ; M2[X ]: (6.29) ¥à¥å®¤ë M[M2[X ]] = M2[X ] ¨ M[X M[X ]] = M2[X ] § ª®ë, â ª ª ª M[X ] | íâ® ç¨á«® ( ¥ á«ãç © ï ¢¥«¨ç¨ ) ¨ ¬®¦® á®á« âìáï (6.25), ¯®« £ ï a = M[X ]. ®à¬ã«ã (6.29) ¬®¦® ¯¥à¥¯¨á âì â ª: M[X 2] = D[X ] + M2 [X ] (6.30) ਠ㢥«¨ç¥¨¨ á«ãç ©®© ¢¥«¨ç¨ë ¢ a à § ¥ñ ¤¨á¯¥àá¨ï à áâñâ ¢ a2 à §: D[aX ] = a2D[X ]: ᫨ X ¨ Y ¥§ ¢¨á¨¬ë, â® D[X + Y ] = D[X ] + D[Y ]: ®«¥¥ ®¡é®, ¤¨á¯¥àá¨ï á㬬ë n ¯®¯ à® ¥§ ¢¨á¨¬ëå á«ãç ©ëå ¢¥«¨ç¨ X1; : : :; Xn à ¢ á㬬¥ ¨å ¤¨á¯¥àᨩ: D " n X i=1 # Xi = n X i=1 D[Xi]: (6.31) 112 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì â ¤ àâë¬ ®âª«®¥¨¥¬ (standard deviation) á«ãç ©®© ¢¥«¨ç¨ë X §ë¢ ¥âáï ª¢ ¤à âë© ª®à¥ì ¨§ ¥ñ ¤¨á¯¥àᨨ. áâ® áâ ¤ à⮥ ®âª«®¥¨¥ á«ãç ©®© ¢¥«¨ç¨ë ®¡®§ ç ¥âáï X ¨«¨ ¯à®áâ® , ¥á«¨ ¨§ ª®â¥ªáâ ïá®, ® ª ª®© á«ãç ©®© ¢¥«¨ç¨¥ ¨¤¥â à¥çì. í⮩ § ¯¨á¨ ¤¨á¯¥àá¨ï ®¡®§ ç ¥âáï 2. ¯à ¦¥¨ï ®¤¡à áë¢ îâáï ¤¢¥ ®¡ëçë¥ è¥á⨣à ë¥ ª®áâ¨. ¥¬ã à ¢® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ áã¬¬ë ¢ë¯ ¢è¨å ç¨á¥«? ¥¬ã à ¢® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¬ ªá¨¬ã¬ ¨§ ¤¢ãå ¢ë¯ ¢è¨å ç¨á¥«? 6.3-2 ¬ áᨢ¥ A[1 : :n] ¨¬¥¥âáï n à ᯮ«®¦¥ëå ¢ á«ãç ©®¬ ¯®à浪¥ à §«¨çëå ç¨á¥«; ¢á¥ ¢®§¬®¦ë¥ à ᯮ«®¦¥¨ï ç¨á¥« à ¢®¢¥à®ïâë. ¥¬ã à ¢® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ®¬¥à ¬¥áâ , ª®â®à®¬ 室¨âáï ¬ ªá¨¬ «ìë© í«¥¬¥â? ®¬¥à ¬¥áâ , ª®â®à®¬ 室¨âáï ¬¨¨¬ «ìë© í«¥¬¥â? 6.3-3 ª®à®¡®çª¥ «¥¦ â âਠ¨£à «ìë¥ ª®áâ¨. £à®ª áâ ¢¨â ¤®«« à ®¤® ¨§ ç¨á¥« ®â 1 ¤® 6. ®à®¡®çª ¢áâàï娢 ¥âáï ¨ ®âªàë¢ ¥âáï. ᫨ §¢ ®¥ ¨£à®ª®¬ ç¨á«® ¥ ¢ë¯ «® ¢®¢á¥, â® ® ¯à®¨£àë¢ ¥â ᢮© ¤®«« à. ¯à®â¨¢®¬ á«ãç ¥ ® á®åà ï¥â ¥£® ¨ ¯®«ãç ¥â ¤®¯®«¨â¥«ì® á⮫쪮 ¤®«« ஢, ᪮«ìª® ¢ë¯ «® ª®á⥩ á §¢ ë¬ ¨¬ ç¨á«®¬. ª®«ìª® ¢ á।¥¬ ¢ë¨£àë¢ ¥â ¨£à®ª ¢ ®¤®© ¯ à⨨? 6.3-4? ãáâì X ¨ Y | ¥§ ¢¨á¨¬ë¥ á«ãç ©ë¥ ¢¥«¨ç¨ë. ®ª ¦¨â¥, çâ® f (X ) ¨ g(Y ) â ª¦¥ ¥§ ¢¨á¨¬ë ¤«ï «î¡ëå äãªæ¨© f ¨ g. 6.3-5? ãáâì X | ¥®âà¨æ ⥫ì ï á«ãç © ï ¢¥«¨ç¨ á ¬ ⥬ â¨ç¥áª¨¬ ®¦¨¤ ¨¥¬ M[X ]. ®ª ¦¨â¥ ¥à ¢¥á⢮ મ¢ 6.3-1 (Markov's inequality) PfX > tg 6 M[X ]=t (6.32) ¤«ï ¢á¥å t > 0. [â® ¥à ¢¥á⢮ §ë¢ îâ â ª¦¥ ¥à ¢¥á⢮¬ ¥¡ëèñ¢ .] 6.3-6? ãáâì S | ¢¥à®ïâ®á⮥ ¯à®áâà á⢮, ª®â®à®¬ ®¯à¥¤¥«¥ë á«ãç ©ë¥ ¢¥«¨ç¨ë X ¨ X 0, ¯à¨çñ¬ X (s) > X 0(s) ¤«ï ¢á¥å s 2 S . ®ª ¦¨â¥, çâ® ¤«ï «î¡®£® ¤¥©á⢨⥫쮣® ç¨á« t, PfX > tg > PfX 0 > tg: â® ¡®«ìè¥: ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ª¢ ¤à â á«ãç ©®© ¢¥«¨ç¨ë ¨«¨ ª¢ ¤à â ¥ñ ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï? 6.3-7 ¥®¬¥âà¨ç¥áª®¥ ¨ ¡¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨ï 113 ®ª ¦¨â¥, çâ® ¤«ï á«ãç ©®© ¢¥«¨ç¨ë, ¯à¨¨¬ î饩 ⮫쪮 § 票ï 0 ¨ 1, ¢ë¯®«¥® à ¢¥á⢮ D[X ] = M[X ]M[1 ; X ]. 6.3-9 뢥¤¨â¥ ¨§ ®¯à¥¤¥«¥¨ï ¤¨á¯¥àᨨ (6.29), çâ® D[aX ] = a2 D[X ]. 6.3-8 6.4 ¥®¬¥âà¨ç¥áª®¥ ¨ ¡¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨ï à®á ¨¥ ᨬ¬¥âà¨ç®© ¬®¥âë | ç áâë© á«ãç © ¨á¯ëâ ¨© ¯® á奬¥ ¥àã««¨ (Bernouilli trials) ¢ ª®â®à®© à áᬠâਢ ¥âáï n ¥§ ¢¨á¨¬ëå ¢ ᮢ®ªã¯®á⨠¨á¯ëâ ¨©, ª ¦¤®¥ ¨§ ª®â®àëå ¨¬¥¥â ¤¢ ¢®§¬®¦ëå ¨á室 : ãᯥå (success), ¯à®¨á室ï騩 á ¢¥à®ïâ®áâìî p, ¨ ¥ã¤ çã (failure), ¨¬¥îéãî ¢¥à®ïâ®áâì 1 ; p. ¢ ¢ ¦ëå à á¯à¥¤¥«¥¨ï ¢¥à®ïâ®á⥩ | £¥®¬¥âà¨ç¥áª®¥ ¨ ¡¨®¬¨ «ì®¥ | á¢ï§ ë á® á奬®© ¥àã««¨. ¥®¬¥âà¨ç¥áª®¥ à á¯à¥¤¥«¥¨¥ áᬮâਬ á¥à¨î ¨á¯ëâ ¨© ¥àã««¨, ¢ ª ¦¤®¬ ¨§ ª®â®àëå ãá¯¥å ¨¬¥¥â ¢¥à®ïâ®áâì p ( ¥ã¤ ç ¨¬¥¥â ¢¥à®ïâ®áâì q = 1 ; p). ª®¥ ¨á¯ëâ ¨¥ ¡ã¤¥â ¯¥à¢ë¬ ãᯥèë¬? ãáâì á«ãç © ï ¢¥«¨ç¨ X | ¥£® ®¬¥à; íâ ¢¥«¨ç¨ ¯à¨¨¬ ¥â § 票ï 1; 2; : : : , ¯à¨çñ¬ PfX = kg = q k;1 p (6.33) (¯¥à¢ë© ãá¯¥å ¡ã¤¥â ¨¬¥âì ®¬¥à k, ¥á«¨ k ; 1 ¨á¯ëâ ¨© ¤® ¥£® ¡ë«¨ ¥ã¤ ç묨, k-¥ ®ª § «®áì 㤠çë¬). á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩, § ¤ ®¥ ä®à¬ã«®© (6.33), §ë¢ ¥âáï £¥®¬¥âà¨ç¥áª¨¬ à á¯à¥¤¥«¥¨¥¬ (geometric distribution). ® ¯®ª § ® à¨á. 6.1. ।¯®« £ ï, çâ® p < 1, ©¤ñ¬ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ £¥®¬¥âà¨ç¥áª®£® à á¯à¥¤¥«¥¨ï, ¨á¯®«ì§ãï ä®à¬ã«ã (3.6): M[X ] = 1 X k=1 1 X kqk;1 p = pq kq k = pq (1 ;q q)2 = 1=p: k=0 (6.34) à㣨¬¨ á«®¢ ¬¨, 㦮 ¢ á।¥¬ 1=p à § ¯à®¢¥á⨠¨á¯ëâ ¨¥, çâ®¡ë ¤®¡¨âìáï ãᯥå , çâ® ¥áâ¥á⢥® ®¦¨¤ âì, ¯®áª®«ìªã ¢¥à®ïâ®áâì ãᯥå à ¢ p. ¨á¯¥àá¨î ¬®¦® ¢ëç¨á«¨âì «®£¨çë¬ ®¡à §®¬; ¯®«ãç¨âáï, çâ® D[X ] = q=p2 : (6.35) ਬ¥à: ¡ã¤¥¬ ¡à®á âì ¯ àã ª®á⥩, ¯®ª ¢ á㬬¥ ¥ ¢ë¯ ¤¥â ¨«¨ á¥¬ì ¨«¨ ®¤¨ ¤æ âì. «ï ®¤®£® íªá¯¥à¨¬¥â ¥áâì 36 ¢®§¬®¦ëå 114 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ¨á㮪 6.1 ¥®¬¥âà¨ç¥áª®¥ à á¯à¥¤¥«¥¨¥ á ¢¥à®ïâ®áâìî ãᯥå p = 1=3 ¨ ¢¥à®ïâ®áâìî ¥ã¤ ç¨ q = 1 ; p. ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ à ¢® 1=p = 3. ¨á室®¢, ¢ 6 ¨§ ¨å ¯®«ãç ¥âáï á¥¬ì ¨ ¢ 2 ¯®«ãç ¥âáï ®¤¨ ¤æ âì. ®í⮬㠢¥à®ïâ®áâì ãᯥå p à ¢ 8=36 = 2=9, ¨ ¬ ¢ á।¥¬ ¯à¨¤ñâáï 1=p = 9=2 = 4;5 à § ¡à®á¨âì ª®áâ¨, çâ®¡ë ¢ë¯ «® á¥¬ì ¨«¨ ®¤¨ ¤æ âì. ¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨¥ áᬮâਬ n ¨á¯ëâ ¨© ¯® á奬¥ ¥àã««¨ á ¢¥à®ïâ®áâìî ãᯥå p ¨ ¢¥à®ïâ®áâìî ¥ã¤ ç¨ q = 1 ; p. ãáâì á«ãç © ï ¢¥«¨ç¨ X | ª®«¨ç¥á⢮ ãᯥ客 ¢ n ¨á¯ëâ ¨ïå. ñ § 票¥ ¬®¦¥â ¡ëâì à ¢® 0; 1; : : :; n, ¨ PfX = kg = Cnk pk (1 ; p)n;k ; (6.36) ¤«ï «î¡®£® k = 0; 1; : : :; n â ª ª ª ¨¬¥¥âáï Cnk ᯮᮡ®¢ ¢ë¡à âì ¨§ n ¨á¯ëâ ¨© k 㤠çëå, ¨ ¢¥à®ïâ®áâì ª ¦¤®£® â ª®£® á«ãç ï ¡ã¤¥â pk qn;k . á¯à¥¤¥«¥¨¥ (6.36) §ë¢ îâ ¡¨®¬¨ «ìë¬ (binomial distribution). «ï ¡¨®¬¨ «ìëå à á¯à¥¤¥«¥¨© ¬ë ¨á¯®«ì§ã¥¬ ®¡®§ 票¥ b(k; n; p) = Cnk pk (1 ; p)n;k : (6.37) ਬ¥à ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï ¯®ª § à¨á㪥 6.2. §¢ ¨¥ "¡¨®¬¨ «ì®¥" á¢ï§ ® á ⥬, çâ® ¯à ¢ ï ç áâì ä®à- ¥®¬¥âà¨ç¥áª®¥ ¨ ¡¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨ï 115 ¨á㮪 6.2 ¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨¥ b(k; 15; 1=3), ¯®à®¦¤ ¥¬®¥ n = 15 ¨á¯ë⠨ﬨ ¯® á奬¥ ¥àã««¨, ª ¦¤®¥ ¨§ ª®â®àëå ¨¬¥¥â ¢¥à®ïâ®áâì ãᯥå p = 1=3. ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ à ¢® np = 5. ¬ã«ë (6.37) | íâ® k-© ç«¥ ¡¨®¬ ìîâ® (p + q)n. ᯮ¬¨ ï, çâ® p + q = 1, ¯®«ãç ¥¬ n X k=0 b(k; n; p) = 1; (6.38) ª ª ¨ ¤®«¦® ¡ëâì ( ªá¨®¬ 2). ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¤«ï á«ãç ©®© ¢¥«¨ç¨ë, ¨¬¥î饩 ¡¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨¥, ¬®¦® ¢ëç¨á«¨âì á ¯®¬®éìî (6.14) ¨ (6.38). ãáâì X | á«ãç © ï ¢¥«¨ç¨ , ¨¬¥îé ï ¡¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨¥ b(k; n; p). ®«®¦¨¬ q = 1 ; p. ® ®¯à¥¤¥«¥¨î ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï, ¨¬¥¥¬ M[X ] = = n X k=0 n X k=1 = np = np = np kb(k; n; p) kCnk pk q n;k n X k=1 n;1 X k=0 nX ;1 k=0 = np: Cnk;;11pk;1q n;k Cnk;1pk q(n;1);k b(k; n ; 1; p) (6.39) 116 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ®â ¦¥ á ¬ë© à¥§ã«ìâ â ¯®ç⨠¡¥§ ¢ëç¨á«¥¨© ¬®¦® ¯®«ãç¨âì â ª: ¯ãáâì Xi | ª®«¨ç¥á⢮ ãᯥ客 ¢ i-¬ ¨á¯ëâ ¨¨ (ª®â®à®¥ à ¢® 0 á ¢¥à®ïâ®áâìî q ¨ à ¢® 1 á ¢¥à®ïâ®áâìî p). ®£¤ M[Xi] = p 1 + q 0 = p. áâ ñâáï § ¬¥â¨âì, çâ® X = X1 + : : : + Xn , ¨ ¯®â®¬ã ¯® ᢮©áâ¢ã «¨¥©®á⨠(6.26) M[X ] = M " n X i=1 # Xi = n X i=1 M[Xi] = n X i=1 p = np: ®¤®¡ë¬ ®¡à §®¬ ¬®¦® ¢ëç¨á«¨âì ¨ ¤¨á¯¥àá¨î. § (6.29) á«¥¤ã¥â, çâ® D[Xi] = M[Xi2] ; M2[Xi]. ®áª®«ìªã Xi ¯à¨¨¬ ¥â «¨èì § 票ï 0 ¨ 1, â® M[Xi2] = M[Xi] = p, ¨, § ç¨â, D[Xi] = p ; p2 = pq: (6.40) ¥¯¥àì ¢®á¯®«ì§ã¥¬áï ¥§ ¢¨á¨¬®áâìî ¨á¯ëâ ¨© ¨ ä®à¬ã«®© (6.31): D[X ] = D " n X i=1 # Xi = n X i=1 D[Xi] = n X i=1 pq = npq: (6.41) à¨á㪥 6.2 ¢¨¤®, çâ® b(k; n; p) ª ª äãªæ¨ï ®â k á ç « 㢥«¨ç¨¢ ¥âáï, ¯®ª k ¥ ¤®á⨣¥â § 票ï np, § ⥬ 㬥ìè ¥âáï. â® ¬®¦® ¯à®¢¥à¨âì, ¢ëç¨á«¨¢ ®â®è¥¨¥ ¤¢ãå ¯®á«¥¤®¢ ⥫ìëå ç«¥®¢: b(k; n; p) = Cnk pk qn;k b(k ; 1; n; p) Cnk;1pk;1 qn;k+1 1)!(n ; k + 1)!p = n!(k ; k!(n ; k)!n!q k + 1)p = (n ; kq (6.42) 1)p ; k : = 1 + (n + kq â® ®â®è¥¨¥ ¡®«ìè¥ 1, ª®£¤ (n + 1)p ; k ¯®«®¦¨â¥«ì®, â ª çâ® b(k; n; p) > b(k ; 1; n; p) ¯à¨ k < (n + 1)p (äãªæ¨ï à áâñâ), ¨ b(k; n; p) < b(k ; 1; n; p) ¯à¨ k > (n + 1)p (äãªæ¨ï ã¡ë¢ ¥â). ᫨ ç¨á«® (n + 1)p | 楫®¥, â® äãªæ¨ï ¨¬¥¥â ¤¢®©®© ¬ ªá¨¬ã¬: ¢ â®çª å (n +1)p ¨ (n +1)p ; 1 = np ; q. ¯à®â¨¢®¬ á«ãç ¥ ¬ ªá¨¬ã¬ ®¤¨, ¨ ¤®á⨣ ¥âáï ® ¢ 楫®© â®çª¥ k, «¥¦ 饩 ¢ ¤¨ ¯ §®¥ np ; q < k < (n + 1)p. «¥¤ãîé ï «¥¬¬ ¤ ñâ ¢¥àåîî ®æ¥ªã ¤«ï ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï. ¥®¬¥âà¨ç¥áª®¥ ¨ ¡¨®¬¨ «ì®¥ à á¯à¥¤¥«¥¨ï 117 ¥¬¬ 6.1. ãáâì n > 0, 0 < p < 1, q = 1 ; p, 0 6 k 6 n. ®£¤ k nq n;k np b(k; n; p) 6 k : n;k ®ª § ⥫ìá⢮. ®£« á® ¥à ¢¥áâ¢ã (6.10), ¨¬¥¥¬ b(k; n; p) = Cnk pk qn;k n;k k pk qn;k 6 nk n ;n k n;k k np nq : = k n;k ¯à ¦¥¨ï ஢¥àì⥠ªá¨®¬ã 2 ¤«ï £¥®¬¥âà¨ç¥áª®£® à á¯à¥¤¥«¥¨ï. 6.4-2 ª®«ìª® à § ¢ á।¥¬ 㦮 ¡à®á âì 6 ᨬ¬¥âà¨çëå ¬®¥â ¤® ¢ë¯ ¤¥¨ï 3 ®à«®¢ ¨ 3 à¥è¥ª (¢ ®¤®¬ ¨á¯ëâ ¨¨)? 6.4-3 ®ª ¦¨â¥, çâ® b(k; n; p) = b(n ; k; n; q ), £¤¥ q = 1 ; p. 6.4-4 ®ª ¦¨â¥, çâ® ¬ ªá¨¬ã¬ ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï p b(k; n; p) ¯à¨¬¥à® à ¢¥ 1= 2npq, £¤¥ q = 1 ; p. 6.4-5? ®ª ¦¨â¥, çâ® ¢¥à®ïâ®áâì ¥ ¯®«ãç¨âì ¨ ®¤®£® ãá¯¥å ¢ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨ïå á ¢¥à®ïâ®áâìî ãᯥå 1=n ¯à¨¬¥à® à ¢ 1=e. ⥬ ¯®ª ¦¨â¥, çâ® ¢¥à®ïâ®áâì ¯®«ãç¨âì ஢® ®¤¨ ãᯥèë© ¨á室 â ª¦¥ ¯à¨¡«¨§¨â¥«ì® à ¢ 1=e. 6.4-6? à®ä¥áá®à ¡à®á ¥â ᨬ¬¥âà¨çãî ¬®¥âã n à §, áâ㤥⠤¥« ¥â â® ¦¥ á ¬®¥. ®ª ¦¨â¥, çâ® ¢¥à®ïâ®áâì ⮣®, çâ® ç¨á«® ®à«®¢ ã ¨å ¡ã¤¥â ®¤¨ ª®¢®, à ¢ C2nn=4n. (ª § ¨¥. ᫨ áç¨â âì ®à« ãᯥ宬 ¯à®ä¥áá®à ¨ ¥ã¤ 祩 áâ㤥â , â® ¨áª®¬®¥ ᮡë⨥ ¥áâì ¯®ï¢«¥¨¥ n ãᯥ客 á।¨ 2n ¨á¯ëâ ¨©.) 뢥¤¨â¥ ®âáî¤ â®¦¤¥á⢮ n X (Cnk )2 = C2nn : 6.4-1 k=0 6.4-7? ®ª ¦¨â¥, çâ® ¤«ï 0 6 k 6 n, b(k; n; 1=2) 6 2nH (k=n);n; £¤¥ H (x) | äãªæ¨ï íâய¨¨ (6.13). 118 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì 6.4-8? áᬮâਬ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨©. ãáâì pi | ¢¥à®- ïâ®áâì ãá¯¥å ¢ i-¬ ¨á¯ëâ ¨¨, á«ãç © ï ¢¥«¨ç¨ X ¥áâì ª®«¨ç¥á⢮ ãᯥ客 ¢® ¢á¥å íâ¨å ¨á¯ëâ ¨ïå. ãáâì p > pi ¤«ï ¢á¥å i = 1; 2; : : :; n. ®ª ¦¨â¥, çâ® PfX < kg 6 k;1 X i=0 b(i; n; p) ¯à¨ «î¡®¬ k = 1; 2; : : :; n. 6.4-9? áᬮâਬ á«ãç ©ãî ¢¥«¨ç¨ã X , à ¢ãî ç¨á«ã ãᯥ客 ¢ n ¨á¯ëâ ¨ïå á ¢¥à®ïâ®áâﬨ ãᯥå p1; : : :; pn. ãáâì X 0 | «®£¨ç ï á«ãç © ï ¢¥«¨ç¨ , ¤«ï ª®â®à®© ¢¥à®ïâ®á⨠ãᯥå à ¢ë p01; : : :; p0n. ãáâì p0i > pi ¯à¨ ¢á¥å i. ®ª ¦¨â¥, çâ® PfX 0 > kg > PfX > kg: ¯à¨ «î¡®¬ k = 0; : : :; n (ª § ¨¥: ¬®¦® áç¨â âì, ç⮠१ã«ìâ âë ¢â®à®© á¥à¨¨ ¨á¯ëâ ¨© ¯®«ãç îâáï â ª: á ç « ¤¥« ¥âáï ¯¥à¢ ï á¥à¨ï, ¯®â®¬ ¥ñ १ã«ìâ âë ª®à४â¨àãîâáï á«ãç ©ë¬ ®¡à §®¬ ¢ áâ®à®ã 㢥«¨ç¥¨ï. ᯮ«ì§ã©â¥ १ã«ìâ â ã¯à ¦¥¨ï 3.3-6.) 6.5 ¢®áâë ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï ®à¨£¨ «¥ á® ® ¬®£¨å § ¤ ç å ¢ ¦ ¢¥à®ïâ®áâì ¥ ¢ â®ç®á⨠k ãᯥ客 §¢¥§¤®©! ¯à¨ ¡¨®¬¨ «ì®¬ à á¯à¥¤¥«¥¨¨, ¥ ¬¥¥¥ k ãᯥ客 (¨«¨ ¥ ¡®«¥¥ k ãᯥ客). í⮬ à §¤¥«¥ ¬ë ¨áá«¥¤ã¥¬ íâ®â ¢®¯à®á, ®æ¥¨¢ 墮áâë (tails) ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï. ª¨¥ ®æ¥ª¨ ¯®ª §ë¢ îâ, çâ® ¡®«ì訥 ®âª«®¥¨ï ç¨á« ãᯥ客 ®â ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï (np) ¬ «®¢¥à®ïâë. ç « ¯®«ã稬 ®æ¥ªã ¤«ï ¯à ¢®£® 墮áâ à á¯à¥¤¥«¥¨ï b(k; n; p). 楪¨ ¤«ï «¥¢®£® 墮áâ ᨬ¬¥âà¨çë (ãá¯¥å¨ ¬¥ïîâáï ¬¥áâ ¬¨ á ¥ã¤ ç ¬¨). ¥®à¥¬ 6.2. ãáâì X | ç¨á«® ãᯥ客 ¢ á¥à¨¨ ¨§ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨© á ¢¥à®ïâ®áâìî ãᯥå p. ®£¤ PfX > kg = n X i=k b(i; n; p) 6 Cnk pk : ®ª § ⥫ìá⢮. ®á¯®«ì§ã¥¬áï ¥à ¢¥á⢮¬ (6.15): Cnk+i 6 Cnk Cni ;k : ¢®áâë ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï ¬¥â¨¬, çâ® PfX > kg = = = 6 n X i=k nX ;k i=0 nX ;k i=0 nX ;k i=0 119 b(i; n; p) b(k + i; n; p) Cnk+i pk+i(1 ; p)n;(k+i) Cnk Cni ;k pk+i (1 ; p)n;(k+i) nX ;k k k = Cn p Cni ;k pi(1 ; p)(n;k);i i=0 nX ;k = Cnk pk b(i; n ; k; p) i=0 k k = Cn p ; ;k b(i; n ; k; p) = 1 ¯® ä®à¬ã«¥ (6.38). â ª ª ª Pni=0 ¥à¥¯¨áë¢ ï íâ® ã⢥ত¥¨¥ ¤«ï «¥¢®£® 墮áâ , ¯®«ãç ¥¬ â ª®¥ «¥¤á⢨¥ 6.3. ãáâì X | ç¨á«® ãᯥ客 ¢ á¥à¨¨ ¨§ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨© á ¢¥à®ïâ®áâìî ãᯥå p. ®£¤ PfX 6 kg = k X i=0 b(i; n; p) 6 Cnn;k (1 ; p)n;k = Cnk (1 ; p)n;k : è á«¥¤ãîé ï ®æ¥ª ¡ã¤¥â ¤«ï «¥¢®£® 墮áâ ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï: á 㤠«¥¨¥¬ £à ¨æë ®â â®çª¨ ¬ ªá¨¬ã¬ ¢¥à®ïâ®áâì, ¯à¨å®¤ïé ïáï 墮áâ, íªá¯®¥æ¨ «ì® 㬥ìè ¥âáï. ¥®à¥¬ 6.4. ãáâì X | ç¨á«® ãᯥ客 ¢ á¥à¨¨ ¨§ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨© á ¢¥à®ïâ®áâìî ãᯥå p ¨ ¢¥à®ïâ®áâìî ¥ã¤ ç¨ q = 1 ; p. ®£¤ k ;1 X PfX < kg = b(i; n; p) < npkq; k b(k; n; p) i=0 ¯à¨ 0 < k < np. ;1 b(i; n; p) á á㬬®© £¥®¬¥®ª § ⥫ìá⢮. ë áà ¢¨¢ ¥¬ Pki=0 âà¨ç¥áª®© ¯à®£à¥áᨨ (á¬. à §¤. 3.2). «ï i = 1; 2; : : :; k ä®à¬ã« (6.42) ¤ ñâ b(i ; 1; n; p) = iq i q k q : < 6 b(i; n; p) (n ; i + 1)p n;i p n;k p 120 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ®«®¦¨¢ x = n ;k k pq < 1; ¢¨¤¨¬, çâ® ¢ ¯®á«¥¤®¢ ⥫ì®á⨠b(i; n; p) ¯à¨ 0 6 i 6 k ª ¦¤ë© ç«¥ ¬¥ìè¥ á«¥¤ãî饣®, 㬮¦¥®£® x. ®í⮬㠨â¥à¥áãîé ï á á㬬 (®â i = 0 ¤® i = k ; 1) ¬¥ìè¥ § 票ï b(k; n; p), 㬮¦¥®£® x + x2 + x3 + : : : = x=(1 ; x): k ;1 X i=0 b(i; n; p) < 1 ;x x b(k; n; p) = npkq; k b(k; n; p): ਠk 6 np=2 ª®íää¨æ¨¥â kq=(np ; k) ¥ ¯à¥¢®á室¨â 1, â ª çâ® b(k; n; p) ï¥âáï ®æ¥ª®© ᢥàåã ¤«ï áã¬¬ë ¢á¥å ¯à¥¤ë¤ãé¨å ç«¥®¢. «ï ¯à¨¬¥à à áᬮâਬ n ¡à®á ¨© ᨬ¬¥âà¨ç®© ¬®¥âë. ®«®¦¨¬ p = 1=2 ¨ k = n=4. ¥®à¥¬ 6.4 £ à â¨àã¥â, çâ® ¢¥à®ïâ®áâì ¯®ï¢«¥¨ï ¬¥¥¥ 祬 n=4 ®à«®¢ ¬¥ìè¥ ¢¥à®ïâ®á⨠¢ë¯ ¤¥¨ï ¢ â®ç®á⨠n=4 ®à«®¢. (®«¥¥ ⮣®, ¤«ï «î¡®£® ¯®«®¦¨â¥«ì®£® r 6 n=4 ¢¥à®ïâ®áâì ¯®ï¢«¥¨ï ¬¥¥¥ r ®à«®¢ ¬¥ìè¥ ¢¥à®ïâ®á⨠¯®ï¢«¥¨ï ¢ â®ç®á⨠r ®à«®¢.) ¥®à¥¬ 6.4 ¬®¦¥â ¡ëâì ¨á¯®«ì§®¢ ¢¬¥áâ¥ á ®æ¥ª ¬¨ ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï ᢥàåã, ¯à¨¬¥à á «¥¬¬®© 6.1. ¨¬¬¥âà¨ç ï ®æ¥ª ¤«ï ¯à ¢®£® 墮á⠢룫廊â â ª: «¥¤á⢨¥ 6.5. ãáâì X | ç¨á«® ãᯥ客 ¢ á¥à¨¨ ¨§ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨© á ¢¥à®ïâ®áâìî ãᯥå p ¨ ¢¥à®ïâ®áâìî ¥ã¤ ç¨ q = 1 ; p. ®£¤ n X k)p b(k; n; p) PfX > kg = b(i; n; p) < (kn ;; np i=k+1 ¯à¨ np < k < n. á«¥¤ãî饩 ⥮६¥ à áᬠâਢ ¥âáï ¡®«¥¥ ®¡é¨© á«ãç ©: ª ¦¤®¥ ¨§ ¨á¯ëâ ¨© ¨¬¥¥â á¢®î ¢¥à®ïâ®áâì ãᯥå . ¥®à¥¬ 6.6. áᬮâਬ á¥à¨î ¨§ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨©; ¢¥à®ïâ®áâì ãá¯¥å ¢ i-¬ ¨§ ¨å ®¡®§ 稬 pi (¢¥à®ïâ®áâì ¥ã¤ ç¨ qi à ¢ 1 ; pi). ãáâì á«ãç © ï ¢¥«¨ç¨ X ¥áâì ç¨á«® ãᯥ客 ¢ á¥à¨¨, ¨ ¯ãáâì = M[X ]. ®£¤ ¤«ï r > ¢ë¯®«¥® ¥à ¢¥á⢮ r PfX ; > rg 6 e r : ®ª § ⥫ìá⢮. «ï «î¡®£® > 0 äãªæ¨ï ex áâண® ¢®§à á⠥⠯® x, ¯®í⮬ã PfX ; > rg = Pfe(X ;) > er g; ¢®áâë ¡¨®¬¨ «ì®£® à á¯à¥¤¥«¥¨ï 121 «ï ®æ¥ª¨ ¯à ¢®© ç á⨠¬ë ¨á¯®«ì§ã¥¬ ¥à ¢¥á⢮ મ¢ (6.32) ( ¨¡®«¥¥ ¢ë£®¤®¥ § 票¥ ¯®¤¡¥àñ¬ ¯®§¤¥¥): PfX ; > rg 6 M[e(X ;)]e;r : (6.43) áâ ñâáï ®æ¥¨âì M[e(X ;)] ¨ ¢ë¡à âì § 票¥ ¤«ï . áᬮâਬ á«ãç ©ãî ¢¥«¨ç¨ã Xi, à ¢ãî 1 ¢ á«ãç ¥ ãᯥå i-£® ¨á¯ëâ ¨ï ¨ 0 ¢ á«ãç ¥ ¥£® ¥ã¤ ç¨. ®£¤ X= ¨ X;= n X i=1 Xi n X i=1 (Xi ; pi ): ®áª®«ìªã ¨á¯ëâ ¨ï ¥§ ¢¨á¨¬ë, â® ¢¥«¨ç¨ë Xi ¥§ ¢¨á¨¬ë. ®í⮬㠢¥«¨ç¨ë e(Xi;pi )] ¥§ ¢¨á¨¬ë (ã¯à. 6.3-4), ¨ ¯® ä®à¬ã«¥ (6.27) ¬®¦® ¯¥à¥áâ ¢¨âì ¯à®¨§¢¥¤¥¨¥ ¨ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥: M[e(X ;)] = M " n Y i=1 e(Xi;pi ) # = n Y i=1 M[e(Xi;pi ) ]: ¦¤ë© ¬®¦¨â¥«ì ¬®¦® ®æ¥¨âì â ª: M[e(Xi;pi ) ] = e(1;pi ) pi + e(0;pi ) qi = pi eqi + qi e;pi 6 pie + 1 (6.44) 6 exp(pie ); £¤¥ exp(x) ®¡®§ ç ¥â íªá¯®¥æ¨ «ìãî äãªæ¨î: exp(x) = ex. (ë ¢®á¯®«ì§®¢ «¨áì ⥬, çâ® > 0, qi 6 1, eqi 6 e ¨ e;pi 6 1, â ª¦¥ ¥à ¢¥á⢮¬ (2.7).) «¥¤®¢ ⥫ì®, n Y ( X ; ) M[e ] 6 exp(pie ) = exp(e ); i=1 Pn â ª ª ª = i=1 pi. ª¨¬ ®¡à §®¬, ¨§ ¥à ¢¥á⢠(6.43) á«¥¤ã¥â ®æ¥ª PfX ; > rg 6 exp(e ; r): (6.45) 롨à ï = ln(r=) (á¬. ã¯à. 6.5-6), ¯®«ãç ¥¬ PfX ; > rg 6 exp(eln(r=) ; r ln(r=)) er = e r : = exp(r ; r ln(r=)) = (r= )r r 122 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì [®à¬ «ì® í⠮楪 ¯à¨¬¥¨¬ ¯à¨ «î¡®¬ r > , ® ¥ñ ¨¬¥¥â á¬ëá« ¯à¨¬¥ïâì ⮫쪮 ¥á«¨ r ¡®«ìè¥ ¡®«¥¥ 祬 ¢ e à §, ¨ ç¥ ¯à ¢ ï ç áâì ¡ã¤¥â ¡®«ìè¥ ¥¤¨¨æë.] ¥®à¥¬ã 6.6 ¬®¦® ¯à¨¬¥ïâì ¨ ¤«ï á«ãç ï à ¢ëå ¢¥à®ïâ®á⥩. ਠí⮬ = M[X ] = np, ¨ ¯®«ãç ¥âáï â ª®¥ «¥¤á⢨¥ 6.7. ãáâì X | ç¨á«® ãᯥ客 ¢ á¥à¨¨ ¨§ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨© ¯® á奬¥ ¥àã««¨ á ¢¥à®ïâ®áâìî ãᯥå p. ®£¤ n r X PfX ; np > rg = b(k; n; p) 6 npe : r k=dnp+re ¯à ¦¥¨ï 6.5-1? â® ¬¥¥¥ ¢¥à®ïâ®: ¥ ¯®«ãç¨âì ¨ ®¤®£® ®à« ¯à¨ n ¡à®- á ¨ïå ᨬ¬¥âà¨ç®© ¬®¥âë, ¨«¨ ¯®«ãç¨âì ¬¥¥¥ n ®à«®¢ ¯à¨ 4n ¡à®á ¨ïå ᨬ¬¥âà¨ç®© ¬®¥âë? 6.5-2? ®ª ¦¨â¥, çâ® k ;1 X Cni ai < (a + 1)n na ; kk(a + 1) b(k; n; a=(a + 1)) i=0 ¯à¨ a > 0 ¨ 0 < k < n. 6.5-3? ®ª ¦¨â¥, çâ® ¯à¨ 0 < k < np, £¤¥ 0 < p < 1 ¨ q = 1 ; p, ¢ë¯®«¥® ¥à ¢¥á⢮ k;1 np k nq n;k X kq i n ; i p q < np ; k k : n ; k i=0 6.5-4? ®ª ¦¨â¥, çâ® ¢ ãá«®¢¨ïå ⥮६ë 6.6 ¢ë¯®«¥® ¥à ¢¥- á⢮ r ( n ; ) e Pf ; X > rg 6 ; r ¢ ãá«®¢¨ïå á«¥¤á⢨ï 6.7 ¢ë¯®«¥® ¥à ¢¥á⢮ r Pfnp ; X > rg 6 nqe r : 6.5-5? áᬮâਬ á¥à¨î ¨§ n ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨©; ¢¥à®ïâ- ®áâì ãá¯¥å ¢ i-¬ ¨§ ¨å ®¡®§ 稬 pi (¢¥à®ïâ®áâì ¥ã¤ ç¨ qi à ¢ 1 ; pi). ãáâì á«ãç © ï ¢¥«¨ç¨ X ¥áâì ç¨á«® ãᯥ客 ¢ á¥à¨¨, ¨ ¯ãáâì = M[X ]. ®ª ¦¨â¥, çâ® ¯à¨ r > 0 ¢ë¯®«¥® ¥à ¢¥á⢮ PfX ; > rg 6 e;r =2n : 2 ¥à®ïâ®áâë© «¨§ 123 6.5-6? ®ª ¦¨â¥, çâ® ¯à¨ ¢ë¡à ®¬ § 票¨ = ln(r=) ¯à ¢ ï ç áâì ¥à ¢¥á⢠(6.45) ¤®á⨣ ¥â ¬¨¨¬ã¬ . 6.6 ¥à®ïâ®áâë© «¨§ í⮬ à §¤¥«¥ ¬ë ¯à¨¢¥¤ñ¬ âਠ¯à¨¬¥à ¯à¨¬¥¥¨ï à §®¡à ëå ¬¥â®¤®¢ ®æ¥ª¨ ¢¥à®ïâ®á⥩. ਬ¥àë í⨠⠪®¢ë: ᮢ¯ ¤¥¨¥ ¤¥© ஦¤¥¨© ã ¤¢ãå 祫®¢¥ª á।¨ ¤ ëå k 祫®¢¥ª, à á¯à¥¤¥«¥¨¥ è ஢ ¯® ãà ¬ ¨ ãç á⪨ ¯®¢â®àïîé¨åáï ¨á室®¢ ¯à¨ ¡à®á ¨¨ ¬®¥âë. 6.6.1 à ¤®ªá ¤ï ஦¤¥¨ï à ¤®ªá ¤ï ஦¤¥¨ï (birthday paradox) á¢ï§ á â ª¨¬ ¢®¯à®á®¬: ᪮«ìª® 祫®¢¥ª ¤®«¦® ¡ëâì ¢ ª®¬ â¥, ç⮡ë á ¡®«ì让 ¢¥à®ïâ®áâìî á।¨ ¨å ®ª § «¨áì ¤¢®¥ த¨¢è¨åáï ¢ ®¤¨ ¤¥ì? à ¤®ªá á®á⮨⠢ ⮬, çâ® ®â¢¥â § ç¨â¥«ì® ¬¥ìè¥ ç¨á« ¤¥© ¢ £®¤ã, çâ® ª ¦¥âáï áâà ë¬. ë áç¨â ¥¬, çâ® ¢ £®¤ã 365 ¤¥© ¨ çâ® ¤¨ ஦¤¥¨ï k 祫®¢¥ª ¢ë¡¨à îâáï á«ãç ©® ¨ ¥§ ¢¨á¨¬® ¤à㣠®â ¤à㣠. 楨¬ ¢¥à®ïâ®áâì ⮣®, çâ® ¢á¥ ¤¨ ஦¤¥¨ï ®ª ¦ãâáï à §«¨ç묨. ãáâì ¤¥ì ஦¤¥¨ï ¯¥à¢®£® 㦥 ¢ë¡à ; ïá®, çâ® ¤¥ì ஦¤¥¨ï ¢â®à®£® ᮢ¯ ¤ñâ á ¨¬ á ¢¥à®ïâ®áâìî 1=365. ਠ¢ë¡à ëå (¨ à §«¨çëå) ¤ïå ஦¤¥¨ï ¯¥à¢®£® ¨ ¢â®à®£® ¢¥à®ïâ®áâì, çâ® ã âà¥â쥣® ¤¥ì ஦¤¥¨ï ᮢ¯ ¤ñâ á ®¤¨¬ ¨§ 㦥 ¨¬¥îé¨åáï, ¡ã¤¥â 2=365 ¨ â ª ¤ «¥¥. ¨â®£¥ ¢¥à®ïâ®áâì ⮣®, çâ® ã k 祫®¢¥ª ¡ã¤ãâ à §«¨çë¥ ¤¨ ஦¤¥¨ï, ¥áâì 1 2 k ; 1 1; 1; ::: 1; : 365 365 365 ®«¥¥ ä®à¬ «ì®, ¯ãáâì n | ç¨á«® ¤¥© ¢ £®¤ã, ¨ ¯ãáâì Ai | ᮡë⨥ "¤¥ì ஦¤¥¨ï (i + 1)-£® 祫®¢¥ª ¥ ᮢ¯ ¤ ¥â á ¤ï¬¨ ஦¤¥¨ï ¯à¥¤ë¤ãé¨å i 祫®¢¥ª". ®£¤ ¯¥à¥á¥ç¥¨¥ Bi = A1 \ A2 \ : : : \ Ai;1 ¡ã¤¥â ᮡë⨥¬ "ã ¯¥à¢ëå i 祫®¢¥ª ¤¨ ஦¤¥¨ï à §«¨çë". ®áª®«ìªã Bk = Ak;1 \ Bk;1 , â® ¨§ ä®à¬ã«ë (6.20) ¯®«ãç ¥¬ á®®â®è¥¨¥ PfBk g = PfBk;1 gPfAk;1 jBk;1 g: (6.46) ç «ì®¥ ãá«®¢¨¥: PfB1g = 1. á«®¢ ï ¢¥à®ïâ®áâì PfAk;1 jBk;1g à ¢ (n ; k + 1)=n, â ª ª ª á।¨ n ¤¥© ¨¬¥¥âáï n ; (k ; 1) ᢮¡®¤ëå (¯® ãá«®¢¨î ¢á¥ ¯à¥¤ë- 124 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ¤ã騥 ¤¨ ஦¤¥¨ï à §«¨çë). ®í⮬ã PfBk g = PfB1 gPfA1jB1 gPfA2jB2 g PfAk;1 jBk;1 g n ; 2 n ; k + 1 n ; 1 ::: = 1 n n n 1 2 k ; 1 = 1 1; n 1; n t::: 1; n ¥¯¥àì ¨§ ¥à ¢¥á⢠1 + x 6 ex (2.7) á«¥¤ã¥â, çâ® PfBk g 6 e;1=n e;2=n e;(k;1)=n = e;(1+2+3+:::+(k;1))=n = e;k(k;1)=2n 6 1=2; ¥á«¨ ;k(k ; 1)=2n 6 ln(1=2). ¥à®ïâ®áâì ⮣®, çâ® ¢á¥ k ¤¥© ஦¤¥¨© à §«¨çë, ¥ ¯à¥¢®á室¨â 1=2 ¯à¨ k(k ; 1)p> 2n ln 2. ¥è ï íâ® ª¢ ¤à ⮥ ¥à ¢¥á⢮, ¯®«ãç ¥¬ k > (1 + 1 + (8 ln 2)n)=2. «ï n = 365, ¨¬¥¥¬ k > 23. â ª, ¥á«¨ ¢ ª®¬ ⥠室¨âáï ¥ ¬¥¥¥ 23 祫®¢¥ª, â® á ¢¥à®ïâ®áâìî ¥ ¬¥¥¥ 1=2 ª ª¨¥-â® ¤¢®¥ ¨§ ¨å த¨«¨áì ¢ ®¤¨ ¨ â®â ¦¥ ¤¥ì. àá¥, £¤¥ £®¤ á®á⮨⠨§ 669 ¬ àᨠ᪨å áã⮪, ¢ ª®¬ ⥠¤®«¦® ¡ëâì ¥ ¬¥¥¥ 31 ¬ àᨠ¨ . à㣮© ¬¥â®¤ «¨§ áâì ¤à㣮©, ¡®«¥¥ ¯à®á⮩ ᯮᮡ ¯®«ãç¨âì ®æ¥ªã ¤«ï தá⢥®© § ¤ ç¨. «ï ª ¦¤®© ¯ àë «î¤¥© (i; j ), 室ïé¨åáï ¢ ª®¬ â¥, à áᬮâਬ á«ãç ©ãî ¢¥«¨ç¨ã Xij Xij = ( 1; ¥á«¨ i ¨ j த¨«¨áì ¢ ®¤¨ ¤¥ì, 0; ¢ ¯à®â¨¢®¬ á«ãç ¥. ¥à®ïâ®áâì ⮣®, çâ® ¤¨ ஦¤¥¨ï ¤¢ãå ¤ ëå «î¤¥© ᮢ¯ ¤ îâ, à ¢ 1=n, ¯®í⮬㠯® ®¯à¥¤¥«¥¨î ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï (6.23) M[Xij ] = 1 (1=n) + 0 (1 ; 1=n) = 1=n ¯à¨ i = 6 k. 㬬 ¢á¥å Xij ¯® ¢á¥¬ ¯ à ¬ 1 6 i < j 6 k ¨¬¥¥â ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥, à ¢®¥ á㬬¥ ®¦¨¤ ¨© ¤«ï ª ¦¤®© ¯ àë; ¢á¥£® ¯ à Ck2 = k(k ; 1)p=2, â ª çâ® íâ á㬬 à ¢ k(k ; 1)=2n. ®í⮬ã 㦮 ¯à¨¬¥à® 2n 祫®¢¥ª, çâ®¡ë ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¯ à «î¤¥© á ᮢ¯ ¤ î騬¨ ¤ï¬¨ ஦¤¥¨ï áà ¢ï«®áì á 1. ¥à®ïâ®áâë© «¨§ 125 ¯à¨¬¥à, ¯à¨ n = 365 ¨ k = 28 ®¦¨¤ ¥¬®¥ ç¨á«® ¯ à «î¤¥©, த¨¢è¨åáï ¢ ®¤¨ ¤¥ì, à ¢® (28 27)=(2 365) 1;0356. àᥠ¤«ï í⮣® âॡã¥âáï 38 ¬ àᨠ. ¬¥â¨¬, çâ® ¬ë ®æ¥¨¢ «¨ ¤¢¥ à §ë¥ ¢¥é¨: (1) ¯à¨ ª ª®¬ k P ¢¥à®ïâ®áâì ᮡëâ¨ï X = Xij > 0 ¡®«ìè¥ 1=2, ¨ (2) ¯à¨ ª ª®¬ k ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ X ¡®«ìè¥ 1. ®à¬ «ì® íâ® à §ë¥ ¢®¯à®áë (¬®¦® § ¬¥â¨âì «¨èì, çâ® ¥á«¨ ¢¥à®ïâ®áâì PfX > 0g > 1=2, â® M[X ] > 1=2, â ª ª ª ¢¥«¨ç¨ X ¯à¨¨¬ ¥â æ¥«ë¥ § 票ïp). ¤ ª® ¨ ¢ ⮬, ¨ ¢ ¤à㣮¬ á«ãç ¥ ®â¢¥â ¨¬¥¥â ᨬ¯â®â¨ªã ( n). 6.6.2 àë ¨ ãàë ãáâì ¨¬¥¥âáï b ãà, ¯à®ã¬¥à®¢ ëå ®â 1 ¤® b. ë ®¯ã᪠¥¬ ¢ ¨å è àë: ª ¦¤ë© è à á à ¢®© ¢¥à®ïâ®áâìî ¯®¬¥é ¥âáï ¢ ®¤ã ¨§ ãà ¥§ ¢¨á¨¬® ®â ¯à¥¤ë¤ãé¨å. ª¨¬ ®¡à §®¬, á â®çª¨ §à¥¨ï «î¡®© ¨§ ãà ¯à®¨á室¨â ¯®á«¥¤®¢ ⥫ì®áâì ¨á¯ëâ ¨© ¯® á奬¥ ¥àã««¨ á ¢¥à®ïâ®áâìî ãᯥå 1=b (ãᯥå | ¯®¯ ¤ ¨¥ è à ¢ íâã ãàã). ë à áᬮâਬ ¥áª®«ìª® § ¤ ç, á¢ï§ ëå á â ª¨¬ ¯à®æ¥áᮬ. ª®«ìª® è ஢ ¯®¯ ¤ñâ ¢ ¤ ãî ãàã? ®«¨ç¥á⢮ è ஢, ¯®¯ ¢è¨å ¢ ¤ ãî ãàã, ®¯¨áë¢ ¥âáï ¡¨®¬¨ «ìë¬ à á¯à¥¤¥«¥¨¥¬ b(k; n; 1=b). ᫨ ¢á¥£® ¡à®á ¥âáï n è ஢, â® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¯®¯ ¢è¨å ¢ ãàã è ஢ à ¢® n=b. ª®«ìª® ¢ á।¥¬ è ஢ 㦮 ¡à®á¨âì, ¯®ª ¢ ¤ ãî ãàã ¥ ¯®¯ ¤ñâ è à? ®«¨ç¥á⢮ ¡à®áª®¢ ¤® ¯¥à¢®£® ¯®¯ ¤ ¨ï ¢ § ¤ ãî ãàã ¨¬¥¥â £¥®¬¥âà¨ç¥áª®¥ à á¯à¥¤¥«¥¨¥ á ¢¥à®ïâ®áâìî 1=b, ¯®í⮬㠮¦¨¤ ¥¬®¥ ç¨á«® ¡à®áª®¢ ¥áâì 1=(1=b) = b. ª®«ìª® è ஢ 㦮 ¡à®á¨âì, çâ®¡ë ª ¦¤ ï ãà ᮤ¥à¦ « ¯® ¬¥ì襩 ¬¥à¥ ®¤¨ è à? 㤥¬ á«¥¤¨âì § ç¨á«®¬ § ¯®«¥ëå ãà. ç «¥ ®® à ¢® ã«î, § ⥬ 㢥«¨ç¨¢ ¥âáï, ¯®ª ¥ ¤®á⨣¥â b. ¡®§ 稬 ç¥à¥§ ni á«ãç ©ãî ¢¥«¨ç¨ã, à ¢ãî ç¨á«ã ¯®¯ë⮪, ¯®âॡ®¢ ¢è¨åáï, ç⮡ë íâ® ç¨á«® ¢®§à®á«® ®â i ; 1 ¤® i. ( ª¨¬ ®¡à §®¬, ¥á«¨ ¢â®à ï ¨ âà¥âìï ¯®¯ë⪨ ¯à¨è«¨áì âã ¦¥ ãàã, çâ® ¯¥à¢ ï, ç¥â¢ñàâ ï | ¤àã£ãî, â® n1 = 1, n2 = 3.) ¡é¥¥ ç¨á«® ¯®¯ë⮪ ¤® § ¯®«¥¨ï ¢á¥å ãà à ¢® n1 + n2 + : : : + nb. ë ¢ëç¨á«¨¬ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ í⮩ áã¬¬ë ª ª á㬬㠬 ⥬ â¨ç¥áª¨å ®¦¨¤ ¨©. ®£¤ ¬ë ¦¤ñ¬ § ¯®«¥¨ï i-© ãàë, § ¯®«¥® i ; 1 ãà ¨§ b ¨ ¢¥à®ïâ®áâì ¯®¯ áâì ¢ ¥§ ¯®«¥ãî à ¢ (b ; i + 1)=b. ® ᢮©áâ¢ã £¥®¬¥âà¨ç¥áª®£® à á¯à¥¤¥«¥¨ï ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢¥«¨ç¨ë ni ®¡à â® í⮩ ¢¥à®ïâ®á⨠¨ à ¢® b=(b ; i + 1). 㬬 íâ¨å ¢¥«¨ç¨ ¯® ¢á¥¬ i à ¢ b(1=b + 1=(b ; 1) + : : : + 1=2 + 1) = b(ln b + O(1)). (¬. ä®à¬ã«ã (3.5) ¤«ï áã¬¬ë £ ମ¨ç¥áª®£® àï¤ .) â ª, âॡã¥âáï ᤥ« âì ¢ á।¥¬ ¯à¨¬¥à® b ln b ¡à®áª®¢, ¯à¥- 126 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ¦¤¥ 祬 ¢ ª ¦¤®© ãॠ¯®ï¢¨âáï ¯® è àã. 6.6.3 ç á⪨ ¯®¢â®àïîé¨åáï ¨á室®¢ ãáâì ¬ë ¡à®á ¥¬ ᨬ¬¥âà¨çãî ¬®¥âã n à §. ª®¥ ¬ ªá¨¬ «ì®¥ ç¨á«® ¨¤ãé¨å ¯®¤àï¤ ®à«®¢ ¬ë ®¦¨¤ ¥¬ 㢨¤¥âì? ª §ë¢ ¥âáï, ®â¢¥â íâ®â ¢®¯à®á | (lg n). ç « ¤®ª ¦¥¬, çâ® ®¦¨¤ ¥¬ ï ¤«¨ ¨¡®«ì襣® ãç á⪠¥áâì O(lg n). ãáâì ᮡë⨥ Aik á®á⮨⠢ ⮬, çâ® ¨¬¥¥âáï ãç á⮪ ¨§ k ¨«¨ ¡®«¥¥ ®à«®¢, ç¨ î騩áï á i-£® ¡à®á ¨ï. 祢¨¤®, PfAik g = 1=2k : (6.47) ਠk = 2dlg ne ¢¥à®ïâ®áâì ¯®ï¢«¥¨ï k ®à«®¢ ¢ ¤ ëå ¯®§¨æ¨ïå ¥ ¯à¥¢®á室¨â 1=n2, ¢®§¬®¦ëå ¬¥áâ (§ 票© i) ¬¥ìè¥ ç¥¬ n, â ª çâ® ¢¥à®ïâ®áâì ¯®ï¢«¥¨ï k ®à«®¢ ¯®¤àï¤ (£¤¥-¨¡ã¤ì) ¥ ¡®«ìè¥ 1=n. ¥¯¥àì ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¬ ªá¨¬ «ì®£® ç¨á« ¨¤ãé¨å ¯®¤àï¤ ®à«®¢ ®æ¥¨¢ ¥âáï â ª: íâ® ç¨á«® ¨ª®£¤ ¥ ¯à¥¢®á室¨â n ¨ ¯®ç⨠¢á¥£¤ (á ¢¥à®ïâ®áâìî 1 ; 1=n) ¥ ¯à¥¢®á室¨â 2dlg ne, ¯®í⮬㠮¦¨¤ ¨¥ ¥ ¡®«ìè¥ d2 lg ne+n(1=n) = O(lg n). ¥à®ïâ®áâì ®¡à §®¢ ¨ï ãç á⪠®à«®¢ ¤«¨ë ¥ ¬¥¥¥ rdlg ne ¡ëáâ஠㬥ìè ¥âáï á à®á⮬ r (¤«ï 䨪á¨à®¢ ®© ¯®§¨æ¨¨ ® ¥ ¡®«ìè¥ 2;r lg n = n;r , ¤«ï ¢á¥å ¯®§¨æ¨© ¢ á㬬¥ ® ¥ ¯à¥¢®á室¨â n n;r = n;(r;1).) ¯à¨¬¥à, ¤«ï n = 1000 ¢¥à®ïâ®áâì ¯®ï¢«¥¨ï ãç á⪠¨§ ¯® ¬¥ì襩 ¬¥à¥ 2dlg ne = 20 ®à«®¢ ¥ ¯à¥¢®á室¨â 1=n = 1=1000, ¢¥à®ïâ®áâì ¯®ï¢«¥¨ï ãç á⪠3dlg ne = 30 ®à«®¢ ¥ ¡®«ìè¥ 1=n2 = 10;6. ¥¯¥àì ¤®ª ¦¥¬ ®æ¥ªã ᨧã: ®¦¨¤ ¥¬ ï ¤«¨ ¨¡®«ì襣® ãç á⪠¥áâì (lg n). «ï í⮣® à áᬮâਬ ãç á⪨ ¤«¨ë b(lg n)=2c. ®£« á® (6.47) ¢¥à®ïâ®áâì ¯®ï¢«¥¨ï â ª®£® ãç á⪠¢ ¤ ®© ¯®§¨æ¨¨ ¥ ¬¥ìè¥ p1=2b(lg n)=2c > 1=pn, ¢¥à®ïâ®áâì ¥£® ¥¯®ï¢«¥¨ï ¥ ¡®«ìè¥ 1 ; 1= n. §®¡ìñ¬ ¢áî ¯®á«¥¤®¢ ⥫ì®áâì ¡à®á ¨© ¥¯¥à¥á¥ª î騥áï £à㯯ë, á®áâ®ï騥 ¨§ b(lg n)=2c ¡à®á ¨© ª ¦¤ ï. (¥áª®«ìª® ç«¥®¢ ®ª ¦ãâáï ¢¥ £à㯯, ¥á«¨ ¯à¨ ¤¥«¥¨¨ ¡ã¤¥â ®áâ ⮪.) ¨á«® £à㯯 ¥ ¬¥ìè¥ 2n= lg n ; 1. ®¡ëâ¨ï ¢ à §ëå £à㯯 å ¥§ ¢¨á¨¬ë, ¯®í⮬㠢¥à®ïâ®áâì ⮣®, çâ® ¨ ®¤ ¨§ íâ¨å £à㯯 ¥ á®á⮨⠨§ ®¤¨å ®à«®¢, ¥ ¡®«ìè¥ p p (1 ; 1= n)2n= lg n;1 6 e;(2n= lg n;1)= n = O(e; lg n ) = O(1=n) ë ¨á¯®«ì§®¢ «¨ â®â ä ªâ, çâ® 1 + x 6 ex (2.7), â ª¦¥ â®, çâ® p (2n= lg n ; 1)= n > lg n ; O(1). â ª, á ¢¥à®ïâ®áâìî ¥ ¬¥¥¥ 1 ; O(1=n) ¤«¨ ¨¡®«ì襣® ãç á⪠¯®¤àï¤ ¨¤ãé¨å ®à«®¢ ¥ ¬¥ìè¥ blg n=2c = (lg n), ¯®- ¤ ç¨ ª £« ¢¥ 6 127 í⮬㠬 ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¨ª ª ¥ ¬¥ìè¥ (1;1=n) (lg n) = (lg n). ¯à ¦¥¨ï àë ¡à®á îâ ¢ b ãà; ¢á¥ ¡à®á ¨ï ¥§ ¢¨á¨¬ë ¤à㣠®â ¤à㣠, ¨ ª ¦¤ë© è à à ¢®¢¥à®ïâ® ¯®¯ ¤ ¥â ¢ «î¡ãî ¨§ ãà. ¥¬ã à ¢® ®¦¨¤ ¥¬®¥ ª®«¨ç¥á⢮ ¡à®á ¨© ¤® ¬®¬¥â , ª®£¤ ¢ ®¤®© ¨§ ãà ®ª ¦¥âáï ¤¢ è à ? 6.6-2? ãé¥á⢥® «¨ ¤«ï ¯à¨¢¥¤ñ®£® ¬¨ «¨§ ¯ à ¤®ªá ¤ï ஦¤¥¨ï â®, çâ® ¤¨ ஦¤¥¨ï ¥§ ¢¨á¨¬ë ¢ ᮢ®ªã¯®áâ¨, ¨«¨ ¡ë«® ¡ë ¤®áâ â®ç® ¨å ¯®¯ ன ¥§ ¢¨á¨¬®áâ¨? ¡êïá¨â¥ ᢮© ®â¢¥â. 6.6-3? ª®«ìª¨å £®á⥩ ¤® ¯à¨£« á¨âì ¢¥ç¥à¨ªã, ç⮡ë ᪮॥ ¢á¥£® ®ª § «®áì, çâ® ¯® ¬¥ì襩 ¬¥à¥ â஥ ¨§ ¨å த¨«¨áì ¢ ®¤¨ ¤¥ì? 6.6-4? ªãî ¤®«î á®áâ ¢«ïî⠨ꥪ樨 á।¨ ¢á¥å ®â®¡à ¦¥¨© k-í«¥¬¥â®£® ¬®¦¥á⢠¢ n-í«¥¬¥â®¥? ª á¢ï§ íâ®â ¢®¯à®á á ¯ à ¤®ªá®¬ ¤ï ஦¤¥¨ï? 6.6-5? ãáâì n è ஢ ¡à®á îâ ¢ n ãà, ¢á¥ ¡à®á ¨ï ¥§ ¢¨á¨¬ë, ¯®¯ ¤ ¨ï ª ¦¤®£® è à ¢® ¢á¥ ãàë à ¢®¢¥à®ïâë. ¥¬ã à ¢® ®¦¨¤ ¥¬®¥ ª®«¨ç¥á⢮ ¯ãáâëå ãà? ®¦¨¤ ¥¬®¥ ª®«¨ç¥á⢮ ãà, ¢ ª®â®àë¥ ¯®¯ «® ¢ â®ç®á⨠¯® ®¤®¬ã è àã? 6.6-6? «ãçè¨â¥ ¨¦îî ®æ¥ªã ¤«ï ¤«¨ ãç á⪮¢ ¨§ ®¤¨å ®à«®¢, ¯®ª § ¢, çâ® ¯à¨ n ¡à®á ¨ïå ᨬ¬¥âà¨ç®© ¬®¥âë ãç á⮪ ¤«¨ë lg n ; 2 lg lg n ©¤ñâáï á ¢¥à®ïâ®áâìî ¥ ¬¥ìè¥ 1 ; 1=n. 6.6-1 ¤ ç¨ 6-1 àë ¨ ãàë í⮩ § ¤ ç¥ ¬ë áç¨â ¥¬ ç¨á«® ᯮᮡ®¢ à §«®¦¨âì n è ஢ ¢ b à §«¨çëå ãà. . ।¯®«®¦¨¬, çâ® ¢á¥ è àë à §ë¥, ¨å ¯®à冷ª ¢ãâਠãàë ¥ ãç¨âë¢ ¥âáï. ®ª ¦¨â¥, çâ® áãé¥áâ¢ã¥â bn ᯮᮡ®¢ ¯®¬¥áâ¨âì è àë ¢ ãàë. ¡. ।¯®«®¦¨¬, çâ® ¢á¥ è àë à §ë¥ ¨ ¨å ¯®à冷ª ¢ ãॠáãé¥á⢥. ®ª ¦¨â¥, çâ® è àë ¬®¦® à §«®¦¨âì ¯® ãà ¬ (b + n ; 1)!=(b ; 1)! ᯮᮡ ¬¨. (ª § ¨¥: ¯®¤áç¨â ©â¥ ç¨á«® ᯮᮡ®¢ à ááâ ¢¨âì n à §«¨çëå è ஢ ¨ b ; 1 ®¤¨ ª®¢ëå çñàâ®ç¥ª ¢ àï¤.) ¢. ।¯®«®¦¨¬, çâ® ¢á¥ è àë ®¤¨ ª®¢ë, ¨ ¨å ¯®à冷ª ¢ ãॠ¥ 128 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ¨¬¥¥â § 票ï. ®ª ¦¨â¥, çâ® ç¨á«® ᯮᮡ®¢ à ᪫ ¤ª¨ è ஢ ¯® ãà ¬ à ¢ï¥âáï Cbn+n;1. (ª § ¨¥: ¨á¯®«ì§ã©â¥ âã ¦¥ ¨¤¥î, çâ® ¢ ¯ãªâ¥ (¡).) £. ®ª ¦¨â¥, çâ® ¥á«¨ è àë ®¤¨ ª®¢ë¥ ¨ ¢ «î¡ãî ãàã ¯®¬¥é ¥âáï ¥ ¡®«ìè¥ ®¤®£® è à , â® ç¨á«® ᯮᮡ®¢ à ¢® Cbn. ¤. ®ª ¦¨â¥, çâ® ¥á«¨ è àë ®¤¨ ª®¢ë¥ ¨ ¢ «î¡®© ãॠ¤®«¦¥ ®ª § âìáï ¯® ¬¥ì襩 ¬¥à¥ ®¤¨ è à, â® ç¨á«® ᯮᮡ®¢ à ᪫ ¤ª¨ è ஢ à ¢® Cnb;;11. 6-2 à®£à ¬¬ ¢ëç¨á«¥¨ï ¬ ªá¨¬ã¬ áᬮâਬ â ªãî ¯à®£à ¬¬ã ¯®¨áª ¬ ªá¨¬ã¬ ¢ ¥ã¯®à冷祮¬ ¬ áᨢ¥ A[1 : :n]. 1 max ;1 2 for i 1 to n 3 do . à ¢¨âì A[i] á max. 4 if A[i] > max 5 then max A[i] ë å®â¨¬ ®¯à¥¤¥«¨âì, ᪮«ìª® à § ¢ á।¥¬ ¢ë¯®«ï¥âáï ¯à¨á¢ ¨¢ ¨¥ ¢ áâப¥ 5. ।¯®« £ ¥âáï, çâ® ç¨á« ¢ ¬ áᨢ¥ A à §«¨çë ¨ à ᯮ«®¦¥ë ¢ á«ãç ©®¬ ¯®à浪¥ (¢á¥ ¯¥à¥áâ ®¢ª¨ à ¢®¢¥à®ïâë). . ᫨ ç¨á«® x á«ãç ©® ¢ë¡à ® ¨§ i à §«¨çëå ç¨á¥«, â® á ª ª®© ¢¥à®ïâ®áâìî ®® ®ª ¦¥âáï ¬ ªá¨¬ «ìë¬ ç¨á«®¬ á।¨ ¨å? ¡. ª á®®â®á¨âáï A[i] á ¯à¥¤ë¤ã騬¨ í«¥¬¥â ¬¨ ¬ áᨢ ¤«ï â¥å i, ¯à¨ ª®â®àëå ¢ë¯®«ï¥âáï áâப 5? ¢. ¥¬ã à ¢ ¢¥à®ïâ®áâì ¢ë¯®«¥¨ï áâப¨ 5 ¯à®£à ¬¬ë ¤«ï ¤ ®£® § 票ï i? £. ãáâì si | á«ãç © ï ¢¥«¨ç¨ , à ¢ ï 1 ¨«¨ 0 ¢ § ¢¨á¨¬®á⨠®â ⮣®, ¢ë¯®«ï« áì áâப 5 i-¬ è £¥ 横« ¨«¨ ¥â. ¥¬ã à ¢® M[si]? ¤. ãáâì s = s1 +s2+ +sn | ®¡é¥¥ ç¨á«® ¯à¨á¢ ¨¢ ¨© ¢ áâப¥ 5 ¯à¨ ¨á¯®«¥¨¨ ¢á¥© ¯à®£à ¬¬ë. ®ª ¦¨â¥, çâ® M[s] = (lg n). 6-3 ஡«¥¬ ¢ë¡®à ¢¥¤ãîé ï ª 䥤ன ¯à¨¨¬ ¥â à ¡®âã ®¢®£® á®âà㤨ª . § 稫 ᮡ¥á¥¤®¢ ¨ï n ¯à¥â¥¤¥â ¬ ¨ å®ç¥â ¢ë¡à âì ¨¡®«¥¥ ª¢ «¨ä¨æ¨à®¢ ®£® ¨§ ¨å. ¤ ª® 㨢¥àá¨â¥â᪨¥ ¯à ¢¨« âॡãîâ, çâ®¡ë ¯®á«¥ ¡¥á¥¤ë ¯à¥â¥¤¥âã áà §ã á®®¡é «®áì, ¯à¨ïâ ® ¨«¨ ¥â. «ï í⮣® ® ¯à¨¬¥ï¥â â ª®¥ ¯à ¢¨«®. ç « ® £®¢®à¨â á ¯¥à¢ë¬¨ k ¯à¥â¥¤¥â ¬¨, ®âª §ë¢ ï ¨¬ ¥§ ¢¨á¨¬® ®â ¨å ª¢ «¨ä¨ª 樨. ᫨ á।¨ ®áâ ¢è¨åáï ¥áâì ¡®«¥¥ ª¢ «¨ä¨æ¨à®¢ ë©, 祬 ¯¥à¢ë¥ k, â® ¯¥à¢ë© ¨§ â ª®¢ëå ¯à¨¨¬ ¥âáï. ᫨ ¥â, ¯à¨¨¬ ¥âáï ¯®á«¥¤¨© ¨§ ¯à¥â¥¤¥â®¢. ®ª ¦¨â¥, çâ® ¢¥à®ïâ®áâì ¢ë- ¬¥ç ¨ï ª £« ¢¥ 6 129 ¡à âì â ª¨¬ ᯮᮡ®¬ «ãç襣® ¨§ ¯à¥â¥¤¥â®¢ ¡ã¤¥â ¬ ªá¨¬ «ì (¨ à ¢ ¯à¨¬¥à® 1=e), ¥á«¨ k ¯à¨¬¥à® à ¢® n=e. 6-4 ¥à®ïâ®áâë© áçñâ稪 ¯®¬®éìî t-¡¨â®£® áçñâ稪 ¬ë ¬®¦¥¬ áç¨â âì ¤® 2t ; 1. «¥¤ãî騩 ¯à¨ñ¬ ¢¥à®ïâ®á⮣® ¯®¤áçñâ (probabilistic counting, R. Morris) ¤ ñâ ¢®§¬®¦®áâì ¢¥á⨠áçñâ ¤® ªã¤ ¡®«ìè¨å § 票©, ¯à ¢¤ æ¥®î ¥ª®â®à®© ¯®â¥à¨ â®ç®áâ¨. 롥६ ¢®§à áâ îéãî ¯®á«¥¤®¢ ⥫ì®áâì 楫ëå ¥®âà¨æ ⥫ìëå ç¨á¥« ni (£¤¥ i ¬¥ï¥âáï ®â 0 ¤® 2t;1). ñ á¬ëá« â ª®¢: ¥á«¨ § 票¥ t-¡¨â®£® ॣ¨áâà à ¢® i, â® íâ® ®§ ç ¥â, çâ® ¯®¤áç¨âë¢ ¥¬®¥ ª®«¨ç¥á⢮ (ç¨á«® ¢ë¯®«¥ëå ®¯¥à 権 Increment) ¯à¨¬¥à® à ¢® ni. ë áç¨â ¥¬, çâ® n0 = 0. ¯¥à æ¨ï Increment 㢥«¨ç¨¢ ¥â § 票¥ áç¥â稪 , ᮤ¥à¦ 饣® i, á ¥ª®â®à®© ¢¥à®ïâ®áâìî. ¬¥®, ç¨á«® i 㢥«¨ç¨¢ ¥âáï 1 á ¢¥à®ïâ®áâìî 1=(ni+1 ; ni ), ¨ ®áâ ¥âáï ¥¨§¬¥ë¬ ¢ ®áâ «ìëå á«ãç ïå. ( ᫨ i = 2t ; 1, â® ¯à®¨á室¨â ¯¥à¥¯®«¥¨¥.) ¤¥ï ¯à®áâ : ¢ á।¥¬ ¤«ï 㢥«¨ç¥¨ï i ¥¤¨¨æã ¯®âॡã¥âáï ª ª à § ni+1 ; ni ®¯¥à 権. ᫨ ni = i ¤«ï ¢á¥å i > 0, â® ¯®«ãç ¥¬ ®¡ëçë© áçñâ稪. ®«¥¥ ¨â¥à¥áë¥ á¨âã 樨 ¢®§¨ª îâ, ¥á«¨ ¢ë¡à âì, ¯à¨¬¥à, ni = 2i;1 ¤«ï i > 0 ¨«¨ ni = Fi (i-¥ ç¨á«® ¨¡® çç¨, á¬. à §¤. 2.2). ë ¡ã¤¥¬ ¯à¥¤¯®« £ âì, çâ® n2t;1 ¤®áâ â®ç® ¢¥«¨ª®, ¨ ¯à¥¥¡à¥£ âì ¢®§¬®¦®áâìî ¯¥à¥¯®«¥¨ï. . ®ª ¦¨â¥, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ᮤ¥à¦¨¬®£® áçñâ稪 ¯®á«¥ ¢ë¯®«¥¨ï n ®¯¥à 権 Increment, ¢ â®ç®áâ¨ à ¢® n. ¡. ¨á¯¥àá¨ï á«ãç ©®© ¢¥«¨ç¨ë, à ¢®© ᮤ¥à¦¨¬®¬ã áçñâ稪 ¯®á«¥ n ®¯¥à 権 Increment, § ¢¨á¨â ®â ¢ë¡®à ¯®á«¥¤®¢ ⥫ì®á⨠n0; n1; : : : . ©¤¨â¥ íâã ¤¨á¯¥àá¨î ¤«ï á«ãç ï ni = 100i. ¬¥ç ¨ï ¡é¨¥ ¬¥â®¤ë à¥è¥¨ï ¢¥à®ïâ®áâëå § ¤ ç ®¡á㦤 «¨áì ¢ § ¬¥¨â®© ¯¥à¥¯¨áª¥ ᪠«ï (B. Pascal) ¨ ¥à¬ (P. de Fermat), ç ¢è¥©áï ¢ 1654 £®¤ã, ¨ ¢ ª¨£¥ î©£¥á (C.Huygens, 1657). ®«¥¥ áâண®¥ ¨§«®¦¥¨¥ ⥮ਨ ¢¥à®ïâ®á⥩ ¡ë«® ¤ ® ¢ à ¡®â å ¥àã««¨ (J. Bernoulli, 1713) ¨ ã ¢à (A. De Moivre, 1730). «ì¥©è¥¥ à §¢¨â¨¥ ⥮ਨ ¢¥à®ïâ®á⥩ á¢ï§ ® á ¨¬¥ ¬¨ ¯« á (P. S. de Laplace), ã áá® (S.-D. Poisson) ¨ ãáá (C. F. Gauss). 㬬ë á«ãç ©ëå ¢¥«¨ç¨ ¨áá«¥¤®¢ «¨áì . . ¥¡ëèñ¢ë¬ ¨ . . મ¢ë¬ (áâ à訬). 1933 £®¤ã . . ®«¬®£®à®¢ áä®à¬ã«¨à®¢ « ªá¨®¬ë ⥮ਨ ¢¥à®ïâ®á⥩. 楪¨ 墮á⮢ à á¯à¥¤¥«¥¨© ¯à¨¢®¤ï⠥஢ [40] ¨ ®ä¤¨£ [99]. ¦ë¥ १ã«ìâ âë ® á«ãç ©ëå ª®¬¡¨ â®àëå áâàãªâãà å ¯à¨ ¤«¥¦ â à- 130 « ¢ 6 ®¬¡¨ â®à¨ª ¨ ¢¥à®ïâ®áâì ¤ñèã (P. Erdos). ¨â¥à âãà ¯® ⥬¥ £« ¢ë: ãâ [121], î [140] (å®à®è¨¥ ¯®á®¡¨ï ¯® í«¥¬¥â ன ª®¬¡¨ â®à¨ª¥ ¨ ¯®¤áç¥âã); ¨««¨£á«¨ [28], £ [41], ३ª [57], ¥««¥à [66], ®§ ®¢ [171] (áâ ¤ àâë¥ ã祡¨ª¨ ¯® ⥮ਨ ¢¥à®ïâ®á⥩); ®««®¡ á [30], ®äਠ[100], ¯¥á¥à [179] (â¥å¨ª ¢¥à®ïâ®á⮣® «¨§ ). II ®àâ¨à®¢ª ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ ¢¥¤¥¨¥ í⮩ ç á⨠¬ë à áᬮâਬ ¥áª®«ìª® «£®à¨â¬®¢, à¥è îé¨å § ¤ çã á®àâ¨à®¢ª¨ (sorting problem). áå®¤ë¬ ¤ ë¬ ¤«ï í⮩ § ¤ ç¨ ï¢«ï¥âáï ¯®á«¥¤®¢ ⥫ì®áâì ç¨á¥« ha1; a2; : : :; ani. ¥§ã«ìâ ⮬ ¤®«¦ ¡ëâì ¯®á«¥¤®¢ ⥫ì®áâì ha01; a02; : : :; a0ni, á®áâ®ïé ï ¨§ â¥å ¦¥ ç¨á¥«, ¨¤ãé¨å ¢ ¥ã¡ë¢ î饬 ¯®à浪¥: a01 6 a02 6 6 a0n. ¡ëç® ¨á室 ï ¯®á«¥¤®¢ ⥫ì®áâì § ¤ ª ª ¬ áᨢ, å®âï ¢®§¬®¦ë ¨ ¤à㣨¥ ¢ ਠâë ( ¯à¨¬¥à, á¢ï§ ë© á¯¨á®ª). âàãªâãà á®àâ¨à㥬ëå ®¡ê¥ªâ®¢ ¯à ªâ¨ª¥ ।ª® âॡã¥âáï 㯮à冷稢 âì ç¨á« ª ª â ª®¢ë¥. ¡ëç® ¤® á®àâ¨à®¢ âì § ¯¨á¨ (records), ᮤ¥à¦ 騥 ¥áª®«ìª® ¯®«¥©, ¨ à ᯮ« £ âì ¨å ¢ ¯®à浪¥, ®¯à¥¤¥«ï¥¬ë¬ ®¤¨¬ ¨§ ¯®«¥©. [ ¯à¨¬¥à, ¢ à娢¥ ®â¤¥« ª ¤à®¢ ¤«ï ª ¦¤®£® á®âà㤨ª ä¨à¬ë ¬®¦¥â åà ¨âìáï § ¯¨áì, ᮤ¥à¦ é ï à §«¨çë¥ ¯®«ï (ä ¬¨«¨ï, ¨¬ï, ®âç¥á⢮, £®¤ ஦¤¥¨ï, ¤à¥á ¨ â. ¯.), ¨ ¢ ª ª®©-â® ¬®¬¥â ¬®¦¥â ¯® ¤®¡¨âìáï 㯮à冷ç¨âì ¢á¥ § ¯¨á¨ ¯® £®¤ ¬ ஦¤¥¨ï.] ®«¥, ¯® ª®â®à®¬ã ¯à®¢®¤¨âáï á®àâ¨à®¢ª (£®¤ ஦¤¥¨ï ¢ 襬 ¯à¨¬¥à¥), §ë¢ ¥âáï ª«î箬 (key), ®áâ «ìë¥ ¯®«ï | ¤®¯®«¨â¥«ì묨 ¤ 묨 (satellite data). ®¦® ¯à¥¤áâ ¢«ïâì ᥡ¥ ¤¥«® â ª: «£®à¨â¬ á®àâ¨àã¥â ª«îç¨, ® ¢¬¥áâ¥ á ª ¦¤ë¬ ª«î箬 ¯¥à¥¬¥é îâáï (¡¥§ ¨§¬¥¥¨ï) ¤®¯®«¨â¥«ìë¥ ¤ ë¥, á ¨¬ á¢ï§ ë¥. ( ᫨ íâ¨å ¤ ëå ¬®£®, à §ã¬® ¯¥à¥¬¥é âì ¥ á ¬¨ ¤ ë¥, «¨èì 㪠§ â¥«ì ¨å.) ᥠí⨠¯®¤à®¡®á⨠¬ë ¥ à áᬠâਢ ¥¬, ®£à ¨ç¨¢ ïáì § ¤ 祩 á®àâ¨à®¢ª¨ ª«î祩. ਢ®¤¨¬ë¥ ¬¨ «£®à¨â¬ë ïîâáï, â ª¨¬ ®¡à §®¬, «¨èì "᪥«¥â®¬" ॠ«ì®© ¯à®£à ¬¬ë, ª ª®â®à®¬ã 㦮 ¤®¡ ¢¨âì ®¡à ¡®âªã ¤®¯®«¨â¥«ìëå ¤ ëå (çâ® ®¡ëç® ¥ á«®¦®, å®âï ¨ å«®¯®â®). 134 áâì II ®àâ¨à®¢ª ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ «£®à¨â¬ë á®àâ¨à®¢ª¨ ë 㦥 ¢áâà¥ç «¨áì ¢ £« ¢¥ 1 á ¤¢ã¬ï «£®à¨â¬ , á®àâ¨àãî騬¨ n ç¨á¥« § ¢à¥¬ï (n2) ¢ åã¤è¥¬ á«ãç ¥. å ¯à®áâ®â , ®¤ ª®, ¤¥« ¥â ¨å íä䥪⨢묨 ¤«ï á®àâ¨à®¢ª¨ ¥¡®«ì讣® ¬ áᨢ ¡¥§ ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠(in place). (¬¥¥âáï ¢ ¢¨¤ã, çâ® ¬ë ¥ ¨¬¥¥¬ ¯à ¢ § ¢®¤¨âì ¥éñ ®¤®£® ¬ áᨢ , ® ¯¥à¥¬¥ë¥ ¤«ï ç¨á¥« ¨á¯®«ì§®¢ âì ¬®¦®). «£®à¨â¬ á®àâ¨à®¢ª¨ ᫨逸¬ ¨¬¥¥â «ãçèãî ᨬ¯â®â¨ç¥áªãî ®æ¥ªã ¢à¥¬¥¨ à ¡®âë, ® ® âॡã¥â ¤®¯®«¨â¥«ì®£® ¬ áᨢ . í⮩ ç á⨠ª¨£¨ ¬ë à áᬮâਬ ¥éñ ¤¢ «£®à¨â¬ á®àâ¨à®¢ª¨ ¢¥é¥á⢥ëå ç¨á¥«. ¥à¢ë© ¨§ ¨å §ë¢ ¥âáï "á®àâ¨à®¢ª®© á ¯®¬®éìî ªãç¨" (heapsort). ¤¥áì "ªãç " | ¥ª®â®à ï áâàãªâãà ¤ ëå, ¨¬¥îé ï ¬®£® ¯à¨«®¦¥¨© (®¤® ¨§ ¨å, ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨, ¬ë â ª¦¥ à áᬮâਬ ¢ £« ¢¥ 7). â®â «£®à¨â¬ ¥ âॡã¥â ¤®¯®«¨â¥«ì®£® ¬ áᨢ ¨ à ¡®â ¥â § ¢à¥¬ï (n lg n) ¢ åã¤è¥¬ á«ãç ¥. £« ¢¥ 8 áâநâáï ¤à㣮© «£®à¨â¬, §ë¢ ¥¬ë© "¡ëáâன á®àâ¨à®¢ª®©" (quicksort). åã¤è¥¬ á«ãç ¥ ® âॡã¥â ¢à¥¬¥¨ (n2), ® ¢ á।¥¬ | «¨èì (n lg n), ¨ ¯à ªâ¨ª¥ ® ®¡ëç® ¡ëáâ॥ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ (¥£® ¢ãâ२© 横« ¯à®áâ, ¯®í⮬㠪®áâ â ¢ ᨬ¯â®â¨ç¥áª®© ®æ¥ª¥ ¬¥ìè¥). ᥠí⨠«£®à¨â¬ë (á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨, ᫨逸¬, á ¯®¬®éìî ªãç¨ ¨ ¡ëáâà ï á®àâ¨à®¢ª ) ¨á¯®«ì§ãîâ ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï ®¡ê¥ªâ®¢, ® ¥ ¨å ¢ãâà¥îî áâàãªâãàã. £« ¢¥ 9 ¬ë ¯®ª §ë¢ ¥¬, çâ® «î¡ ï á®àâ¨à®¢ª â ª®£® ¢¨¤ ¢ åã¤è¥¬ á«ãç ¥ âॡã¥â ¢à¥¬¥¨ (n lg n), ¢¢¥¤ï ¯®¤å®¤ïéãî ä®à¬ «ìãî ¬®¤¥«ì (à §à¥è î騥 ¤¥à¥¢ìï). ¥¬ á ¬ë¬ áâ ®¢¨âáï ïáë¬, çâ® á®àâ¨à®¢ª¨ ᫨逸¬ ¨ á ¯®¬®éìî ªãç¨ á¨¬¯â®â¨ç¥áª¨ ®¯â¨¬ «ìë. ¤ ª® íâ ¨¦ïï ®æ¥ª ¥ à á¯à®áâà ï¥âáï «£®à¨â¬ë, ¨á¯®«ì§ãî騥 ¢ãâà¥îî áâàãªâãàã ¤ ëå. £« ¢¥ 9 à áᬠâਢ ¥âáï ¥áª®«ìª® ¯à¨¬¥à®¢ â ª®£® த . ®àâ¨à®¢ª ¯®¤áçñ⮬ (counting sort) ¯®§¢®«ï¥â ®âá®àâ¨à®¢ âì n 楫ëå ç¨á¥« ¢ ¤¨ ¯ §®¥ ®â 1 ¤® k § ¢à¥¬ï O(n + k), ¨á¯®«ì§ãï á®àâ¨àã¥¬ë¥ ç¨á« ª ª ¨¤¥ªáë ¢ ¬ áᨢ¥ à §¬¥à k. ᫨ k = O(n), ¢à¥¬ï á®àâ¨à®¢ª¨ áâ ®¢¨âáï ¯à®¯®à樮 «ìë¬ à §¬¥àã ¬ áᨢ . ®¤áâ¢¥ë© «£®à¨â¬, §ë¢ ¥¬ë© "æ¨ä஢®© á®àâ¨à®¢ª®©", ¯à¨¬¥ï¥â áå®¤ë© ¯à¨ñ¬ ¯®à §à冷, ¨ ¯®§¢®«ï¥â ®âá®àâ¨à®¢ âì n 楫ëå ç¨á¥«, ª ¦¤®¥ ¨§ ª®â®àëå ¨¬¥¥â d à §à冷¢ ¢ k-¨ç®© á¨á⥬¥ áç¨á«¥¨ï, § ¢à¥¬ï O(d(n + k)). ᫨ áç¨â âì, çâ® d ¯®áâ®ï®, k ¥áâì O(n), â® ®¡é¥¥ ¢à¥¬ï ¥áâì O(n). à¥â¨© «£®à¨â¬ â ª®£® த , á®àâ¨à®¢ª ¢ëçñà¯ë¢ ¨¥¬, ¯à¥¤¯®« £ ¥â, çâ® á®àâ¨àã¥¬ë¥ ç¨á« à ¢®¬¥à® à á¯à¥¤¥«¥ë ®â१ª¥ ¨ ¥§ ¢¨á¨¬ë, ¨ ¢ á।¥¬ âॡã¥â O(n) ¤¥©á⢨© ¤«ï n ç¨á¥«. áâì II ®àâ¨à®¢ª ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ 135 ®à浪®¢ë¥ áâ â¨á⨪¨ ᫨ ¬ ¤® ©â¨ i-© ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¬ áᨢ , ¬®¦® á ç « ®âá®àâ¨à®¢ âì ¬ áᨢ, çâ® âॡã¥â ¢à¥¬¥¨ (n lg n), ¥á«¨ ¥ ¯®«ì§®¢ âìáï ¢ãâ॥© áâàãªâãன í«¥¬¥â®¢ (£« ¢ 9). ® ¯à¨ í⮬ ¢ë¯®«ï¥âáï «¨èïï à ¡®â (á®àâ¨à®¢ª ®áâ «ìëå í«¥¬¥â®¢), ¨ ¬®¦® ¯®áâநâì ¡®«¥¥ íää¥ªâ¨¢ë¥ «£®à¨â¬ë ¤«ï § ¤ ç¨ ®âë᪠¨ï i-£® ¯® ¢¥«¨ç¨¥ í«¥¬¥â (ª®â®àãî §ë¢ îâ â ª¦¥ § ¤ 祩 ® ¯®à浪®¢ëå áâ â¨á⨪ å). £« ¢¥ 10 ¯à¨¢®¤ïâáï ¤¢ â ª¨å «£®à¨â¬ : ®¤¨ âॡã¥â ¢à¥¬¥¨ O(n2) ¢ åã¤è¥¬ á«ãç ¥ ¨ O(n) ¢ á।¥¬; ¤à㣮©, ¡®«¥¥ á«®¦ë©, ®¡å®¤¨âáï ¢à¥¬¥¥¬ O(n) ¢ åã¤è¥¬ á«ãç ¥. ᯮ«ì§ã¥¬ë¥ ᢥ¤¥¨ï ¨§ ¬ ⥬ ⨪¨ ®«ìè ï ç áâì ¬ â¥à¨ « £« ¢ 7{10 ¤®áâ㯠ç¨â ⥫î á ¬¨¨¬ «ì®© ¬ ⥬ â¨ç¥áª®© ¯®¤£®â®¢ª®©. ¤ ª® ¢¥à®ïâ®áâë© «¨§ «£®à¨â¬®¢ (¡ëáâன á®àâ¨à®¢ª¨, á®àâ¨à®¢ª¨ ¢ëçñà¯ë¢ ¨¥¬ ¨ ®âë᪠¨ï i-£® ¯® ¢¥«¨ç¨¥ í«¥¬¥â ) âॡã¥â § ª®¬á⢠á ⥮ਥ© ¢¥à®ïâ®á⥩ (£« ¢ 6). ®¡ ¢¨¬, çâ® «£®à¨â¬ ®âë᪠¨ï i-£® í«¥¬¥â § «¨¥©®¥ ¢à¥¬ï (¢ åã¤è¥¬ á«ãç ¥) ¡®«¥¥ á«®¦¥, 祬 ¤à㣨¥ «£®à¨â¬ë í⮩ £« ¢ë. 7 ®àâ¨à®¢ª á ¯®¬®éìî ªãç¨ í⮩ £« ¢¥ à áᬮâॠ«£®à¨â¬ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ (heapsort). ª ¨ «£®à¨â¬ á®àâ¨à®¢ª¨ ᫨逸¬, ® âॡã¥â ¢à¥¬¥¨ O(n lg n) ¤«ï á®àâ¨à®¢ª¨ n ®¡ê¥ªâ®¢, ® ®¡å®¤¨âáï ¤®¯®«¨â¥«ì®© ¯ ¬ïâìî à §¬¥à O(1) (¢¬¥áâ® O(n) ¤«ï á®àâ¨à®¢ª¨ ᫨逸¬). ª¨¬ ®¡à §®¬, íâ®â «£®à¨â¬ á®ç¥â ¥â ¯à¥¨¬ãé¥á⢠¤¢ãå à ¥¥ à áᬮâà¥ëå «£®à¨â¬®¢ | á®àâ¨à®¢ª¨ ᫨逸¬ ¨ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨. âàãªâãà ¤ ëå, ª®â®àãî ¨á¯®«ì§ã¥â «£®à¨â¬ (® §ë¢ ¥âáï "¤¢®¨ç®© ªã祩") ®ª §ë¢ ¥âáï ¯®«¥§®© ¨ ¢ ¤à㣨å á¨âã æ¨ïå. ç áâ®áâ¨, ¥ñ ¡ §¥ ¬®¦® íä䥪⨢® ®à£ ¨§®¢ âì ®ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨ (á¬. à §¤. 7.5). á«¥¤ãîé¨å £« ¢ å ¬ ¢áâà¥âïâáï «£®à¨â¬ë, ¨á¯®«ì§ãî騥 áå®¤ë¥ áâàãªâãàë ¤ ëå (¡¨®¬¨ «ìë¥ ªãç¨, 䨡® ç稥¢ë ªãç¨). ¥à¬¨ "ªãç " ¨®£¤ ¨á¯®«ì§ãîâ ¢ ¤à㣮¬ á¬ëá«¥ (®¡« áâì ¯ ¬ïâ¨, £¤¥ ¤ ë¥ à §¬¥é îâáï á ¯à¨¬¥¥¨¥¬ ¢â®¬ â¨ç¥áª®© " ᡮન ¬ãá®à " | ¯à¨¬¥à, ¢ ï§ëª¥ Lisp), ® ¬ë í⮣® ¤¥« âì ¥ ¡ã¤¥¬. 7.1 ãç¨ ¢®¨ç®© ªã祩 (binary heap) §ë¢ îâ ¬ áᨢ á ®¯à¥¤¥«ñ묨 ᢮©á⢠¬¨ 㯮à冷祮áâ¨, ⮡ë áä®à¬ã«¨à®¢ âì í⨠᢮©á⢠, ¡ã¤¥¬ à áᬠâਢ âì ¬ áᨢ ª ª ¤¢®¨ç®¥ ¤¥à¥¢® (à¨á. 7.1). ¦¤ ï ¢¥àè¨ ¤¥à¥¢ ᮮ⢥âáâ¢ã¥â í«¥¬¥âã ¬ áᨢ . ᫨ ¢¥àè¨ ¨¬¥¥â ¨¤¥ªá i, â® ¥ñ த¨â¥«ì ¨¬¥¥â ¨¤¥ªá bi=2c (¢¥àè¨ á ¨¤¥ªá®¬ 1 ï¥âáï ª®à¥¬), ¥ñ ¤¥â¨ | ¨¤¥ªáë 2i ¨ 2i + 1. 㤥¬ áç¨â âì, çâ® ªãç ¬®¦¥â ¥ § ¨¬ âì ¢á¥£® ¬ áᨢ ¨ åà ¨âì ¬ áᨢ A, ¥£® ¤«¨ã length[A] ¨ á¯¥æ¨ «ìë© ¯ à ¬¥âà heap-size[A] (à §¬¥à ªãç¨), ¯à¨çñ¬ heap-size[A] 6 length[A]. ãç á®á⮨⠨§ í«¥¬¥â®¢ A[1]; : : :; A[heap-size[A]]. ¢¨¦¥¨¥ ¯® ¤¥à¥¢ã ®áãé¥á⢫ï¥âáï ¯à®æ¥¤ãà ¬¨ ãç¨ 137 ¨á㮪 7.1 ãçã ¬®¦® à áᬠâਢ âì ª ª ¤¥à¥¢® ( ) ¨«¨ ª ª ¬ áᨢ (¡). ãâਠ¢¥àè¨ë ¯®ª § ® ¥ñ § 票¥. ª®«® ¢¥àè¨ë ¯®ª § ¥ñ ¨¤¥ªá ¢ ¬ áᨢ¥. Parent(i) return bi=2c Left(i) return 2i Right(i) return 2i + 1 «¥¬¥â A[1] ï¥âáï ª®à¥¬ ¤¥à¥¢ . ¡®«ìè¨á⢥ ª®¬¯ìîâ¥à®¢ ¤«ï ¢ë¯®«¥¨ï ¯à®æ¥¤ãà Left ¨ Parent ¬®¦® ¨á¯®«ì§®¢ âì ª®¬ ¤ë «¥¢®£® ¨ ¯à ¢®£® ᤢ¨£ (Left, Parent); Right âॡã¥â «¥¢®£® ᤢ¨£ , ¯®á«¥ ª®â®à®£® ¢ ¬« ¤è¨© à §àï¤ ¯®¬¥é ¥âáï ¥¤¨¨æ . «¥¬¥âë, åà ï騥áï ¢ ªãç¥, ¤®«¦ë ®¡« ¤ âì ®á®¢ë¬ á¢®©á⢮¬ ªãç¨ (heap property): ¤«ï ª ¦¤®© ¢¥àè¨ë i, ªà®¬¥ ª®àï (â. ¥. ¯à¨ 2 6 i 6 heap-size[A]), A[Parent(i)] > A[i]: (7.1) âáî¤ á«¥¤ã¥â, çâ® § 票¥ ¯®â®¬ª ¥ ¯à¥¢®á室¨â § ç¥¨ï ¯à¥¤ª . ª¨¬ ®¡à §®¬, ¨¡®«ì訩 í«¥¬¥â ¤¥à¥¢ (¨«¨ «î¡®£® ¯®¤¤¥à¥¢ ) 室¨âáï ¢ ª®à¥¢®© ¢¥à訥 ¤¥à¥¢ (í⮣® ¯®¤¤¥à¥¢ ). ëá®â®© (height) ¢¥àè¨ë ¤¥à¥¢ §ë¢ ¥âáï ¢ëá®â ¯®¤¤¥à¥¢ á ª®à¥¬ ¢ í⮩ ¢¥à訥 (ç¨á«® àñ¡¥à ¢ á ¬®¬ ¤«¨®¬ ¯ã⨠á ç «®¬ ¢ í⮩ ¢¥à訥 ¢¨§ ¯® ¤¥à¥¢ã ª «¨áâã). ëá®â ¤¥à¥¢ , â ª¨¬ ®¡à §®¬, ᮢ¯ ¤ ¥â á ¢ëá®â®© ¥£® ª®àï. ¤¥à¥¢¥, á®áâ ¢«ïî饬 ªãçã, ¢á¥ ã஢¨ (ªà®¬¥, ¡ëâì ¬®¦¥â, ¯®á«¥¤¥£®), § ¯®«¥ë ¯®«®áâìî. ®í⮬㠢ëá®â í⮣® ¤¥à¥¢ à ¢ (lg n), £¤¥ n | ç¨á«® í«¥¬¥â®¢ ¢ ªãç¥ (á¬. ã¯à. 7.1-2). ª ¬ë 㢨¤¨¬ ¨¦¥, ¢à¥¬ï à ¡®âë ®á®¢ëå ®¯¥à 権 ¤ ªã祩 ¯à®¯®à樮 «ì® ¢ëá®â¥ ¤¥à¥¢ ¨, á«¥¤®¢ ⥫ì®, á®áâ ¢«ï¥â O(lg n). áâ ¢è ïáï ç áâì £« ¢ë ¯®á¢ïé¥ «¨§ã íâ¨å ®¯¥à 権 ¨ ¯à¨¬¥¥¨î ªãç¨ ¢ § ¤ ç å 138 « ¢ 7 ®àâ¨à®¢ª á ¯®¬®éìî ªãç¨ á®àâ¨à®¢ª¨ ¨ ¬®¤¥«¨à®¢ ¨ï ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨. ¥à¥ç¨á«¨¬ ®á®¢ë¥ ®¯¥à 樨 ¤ ªã祩: à®æ¥¤ãà Heapify ¯®§¢®«ï¥â ¯®¤¤¥à¦¨¢ âì ®á®¢®¥ ᢮©á⢮ (7.1). ६ï à ¡®âë á®áâ ¢«ï¥â O(lg n). à®æ¥¤ãà Build-Heap áâந⠪ãçã ¨§ ¨á室®£® (¥®âá®àâ¨à®¢ ®£®) ¬ áᨢ . ६ï à ¡®âë O(n). à®æ¥¤ãà Heapsort á®àâ¨àã¥â ¬ áᨢ, ¥ ¨á¯®«ì§ãï ¤®¯®«¨â¥«ì®© ¯ ¬ïâ¨. ६ï à ¡®âë O(n lg n). à®æ¥¤ãàë Extract-Max (¢§ï⨥ ¨¡®«ì襣®) ¨ Insert (¤®¡ ¢«¥¨¥ í«¥¬¥â ) ¨á¯®«ì§ãîâáï ¯à¨ ¬®¤¥«¨à®¢ ¨¨ ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ ¡ §¥ ªãç¨. ६ï à ¡®âë ®¡¥¨å ¯à®æ¥¤ãà á®áâ ¢«ï¥â O(lg n). ¯à ¦¥¨ï ãáâì ªãç ¨¬¥¥â ¢ëá®âã h. ª®«ìª® í«¥¬¥â®¢ ¬®¦¥â ¢ ¥© ¡ëâì? (ª ¦¨â¥ ¬ ªá¨¬ «ì®¥ ¨ ¬¨¨¬ «ì®¥ § 票ï.) 7.1-2 ®ª ¦¨â¥, çâ® ªãç ¨§ n í«¥¬¥â®¢ ¨¬¥¥â ¢ëá®âã blg nc. 7.1-3 ®ª ¦¨â¥, çâ® ¯à¨ ¢ë¯®«¥¨¨ ®á®¢®£® ᢮©á⢠ªãç¨ ª®à¥¢ ï ¢¥àè¨ «î¡®£® ¯®¤¤¥à¥¢ ï¥âáï ¨¡®«ì襩 ¢ í⮬ ¯®¤¤¥à¥¢¥. 7.1-4 ¤¥ ¬®¦¥â 室¨âìáï ¨¬¥ì訩 í«¥¬¥â ªãç¨, ¥á«¨ ¢á¥ ¥ñ í«¥¬¥âë à §«¨çë? 7.1-5 ãáâì ¬ áᨢ ®âá®àâ¨à®¢ ¢ ®¡à ⮬ ¯®à浪¥ (¯¥à¢ë© í«¥¬¥â | ¨¡®«ì訩). ¢«ï¥âáï «¨ â ª®© ¬ áᨢ ªã祩? 7.1-6 ¢«ï¥âáï «¨ ªã祩 ¬ áᨢ h23; 17; 14; 6; 13; 10; 1; 5; 7; 12i? 7.1-1 7.2 ®åà ¥¨¥ ®á®¢®£® ᢮©á⢠ªãç¨ à®æ¥¤ãà Heapify | ¢ ¦®¥ á।á⢮ à ¡®âë á ªã祩. ñ ¯ à ¬¥âà ¬¨ ïîâáï ¬ áᨢ A ¨ ¨¤¥ªá i. ।¯®« £ ¥âáï, çâ® ¯®¤¤¥à¥¢ìï á ª®àﬨ Left(i) ¨ Right(i) 㦥 ®¡« ¤ îâ ®á®¢ë¬ á¢®©á⢮¬. à®æ¥¤ãà ¯¥à¥áâ ¢«ï¥â í«¥¬¥âë ¯®¤¤¥à¥¢ á ¢¥à訮© i, ¯®á«¥ 祣® ®® ®¡« ¤ ¥â ®á®¢ë¬ ᢮©á⢮¬. ¤¥ï ¯à®áâ : ¥á«¨ í⮠᢮©á⢮ ¥ ¢ë¯®«¥® ¤«ï ¢¥àè¨ë i, â® ¥ñ á«¥¤ã¥â ¯®¬¥ïâì á ¡®«ì訬 ¨§ ¥ñ ¤¥â¥© ¨ â. ¤., ¯®ª í«¥¬¥â A[i] ¥ "¯®¤£à㧨âáï" ¤® 㦮£® ¬¥áâ . ®åà ¥¨¥ ®á®¢®£® ᢮©á⢠ªãç¨ 139 ¨á㮪 7.2 ¡®â ¯à®æ¥¤ãàë Heapify(A; 2) ¯à¨ heap-size[A] = 10. ( ) ç «ì®¥ á®áâ®ï¨¥ ªãç¨. ¢¥à訥 i = 2 ®á®¢®¥ ᢮©á⢮ àã襮. â®¡ë ¢®ááâ ®¢¨âì ¥£®, ¥®¡å®¤¨¬® ¯®¬¥ïâì A[2] ¨ A[4]. ®á«¥ í⮣® (¡) ®á®¢®¥ ᢮©á⢮ àãè ¥âáï ¢ ¢¥à訥 á ¨¤¥ªá®¬ 4. ¥ªãàá¨¢ë© ¢ë§®¢ ¯à®æ¥¤ãàë Heapify(A; 4) ¢®ááâ ¢«¨¢ ¥â ®á®¢®¥ ᢮©á⢮ ¢ ¢¥à訥 á ¨¤¥ªá®¬ 4 ¯ãâñ¬ ¯¥à¥áâ ®¢ª¨ A[4] $ A[9] (¢). ®á«¥ í⮣® ®á®¢®¥ ᢮©á⢮ ¢ë¯®«¥® ¤«ï ¢á¥å ¢¥àè¨, â ª çâ® ¯à®æ¥¤ãà Heapify(A; 9) 㦥 ¨ç¥£® ¥ ¤¥« ¥â. Heapify(A; i) 1 l Left(i) 2 r Right(i) 3 if l 6 heap-size[A] ¨ A[l] > A[i] 4 then largest l 5 else largest i 6 if r 6 heap-size[A] ¨ A[r] > A[largest] 7 then largest r 8 if largest 6= i 9 then ®¡¬¥ïâì A[i] $ A[largest] 10 Heapify(A; largest) ¡®â ¯à®æ¥¤ãàë Heapify ¯®ª § à¨á. 7.2. áâப å 3{7 ¢ ¯¥à¥¬¥ãî largest ¯®¬¥é ¥âáï ¨¤¥ªá ¨¡®«ì襣® ¨§ í«¥¬¥â®¢ A[i], A[Left(i)] ¨ A[Right(i)]. ᫨ largest = i, â® í«¥¬¥â A[i] 㦥 "¯®£à㧨«áï" ¤® 㦮£® ¬¥áâ , ¨ à ¡®â ¯à®æ¥¤ãàë § ª®ç¥ . ç¥ ¯à®æ¥¤ãà ¬¥ï¥â ¬¥áâ ¬¨ A[i] ¨ A[largest] (çâ® ®¡¥á¯¥ç¨¢ ¥â ¢ë¯®«¥¨¥ ᢮©á⢠(7.1) ¢ ¢¥à訥 i, ® ¢®§¬®¦®, àãè ¥â íâ® 140 « ¢ 7 ®àâ¨à®¢ª á ¯®¬®éìî ªãç¨ á¢®©á⢮ ¢ ¢¥à訥 largest ) ¨ ४ãàᨢ® ¢ë§ë¢ ¥â á¥¡ï ¤«ï ¢¥àè¨ë largest, çâ®¡ë ¨á¯à ¢¨âì ¢®§¬®¦ë¥ àã襨ï. 楨¬ ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Heapify. ª ¦¤®¬ è £¥ âॡã¥âáï ¯à®¨§¢¥á⨠(1) ¤¥©á⢨©, ¥ áç¨â ï ४ãàᨢ®£® ¢ë§®¢ . ãáâì T (n) | ¢à¥¬ï à ¡®âë ¤«ï ¯®¤¤¥à¥¢ , ᮤ¥à¦ 饣® n í«¥¬¥â®¢. ᫨ ¯®¤¤¥à¥¢® á ª®à¥¬ i á®á⮨⠨§ n í«¥¬¥â®¢, â® ¯®¤¤¥à¥¢ìï á ª®àﬨ Left(i) ¨ Right(i) ᮤ¥à¦ â ¥ ¡®«¥¥ 祬 ¯® 2n=3 í«¥¬¥â®¢ ª ¦¤®¥ ( ¨åã¤è¨© á«ãç © | ª®£¤ ¯®á«¥¤¨© ã஢¥ì ¢ ¯®¤¤¥à¥¢¥ § ¯®«¥ ¯®«®¢¨ã). ª¨¬ ®¡à §®¬, T (n) 6 T (2n=3) + (1) § ⥮६ë 4.1 (á«ãç © 2) ¯®«ãç ¥¬, çâ® T (n) = O(lg n). âã ¦¥ ®æ¥ªã ¬®¦® ¯®«ãç¨âì â ª: ª ¦¤®¬ è £¥ ¬ë á¯ã᪠¥¬áï ¯® ¤¥à¥¢ã ®¤¨ ã஢¥ì, ¢ëá®â ¤¥à¥¢ ¥áâì O(lg n). ¯à ¦¥¨ï 7.2-1 ®ª ¦¨â¥, á«¥¤ãï ®¡à §æã à¨á. 7.2, ª ª à ¡®â ¥â ¯à®æ¥¤ãà Heapify(A; 3) ¤«ï ¬ áᨢ h27; 17; 3; 16; 13; 10; 1; 5; 7; 12; 4; 8; 9; 0i. ãáâì í«¥¬¥â A[i] ¡®«ìè¥, 祬 ¥£® ¤¥â¨. ª®¢ ¡ã¤¥â १ã«ìâ ⠢맮¢ ¯à®æ¥¤ãàë Heapify(A; i)? 7.2-3 ãáâì i > heap-size[A]=2. ª®¢ ¡ã¤¥â १ã«ìâ ⠢맮¢ ¯à®æ¥¤ãàë Heapify(A; i)? 7.2-4 §¬¥¨â¥ ¯à®æ¥¤ãàã Heapify, § ¬¥¨¢ ४ãàá¨î 横«®¬. (¥ª®â®àë¥ ª®¬¯¨«ïâ®àë ¯à¨ í⮬ ¯®à®¦¤ îâ ¡®«¥¥ íää¥ªâ¨¢ë© ª®¤.) 7.2-5 ®ª ¦¨â¥, çâ® ¨¡®«ì襥 ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Heapify ¤«ï ªãç¨ ¨§ n í«¥¬¥â®¢ à ¢® (lg n). (ª § ¨¥: ¯à¨¢¥¤¨â¥ ¯à¨¬¥à, ª®£¤ ¯à®æ¥¤ãà ¢ë§ë¢ ¥âáï ¤«ï ª ¦¤®© ¢¥àè¨ë ¯ã⨠®â ª®àï ª «¨áâã). 7.2-2 7.3 ®áâ஥¨¥ ªãç¨ ãáâì ¤ ¬ áᨢ A[1 : :n], ª®â®àë© ¬ë å®â¨¬ ¯à¥¢à â¨âì ¢ ªãçã, ¯¥à¥áâ ¢¨¢ ¥£® í«¥¬¥âë. «ï í⮣® ¬®¦® ¨á¯®«ì§®¢ âì ¯à®æ¥¤ãàã Heapify, ¯à¨¬¥ïï ¥ñ ¯® ®ç¥à¥¤¨ ª® ¢á¥¬ ¢¥àè¨ ¬, ç¨ ï á ¨¦¨å. ®áª®«ìªã ¢¥àè¨ë á ®¬¥à ¬¨ bn=2c + 1; : : :; n ïîâáï «¨áâìﬨ, ¯®¤¤¥à¥¢ìï á í⨬¨ ¢¥àè¨ ¬¨ 㤮¢«¥â¢®àïî⠮ᮢ®¬ã ᢮©áâ¢ã. «ï ª ¦¤®© ¨§ ®áâ ¢è¨åáï ¢¥àè¨, ¢ ¯®à浪¥ ã¡ë¢ ¨ï ¨¤¥ªá®¢, ¬ë ¯à¨¬¥ï¥¬ ¯à®æ¥¤ãàã Heapify. ®à冷ª ®¡à ¡®âª¨ ¢¥àè¨ £ à â¨àã¥â, çâ® ª ¦¤ë© à § ãá«®¢¨ï ¢ë§®¢ ¯à®æ¥¤ãàë ®áâ஥¨¥ ªãç¨ 141 (¢ë¯®«¥¨¥ ®á®¢®£® ᢮©á⢠¤«ï ¯®¤¤¥à¥¢ì¥¢) ¡ã¤ã⠢믮«¥ë. Build-Heap (A) 1 heap-size[A] length[A] 2 for i blength[A]=2c downto 1 3 do Heapify(A; i) ਬ¥à à ¡®âë ¯à®æ¥¤ãàë Build-Heap ¯®ª § à¨á. 7.3. á®, çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Build-Heap ¥ ¯à¥¢ëè ¥â O(n lg n). ¥©á⢨⥫ì®, ¯à®æ¥¤ãà Heapify ¢ë§ë¢ ¥âáï O(n) à §, ª ¦¤®¥ ¥ñ ¢ë¯®«¥¨¥ âॡã¥â ¢à¥¬¥¨ O(lg n). ¤ ª® íâ㠮楪㠬®¦® ã«ãçè¨âì, 祬 ¬ë ᥩç á ¨ § ©¬ñ¬áï. ¥«® ¢ ⮬, çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Heapify § ¢¨á¨â ®â ¢ëá®âë ¢¥àè¨ë, ¤«ï ª®â®à®© ® ¢ë§ë¢ ¥âáï (¨ ¯à®¯®à樮 «ì® í⮩ ¢ëá®â¥). ®áª®«ìªã ç¨á«® ¢¥àè¨ ¢ëá®âë h ¢ ªãç¥ ¨§ n í«¥¬¥â®¢ ¥ ¯à¥¢ëè ¥â dn=2h+1e (á¬. ã¯à. 7.3-3), ¢ëá®â ¢á¥ ªãç¨ ¥ ¯à¥¢ëè ¥â blg nc (ã¯à. 7.1-2), ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Build- Heap ¥ ¯à¥¢ëè ¥â bX lg nc l h=0 n m 2h+1 0 O(h) = O @n bX lg nc h=0 1 hA 2h (7.2) ®« £ ï x = 1=2 ¢ ä®à¬ã«¥ (3.6), ¯®«ãç ¥¬ ¢¥àåîî ®æ¥ªã ¤«ï áã¬¬ë ¢ ¯à ¢®© ç áâ¨: 1 X h = 1=2 = 2: h (1 ; 1=2)2 h=0 2 ª¨¬ ®¡à §®¬, ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Build-Heap á®áâ ¢«ï¥â O n 1 X h=0 ! h = O(n): 2h ¯à ¦¥¨ï 7.3-1 ®ª ¦¨â¥, á«¥¤ãï ®¡à §æã à¨á. 7.3, ª ª à ¡®â ¥â ¯à®æ¥¤ãà Build-Heap ¤«ï ¬ áᨢ A = h5; 3; 17; 10; 84; 19; 6; 22; 9i. ®ç¥¬ã ¢ ¯à®æ¥¤ãॠBuild-Heap áãé¥á⢥®, çâ® ¯ à ¬¥âà i ¯à®¡¥£ ¥â § ç¥¨ï ®â blength[A]=2c ¤® 1 ( ¥ ®¡®à®â)? 7.3-3 ®ª ¦¨â¥, çâ® ªãç ¨§ n í«¥¬¥â®¢ ᮤ¥à¦¨â ¥ ¡®«¥¥ dn=2h+1e ¢¥àè¨ ¢ëá®âë h. 7.3-2 142 « ¢ 7 ®àâ¨à®¢ª á ¯®¬®éìî ªãç¨ ¨á㮪 7.3 ¡®â ¯à®æ¥¤ãàë Build-Heap. ®ª § ® á®áâ®ï¨¥ ¤ ëå ¯¥à¥¤ ª ¦¤ë¬ ¢ë§®¢®¬ ¯à®æ¥¤ãàë Heapify ¢ áâப¥ 3. «£®à¨â¬ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ 143 7.4 «£®à¨â¬ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ «£®à¨â¬ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ á®á⮨⠨§ ¤¢ãå ç á⥩. ç « ¢ë§ë¢ ¥âáï ¯à®æ¥¤ãà Build-Heap, ¯®á«¥ ¢ë¯®«¥¨ï ª®â®à®© ¬ áᨢ ï¥âáï ªã祩. ¤¥ï ¢â®à®© ç á⨠¯à®áâ : ¬ ªá¨¬ «ìë© í«¥¬¥â ¬ áᨢ ⥯¥àì 室¨âáï ¢ ª®à¥ ¤¥à¥¢ (A[1]). £® á«¥¤ã¥â ¯®¬¥ïâì c A[n], 㬥ìè¨âì à §¬¥à ªãç¨ 1 ¨ ¢®ááâ ®¢¨âì ®á®¢®¥ ᢮©á⢮ ¢ ª®à¥¢®© ¢¥à訥 (¯®áª®«ìªã ¯®¤¤¥à¥¢ìï á ª®àﬨ Left(1) ¨ Right(1) ¥ ãâà ⨫¨ ®á®¢®£® ᢮©á⢠ªãç¨, íâ® ¬®¦® ᤥ« âì á ¯®¬®éìî ¯à®æ¥¤ãàë Heapify). ®á«¥ í⮣® ¢ ª®à¥ ¡ã¤¥â 室¨âìáï ¬ ªá¨¬ «ìë© ¨§ ®áâ ¢è¨åáï í«¥¬¥â®¢. ª ¤¥« ¥âáï ¤® â¥å ¯®à, ¯®ª ¢ ªãç¥ ¥ ®áâ ¥âáï ¢á¥£® ®¤¨ í«¥¬¥â. Heapsort(A) 1 Build-Heap(A) 2 for i length[A] downto 2 3 do ¯®¬¥ïâì A[1] $ A[i] 4 heap-size[A] heap-size[A] ; 1 5 Heapify(A; 1) ¡®â ¢â®à®© ç á⨠«£®à¨â¬ ¯®ª § à¨á. 7.4. §®¡à ¦¥ë á®áâ®ï¨ï ªãç¨ ¯¥à¥¤ ª ¦¤ë¬ ¢ë¯®«¥¨¥¬ 横« for (áâப 2). ६ï à ¡®âë ¯à®æ¥¤ãàë Heapsort á®áâ ¢«ï¥â O(n lg n). ¥©á⢨⥫ì®, ¯¥à¢ ï ç áâì (¯®áâ஥¨¥ ªãç¨) âॡã¥â ¢à¥¬¥¨ O(n), ª ¦¤®¥ ¨§ n ; 1 ¢ë¯®«¥¨© 横« for § ¨¬ ¥â ¢à¥¬ï O(lg n). ¯à ¦¥¨ï 7.4-1 ®ª ¦¨â¥, á«¥¤ãï ®¡à §æã à¨á. 7.4, ª ª à ¡®â ¥â ¯à®æ¥¤ãà Heapsort ¤«ï ¬ áᨢ A = h5; 13; 2; 25; 7; 17; 20; 8; 4i. ãáâì ¨áå®¤ë© ¬ áᨢ A 㦥 ®âá®àâ¨à®¢ ¢ ¯®à浪¥ ¢®§à áâ ¨ï. ª®¢® ¡ã¤¥â ¢à¥¬ï á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨? ¥á«¨ ¬ áᨢ ¡ë« ®âá®àâ¨à®¢ ¢ ¯®à浪¥ ã¡ë¢ ¨ï? 7.4-3 ®ª ¦¨â¥, çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Heapsort á®áâ ¢«ï¥â (n lg n). 7.4-2 7.5 ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ ¯à ªâ¨ª¥ «£®à¨â¬ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ ¥ ï¥âáï á ¬ë¬ ¡ëáâàë¬ | ª ª ¯à ¢¨«®, ¡ëáâà ï á®àâ¨à®¢ª (£«. 8) à ¡®â ¥â ¡ëáâ॥. ¤ ª® á ¬ ªãç ª ª áâàãªâãà ¤ ëå ç áâ® ®ª - 144 « ¢ 7 ®àâ¨à®¢ª á ¯®¬®éìî ªãç¨ ¨á㮪 7.4 ¡®â ¯à®æ¥¤ãàë Heapsort. ®ª § ® á®áâ®ï¨¥ ¬ áᨢ ¯¥à¥¤ ª ¦¤ë¬ ¢ë§®¢®¬ ¯à®æ¥¤ãàë Heapify. ç¥àñë¥ í«¥¬¥âë 㦥 ¥ ¢å®¤ïâ ¢ ªãçã. §ë¢ ¥âáï ¯®«¥§®©. í⮬ à §¤¥«¥ ¬ë à áᬮâਬ ¬®¤¥«¨à®¢ ¨¥ ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ ¡ §¥ ªãç¨ | ®¤¨ ¨§ á ¬ëå ¨§¢¥áâëå ¯à¨¬¥à®¢ ¨á¯®«ì§®¢ ¨ï ªãç¨. ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨ (priority queue) | íâ® ¬®¦¥á⢮ S , í«¥¬¥âë ª®â®à®£® ¬ë ¡ã¤¥¬ áç¨â âì ç¨á« ¬¨. ¯à ªâ¨ª¥ í«¥¬¥â ¬¨ ¬®¦¥á⢠S ïîâáï ¯ àë hkey; i, £¤¥ key | ç¨á«®, ®¯à¥¤¥«ïî饥 ¯à¨®à¨â¥â í«¥¬¥â ¨ §ë¢ ¥¬®¥ ª«î箬 (key). | á¢ï§ ï á ¨¬ ¨ä®à¬ æ¨ï; íâ ¨ä®à¬ æ¨ï åà ¨âáï à冷¬ á í«¥¬¥â®¬ ¨ ¯¥à¥¬¥é ¥âáï ¢¬¥áâ¥ á ¨¬, ¥ ¢«¨ïï ¥£® ®¡à ¡®âªã. ®§¬®¦ë á«¥¤ãî騥 ®¯¥à 樨 ¤ ®ç¥à¥¤ìî á ¯à¨®à¨â¥â ¬¨: Insert(S; x): ¤®¡ ¢«¥¨¥ í«¥¬¥â x ª ¬®¦¥áâ¢ã S ; Maximum(S ): ¨¡®«ì訩 í«¥¬¥â ¬®¦¥á⢠; ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ 145 Extract-Max(S ): ¨§êï⨥ ¨§ ¬®¦¥á⢠¨¡®«ì襣® í«¥¬¥â . ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨ ¬®¦¥â, ¯à¨¬¥à, ¨á¯®«ì§®¢ âìáï ¢ ®¯¥à 樮®© á¨á⥬¥ á à §¤¥«¥¨¥¬ ¢à¥¬¥¨. ਠí⮬ åà ¨âáï ᯨ᮪ § ¤ ¨© á ¯à¨®à¨â¥â ¬¨; ª ª ⮫쪮 ¢ë¯®«¥¨¥ ®ç¥à¥¤®£® § ¤ ¨ï § ª 稢 ¥âáï, ¨§ ®ç¥à¥¤¨ ¢ë¡¨à ¥âáï § ¤ ¨¥ á ¨¡®«ì訬 ¯à¨®à¨â¥â®¬ (®¯¥à æ¨ï Extract-Max). ®¢ë¥ § ¤ ¨ï ¤®¡ ¢«ïîâáï ¢ ®ç¥à¥¤ì á ¯®¬®éìî ®¯¥à 樨 Insert. à㣮¥ ¯à¨¬¥¥¨¥ ⮩ ¦¥ áâàãªâãàë | ã¯à ¢«ï¥¬®¥ ᮡëâ¨ï¬¨ ¬®¤¥«¨à®¢ ¨¥ (event-driven simulation). ®ç¥à¥¤¨ 室ïâáï ᮡëâ¨ï, ¯à¨®à¨â¥â ®¯à¥¤¥«ï¥âáï ¢à¥¬¥¥¬, ª®£¤ ᮡë⨥ ¤®«¦® ¯à®¨§®©â¨. §ã¬¥¥âáï, ᮡëâ¨ï ¤®«¦ë ¬®¤¥«¨à®¢ âìáï ¢ ⮬ ¯®à浪¥, ¢ ª®â®à®¬ ®¨ ¯à®¨á室ïâ. ë¡®à ®ç¥à¥¤®£® ᮡëâ¨ï ¯à®¨§¢®¤¨âáï á ¯®¬®éìî ®¯¥à 樨 Extract-Min (¯®à冷ª §¤¥áì ®¡à âë©), ¤®¡ ¢«¥¨¥ ᮡë⨩ | á ¯®¬®éìî ®¯¥à 樨 Insert. ¯¨è¥¬ ⥯¥àì ॠ«¨§ æ¨î ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨. 㤥¬ åà ¨âì í«¥¬¥âë ¬®¦¥á⢠¢ ¢¨¤¥ ªãç¨. ਠí⮬ ¬ ªá¨¬ «ìë© í«¥¬¥â 室¨âáï ¢ ª®à¥, â ª çâ® ®¯¥à æ¨ï Maximum âॡã¥â ¢à¥¬¥¨ (1). â®¡ë ¨§êïâì ¬ ªá¨¬ «ìë© í«¥¬¥â ¨§ ®ç¥à¥¤¨, 㦮 ¤¥©á⢮¢ âì â ª ¦¥, ª ª ¨ ¯à¨ á®àâ¨à®¢ª¥: Heap-Extract-Max(A) 1 if heap-size[A] < 1 2 then ®è¨¡ª : "®ç¥à¥¤ì ¯ãáâ " 3 max A[1] 4 A[1] A[heap-size[A]] 5 heap-size[A] heap-size[A] ; 1 6 Heapify(A; 1) 7 return max ६ï à ¡®âë á®áâ ¢«ï¥â O(lg n) (¯à®æ¥¤ãà Heapify ¢ë§ë¢ ¥âáï ®¤¨ à §). â®¡ë ¤®¡ ¢¨âì í«¥¬¥â ª ®ç¥à¥¤¨, ¥£® á«¥¤ã¥â ¤®¡ ¢¨âì ¢ ª®¥æ ªãç¨ (ª ª «¨áâ), § ⥬ ¤ âì ¥¬ã "¢á¯«ëâì" ¤® 㦮£® ¬¥áâ : Heap-Insert (A; key) 1 heap-size[A] heap-size[A] + 1 2 i heap-size[A] 3 while i > 1 ¨ A[Parent(i)] < key 4 do A[i] A[Parent(i)] 5 i Parent(i) 6 A[i] key ਬ¥à à ¡®âë ¯à®æ¥¤ãàë Heap-Insert ¯®ª § à¨á. 7.5. ६ï à ¡®âë á®áâ ¢«ï¥â O(lg n), ¯®áª®«ìªã "¯®¤êñ¬" ®¢®£® «¨áâ § ¨¬ ¥â ¥ ¡®«¥¥ lg n è £®¢ (¨¤¥ªá i ¯®á«¥ ª ¦¤®© ¨â¥à 樨 横« while 㬥ìè ¥âáï ¯® ªà ©¥© ¬¥à¥ ¢¤¢®¥). â ª, ¢á¥ ®¯¥à 樨 ¤ ®ç¥à¥¤ìî á ¯à¨®à¨â¥â ¬¨ ¨§ n í«¥¬¥â®¢ 146 « ¢ 7 ®àâ¨à®¢ª á ¯®¬®éìî ªãç¨ ¨á㮪 7.5 ¡®â ¯à®æ¥¤ãàë Heap-Insert. ®¡ ¢«ï¥âáï í«¥¬¥â á ª«îç¥¢ë¬ § 票¥¬ 15 (â¥¬ë© ªà㦮ª ®§ ç ¥â ¬¥áâ® ¤«ï í⮣® í«¥¬¥â ). âॡãî⠢६¥¨ O(lg n). ¯à ¦¥¨ï ®ª ¦¨â¥, á«¥¤ãï ®¡à §æã à¨á. 7.5, ª ª à ¡®â ¥â ¯à®æ¥¤ãà Heap-Insert(A; 3) ¤«ï ªãç¨ A = h15; 13; 9; 5; 12; 8; 7; 4; 0; 6; 2; 1i. 7.5-2 ®ª ¦¨â¥ à¨á㪠å, ª ª à ¡®â ¥â ¯à®æ¥¤ãà HeapExtract-Max ¤«ï ªãç¨ ¨§ ¯à¥¤ë¤ã饣® ã¯à ¦¥¨ï. 7.5-3 ¡êïá¨â¥, ª ª ॠ«¨§®¢ âì ®¡ëçãî ®ç¥à¥¤ì (rst-in, rstout) ¨ á⥪ ¡ §¥ ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨. (¯à¥¤¥«¥¨ï á¬. ¢ à §¤. 11.1). 7.5-4 ¥ «¨§ã©â¥ ¯à®æ¥¤ãàã Heap-Increase-Key (A; i; k) (㢥«¨ç¥¨¥ í«¥¬¥â ), ª®â®à ï 㢥«¨ç¨¢ ¥â í«¥¬¥â A[i] ¤® k, ¥á«¨ ® ¡ë« ¬¥ìè¥ k (A[i] max(A[i]; k)) ¨ ¢®ááâ ¢«¨¢ ¥â ®á®¢®¥ ᢮©á⢮ ªãç¨. ६ï à ¡®âë | O(lg n). 7.5-5 ¥ «¨§ã©â¥ ®¯¥à æ¨î Heap-Delete (A; i) | 㤠«¥¨¥ í«¥¬¥â á ¨¤¥ªá®¬ i ¨§ ªãç¨. ६ï à ¡®âë O(lg n). 7.5-1 ¤ ç¨ ª £« ¢¥ 7 147 ਤ㬠©â¥ «£®à¨â¬, ª®â®àë© ¯®§¢®«ï¥â § ¢à¥¬ï O(n lg k) ᫨âì k ®âá®àâ¨à®¢ ëå ᯨ᪮¢ ¢ ®¤¨ ®âá®àâ¨à®¢ ë© á¯¨á®ª (§¤¥áì n | ®¡é¥¥ ç¨á«® í«¥¬¥â®¢ ¢ ᯨ᪠å). (ª § ¨¥: ¨á¯®«ì§ã©â¥ ªãçã.) 7.5-6 ¤ ç¨ 7-1 ®áâ஥¨¥ ªãç¨ á ¯®¬®éìî ¢áâ ¢®ª ®¦® ¯®áâநâì ªãçã, ¯®á«¥¤®¢ â¥«ì® ¤®¡ ¢«ïï í«¥¬¥âë á ¯®¬®éìî ¯à®æ¥¤ãàë Heap-Insert. áᬮâਬ á«¥¤ãî騩 «£®à¨â¬: Build-Heap0 (A) 1 heap-size[A] 1 2 for i 2 to length[A] 3 do Heap-Insert(A; A[i]) . ¯ãá⨬ ¯à®æ¥¤ãàë Build-Heap ¨ Build-Heap0 ¤«ï ®¤®£® ¨ ⮣® ¦¥ ¬ áᨢ . ᥣ¤ «¨ ®¨ ᮧ¤ ¤ãâ ®¤¨ ª®¢ë¥ ªãç¨? (®ª ¦¨â¥ ¨«¨ ¯à¨¢¥¤¨â¥ ª®âà¯à¨¬¥à.) ¡. ®ª ¦¨â¥, çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Build-Heap0 ¢ åã¤è¥¬ á«ãç ¥ á®áâ ¢«ï¥â (n lg n) (£¤¥ n | ª®«¨ç¥á⢮ í«¥¬¥â®¢). 7-2 ¡®â á d-¨ç묨 ªãç ¬¨ áᬮâਬ d-¨çãî ªãçã (d-ary heap), ¢ ª®â®à®© ¢¥àè¨ë ¨¬¥îâ d ¤¥â¥© ¢¬¥áâ® ¤¢ãå. . ª ¢ë£«ï¤ïâ ¤«ï â ª®© ªãç¨ ¯à®æ¥¤ãàë, «®£¨çë¥ Parent, Left ¨ Right? ¡. ª ¢ëá®â d-¨ç®© ªãç¨ ¨§ n í«¥¬¥â®¢ ¢ëà ¦ ¥âáï ç¥à¥§ n ¨ d? ¢. ¥ «¨§ã©â¥ ¯à®æ¥¤ãàã Extract-Max. ª®¢® ¢à¥¬ï ¥ñ à ¡®âë (¢ëà §¨â¥ ¥£® ç¥à¥§ n ¨ d)? £. ¥ «¨§ã©â¥ ¯à®æ¥¤ãàã Insert. ª®¢® ¢à¥¬ï ¥ñ à ¡®âë? ¤. ¥ «¨§ã©â¥ ¯à®æ¥¤ãàã Heap-Increase-Key (ã¯à. 7.5-4). ª®¢® ¢à¥¬ï ¥ñ à ¡®âë? ¬¥ç ¨ï «£®à¨â¬ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ ¯à¥¤«®¦¨« ¨«ìï¬á [202]; â ¬ ¦¥ ®¯¨á ॠ«¨§ æ¨ï ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ ¡ §¥ ªãç¨. à®æ¥¤ãà Build-Heap ¯à¥¤«®¦¥ «®©¤®¬ [69]. 8 ëáâà ï á®àâ¨à®¢ª í⮩ £« ¢¥ à áᬮâॠ⠪ §ë¢ ¥¬ë© «£®à¨â¬ "¡ëáâன á®àâ¨à®¢ª¨". ®âï ¢à¥¬ï ¥£® à ¡®âë ¤«ï ¬ áᨢ ¨§ n ç¨á¥« ¢ åã¤è¥¬ á«ãç ¥ á®áâ ¢«ï¥â (n2), ¯à ªâ¨ª¥ íâ®â «£®à¨â¬ ï¥âáï ®¤¨¬ ¨§ á ¬ëå ¡ëáâàëå: ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë á®áâ ¢«ï¥â (n lg n), ¯à¨çñ¬ ¬®¦¨â¥«ì ¯à¨ n lg n ¤®¢®«ì® ¬ «. ஬¥ ⮣®, ¡ëáâà ï á®àâ¨à®¢ª ¥ âॡã¥â ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠¨ á®åà ï¥â íä䥪⨢®áâì ¤«ï á¨á⥬ á ¢¨àâ㠫쮩 ¯ ¬ïâìî. à §¤¥«¥ 8.1 ®¯¨áë¢ ¥âáï «£®à¨â¬ ¢ 楫®¬ ¨ ¯à®æ¥¤ãà à §¤¥«¥¨ï ¬ áᨢ ç áâ¨. 楪 íä䥪⨢®á⨠«£®à¨â¬ ¤®¢®«ì® á«®¦ ; ¢ à §¤¥«¥ 8.2 ¯à¨¢®¤ïâáï ¨âã¨â¨¢ë¥ ¤®¢®¤ë, áâண¨© «¨§ ®â«®¦¥ ¤® à §¤¥« 8.4. à §¤¥«¥ 8.3 ®¯¨á ë ¢ ਠâë ¡ëáâன á®àâ¨à®¢ª¨, ¨á¯®«ì§ãî騥 £¥¥à â®à á«ãç ©ëå ç¨á¥«. ਠí⮬ ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ (¯à¨ ¥ã¤ 箬 á«ãç ©®¬ ¢ë¡®à¥) á®áâ ¢«ï¥â O(n2), ® á।¥¥ ¢à¥¬ï à ¡®âë á®áâ ¢«ï¥â «¨èì O(n lg n). (®¢®àï ® á।¥¬ ¢à¥¬¥¨, ¬ë ¨¬¥¥¬ ¢ ¢¨¤ã ¥ ãá।¥¨¥ ¯® ¢á¥¬ ¢å®¤ ¬, ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë, ª®â®à®¥ ¤«ï «î¡®£® ¢å®¤ ¥ ¯à¥¢®á室¨â O(n log n).) ¤¨ ¨§ ¢ ਠ⮢ ¢¥à®ïâ®á⮣® «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ ¯®¤à®¡® «¨§¨àã¥âáï ¢ à §¤¥«¥ 8.4, £¤¥ ¤®ª § ë ®æ¥ª¨ ¤«ï á।¥£® ¨ ¨¡®«ì襣® ¢à¥¬¥¨ à ¡®âë. 8.1 ¯¨á ¨¥ ¡ëáâன á®àâ¨à®¢ª¨ ëáâà ï á®àâ¨à®¢ª (quicksort), ª ª ¨ á®àâ¨à®¢ª ᫨逸¬, ®á®¢ ¯à¨æ¨¯¥ "à §¤¥«ï© ¨ ¢« áâ¢ã©" (á¬. à §¤. 1.3.1). ®àâ¨à®¢ª ãç á⪠A[p : :r] ¯à®¨á室¨â â ª: «¥¬¥âë ¬ áᨢ A ¯¥à¥áâ ¢«ïîâáï â ª, çâ®¡ë «î¡®© ¨§ í«¥¬¥â®¢ A[p]; : : :; A[q] ¡ë« ¥ ¡®«ìè¥ «î¡®£® ¨§ í«¥¬¥â®¢ A[q + 1]; : : :; A[r], £¤¥ q | ¥ª®â®à®¥ ç¨á«® ¢ ¨â¥à¢ «¥ p 6 q < r. âã ®¯¥à æ¨î ¬ë ¡ã¤¥¬ §ë¢ âì à §¤¥«¥¨¥¬ (partition). à®æ¥¤ãà á®àâ¨à®¢ª¨ ४ãàᨢ® ¢ë§ë¢ ¥âáï ¤«ï ¬ áᨢ®¢ A[p : :q ] ¨ A[q + 1 : :r]. ¯¨á ¨¥ ¡ëáâன á®àâ¨à®¢ª¨ 149 ®á«¥ í⮣® ¬ áᨢ A[p : :r] ®âá®àâ¨à®¢ . â ª, ¯à®æ¥¤ãà á®àâ¨à®¢ª¨ Quicksort ¢ë£«ï¤¨â á«¥¤ãî騬 ®¡à §®¬: Quicksort(A; p; r) 1 if p < r 2 then q Partition(A; p; r) 3 Quicksort(A; p; q ) 4 Quicksort(A; q + 1; r) «ï á®àâ¨à®¢ª¨ ¢á¥£® ¬ áᨢ ¥®¡å®¤¨¬® ¢ë¯®«¨âì ¯à®æ¥¤ãàã Quicksort(A; 1; length[A]). §¡¨¥¨¥ ¬ áᨢ ᮢ®© è £ «£®à¨â¬ | ¯à®æ¥¤ãà Partition, ª®â®à ï ¯¥à¥áâ ¢«ï¥â í«¥¬¥âë ¬ áᨢ A[p : :r] ã¦ë¬ ®¡à §®¬: Partition(A; p; r) 1 x A[p] 2 i p;1 3 j r+1 4 while true 5 do repeat j j ; 1 6 until A[j ] 6 x 7 repeat i i + 1 8 until A[i] > x 9 if i < j 10 then ¯®¬¥ïâì A[i] $ A[j ] 11 else return j ¡®â ¯à®æ¥¤ãàë Partition ¯®ª § à¨á. 8.1. «¥¬¥â x = A[p] ¢ë¡¨à ¥âáï ¢ ª ç¥á⢥ "£à ¨ç®£®"; ¬ áᨢ A[p : :q] ¡ã¤¥â ᮤ¥à¦ âì í«¥¬¥âë, ¥ ¡®«ì訥 x, ¬ áᨢ A[q +1 : :r] | í«¥¬¥âë, ¥ ¬¥ì訥 x. ¤¥ï á®á⮨⠢ ⮬, çâ®¡ë ª ¯«¨¢ âì í«¥¬¥âë, ¥ ¡®«ì訥 x, ¢ ç «ì®¬ ®â१ª¥ ¬ áᨢ (A[p : :i]), í«¥¬¥âë, ¥ ¬¥ì訥 x | ¢ ª®æ¥ (A[j : : r]). ç «¥ ®¡ " ª®¯¨â¥«ï" ¯ãáâë: i = p ; 1, j = r + 1. ãâਠ横« while (¢ áâப å 5{8) ª ç «ì®¬ã ¨ ª®¥ç®¬ã ãç á⪠¬ ¯à¨á®¥¤¨ïîâáï í«¥¬¥âë (ª ª ¬¨¨¬ã¬ ¯® ®¤®¬ã). ®á«¥ ¢ë¯®«¥¨ï íâ¨å áâப A[i] > x > A[j ]. ᫨ ¬ë ¯®¬¥ï¥¬ A[i] ¨ A[j ] ¬¥áâ ¬¨, â® ¨å ¬®¦® ¡ã¤¥â ¯à¨á®¥¤¨¨âì ª ç «ì®¬ã ¨ ª®¥ç®¬ã ãç á⪠¬. ¬®¬¥â ¢ë室 ¨§ 横« ¢ë¯®«¥® ¥à ¢¥á⢮ i > j . ਠí⮬ ¬ áᨢ à §¡¨â ç á⨠A[p]; : : :; A[j ] ¨ A[j + 1]; : : :; A[r]; «î¡®© í«¥¬¥â ¯¥à¢®© ç á⨠¥ ¯à¥¢®á室¨â «î¡®£® í«¥¬¥â ¢â®à®© 150 « ¢ 8 ëáâà ï á®àâ¨à®¢ª ¨á㮪 8.1 ¡®â ¯à®æ¥¤ãàë Partition. ¥§ ªà è¥ë¥ í«¥¬¥âë ®â®áïâáï ª 㦥 áä®à¬¨à®¢ ë¬ ªã᪠¬, § ªà è¥ë¥ ¥éñ ¥ à á¯à¥¤¥«¥ë. ( ) ç «ì®¥ á®áâ®ï¨¥ ¬ áᨢ , ç «ìë© ¨ ª®¥çë© ªã᪨ ¯ãáâë. «¥¬¥â x = A[p] = 5 ¨á¯®«ì§ã¥âáï ¢ ª ç¥á⢥ £à ¨ç®£®. (¡) ¥§ã«ìâ â ¯¥à¢®£® ¯à®å®¤ 横« while (áâப¨ 4{8). (¢) «¥¬¥âë A[i] ¨ A[j ] ¬¥ïîâáï ¬¥áâ ¬¨ (áâப 10). (£) ¥§ã«ìâ â ¢â®à®£® ¯à®å®¤ 横« while. (¤) ¥§ã«ìâ â âà¥â쥣® (¯®á«¥¤¥£®) ¯à®å®¤ 横« while. ®áª®«ìªã i > j , ¯à®æ¥¤ãà ®áâ ¢«¨¢ ¥âáï ¨ ¢®§¢à é ¥â § 票¥ q = j . «¥¬¥âë á«¥¢ ®â A[j ] (¢ª«îç ï á ¬ íâ®â í«¥¬¥â) ¥ ¡®«ìè¥, 祬 x = 5, í«¥¬¥âë á¯à ¢ ®â A[j ] ¥ ¬¥ìè¥, 祬 x = 5. ç áâ¨. à®æ¥¤ãà ¢®§¢à é ¥â § 票¥ j . ®âï ¨¤¥ï ¯à®æ¥¤ãàë ®ç¥ì ¯à®áâ , á ¬ «£®à¨â¬ ᮤ¥à¦¨â àï¤ â®ª¨å ¬®¬¥â®¢. ¯à¨¬¥à, ¥ ®ç¥¢¨¤®, çâ® ¨¤¥ªáë i ¨ j ¥ ¢ë室ïâ § £à ¨æë ¯à®¬¥¦ã⪠[p : :r] ¢ ¯à®æ¥áá¥ à ¡®âë. à㣮© ¯à¨¬¥à: ¢ ¦®, çâ® ¢ ª ç¥á⢥ £à ¨ç®£® § ç¥¨ï ¢ë¡¨à ¥âáï A[p], ¥, ᪠¦¥¬, A[r]. ¯®á«¥¤¥¬ á«ãç ¥ ¬®¦¥â ®ª § âìáï, çâ® A[r] | á ¬ë© ¡®«ì让 í«¥¬¥â ¬ áᨢ , ¨ ¢ ª®æ¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë ¡ã¤¥â i = j = r, â ª çâ® ¢®§¢à é âì q = j ¡ã¤¥â ¥«ì§ï | àãè¨âáï âॡ®¢ ¨¥ q < r, ¨ ¯à®æ¥¤ãà Quicksort § 横«¨âáï. à ¢¨«ì®áâì ¯à®æ¥¤ãàë Partition á®áâ ¢«ï¥â ¯à¥¤¬¥â § ¤ ç¨ 8- 1. ६ï à ¡®âë ¯à®æ¥¤ãàë Partition á®áâ ¢«ï¥â (n), £¤¥ n = r ; p + 1 (á¬. ã¯à. 8.1-3). ¯à ¦¥¨ï 8.1-1 ®ª ¦¨â¥, á«¥¤ãï ®¡à §æã à¨á. 8.1, ª ª à ¡®â ¥â ¯à®æ¥¤ãà Partition ¤«ï ¬ áᨢ A = h13; 19; 9; 5; 12; 8; 7; 4; 11; 2; 6; 21i. ãáâì ¢á¥ í«¥¬¥âë ¬ áᨢ A[p : :r] à ¢ë. ª®¥ § 票¥ ¢¥àñâ ¯à®æ¥¤ãà Partition? 8.1-3 ਢ¥¤¨â¥ ¯à®á⮥ á®®¡à ¦¥¨¥, ®¡êïáïî饥, ¯®ç¥¬ã ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Partition á®áâ ¢«ï¥â (n). 8.1-2 ¡®â ¡ëáâன á®àâ¨à®¢ª¨ 151 ª ®âá®àâ¨à®¢ âì ¬ áᨢ ¢ ¯®à浪¥ ã¡ë¢ ¨ï ( ¥ ¢®§à áâ ¨ï), ¨á¯®«ì§ãï ⥠¦¥ ¬¥â®¤ë? 8.1-4 8.2 ¡®â ¡ëáâன á®àâ¨à®¢ª¨ ६ï à ¡®âë «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ § ¢¨á¨â ®â ⮣®, ª ª à §¡¨¢ ¥âáï ¬ áᨢ ª ¦¤®¬ è £¥. ᫨ à §¡¨¥¨¥ ¯à®¨á室¨â ¯à¨¬¥à® à ¢ë¥ ç áâ¨, ¢à¥¬ï à ¡®âë á®áâ ¢«ï¥â O(n lg n), ª ª ¨ ¤«ï á®àâ¨à®¢ª¨ ᫨逸¬. ᫨ ¦¥ à §¬¥àë ç á⥩ á¨«ì® ®â«¨ç îâáï, á®àâ¨à®¢ª ¬®¦¥â § ¨¬ âì ¢à¥¬ï O(n2), ª ª ¯à¨ á®àâ¨à®¢ª¥ ¢áâ ¢ª ¬¨. ¨åã¤è¥¥ à §¡¨¥¨¥ " ¨¡®«¥¥ ¥à ¢ë¥ ç áâ¨" ¯®«ãç âáï, ¥á«¨ ®¤ ç áâì ᮤ¥à¦¨â n ; 1 í«¥¬¥â, ¢â®à ï | ¢á¥£® 1. ( ª ¬ë 㢨¤¨¬ ¢ à §¤¥«¥ 8.4.1, íâ® ¨åã¤è¨© á«ãç © á â®çª¨ §à¥¨ï ¢à¥¬¥¨ à ¡®âë.) ।¯®«®¦¨¬, çâ® ª ¦¤®¬ è £¥ ¯à®¨á室¨â ¨¬¥® â ª. ®áª®«ìªã ¯à®æ¥¤ãà à §¡¨¥¨ï § ¨¬ ¥â ¢à¥¬ï (n), ¤«ï ¢à¥¬¥¨ à ¡®âë T (n) ¯®«ãç ¥¬ á®®â®è¥¨¥ T (n) = T (n ; 1) + (n) ®áª®«ìªã T (1) = (1), ¨¬¥¥¬ T (n) = T (n ; 1) + (n) = n X k=1 (k) = n X k=1 ! k = (n2 ) (¯®á«¥¤ïï á㬬 | à¨ä¬¥â¨ç¥áª ï ¯à®£à¥áá¨ï, á¬. ä®à¬ã«ã (3.2)). ¥à¥¢® ४ãàᨨ ¤«ï í⮣® á«ãç ï ¯®ª § ® à¨á. 8.2. (® ¯®¢®¤ã ¤¥à¥¢ì¥¢ ४ãàᨨ á¬. à §¤. 4.2.) ë ¢¨¤¨¬, çâ® ¯à¨ ¬ ªá¨¬ «ì® ¥á¡ « á¨à®¢ ®¬ à §¡¨¥¨¨ ¢à¥¬ï à ¡®âë á®áâ ¢«ï¥â (n2), ª ª ¨ ¤«ï á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨. ç áâ®áâ¨, íâ® ¯à®¨á室¨â, ¥á«¨ ¬ áᨢ ¨§ ç «ì® ®âá®àâ¨à®¢ (§ ¬¥â¨¬, çâ® ¢ í⮬ á«ãç ¥ á®àâ¨à®¢ª ¢áâ ¢ª ¬¨ ¯à®¨§¢®¤¨âáï § ¢à¥¬ï (n)). ¨«ãç襥 à §¡¨¥¨¥ ᫨ ª ¦¤®¬ è £¥ ¬ áᨢ à §¡¨¢ ¥âáï ஢® ¯®¯®« ¬, ¡ëáâà ï á®àâ¨à®¢ª âॡã¥â § ç¨â¥«ì® ¬¥ìè¥ ¢à¥¬¥¨. ¥©á⢨⥫ì®, ¢ í⮬ á«ãç ¥ ४ãàà¥â®¥ á®®â®è¥¨¥ ¨¬¥¥â ¢¨¤ T (n) = 2T (n=2) + (n) ¨, ᮣ« ᮠ⥮६¥ 4.1 (á«ãç © 2), T (n) = (n lg n). ¥à¥¢® ४ãàᨨ ¤«ï í⮣® á«ãç ï ¯®ª § ® à¨á㪥 8.3. 152 « ¢ 8 ëáâà ï á®àâ¨à®¢ª ¨á㮪 8.2 ¥à¥¢® ४ãàᨨ ¯à®æ¥¤ãàë Quicksort ¤«ï ¨åã¤è¥£® á«ãç ï (¯à®æ¥¤ãà Partition ª ¦¤ë© à § ¯à®¨§¢®¤¨â à §¡¨¥¨¥, ¢ ª®â®à®¬ ®¤ ¨§ ç á⥩ ᮤ¥à¦¨â ®¤¨ í«¥¬¥â). ६ï à ¡®âë à ¢® (n2 ). ¨á㮪 8.3 ¥à¥¢® ४ãàᨨ ¯à®æ¥¤ãàë Quicksort ¤«ï ¨«ãç襣® á«ãç ï (¬ áᨢ ª ¦¤ë© à § à §¡¨¢ ¥âáï ¯®¯®« ¬). ६ï à ¡®âë à ¢® (n lg n). ஬¥¦ãâ®çë© á«ãç © ª ¡ã¤¥â ¯®ª § ® ¢ à §¤¥«¥ 8.4, á।¥¥ ¢à¥¬ï à ¡®âë (á â®ç®áâìî ¤® ¬®¦¨â¥«ï) ᮢ¯ ¤ ¥â á ¢à¥¬¥¥¬ à ¡®âë ¢ ¨«ãç襬 á«ãç ¥. â®¡ë ®¡êïá¨âì íâ®, ¯®á¬®âਬ, ª ª ¬¥ï¥âáï ४ãàà¥â®¥ á®®â®è¥¨¥ ¢ § ¢¨á¨¬®á⨠®â á⥯¥¨ á¡ « á¨à®¢ ®áâ¨ à §¡¨¥¨ï. ãáâì, ¯à¨¬¥à, ª ¦¤®¬ è £¥ ¬ áᨢ à §¡¨¢ ¥âáï ¤¢¥ ç áâ¨ á ®â®è¥¨¥¬ à §¬¥à®¢ 9 : 1. ®£¤ T (n) = T (9n=10) + T (n=10) + n (¤«ï 㤮¡á⢠¬ë § ¬¥¨«¨ (n) n). ¥à¥¢® ४ãàᨨ ¯®ª § ® à¨á㪥 8.4. ª ¦¤®¬ ã஢¥ ¬ë ¯à®¨§¢®¤¨¬ ¥ ¡®«¥¥ n ¤¥©á⢨©, â ª çâ® ¢à¥¬ï à ¡®âë ®¯à¥¤¥«ï¥âáï £«ã¡¨®© ४ãàᨨ. ¡®â ¡ëáâன á®àâ¨à®¢ª¨ 153 ¨á㮪 8.4 ¥à¥¢® ४ãàᨨ ¤«ï á«ãç ï, ª®£¤ à §¡¨¥¨¥ ª ¦¤ë© à § ¯à®¨§¢®¤¨âáï ¢ ®â®è¥¨¨ 9 : 1. ६ï à ¡®âë à ¢® (n lg n). ¤ ®¬ á«ãç ¥ íâ £«ã¡¨ à ¢ log10=9 n = (lg n), â ª çâ® ¢à¥¬ï à ¡®âë ¯®-¯à¥¦¥¬ã á®áâ ¢«ï¥â (n lg n), å®âï ª®áâ â ¨ ¡®«ìè¥. á®, çâ® ¤«ï «î¡®£® 䨪á¨à®¢ ®£® ®â®è¥¨ï à §¬¥à®¢ ç á⥩ (᪮«ì ¡ë ¢¥«¨ª® ®® ¨ ¡ë«®) £«ã¡¨ ¤¥à¥¢ ४ãàᨨ ¯®-¯à¥¦¥¬ã ¡ã¤¥â «®£ à¨ä¬¨ç¥áª®©, ¢à¥¬ï à ¡®âë ¡ã¤¥â à ¢® (n lg n). ।¥¥ ¢à¥¬ï: ¨âã¨â¨¢ë¥ á®®¡à ¦¥¨ï â®¡ë ¢®¯à®á ® á।¥¬ ¢à¥¬¥¨ à ¡®âë ¨¬¥« á¬ëá«, 㦮 ãâ®ç¨âì, á ª ª®© ç áâ®â®© ¯®ï¢«ïîâáï à §«¨çë¥ ¢å®¤ë¥ § 票ï. ª ¯à ¢¨«®, ¯à¥¤¯®« £ ¥âáï, çâ® ¢á¥ ¯¥à¥áâ ®¢ª¨ ¢å®¤ëå § 票© à ¢®¢¥à®ïâë. (ë ¢¥àñ¬áï ª í⮬㠢 á«¥¤ãî饬 à §¤¥«¥.) «ï 㣠¤ ¢§ï⮣® ¬ áᨢ à §¡¨¥¨ï ¢àï¤ «¨ ¡ã¤ãâ ¢áñ ¢à¥¬ï ¯à®¨á室¨âì ¢ ®¤®¬ ¨ ⮬ ¦¥ ®â®è¥¨¨ | ᪮॥ ¢á¥£®, ç áâì à §¡¨¥¨© ¡ã¤¥â å®à®è® á¡ « á¨à®¢ , ç áâì ¥â. ª ¯®ª §ë¢ ¥â ã¯à. 8.2-5, ¯à¨¬¥à® 80 ¯à®æ¥â®¢ à §¡¨¥¨© ¯à®¨§¢®¤ïâáï ¢ ®â®è¥¨¨ ¥ ¡®«¥¥ 9 : 1. 㤥¬ ¯à¥¤¯®« £ âì ¤«ï ¯à®áâ®âë, çâ® ª ¦¤®¬ ¢â®à®¬ ã஢¥ ¢á¥ à §¡¨¥¨ï ¨åã¤è¨¥, ®á⠢襩áï ¯®«®¢¨¥ ã஢¥© ¨«ãç訥 (¯à¨¬¥à ¯®ª § à¨á. 8.5( )). ®áª®«ìªã ¯®á«¥ ª ¦¤®£® " å®à®è¥£®" à §¡¨¥¨ï à §¬¥à ç á⥩ 㬥ìè ¥âáï ¢¤¢®¥, ç¨á«® "å®à®è¨å" ã஢¥© à ¢® (lg n), ¯®áª®«ìªã ª ¦¤ë© ¢â®à®© ã஢¥ì "å®à®è¨©", ®¡é¥¥ ç¨á«® ã஢¥© à ¢® (lg n), ¢à¥¬ï à ¡®âë | (n lg n). ª¨¬ ®¡à §®¬, ¯«®å¨¥ ã஢¨ ¥ ¨á¯®à⨫¨ ᨬ¯â®â¨ªã ¢à¥¬¥¨ à ¡®âë ( «¨èì 㢥«¨ç¨«¨ ª®áâ âã, áªàëâãî ¢ ᨬ¯â®- 154 « ¢ 8 ëáâà ï á®àâ¨à®¢ª ¨á㮪 8.5 ( ) ¢ ã஢ï: ¯«®å®© (n à §¡¨¢ ¥âáï n ; 1 ¨ 1) ¨ å®à®è¨© (n ; 1 à §¡¨¢ ¥âáï ¤¢¥ à ¢ë¥ ç áâ¨). (¡) ᫨ í⨠¤¢ ãà®¢ï § ¬¥¨âì ®¤¨¬, ¯®«ãç¨âáï à §¡¨¥¨¥ ¯®çâ¨ à ¢ë¥ ¯® ¢¥«¨ç¨¥ ç áâ¨. â¨ç¥áª®¬ ®¡®§ 票¨). ¯à ¦¥¨ï ®ª ¦¨â¥, çâ® ¥á«¨ ¬ áᨢ á®á⮨⠨§ ®¤¨ ª®¢ëå í«¥¬¥â®¢, â® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Quicksort à ¢® (n lg n). 8.2-2 ãáâì ¬ áᨢ ®âá®àâ¨à®¢ ¢ ¯®à浪¥ ã¡ë¢ ¨ï. ®ª ¦¨â¥, çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Quicksort á®áâ ¢«ï¥â (n2). 8.2-3 ª ¯à ¢¨«®, ¢ ¡ ª å ®¡à ¡ âë¢ îâ 祪¨ ¢ ¯®à浪¥ ¨å ¯®áâ㯫¥¨ï; ª«¨¥âë ¦¥ ¯à¥¤¯®ç¨â îâ, çâ®¡ë ¢ ®âçñ⥠¯« ⥦¨ ¡ë«¨ 㪠§ ë ¢ ¯®à浪¥ ®¬¥à®¢ 祪®¢. « ¤¥«¥æ 祪®¢®© ª¨¦ª¨ ®¡ëç® ¢ë¯¨áë¢ ¥â 祪¨ ¯®¤àï¤, ¯®«ãç ⥫¨ 祪®¢ ¯à¥¤êïîâ ¨å ¢ ¡ ª ¢áª®à¥ ¯®á«¥ ¢ë¯¨áë¢ ¨ï. ª¨¬ ®¡à §®¬, ¯®à冷ª ®¬¥à®¢ àãè ¥âáï ¥§ ç¨â¥«ì®. «¥¤®¢ ⥫ì®, ¡ ªã âॡã¥âáï ®âá®àâ¨à®¢ âì ¯®ç⨠®âá®àâ¨à®¢ ë© ¬ áᨢ. ¡êïá¨â¥, ¯®ç¥¬ã á®àâ¨à®¢ª ¢áâ ¢ª ¬¨ ¢ â ª¨å á«ãç ïå à ¡®â ¥â ¡ëáâ॥, 祬 ¡ëáâà ï á®àâ¨à®¢ª . 8.2-4 ãáâì à §¡¨¥¨ï ª ¦¤®¬ è £¥ ¯à®¨§¢®¤ïâáï ¢ ®â®è¥¨¨ : 1 ; , £¤¥ 0 < 6 1=2. ®ª ¦¨â¥, çâ® ¬¨¨¬ «ì ï £«ã¡¨ «¨áâ ¤¥à¥¢¥ ४ãàᨨ ¯à¨¬¥à® à ¢ ; lg n= lg , ¬ ªá¨¬ «ì ï ¯à¨¬¥à® à ¢ ; lg n= lg(1 ; ). (¥ § ¡®âìâ¥áì ®¡ ®ªà㣫¥¨¨.) 8.2-5? ®ª ¦¨â¥, çâ® ¤«ï «î¡®£® ç¨á« ¢ ¨â¥à¢ «¥ 0 < 6 1=2 ¢¥à®ïâ®áâì ⮣®, çâ® à §¡¨¥¨¥ á«ãç ©®£® ¬ áᨢ ¡ã¤¥â á¡ « 8.2-1 ¥à®ïâ®áâë¥ «£®à¨â¬ë ¡ëáâன á®àâ¨à®¢ª¨ 155 á¨à®¢ ® ¥ å㦥, 祬 : 1 ; , ¯à¨¬¥à® à ¢ 1 ; 2. ਠª ª®¬ § 票¨ ¢¥à®ïâ®áâì í⮣® ᮡëâ¨ï à ¢ 1=2? 8.3 ¥à®ïâ®áâë¥ «£®à¨â¬ë ¡ëáâன á®àâ¨à®¢ª¨ ¥¥ ¬ë ¯à¥¤¯®«®¦¨«¨, çâ® ¢á¥ ¯¥à¥áâ ®¢ª¨ ¢å®¤ëå § 票© à ¢®¢¥à®ïâë. ᫨ íâ® â ª, à §¬¥à ¬ áᨢ ¤®áâ â®ç® ¢¥«¨ª, ¡ëáâà ï á®àâ¨à®¢ª | ®¤¨ ¨§ ¨¡®«¥¥ íä䥪⨢ëå «£®à¨â¬®¢. ¯à ªâ¨ª¥, ®¤ ª®, íâ® ¯à¥¤¯®«®¦¥¨¥ (à ¢®© ¢¥à®ïâ®á⨠¢á¥å ¯¥à¥áâ ®¢®ª ¢å®¤¥) ¥ ¢á¥£¤ ®¯à ¢¤ ® (á¬. ã¯à. 8.2-3). í⮬ à §¤¥«¥ ¬ë ¢¢¥¤ñ¬ ¯®ï⨥ ¢¥à®ïâ®á⮣® «£®à¨â¬ ¨ à áᬮâਬ ¤¢ ¢¥à®ïâ®áâëå «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨, ª®â®àë¥ ¯®§¢®«ïî⠮⪠§ âìáï ®â ¯à¥¤¯®«®¦¥¨ï ® à ¢®© ¢¥à®ïâ®á⨠¢á¥å ¯¥à¥áâ ®¢®ª. ¤¥ï á®á⮨⠢ ¯à¨¢¥á¥¨¨ á«ãç ©®áâ¨, ®¡¥á¯¥ç¨¢ î饬 㦮¥ à á¯à¥¤¥«¥¨¥. ¯à¨¬¥à, ¯¥à¥¤ ç «®¬ á®àâ¨à®¢ª¨ ¬®¦® á«ãç ©® ¯¥à¥áâ ¢¨âì í«¥¬¥âë, ¯®á«¥ 祣® 㦥 ¢á¥ ¯¥à¥áâ ®¢ª¨ áâ ãâ à ¢®¢¥à®ïâ묨 (íâ® ¬®¦® ᤥ« âì § ¢à¥¬ï O(n) | á¬. ã¯à. 8.3-4). ª ï ¬®¤¨ä¨ª æ¨ï ¥ 㢥«¨ç¨¢ ¥â áãé¥á⢥® ¢à¥¬ï à ¡®âë, ® ⥯¥àì ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë ¥ § ¢¨á¨â ®â ¯®à浪 í«¥¬¥â®¢ ¢® ¢å®¤®¬ ¬ áᨢ¥ (®¨ ¢áñ à ¢® á«ãç ©® ¯¥à¥áâ ¢«ïîâáï). «£®à¨â¬ §ë¢ ¥âáï ¢¥à®ïâ®áâë¬ (randomized), ¥á«¨ ® ¨á¯®«ì§ã¥â £¥¥à â®à á«ãç ©ëå ç¨á¥« (random-number generator). ë ¡ã¤¥¬ áç¨â âì, çâ® £¥¥à â®à á«ãç ©ëå ç¨á¥« Random à ¡®â ¥â â ª: Random(a; b) ¢®§¢à é ¥â á à ¢®© ¢¥à®ïâ®áâìî «î¡®¥ 楫®¥ ç¨á«® ¢ ¨â¥à¢ «¥ ®â a ¤® b. ¯à¨¬¥à, Random(0; 1) ¢®§¢à é ¥â 0 ¨«¨ 1 á ¢¥à®ïâ®áâìî 1=2. ਠí⮬ à §ë¥ ¢ë§®¢ë ¯à®æ¥¤ãàë ¥§ ¢¨á¨¬ë ¢ á¬ëá«¥ ⥮ਨ ¢¥à®ïâ®á⥩. ®¦® áç¨â âì, çâ® ¬ë ª ¦¤ë© à § ¡à®á ¥¬ ª®áâì á (b ; a + 1) £à ﬨ ¨ á®®¡é ¥¬ ®¬¥à ¢ë¯ ¢è¥© £à ¨. ( ¯à ªâ¨ª¥ ®¡ëç® ¨á¯®«ì§ãîâ £¥¥à â®à ¯á¥¢¤®á«ãç ©ëå ç¨á¥« (pseudorandom-number generator) | ¤¥â¥à¬¨¨à®¢ ë© «£®à¨â¬, ª®â®àë© ¢ë¤ ñâ ç¨á« , "¯®å®¦¨¥" á«ãç ©ë¥.) «ï â ª®£® ¢¥à®ïâ®á⮣® ¢ ਠ⠫£®à¨â¬ ¢ ਠ⠡ëáâன á®àâ¨à®¢ª¨ ¥â "¥ã¤®¡ëå ¢å®¤®¢": ã¯à ¦¥¨¥ 13.4-4 ¯®ª §ë¢ ¥â, çâ® ¯¥à¥áâ ®¢®ª, ¯à¨ ª®â®àëå ¢à¥¬ï à ¡®âë ¢¥«¨ª®, ᮢᥬ ¬ «® | ¯®í⮬㠢¥à®ïâ®áâì ⮣®, çâ® «£®à¨â¬ ¡ã¤¥â à ¡®â âì ¤®«£® (¤«ï «î¡®£® ª®ªà¥â®£® ¢å®¤ ) ¥¢¥«¨ª . «®£¨çë© ¯®¤å®¤ ¯à¨¬¥¨¬ ¨ ¢ ¤à㣨å á¨âã æ¨ïå, ª®£¤ ¢ 室¥ ¢ë¯®«¥¨ï «£®à¨â¬ ¬ë ¤®«¦ë ¢ë¡à âì ®¤¨ ¨§ ¬®£¨å ¢ ਠ⮢ ¥£® ¯à®¤®«¦¥¨ï, ¯à¨çñ¬ ¬ë ¥ § ¥¬, ª ª¨¥ ¨§ ¨å å®à®è¨¥, ª ª¨¥ ¯«®å¨¥, ® § ¥¬, çâ® å®à®è¨å ¢ ਠ⮢ ¤®áâ â®ç® ¬®£®. 㦮 ⮫쪮, çâ®¡ë ¯«®å¨¥ ¢ë¡®àë ¥ à §àãè «¨ ¤®á⨣- 156 « ¢ 8 ëáâà ï á®àâ¨à®¢ª ã⮣® ¯à¨ ¯à¥¤ë¤ãé¨å å®à®è¨å (ª ª ¬ë ¢¨¤¥«¨ ¢ à §¤¥«¥ 8.2, ¤«ï «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ íâ® â ª). ¬¥á⮠⮣®, çâ®¡ë ¯à¥¤¢ à¨â¥«ì® ¯¥à¥áâ ¢«ïâì í«¥¬¥âë ¬ áᨢ , ¬ë ¬®¦¥¬ ¢¥áâ¨ í«¥¬¥â á«ãç ©®á⨠¢ ¯à®æ¥¤ãàã Partition. ¬¥®, ¯¥à¥¤ à §¡¨¥¨¥¬ ¬ áᨢ A[p : :r] ¡ã¤¥¬ ¬¥ïâì í«¥¬¥â A[p] á® á«ãç ©® ¢ë¡à ë¬ í«¥¬¥â®¬ ¬ áᨢ . ®£¤ ª ¦¤ë© í«¥¬¥â á à ¢®© ¢¥à®ïâ®áâìî ¬®¦¥â ®ª § âìáï £à ¨çë¬, ¨ ¢ á।¥¬ à §¡¨¥¨ï ¡ã¤ãâ ¯®«ãç âìáï ¤®áâ â®ç® á¡ « á¨à®¢ 묨. â®â ¯®¤å®¤ § ¬¥ï¥â à §®¢ãî á«ãç ©ãî ¯¥à¥áâ ®¢ªã ¢å®¤®¢ ¢ ç «¥ ¨á¯®«ì§®¢ ¨¥¬ á«ãç ©ëå ¢ë¡®à®¢ ¢áñ¬ ¯à®â殮¨¨ à ¡®âë «£®à¨â¬ . áãé®á⨠íâ® â® ¦¥ á ¬®¥, ¨ ®¡ «£®à¨â¬ ¨¬¥îâ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë O(n lg n), ® ¥¡®«ì訥 â¥å¨ç¥áª¨¥ à §«¨ç¨ï ¤¥« îâ «¨§ ®¢®£® ¢ ਠ⠯à®é¥, ¨ ¨¬¥® ® ¡ã¤¥â à áᬠâਢ âìáï ¢ à §¤¥«¥ 8.4. §¬¥¥¨ï, ª®â®àë¥ ã¦® ¢¥á⨠¢ ¯à®æ¥¤ãàë, ᮢᥬ ¥¢¥«¨ª¨: Randomized-Partition(A; p; r) 1 i Random(p; r) 2 ¯®¬¥ïâì A[p] $ A[i] 3 return Partition(A; p; r) ®á®¢®© ¯à®æ¥¤ãॠ⥯¥àì ¡ã¤¥â ¨á¯®«ì§®¢ âìáï RandomizedPartition ¢¬¥áâ® Partition: Randomized-Quicksort(A; p; r) 1 if p < r 2 then q Randomized-Partition(A; p; r) 3 Randomized-Quicksort(A; p; q ) 4 Randomized-Quicksort(A; q + 1; r) «¨§®¬ í⮣® «£®à¨â¬ ¬ë § ©¬ñ¬áï ¢ á«¥¤ãî饬 à §¤¥«¥. ¯à ¦¥¨ï ®ç¥¬ã ¤«ï ¢¥à®ïâ®á⮣® «£®à¨â¬ ¢ ¦® ¥ ¬ ªá¨¬ «ì®¥ ¢à¥¬ï à ¡®âë (¤«ï ¤ ®£® ¢å®¤ ), ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ í⮣® ¢à¥¬¥¨? 8.3-2 ª®«ìª® à § ¯à¨ ¢ë¯®«¥¨¨ ¯à®æ¥¤ãàë RandomizedQuicksort ¬®¦¥â ¯à®¨á室¨âì ®¡à 饨¥ ª £¥¥à â®àã á«ãç ©ëå ç¨á¥« Random ¢ åã¤è¥¬ á«ãç ¥? §¬¥¨âáï «¨ ®â¢¥â ¤«ï ¨«ãç襣® á«ãç ï? 8.3-3? ¥ «¨§ã©â¥ ¯à®æ¥¤ãàã Random(a; b), ¨á¯®«ì§ãï ¡à®á ¨ï ¬®¥âë, â. ¥. ¤ â稪, á à ¢®© ¢¥à®ïâ®áâìî ¢ë¤ î騩 0 ¨«¨ 1. ª®¢® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë ¢ 襩 ¯à®æ¥8.3-1 «¨§ ¡ëáâன á®àâ¨à®¢ª¨ 157 ¤ãàë? 8.3-4? ਤ㬠©â¥ ¢¥à®ïâ®áâãî ¯à®æ¥¤ãàã, ª®â®à ï § ¢à¥¬ï (n) á«ãç ©ë¬ ®¡à §®¬ ¯¥à¥áâ ¢«ï¥â í«¥¬¥âë ¢å®¤®£® ¬ áᨢ A[1 : :n]. 8.4 «¨§ ¡ëáâன á®àâ¨à®¢ª¨ í⮬ à §¤¥«¥ ¬ë ¯à¥¢à ⨬ "¨âã¨â¨¢ë¥" á®®¡à ¦¥¨ï à §¤¥« 8.2 ¢ áâண®¥ à áá㦤¥¨¥. ç « ¬ë à áᬮâਬ ¨åã¤è¨© á«ãç © (à áá㦤¥¨ï ¡ã¤ãâ ®¤¨ ª®¢ë ¨ ¤«ï «£®à¨â¬ Quicksort, ¨ ¤«ï «£®à¨â¬ Randomized-Quicksort), § ⥬ ©¤ñ¬ á।¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ Randomized-Quicksort. 8.4.1 «¨§ ¨åã¤è¥£® á«ãç ï à §¤¥«¥ 8.2 ¬ë ¢¨¤¥«¨, çâ® ¥á«¨ à §¡¨¥¨¥ ª ¦¤®¬ è £¥ ¨¡®«¥¥ ¥á¡ « á¨à®¢ ®, â® ¢à¥¬ï à ¡®âë á®áâ ¢«ï¥â (n2). âã¨â¨¢® ïá®, çâ® íâ® ¨åã¤è¨© (¢ á¬ëá«¥ ¢à¥¬¥¨ à ¡®âë) á«ãç ©. ¥©ç á ¬ë áâண® ¤®ª ¦¥¬ íâ®. «ï ¤®ª § ⥫ìá⢠⮣®, çâ® ¢à¥¬ï à ¡®âë á®áâ ¢«ï¥â O(n2), ¬ë ¨á¯®«ì§ã¥¬ ¬¥â®¤ ¯®¤áâ ®¢ª¨ (á¬. à §¤. 4.1). ãáâì T (n) | ¨¡®«ì襥 ¢à¥¬ï à ¡®âë «£®à¨â¬ ¤«ï ¬ áᨢ ¤«¨ë n. ®£¤ , ®ç¥¢¨¤®, T (n) = 16max (T (q ) + T (n ; q )) + (n) (8.1) q6n;1 (¬ë à áᬠâਢ ¥¬ ¢á¥ ¢®§¬®¦ë¥ à §¡¨¥¨ï ¯¥à¢®¬ è £¥). ।¯®«®¦¨¬, çâ® T (q) 6 cq2 ¤«ï ¥ª®â®à®© ª®áâ âë c ¨ ¤«ï ¢á¥å q, ¬¥ìè¨å ¥ª®â®à®£® n. ®£¤ T (n) 6 16max (cq 2 +c(n;q )2)+(n) = c16max (q 2 +(n;q )2 )+(n): q6n;1 q6n;1 ¢ ¤à âë© âàñåç«¥ q2 + (n ; q)2 ¤®á⨣ ¥â ¬ ªá¨¬ã¬ ®â१ª¥ 1 6 q 6 n ; 1 ¢ ¥£® ª®æ å (¢â®à ï ¯à®¨§¢®¤ ï ¯® q ¯®«®¦¨â¥«ì , ¯®í⮬ã äãªæ¨ï ¢ë¯ãª« ¢¨§, á¬. ã¯à. 8.4-2). â®â ¬ ªá¨¬ã¬ à ¢¥ 12 + (n ; 1)2 = n2 ; 2(n ; 1). âáî¤ ¯®«ãç ¥¬ T (n) 6 cn2 ; 2c(n ; 1) + (n) 6 cn2; ¥á«¨ ª®áâ â c ¢ë¡à â ª, çâ®¡ë ¯®á«¥¤¥¥ á« £ ¥¬®¥ ¡ë«® ¬¥ìè¥ ¯à¥¤¯®á«¥¤¥£®. â ª, ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ á®áâ ¢«ï¥â (n2 ). 158 « ¢ 8 ëáâà ï á®àâ¨à®¢ª 8.4.2 «¨§ á।¥£® ¢à¥¬¥¨ à ¡®âë ª ¬ë 㦥 ¢¨¤¥«¨ ¢ à §¤¥«¥ 8.2, ¥á«¨ à §¡¨¥¨ï ¯à®¨§¢®¤ïâáï â ª, çâ® ®â®è¥¨¥ à §¬¥à®¢ ç á⥩ ®£à ¨ç¥®, â® £«ã¡¨ ¤¥à¥¢ ४ãàᨨ à ¢ (lg n), ¢à¥¬ï à ¡®âë | (n lg n). â®¡ë ¯®«ãç¨âì ®æ¥ªã á।¥£® ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ Randomized-Quicksort, ¬ë á ç « ¯à® «¨§¨à㥬 à ¡®âã ¯à®æ¥¤ãàë Partition, § ⥬ ¯®«ã稬 ४ãàà¥â®¥ á®®â®è¥¨¥ á।¥¥ ¢à¥¬ï à ¡®âë ¨ à¥è¨¬ ¥£® (¯®¯ãâ® ¯®«ã稢 ®¤ã ¯®«¥§ãî ®æ¥ªã). «¨§ à §¡¨¥¨© ¯®¬¨¬, çâ® ¯¥à¥¤ ⥬ ª ª ¢ áâப¥ 3 ¯à®æ¥¤ãàë RandomizedPartition ¢ë§ë¢ ¥âáï ¯à®æ¥¤ãà Partition, í«¥¬¥â A[p] ¯¥à¥áâ ¢«ï¥âáï á® á«ãç ©® ¢ë¡à ë¬ í«¥¬¥â®¬ ¬ áᨢ A[p : :r]. «ï ¯à®áâ®âë ¬ë ¡ã¤¥¬ ¯à¥¤¯®« £ âì, çâ® ¢á¥ ç¨á« ¢ ¬ áᨢ¥ à §«¨çë. ®âï ®æ¥ª á।¥£® ¢à¥¬¥¨ á®åà ï¥âáï ¨ ¢ ⮬ á«ãç ¥, ª®£¤ ¢ ¬ áᨢ¥ ¥áâì ®¤¨ ª®¢ë¥ í«¥¬¥âë, ¯®«ãç¨âì ¥ñ á«®¦¥¥, ¨ ¬ë í⮣® ¤¥« âì ¥ ¡ã¤¥¬. ०¤¥ ¢á¥£®, § ¬¥â¨¬, çâ® § 票¥ q, ª®â®à®¥ ¢®§¢à â¨â ¯à®æ¥¤ãà Partition, § ¢¨á¨â ⮫쪮 ®â ⮣®, ᪮«ìª® ¢ ¬ áᨢ¥ í«¥¬¥â®¢, ¥ ¡®«ìè¨å x = A[p] (ç¨á«® â ª¨å í«¥¬¥â®¢ ¬ë ¡ã¤¥¬ §ë¢ âì à £®¬ (rank) í«¥¬¥â x ¨ ®¡®§ ç âì rank(x)). ᫨ n = r ; p + 1 | ç¨á«® í«¥¬¥â®¢ ¢ ¬ áᨢ¥, â®, ¯®áª®«ìªã ¢á¥ í«¥¬¥âë ¨¬¥îâ à ¢ë¥ è áë ¯®¯ áâì ¬¥áâ® A[p], ¢á¥ § 票ï rank(x), ®â 1 ¤® n, à ¢®¢¥à®ïâë (¨¬¥îâ ¢¥à®ïâ®áâì 1=n). ᫨ rank(x) > 1, â®, ª ª «¥£ª® ¢¨¤¥âì, ¯à¨ à §¡¨¥¨¨ «¥¢ ï ç áâì ¡ã¤¥â ᮤ¥à¦ âì rank(x) ; 1 í«¥¬¥â®¢ | ¢ ¥© ®ª ¦ãâáï ¢á¥ í«¥¬¥âë, ¬¥ì訥 x. ᫨ ¦¥ rank(x) = 1, â® «¥¢ ï ç áâì ¡ã¤¥â ᮤ¥à¦ âì ®¤¨ í«¥¬¥â (¯®á«¥ ¯¥à¢®£® ¦¥ ¢ë¯®«¥¨ï 横« ¡ã¤¥â i = j = p). âáî¤ á«¥¤ã¥â, çâ® á ¢¥à®ïâ®áâìî 1=n «¥¢ ï ç áâì ¡ã¤¥â ᮤ¥à¦ âì 2; 3; : : :; n ; 1 í«¥¬¥â®¢, á ¢¥à®ïâ®áâìî 2=n | ®¤¨ í«¥¬¥â. ¥ªãàà¥â®¥ á®®â®è¥¨¥ ¤«ï á।¥£® ¢à¥¬¥¨ à ¡®âë ¡®§ 稬 á।¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ RandomizedQuicksort ¤«ï ¬ áᨢ ¨§ n í«¥¬¥â®¢ ç¥à¥§ T (n). á®, çâ® T (1) = (1). ६ï à ¡®âë á®á⮨⠨§ ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãàë Partition, ª®â®à®¥ á®áâ ¢«ï¥â (n), ¨ ¢à¥¬¥¨ à ¡®âë ¤«ï ¤¢ãå ¬ áᨢ®¢ à §¬¥à q ¨ n ; q, ¯à¨çñ¬ q á ¢¥à®ïâ®áâìî 2=n ¯à¨¨¬ ¥â «¨§ ¡ëáâன á®àâ¨à®¢ª¨ 159 § 票¥ 1 ¨ á ¢¥à®ïâ®áâìî 1=n | § 票ï 2; : : :; n ; 1. ®í⮬ã 0 T (n) = n1 @T (1) + T (n ; 1) + nX ;1 q=1 1 (T (q ) + T (n ; q ))A + (n) (8.2) (á« £ ¥¬®¥, ᮮ⢥âáâ¢ãî饥 q = 1, ¢å®¤¨â ¤¢ ¦¤ë). ®áª®«ìªã T (1) = (1) ¨ T (n) = O(n2), ¨¬¥¥¬ 1 (T (1) + T (n ; 1)) = 1 ((1) + O(n2 )) = O(n): n n ®í⮬ã á« £ ¥¬ë¥ T (1) ¨ T (n ; 1) ¢ ¯¥à¢®© ᪮¡ª¥ (8.2) ¬®¦® ¢ª«îç¨âì ¢ (n). ãçñ⮬ í⮣® ¯®«ãç ¥¬ nX ;1 T (n) = n1 q=1 (T (q ) + T (n ; q )) + (n): (8.3) ®áª®«ìªã ª ¦¤®¥ á« £ ¥¬®¥ T (k), £¤¥ k = 1; : : :; n ; 1, ¢áâà¥ç ¥âáï ¢ á㬬¥ ¤¢ ¦¤ë, ¥ñ ¬®¦® ¯¥à¥¯¨á âì â ª: nX ;1 2 T (k) + (n): T (n) = n k=1 (8.4) ¥è¥¨¥ ४ãàà¥â®£® á®®â®è¥¨ï ®®â®è¥¨¥ (8.4) ¬®¦® à¥è¨âì, ¨á¯®«ì§ãï ¬¥â®¤ ¯®¤áâ ®¢ª¨. ।¯®«®¦¨¬, çâ® T (n) 6 an lg n + b, £¤¥ ª®áâ âë a > 0 ¨ b > 0 ¯®ª ¥¨§¢¥áâë, ¨ ¯®¯ëâ ¥¬áï ¤®ª § âì íâ® ¯® ¨¤ãªæ¨¨. ਠn = 1 íâ® ¢¥à®, ¥á«¨ ¢§ïâì ¤®áâ â®ç® ¡®«ì訥 a ¨ b. ਠn > 1 ¨¬¥¥¬ T (n) = n2 6 n2 n;1 X T (k) + (n) k=1 nX ;1 (ak lg k + b) + (n) k=1 nX ;1 = 2na k=1 k lg k + 2nb (n ; 1) + (n): ¨¦¥ ¬ë ¯®ª ¦¥¬, çâ® ¯¥à¢ãî á㬬㠬®¦® ®æ¥¨âì â ª: nX ;1 k=1 k lg k 6 12 n2 lg n ; 18 n2 : (8.5) 160 « ¢ 8 ëáâà ï á®àâ¨à®¢ª ᯮ«ì§ãï íâ®, ¯®«ã稬 2 a 1 1 2 2 T (n) 6 n 2 n lg n ; 8 n + 2nb (n ; 1) + (n) 6 an lg n ; a4 n + 2b + (n) = an lg n + b + (n) + b ; a4 n 6 an lg n + b; ¥á«¨ ¢ë¡à âì a â ª, ç⮡ë a4 n ¡ë«® ¡®«ìè¥ (n)+b. «¥¤®¢ ⥫ì®, á।¥¥ ¢à¥¬ï à ¡®âë ¥áâì O(n lg n). ®ª § ⥫ìá⢮ ®æ¥ª¨ ¤«ï á㬬ë áâ «®áì ¤®ª § âì ®æ¥ªã (8.5). ®áª®«ìªã ª ¦¤®¥ á« £ ¥¬®¥ ¥ ¯à¥¢ëè ¥â n lg n, ¯®«ãç ¥¬ ®æ¥ªã nX ;1 k lg k 6 n2 lg n: k=1 «ï è¨å 楫¥© ® ¥ ¯®¤å®¤¨â | ¬ ¥®¡å®¤¨¬ ¡®«¥¥ â®ç ï ®æ¥ª 12 n2 lg n ; (n2). ᫨ ¢ ¯à¥¤ë¤ã饩 ®æ¥ª¥ § ¬¥ïâì «¨èì lg k lg n, ®áâ ¢¨¢ k ¢ ¥¯à¨ª®á®¢¥®áâ¨, ¯®«ã稬 ®æ¥ªã nX ;1 k=1 k lg k 6 lg n nX ;1 k=1 k = n(n2; 1) lg n 6 12 n2 lg n: áâ «®áì «¨èì § ¬¥â¨âì, çâ® § ¬¥ïï lg k lg n, ¬ë ¯à¨¡ ¢¨«¨ ¯® ªà ©¥© ¬¥à¥ ¯® k 1 ª ª ¦¤®¬ã á« £ ¥¬®¬ ¯¥à¢®© ¯®«®¢¨ë á㬬ë (£¤¥ k 6 n=2), ¢á¥£® ¯à¨¬¥à® (n=2)2=2 = n2=8. ®«¥¥ ä®à¬ «ì®, n;1 X k=1 k lg k = dn=X 2e;1 k=1 k lg k + nX ;1 k=dn=2e k lg k ਠk < dn=2e ¨¬¥¥¬ lg k 6 lg(n=2) = lg n ; 1. ®í⮬ã nX ;1 k=1 k lg k 6 (lg n ; 1) = lg n nX ;1 k=1 dn=X 2e;1 k; k + lg n k=1 dn=X 2e;1 k=1 6 12 n2 lg n ; 81 n2 nX ;1 k=dn=2e k k 6 12 n(n ; 1) lg n ; 12 n2 ; 1 n2 «¨§ ¡ëáâன á®àâ¨à®¢ª¨ 161 ¯à¨ n > 2. 楪 (8.5) ¤®ª § . [«¥¤ãî騩 ¯à®á⮩ ¢ë¢®¤ ®æ¥ª¨ ¤«ï á।¥£® ¢à¥¬¥¨ à ¡®âë ¢¥à®ïâ®á⮣® «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ (¤«ï ¥áª®«ìª® ¤à㣮£® ¢ ਠ⠫£®à¨â¬ ) ¯à¥¤«®¦¨« .. ¥¢¨. (1) 㤥¬ ¯à¥¤áâ ¢«ïâì ᥡ¥ á®àâ¨à®¢ªã â ª: ¥áâì N ª ¬¥© à §®£® ¢¥á ¨ ç è¥çë¥ ¢¥áë ¤«ï ¨å áà ¢¥¨ï. ë ¡¥àñ¬ á«ãç ©ë© ª ¬¥ì ¨ ¤¥«¨¬ ¢áî ªãçã âਠç áâ¨: «¥£ç¥ ¥£®, â殮«¥¥ ¥£® ¨ ® á ¬, ¯®á«¥ 祣® (४ãàá¨¢ë© ¢ë§®¢) á®àâ¨à㥬 ¯¥à¢ãî ¨ ¢â®àãî ç áâ¨. (2) ª ¢ë¡à âì á«ãç ©ë© ª ¬¥ì? ®¦® áç¨â âì, çâ® á ç « ¢á¥¬ ª ¬ï¬ á«ãç ©® ¯à¨á¢ ¨¢ îâáï à §«¨çë¥ à £¨ (¡ã¤¥¬ áç¨â âì ¨å ç¨á« ¬¨ ®â 1 ¤® N ), ¨ ¢ ª ç¥á⢥ £à ¨æë ¡¥àñâáï ª ¬¥ì ¬¨¨¬ «ì®£® à £ (¨§ ¯®¤«¥¦ é¨å á®àâ¨à®¢ª¥ ¢ ¤ ë© ¬®¬¥â). (®¦® ¯à®¢¥à¨âì, çâ® íâ® à ¢®á¨«ì® ¥§ ¢¨á¨¬ë¬ ¢ë¡®à ¬ ª ¬¥© ª ¦¤®¬ è £¥: ¯¥à¢®¬ è £¥ ª ¦¤ë© ¨§ ª ¬¥© ¬®¦¥â ¡ëâì ¢ë¡à á à ¢®© ¢¥à®ïâ®áâìî, ¯®á«¥ â ª®£® ¢ë¡®à ¢ ª ¦¤®© ¨§ £à㯯 ¢á¥ ª ¬¨ â ª¦¥ à ¢®¢¥à®ïâë ¨ â. ¤.) (3) ª¨¬ ®¡à §®¬, ª ¦¤ë© ª ¬¥ì å à ªâ¥à¨§ã¥âáï ¤¢ã¬ï ç¨á« ¬¨ ®â 1 ¤® N | ¯®à浪®¢ë¬ ®¬¥à®¬ (¢ ¯®à浪¥ ¢®§à áâ ¨ï ¢¥á®¢) ¨ à £®¬. ®®â¢¥âá⢨¥ ¬¥¦¤ã ®¬¥à ¬¨ ¨ à £ ¬¨ ®¯à¥¤¥«ï¥â ç¨á«® ®¯¥à 権 ¢ ¯à®æ¥áᥠá®àâ¨à®¢ª¨. (4) «ï ª ¦¤ëå ¤¢ãå ®¬¥à®¢ i, j ¨§ f1; : : :; N g ç¥à¥§ p(i; j ) ®¡®§ 稬 ¢¥à®ïâ®áâì ⮣®, çâ® ª ¬¨ á í⨬¨ ®¬¥à ¬¨ ¡ã¤ãâ áà ¢¨¢ âìáï ¤àã£ á ¤à㣮¬. ¯à¨¬¥à, p(i; i + 1) = 1, ¯®áª®«ìªã á®á¥¤¨¥ ¯® ¢¥áã ª ¬¨ ¤®«¦ë ¡ëâì áà ¢¥ë ®¡ï§ â¥«ì® (áà ¢¥¨ï á ¤à㣨¬¨ ª ¬ï¬¨ ¨å ¥ à §«¨ç îâ). (5) ¬¥â¨¬, çâ® p(i; i + 2) = 2=3. á ¬®¬ ¤¥«¥, áà ¢¥¨ï ¥ ¯à®¨§®©¤ñâ ¢ ⮬ ¨ ⮫쪮 ⮬ á«ãç ¥, ª®£¤ ¨§ âàñå ª ¬¥© á ®¬¥à ¬¨ i, i + 1 ¨ i + 2 ª ¬¥ì i + 1 ¨¬¥¥â ¨¬¥ì訩 à £. «®£¨ç®, p(i; i + k) = 2=(k + 1) (ª ¬¨ á ®¬¥à ¬¨ i ¨ i + k áà ¢¨¢ îâáï, ¥á«¨ á।¨ k +1 ª ¬¥© i; i +1; : : :; i + k ®¤¨ ¨§ ¤¢ãå ªà ©¨å ¨¬¥¥â ¨¬¥ì訩 à £). (6) ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« áà ¢¥¨© ¬®¦® à §¡¨âì ¢ á㬬ã P m(i; j ) ®¦¨¤ ¨© ç¨á« áà ¢¥¨© ¬¥¦¤ã ª ¬ï¬¨ á ®¬¥à ¬¨ i ¨ j . ® ¯®áª®«ìªã ¤¢ ¤ ëå ª ¬ï áà ¢¨¢ îâáï ¥ ¡®«¥¥ ®¤®£® à § , m(i; j ) = p(i; j ). ª¨¬ ®¡à §®¬, ¯®«ãç ¥¬ â®ç®¥ ¢ëà ¦¥¨¥ ¤«ï ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï ç¨á« áà ¢¥¨©: X 2 16i<j 6n j ; i + 1 : (7) à㯯¨àãï ¢ í⮩ á㬬¥ à ¢ë¥ ç«¥ë ¨ ¢á¯®¬¨ ï, çâ® 1 + 1=2 + 1=3 + : : : + 1=k = O(lg k), ¯®«ãç ¥¬ ®æ¥ªã O(N lg N ) ¤«ï ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï ¢à¥¬¥¨ à ¡®âë ¡ëáâன á®àâ¨à®¢ª¨. «¨§ ®¡«¥£ç ¥âáï ⥬, çâ® «£®à¨â¬ à §¡¨¥¨ï ( âਠç áâ¨) ¡®«¥¥ ᨬ¬¥âà¨ç¥. ¥ «¨§ æ¨ï â ª®£® ᯮᮡ à §¡¨¥¨ï â ª¦¥ 162 « ¢ 8 ëáâà ï á®àâ¨à®¢ª ¯à®áâ : ¬ áᨢ ¤¥«¨âáï ç¥âëॠãç á⪠(¯¥à¥ç¨á«ï¥¬ ¨å á«¥¢ ¯à ¢®): ¬¥ì訥 £à ¨æë, à ¢ë¥ £à ¨æ¥, ¥¯à®á¬®âà¥ë¥ ¨ ¡®«ì訥 £à ¨æë.] ¯à ¦¥¨ï ®ª ¦¨â¥, çâ® ¨¬¥ì襥 ¢à¥¬ï à ¡®âë ¡ëáâன á®àâ¨à®¢ª¨ á®áâ ¢«ï¥â (n lg n). 8.4-2 ®ª ¦¨â¥, çâ® äãªæ¨ï q 2 + (n ; q )2 ®â१ª¥ [1; n ; 1] ¯à¨¨¬ ¥â ¨¡®«ì襥 § 票¥ ¢ ª®æ å ®â१ª . 8.4-3 ®ª ¦¨â¥, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãàë Randomized-Quicksort «î¡®¬ ¢å®¤¥ ¥áâì (n lg n). 8.4-4 ¯à ªâ¨ª¥ ¢à¥¬ï à ¡®âë ¡ëáâன á®àâ¨à®¢ª¨ ¬®¦® 㬥ìè¨âì, ¥á«¨ § ¢¥àè î饬 íâ ¯¥ (ª®£¤ ¬ áᨢ ¯®ç⨠®âá®àâ¨à®¢ ) ¨á¯®«ì§®¢ âì á®àâ¨à®¢ªã ¢áâ ¢ª ¬¨. ¤¥« âì íâ® ¬®¦®, ¯à¨¬¥à, â ª: ¯ãáâì ¯à®æ¥¤ãà Randomized-Quicksort(A; p; r) ¨ç¥£® ¥ ¤¥« ¥â, ¥á«¨ r ; p +1 < k (â. ¥. á®àâ¨àã¥¬ë© ¬ áᨢ ᮤ¥à¦¨â ¬¥ìè¥ k í«¥¬¥â®¢). ®á«¥ ®ª®ç ¨ï ४ãàᨢëå ¢ë§®¢®¢ ¯®«ã稢訩áï ¬ áᨢ á®àâ¨àã¥âáï á ¯®¬®éìî á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨. ®ª ¦¨â¥, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë â ª®£® «£®à¨â¬ á®áâ ¢«ï¥â O(nk + n lg(n=k)). ª ¡ë ¢ë áâ «¨ ¢ë¡¨à âì ç¨á«® k? 8.4-5? ®ª ¦¨â¥ à ¢¥á⢮ 8.4-1 Z x ln x dx = 12 x2 ln x ; 41 x2 뢥¤¨â¥ ®âáî¤ (¨á¯®«ì§ãï ¬¥â®¤ áà ¢¥¨ï á ¨â¥£à «®¬ ) ¡®«¥¥ Pn;1 ᨫìãî (¢ áà ¢¥¨¨ á (8.5)) ®æ¥ªã ¤«ï á㬬ë k=1 k lg k. 8.4-6? áᬮâਬ á«¥¤ãîéãî ¬®¤¨ä¨ª æ¨î ¯à®æ¥¤ãàë Randomized-Partition: á«ãç ©ë¬ ®¡à §®¬ ¢ë¡¨à îâáï âà¨ í«¥¬¥â ¬ áᨢ ¨ ¢ ª ç¥á⢥ £à ¨ç®£® í«¥¬¥â ¡¥àñâáï á।¨© ¯® ¢¥«¨ç¨¥ ¨§ ¢ë¡à ëå âàñå ª ¬¥©. 楨⥠¢¥à®ïâ®áâì ⮣®, çâ® ¯à¨ í⮬ à §¡¨¥¨¥ ¡ã¤¥â á¡ « á¨à®¢ ® ¥ å㦥, 祬 : 1 ; . ¤ ç¨ 8-1 à ¢¨«ì®áâì ¯à®æ¥¤ãàë à §¡¨¥¨ï ®ª ¦¨â¥, çâ® ¯à®æ¥¤ãà Partition à ¡®â ¥â ¯à ¢¨«ì®. «ï í⮣® ¤®ª ¦¨â¥ á«¥¤ãî饥: ¤ ç¨ ª £« ¢¥ 8 163 . ¯à®æ¥áá¥ à ¡®âë ¯à®æ¥¤ãàë ¨¤¥ªáë i ¨ j ¥ ¢ë室ïâ § ¯à¥¤¥«ë ®â१ª [p : :r]. ¡. ¬®¬¥â ®ª®ç ¨ï à ¡®âë ¯à®æ¥¤ãàë ¨¤¥ªá j ¥ ¬®¦¥â ¡ëâì à ¢¥ r (â. ¥. ®¡¥ ç áâ¨ à §¡¨¥¨ï ¥¯ãáâë). ¢. ¬®¬¥â ®ª®ç ¨ï à ¡®âë ¯à®æ¥¤ãàë «î¡®© í«¥¬¥â ¬ áᨢ A[p : :j ] ¥ ¡®«ìè¥ «î¡®£® í«¥¬¥â ¬ áᨢ A[j + 1 : :r]. 8-2 «£®à¨â¬ ®¬ãâ® ¤«ï à §¡¨¥¨ï ਠ⠯à®æ¥¤ãàë Partition, ª®â®àë© ¬ë ᥩç á à áᬮâਬ, ¯à¨ ¤«¥¦¨â . ®¬ãâ® (N. Lomuto). ¯à®æ¥áá¥ à ¡®âë áâà®ïâáï ªã᪨ A[p : :i] ¨ A[i + 1 : :j ], ¯à¨çñ¬ í«¥¬¥âë ¯¥à¢®£® ªã᪠¥ ¡®«ìè¥ x = A[r], í«¥¬¥âë ¢â®à®£® ªã᪠| ¡®«ìè¥ x. Lomuto-Partition(A; p; r) 1 x A[r] 2 i p;1 3 for j p to r 4 do if A[j ] 6 x 5 then i i + 1 6 ¯®¬¥ïâì A[i] $ A[j ] 7 if i < r 8 then return i 9 else return i ; 1 . ®ª ¦¨â¥, çâ® ¯à®æ¥¤ãà Lomuto-Partition à ¡®â ¥â ¯à ¢¨«ì®. ¡. ª®«ìª® à § ¯à®æ¥¤ãàë Partition ¨ Lomuto-Partition ¬®£ãâ ¯¥à¥¬¥é âì ®¤¨ ¨ â®â ¦¥ í«¥¬¥â? (ª ¦¨â¥ ¨¡®«ì訥 § 票ï.) ¢. ®ª ¦¨â¥, çâ® ¯à®æ¥¤ãà Lomuto-Partition, ª ª ¨ ¯à®æ¥¤ãà Partition, âॡã¥â ¢à¥¬¥¨ (n), £¤¥ n | ç¨á«® í«¥¬¥â®¢ ¢ ¬ áᨢ¥. £. ¬¥¨¬ ¢ ⥪á⥠¯à®æ¥¤ãàë Quicksort ¯à®æ¥¤ãàã Partition Lomuto-Partition. ª ¨§¬¥¨âáï ¢à¥¬ï ¡ëáâன á®àâ¨à®¢ª¨ ¤«ï ¬ áᨢ , ¢á¥ í«¥¬¥âë ª®â®à®£® à ¢ë? ¤. áᬮâਬ ¯à®æ¥¤ãàã Randomized-Lomuto-Partition, ª®â®à ï ¬¥ï¥â A[r] á® á«ãç ©® ¢ë¡à ë¬ í«¥¬¥â®¬ ¬ áᨢ ¨ § ⥬ ¢ë§ë¢ ¥â ¯à®æ¥¤ãàã Lomuto-Partition. ®ª ¦¨â¥, çâ® ¢¥à®ïâ®áâì ⮣®, çâ® ¯à®æ¥¤ãà Randomized-LomutoPartition ¢¥àñâ § 票¥ q , à ¢ ¢¥à®ïâ®á⨠⮣®, çâ® ¯à®æ¥¤ãà Randomized-Partition ¢¥àñâ § 票¥ p + r ; q. 8-3 ®àâ¨à®¢ª ¯® ç áâï¬ à®ä¥áá®à ¯à¥¤«®¦¨« á«¥¤ãî騩 "¯à®¤¢¨ãâë©" «£®à¨â¬ á®àâ¨à®¢ª¨: 164 « ¢ 8 ëáâà ï á®àâ¨à®¢ª Stooge-Sort(A; i; j ) 1 2 3 4 5 6 7 8 if A[i] > A[j ] then ¯®¬¥ïâì A[i] $ A[j ] if i + 1 > j then return k b(j ; i + 1)=3c . ªà㣫¥¨¥ á ¥¤®áâ ⪮¬. Stooge-Sort(A; i; j ; k) . ¥à¢ë¥ ¤¢¥ âà¥â¨. Stooge-Sort(A; i + k; j ) . ®á«¥¤¨¥ ¤¢¥ âà¥â¨. Stooge-Sort(A; i; j ; k) . ¯ïâì ¯¥à¢ë¥ ¤¢¥ âà¥â¨. . ®ª ¦¨â¥, çâ® ¯à®æ¥¤ãà Stooge-Sort ¤¥©áâ¢¨â¥«ì® á®àâ¨àã¥â ¬ áᨢ. ¡. ©¤¨â¥ ४ãàà¥â®¥ á®®â®è¥¨¥ ¤«ï ¨¡®«ì襣® ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãàë Stooge-Sort ¨ ¯®«ãç¨â¥ ¨§ ¥£® ®æ¥ªã í⮣® ¢à¥¬¥¨. ¢. à ¢¨â¥ ¨¡®«ì襥 ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Stooge-Sort á ¨¡®«ì訬 ¢à¥¬¥¥¬ ¤«ï ¤àã£¨å ¢ ਠ⮢ á®àâ¨à®¢ª¨ (¢áâ ¢ª ¬¨, ᫨逸¬, á ¯®¬®éìî ªãç¨ ¨ ¡ëáâன á®àâ¨à®¢ª¨). ⮨⠫¨ ¯à®¤«¥¢ âì ª®âà ªâ á ¯à®ä¥áá®à®¬? 8-4 §¬¥à á⥪ ¯à¨ ¡ëáâன á®àâ¨à®¢ª¥ à®æ¥¤ãà Quicksort ¤¢ à § ४ãàᨢ® ¢ë§ë¢ ¥â ᥡï (¤«ï «¥¢®© ¨ ¤«ï ¯à ¢®© ç áâ¨). ¤¥©á⢨⥫ì®á⨠¡¥§ ¢â®à®£® ४ãàᨢ®£® ¢ë§®¢ ¬®¦® ®¡®©â¨áì, § ¬¥¨¢ ¥£® 横«®¬ (¨¬¥® â ª å®à®è¨¥ ª®¬¯¨«ïâ®àë ®¡à ¡ âë¢ îâ á¨âã æ¨î, ª®£¤ ¯®á«¥¤¨¬ ®¯¥à â®à®¬ ¯à®æ¥¤ãàë ï¥âáï ४ãàá¨¢ë© ¢ë§®¢; ¤«ï â ª®© á¨âã 樨 ¥áâì â¥à¬¨ tail recursion): Quicksort0 (A; p; r) 1 while p < r 2 do . §¡¨âì ¨ ®âá®àâ¨à®¢ âì «¥¢ãî ç áâì. 3 q Partition(A; p; r) 4 Quicksort0(A; p; q ) 5 p q+1 . ®ª ¦¨â¥, çâ® ¯à®æ¥¤ãà Quicksort0 ¤¥©áâ¢¨â¥«ì® á®àâ¨àã¥â ¬ áᨢ. ª ¯à ¢¨«®, ª®¬¯¨«ïâ®àë ॠ«¨§ãîâ ४ãàá¨î á ¯®¬®éìî á⥪ , £¤¥ åà ïâáï ª®¯¨¨ «®ª «ìëå ¯¥à¥¬¥ëå ¤«ï ª ¦¤®£® ४ãàᨢ®£® ¢ë§®¢ . ¥àè¨ á⥪ ᮤ¥à¦¨â ¨ä®à¬ æ¨î, ®â®áïéãîáï ª ⥪ã饬㠢맮¢ã; ª®£¤ ® § ¢¥àè ¥âáï, ¨ä®à¬ æ¨ï 㤠«ï¥âáï ¨§ á⥪ . 襬 á«ãç ¥ ¤«ï ª ¦¤®£® ४ãàᨢ®£® ¢ë§®¢ «®ª «ìë¥ ¯¥à¥¬¥ë¥ § ¨¬ îâ ®¡êñ¬ O(1), â ª çâ® ¥®¡å®¤¨¬ë© à §¬¥à á⥪ (stack depth) ¯à®¯®à樮 «¥ £«ã¡¨¥ ४ãàᨨ. ¡. ®ª ¦¨â¥, çâ® ¢ ¥ª®â®àëå á«ãç ïå ¯à®æ¥¤ãà Quicksort0 âॡã¥â á⥪ à §¬¥à (n). ¬¥ç ¨ï ª £« ¢¥ 8 165 ¢. §¬¥¨â¥ ¯à®æ¥¤ãàã Quicksort0 â ª, çâ®¡ë ®¡êñ¬ á⥪ ¥ ¯à¥¢ëè « (lg n) (á®åà ïï ®æ¥ªã (n lg n) ¤«ï á।¥£® ¢à¥¬¥¨ à ¡®âë). 8-5 §¡¨¥¨¥ á ¯®¬®éìî ¬¥¤¨ ë âàñå í«¥¬¥â®¢ ¡®âã ¯à®æ¥¤ãàë Randomized-Quicksort ¬®¦® ã᪮à¨âì, ¢ë¡¨à ï £à ¨çë© í«¥¬¥â ¤«ï à §¡¨¥¨ï ¡®«¥¥ âé ⥫ì®. ¤¨ ¨§ à á¯à®áâà ñëå ¯®¤å®¤®¢ | íâ® ¬¥â®¤ ¬¥¤¨ ë âàñå (medianof-3 method): ¢ ª ç¥á⢥ £à ¨ç®£® í«¥¬¥â ¨á¯®«ì§ã¥âáï á।¨© ¨§ âàñå á«ãç ©® ¢ë¡à ëå í«¥¬¥â®¢ ¬ áᨢ . ë ¡ã¤¥¬ ¯à¥¤¯®« £ âì, çâ® ¢á¥ í«¥¬¥âë ¢å®¤®£® ¬ áᨢ A[1 : :n] à §«¨çë ¨ n > 3. ¥à¥§ A0[1 : :n] ¡ã¤¥¬ ®¡®§ ç âì ®âá®àâ¨à®¢ ë© ¬ áᨢ (ª®â®àë© ¬ë ¨ å®â¨¬ ¯®«ãç¨âì). ãáâì pi = Pfx = A0 [i]g, £¤¥ x | £à ¨çë© í«¥¬¥â, ¢ë¡à ë© ®¯¨á ë¬ ¢ëè¥ á¯®á®¡®¬. . ëà §¨â¥ ¢¥à®ïâ®áâì pi (¤«ï i = 2; 3; : : :; n ; 1) ç¥à¥§ i ¨ n (§ ¬¥âìâ¥, çâ® p1 = pn = 0). ¡. ᪮«ìª® ¢¥à®ïâ®áâì ¢ë¡à âì á।¨© í«¥¬¥â (A0[b(n + 1)=2c]) ¡®«ìè¥, 祬 ¯à¨ ®¡ë箬 á«ãç ©®¬ ¢ë¡®à¥? 祬ã áâ६¨âáï ®â®è¥¨¥ íâ¨å ¢¥à®ïâ®á⥩ ¯à¨ n ! 1? ¢. 㤥¬ §ë¢ âì à §¡¨¥¨¥ á £à ¨çë¬ í«¥¬¥â®¬ x "å®à®è¨¬", ¥á«¨ x = A0[i], £¤¥ n=3 6 i 6 2n=3. ᪮«ìª® ¢¥à®ïâ®áâì "å®à®è¥£®" à §¡¨¥¨ï ¡®«ìè¥, 祬 ¯à¨ ®¡ë箬 á«ãç ©®¬ ¢ë¡®à¥? (ª § ¨¥: ¯à¨ ¢ëç¨á«¥¨ïå ®æ¥¨â¥ áã¬¬ã ¨â¥£à «®¬.) £. ®ª ¦¨â¥, çâ® ¨á¯®«ì§®¢ ¨¥ ¬¥â®¤ ¬¥¤¨ ë âàñå á®åà ï¥â ®æ¥ªã (n lg n) ¤«ï ¢à¥¬¥¨ à ¡®âë ¡ëáâன á®àâ¨à®¢ª¨ (¨ ¢«¨ï¥â «¨èì ª®áâ âã ¯¥à¥¤ n lg n). ¬¥ç ¨ï «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ ¯à¨ ¤«¥¦¨â ® àã [98]. áâ âì¥ ¥¤¦¢¨ª [174] ®¡á㦤 îâáï ¤¥â «¨ ॠ«¨§ 樨 ¡ëáâன á®àâ¨à®¢ª¨ ¨ ¨å ¢«¨ï¨¥ ¢à¥¬ï à ¡®âë. ¥à®ïâ®áâë¥ «£®à¨â¬ë ¤«ï à §ëå § ¤ ç à áᬠâਢ îâáï ¢ áâ âì¥ ¡¨ [165]. 9 ®àâ¨à®¢ª § «¨¥©®¥ ¢à¥¬ï ë ¯®§ ª®¬¨«¨áì á à §«¨ç묨 «£®à¨â¬ ¬¨, ª®â®àë¥ ¬®£ãâ ®âá®àâ¨à®¢ âì n ç¨á¥« § ¢à¥¬ï O(n lg n). «£®à¨â¬ë á®àâ¨à®¢ª¨ ᫨逸¬ (merge sort) ¨ á®àâ¨à®¢ª¨ á ¯®¬®éìî ªãç¨ (heap sort) à ¡®â îâ § â ª®¥ ¢à¥¬ï ¢ åã¤è¥¬ á«ãç ¥, ã «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ â ª®¢ë¬ ï¥âáï á।¥¥ ¢à¥¬ï à ¡®âë. 楪 O(n lg n) â®ç : ¤«ï ª ¦¤®£® ¨§ íâ¨å «£®à¨â¬®¢ ¬®¦® ¯à¥¤êâì ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n ç¨á¥«, ¢à¥¬ï ®¡à ¡®âª¨ ª®â®à®© ¡ã¤¥â (n lg n). ᥠ㯮¬ïãâë¥ «£®à¨â¬ë ¯à®¢®¤ïâ á®àâ¨à®¢ªã, ®á®¢ë¢ ïáì ¨áª«îç¨â¥«ì® ¯®¯ àëå áà ¢¥¨ïå í«¥¬¥â®¢, ¯®íâ®¬ã ¨å ¨®£¤ §ë¢ îâ á®àâ¨à®¢ª ¬¨ áà ¢¥¨¥¬ (comparison sort). à §¤¥«¥ 9.1 ¬ë ¯®ª ¦¥¬, çâ® ¢á直© «£®à¨â¬ â ª®£® ⨯ á®àâ¨àã¥â n í«¥¬¥â®¢ § ¢à¥¬ï ¥ ¬¥ìè¥ (n lg n) ¢ åã¤è¥¬ á«ãç ¥. ¥¬ á ¬ë¬ «£®à¨â¬ë á®àâ¨à®¢ª¨ ᫨逸¬ ¨ á ¯®¬®éìî ªãç¨ á¨¬¯â®â¨ç¥áª¨ ®¯â¨¬ «ìë: ¥ áãé¥áâ¢ã¥â «£®à¨â¬ á®àâ¨à®¢ª¨ áà ¢¥¨¥¬, ª®â®àë© ¯à¥¢®á室¨« ¡ë 㪠§ ë¥ «£®à¨â¬ë ¡®«¥¥, 祬 ¢ ª®¥ç®¥ ç¨á«® à §. à §¤¥« å 9.2, 9.3 ¨ 9.4 ¬ë à áᬠâਢ ¥¬ âਠ«£®à¨â¬ á®àâ¨à®¢ª¨ (á®àâ¨à®¢ª ¯®¤áçñ⮬, æ¨ä஢ ï á®àâ¨à®¢ª ¨ á®àâ¨à®¢ª ¢ëçñà¯ë¢ ¨¥¬), à ¡®â îé¨å § «¨¥©®¥ ¢à¥¬ï. §ã¬¥¥âáï, ®¨ ã«ãçè î⠮楪ã (n lg n) § áçñâ ⮣®, çâ® ¨á¯®«ì§ãîâ ¥ ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï, ® ¨ ¢ãâà¥îî áâàãªâãàã á®àâ¨à㥬ëå ®¡ê¥ªâ®¢. 9.1 ¨¦¨¥ ®æ¥ª¨ ¤«ï á®àâ¨à®¢ª¨ ®¢®àïâ, çâ® «£®à¨â¬ á®àâ¨à®¢ª¨ ®á®¢ áà ¢¥¨ïå, ¥á«¨ ® ¨ª ª ¥ ¨á¯®«ì§ã¥â ¢ãâà¥îî áâàãªâãàã á®àâ¨à㥬ëå í«¥¬¥â®¢, «¨èì áà ¢¨¢ ¥â ¨å ¨ ¯®á«¥ ¥ª®â®à®£® ç¨á« áà ¢¥¨© ¢ë¤ ñ⠮⢥â (㪠§ë¢ î騩 ¨áâ¨ë© ¯®à冷ª í«¥¬¥â®¢). ª ¬ë ¯à¨å®¤¨¬ ª ¬®¤¥«¨ «£®à¨â¬®¢ á®àâ¨à®¢ª¨, §ë¢ ¥¬®© à §à¥è î騬¨ ¤¥à¥¢ìﬨ. ¨¦¨¥ ®æ¥ª¨ ¤«ï á®àâ¨à®¢ª¨ 167 ¨á㮪 9.1 §à¥è î饥 ¤¥à¥¢® ¤«ï «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨, ®¡à ¡ âë¢ î饣® ¯®á«¥¤®¢ ⥫ì®áâì ¨§ âàñå í«¥¬¥â®¢. ®áª®«ìªã ç¨á«® ¯¥à¥áâ ®¢®ª ¨§ âàñå í«¥¬¥â®¢ à ¢® 3! = 6, ã ¤¥à¥¢ ¤®«¦® ¡ëâì ¥ ¬¥¥¥ 6 «¨áâ쥢. §à¥è î騥 ¤¥à¥¢ìï çñ¬ á ¯à¨¬¥à : à¨á. 9.1 ¨§®¡à ¦¥® à §à¥è î饥 ¤¥à¥¢® (decision tree), ᮮ⢥âáâ¢ãî饥 á®àâ¨à®¢ª¥ ¯®á«¥¤®¢ ⥫ì®á⨠¨§ âàñå í«¥¬¥â®¢ á ¯®¬®éìî «£®à¨â¬ á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ ¨§ à §¤¥« 1.1. ãáâì ⥯¥àì ¬ë á®àâ¨à㥬 n í«¥¬¥â®¢ a1; : : :; an. ¦¤ ï ¢ã- âà¥ïï ¢¥àè¨ à §à¥è î饣® ¤¥à¥¢ ᮮ⢥âáâ¢ã¥â ®¯¥à 樨 áà ¢¥¨ï ¨ á ¡¦¥ ¯®¬¥âª®© ¢¨¤ ai : aj , 㪠§ë¢ î饩, ª ª¨¥ í«¥¬¥âë ¤® áà ¢¨âì (1 6 i; j 6 n). ¦¤ë© «¨áâ à §à¥è î饣® ¤¥à¥¢ á ¡¦¥ ¯®¬¥âª®© h(1); (2); : : :; (n)i, £¤¥ | ¯¥à¥áâ ®¢ª n í«¥¬¥â®¢ (á¬. à §¤. 6.1 ¯® ¯®¢®¤ã ¯¥à¥áâ ®¢®ª). «ï ¯®«ãç¥¨ï ¨¦¨å ®æ¥®ª ¬ë ¬®¦¥¬ ®£à ¨ç¨âìáï á«ãç ¥¬ à §«¨çëå í«¥¬¥â®¢, ⮣¤ १ã«ìâ ⮬ á®àâ¨à®¢ª¨ ¡ã¤¥â ¯¥à¥áâ ®¢ª í«¥¬¥â®¢ ¢ ¯®à浪¥ ¢®§à áâ ¨ï. ¯¨è¥¬, ª ª®© «£®à¨â¬ á®àâ¨à®¢ª¨ ᮮ⢥âáâ¢ã¥â ¤ ®¬ã à §à¥è î饬㠤¥à¥¢ã. ¤® ¯à®©â¨ ¯® ¤¥à¥¢ã ®â ª®àï ¤® «¨áâ . ë¡®à ¯à ¢«¥¨ï ( «¥¢® ¨«¨ ¯à ¢®) ¯à®¨á室¨â â ª. ãáâì ¢ ¢¥à訥 ¯¨á ® ai : aj . ®£¤ ¤® ¨¤â¨ «¥¢®, ¥á«¨ ai 6 aj , ¨ ¯à ¢® ¢ ¯à®â¨¢®¬ á«ãç ¥. ᫨ ¢ «¨áâ¥, ¢ ª®â®àë© ¬ë ¢ ¨â®£¥ ¯à¨å®¤¨¬, § ¯¨á ¯¥à¥áâ ®¢ª , ⮠१ã«ìâ ⮬ á®àâ¨à®¢ª¨ áç¨â ¥¬ ¯®á«¥¤®¢ ⥫ì®áâì a(1); a(2); : : :; a(n), ª®â®à ï ¤®«¦ ¡ëâì ¥ã¡ë¢ î饩, ¥á«¨ «£®à¨â¬ ¯à ¢¨«¥. ¦¤ ï ¨§ n! ¯¥à¥áâ ®¢®ª ¤®«¦ ¯®ï¢¨âìáï å®âï ¡ë ®¤®¬ «¨áâ¥ à §à¥è î饣® ¤¥à¥¢ (¯®áª®«ìªã ¯à ¢¨«ìë© «£®à¨â¬ ¤®«¦¥ ¯à¥¤ãᬠâਢ âì ¢á¥ ¢®§¬®¦ë¥ ¯®à浪¨). ¨¦ïï ®æ¥ª ¤«ï åã¤è¥£® á«ãç ï ¨á«® áà ¢¥¨© ¢ åã¤è¥¬ á«ãç ¥ ¤«ï â ª®£® «£®à¨â¬ à ¢® ¢ëá®â¥ à §à¥è î饣® ¤¥à¥¢ | ¬ ªá¨¬ «ì®© ¤«¨¥ ¯ã⨠¢ í⮬ ¤¥à¥¢¥ ®â ª®àï ¤® «¨áâ . «¥¤ãîé ï ⥮६ ¤ ¥â ¨¦îî ®æ¥ªã íâã ¢ëá®âã. 168 « ¢ 9 ®àâ¨à®¢ª § «¨¥©®¥ ¢à¥¬ï ¥®à¥¬ 9.1. ëá®â «î¡®£® à §à¥è î饣® ¤¥à¥¢ , á®àâ¨àãî饣® n í«¥¬¥â®¢, ¥áâì (n lg n). ®ª § ⥫ìá⢮. ®áª®«ìªã á।¨ «¨áâ쥢 à §à¥è î饣® ¤¥à¥¢ ¤®«¦ë ¡ëâì ¯à¥¤áâ ¢«¥ë ¢á¥ ¯¥à¥áâ ®¢ª¨ n í«¥¬¥â®¢, ç¨á«® íâ¨å «¨áâ쥢 ¥ ¬¥¥¥ n!. ®áª®«ìªã ¤¢®¨ç®¥ ¤¥à¥¢® ¢ëá®âë h ¨¬¥¥â ¥ ¡®«¥¥ 2h «¨áâ쥢, ¨¬¥¥¬ n! 6 2h. ®£ à¨ä¬¨àãï íâ® ¥à ¢¥á⢮ ¯® ®á®¢ ¨î 2 ¨ ¯®«ì§ãïáì ¥à ¢¥á⢮¬ n! > (n=e)n, ¢ë⥪ î騬 ¨§ ä®à¬ã«ë â¨à«¨£ (2.11), ¯®«ãç ¥¬, çâ® h > n lg n ; n lg e = (n lg n); çâ® ¨ ã⢥ত «®áì. «¥¤á⢨¥ 9.2. «£®à¨â¬ë á®àâ¨à®¢ª¨ ᫨逸¬ ¨ á ¯®¬®éìî ªãç¨ á¨¬¯â®â¨ç¥áª¨ ®¯â¨¬ «ìë. ®ª § ⥫ìá⢮. ¨ à ¡®â îâ § ¢à¥¬ï O(n lg n); ¢ ᨫ㠤®ª § ®© ⥮६ë, í⠮楪 ᨬ¯â®â¨ç¥áª¨ ¥ã«ãçè ¥¬ . ¯à ¦¥¨ï ª®¢ ¨¬¥ìè ï ¢®§¬®¦ ï £«ã¡¨ «¨áâ ¢ à §à¥è î饬 ¤¥à¥¢¥ «£®à¨â¬ á®àâ¨à®¢ª¨? 9.1-2 ®ª ¦¨â¥ ᨬ¯â®â¨ç¥áª¨ â®çãî ®æ¥ªã ¤«ï lg(n!) = Pn k=1 lg k ¡¥§ ä®à¬ã«ë â¨à«¨£ , ¨á¯®«ì§ãï ¬¥â®¤ë à §¤. 3.2. 9.1-3 ®ª ¦¨â¥, çâ® ¥ áãé¥áâ¢ã¥â «£®à¨â¬ á®àâ¨à®¢ª¨, ®á®¢ ®£® áà ¢¥¨ïå, ª®â®àë© à ¡®â « ¡ë § «¨¥©®¥ ¢à¥¬ï ¤«ï ¯®«®¢¨ë ¨§ n! ¢®§¬®¦ëå ¢å®¤ëå ¯®á«¥¤®¢ ⥫ì®á⥩ ¤«¨ë n. ª ¨§¬¥¨âáï ®â¢¥â, ¥á«¨ ¢ í⮩ § ¤ ç¥ § ¬¥¨âì 1=2 1=n? 1=2n ? 9.1-4 à®ä¥áá®à à §à ¡®â « ª®¬¯ìîâ¥à, ª®â®àë© ¯®¤¤¥à¦¨¢ ¥â "âà®©ë¥ ¢¥â¢«¥¨ï": ¯®á«¥ ®¤®£®-¥¤¨á⢥®£® áà ¢¥¨ï ai : aj ã¯à ¢«¥¨¥ ¬®¦¥â ¡ëâì ¯¥à¥¤ ® ¢ ®¤® ¨§ âàñå ¬¥áâ ¯à®£à ¬¬ë, ¢ § ¢¨á¨¬®á⨠®â ⮣®, ª ª®¥ ¨§ á®®â®è¥¨© ¢ë¯®«¥®: ai < aj , ai = aj ¨«¨ ai > aj . ¤¥¥âáï, çâ® ¡« £®¤ àï â ª¨¬ áà ¢¥¨ï¬ á®àâ¨à®¢ªã n í«¥¬¥â®¢ ¬®¦® ¯à®¢¥á⨠ᨬ¯â®â¨ç¥áª¨ ¡ëáâ॥, 祬 § ¢à¥¬ï (n lg n). ®ª ¦¨â¥, çâ® ¯à®ä¥áá®à § ¡«ã¦¤ ¥âáï. 9.1-5 ®ª ¦¨â¥, çâ® ¤«ï ᫨ï¨ï ¤¢ãå ®âá®àâ¨à®¢ ëå ¯®á«¥¤®¢ ⥫ì®á⥩ ¨§ n í«¥¬¥â®¢ ¤®áâ â®ç® 2n ; 1 áà ¢¥¨© ¢ åã¤è¥¬ á«ãç ¥. 9.1-6 ®á«¥¤®¢ ⥫ì®áâì ¨§ n í«¥¬¥â®¢, ª®â®àãî ¥®¡å®¤¨¬® ®âá®àâ¨à®¢ âì, à §¡¨â ãç á⪨ ¤«¨ë k. ਠí⮬ «î¡®© í«¥9.1-1 ®àâ¨à®¢ª ¯®¤áçñ⮬ 169 ¬¥â ¯¥à¢®£® ãç á⪠¬¥ìè¥ «î¡®£® í«¥¬¥â ¢â®à®£® ¨ â. ¤. (â ª çâ® ®áâ ñâáï «¨èì ®âá®àâ¨à®¢ âì í«¥¬¥âë ¢ãâਠãç á⪮¢). ®ª ¦¨â¥, çâ® â ª ï á®àâ¨à®¢ª ¯®âॡã¥â ¥ ¬¥¥¥ (n lg k) áà ¢¥¨© ¢ åã¤è¥¬ á«ãç ¥. (ª § ¨¥: ¥¤®áâ â®ç® á®á« âìáï ¥®¡å®¤¨¬®áâì n=k à § á®àâ¨à®¢ âì ãç á⮪ ¤«¨®© k.) 9.2 ®àâ¨à®¢ª ¯®¤áçñ⮬ «£®à¨â¬ á®àâ¨à®¢ª¨ ¯®¤áçñ⮬ (counting sort) ¯à¨¬¥¨¬, ¥á«¨ ª ¦¤ë© ¨§ n í«¥¬¥â®¢ á®àâ¨à㥬®© ¯®á«¥¤®¢ ⥫ì®á⨠| 楫®¥ ¯®«®¦¨â¥«ì®¥ ç¨á«® ¢ ¨§¢¥á⮬ ¤¨ ¯ §®¥ (¥ ¯à¥¢®á室ï饥 § à ¥¥ ¨§¢¥á⮣® k). ᫨ k = O(n), â® «£®à¨â¬ á®àâ¨à®¢ª¨ ¯®¤áçñ⮬ à ¡®â ¥â § ¢à¥¬ï O(n). ¤¥ï í⮣® «£®à¨â¬ ¢ ⮬, çâ®¡ë ¤«ï ª ¦¤®£® í«¥¬¥â x ¯à¥¤¢ à¨â¥«ì® ¯®¤áç¨â âì, ᪮«ìª® í«¥¬¥â®¢ ¢å®¤®© ¯®á«¥¤®¢ ⥫ì®á⨠¬¥ìè¥ x, ¯®á«¥ 祣® § ¯¨á âì x ¯àï¬ãî ¢ ¢ë室®© ¬ áᨢ ¢ ᮮ⢥âá⢨¨ á í⨬ ç¨á«®¬ (¥á«¨, ᪠¦¥¬, 17 í«¥¬¥â®¢ ¢å®¤®£® ¬ áᨢ ¬¥ìè¥ x, â® ¢ ¢ë室®¬ ¬ áᨢ¥ x ¤®«¦¥ ¡ëâì § ¯¨á ¬¥áâ® ®¬¥à 18). ᫨ ¢ á®àâ¨à㥬®© ¯®á«¥¤®¢ ⥫ì®á⨠¬®£ãâ ¯à¨áãâá⢮¢ âì à ¢ë¥ ç¨á« , íâã á奬㠤® á«¥£ª ¬®¤¨ä¨æ¨à®¢ âì, çâ®¡ë ¥ § ¯¨á âì ¥áª®«ìª® ç¨á¥« ®¤® ¬¥áâ®. ¯à¨¢®¤¨¬®¬ ¨¦¥ ¯á¥¢¤®ª®¤¥ ¨á¯®«ì§ã¥âáï ¢á¯®¬®£ ⥫ìë© ¬ áᨢ C [1 : :k] ¨§ k í«¥¬¥â®¢. 室 ï ¯®á«¥¤®¢ ⥫ì®áâì § ¯¨á ¢ ¬ áᨢ¥ A[1 : :n], ®âá®àâ¨à®¢ ï ¯®á«¥¤®¢ ⥫ì®áâì § ¯¨áë¢ ¥âáï ¢ ¬ áᨢ B[1 : :n]. Counting-Sort(A; B; k) 1 for i 1 to k 2 do C [i] 0 3 for j 1 to length[A] 4 do C [A[j ]] C [A[j ]] + 1 5 . C [i] à ¢® ª®«¨ç¥áâ¢ã í«¥¬¥â®¢, à ¢ëå i. 6 for i 2 to k 7 do C [i] C [i] + C [i ; 1] 8 . C [i] à ¢® ª®«¨ç¥áâ¢ã í«¥¬¥â®¢, ¥ ¯à¥¢®á室ïé¨å i 9 for j length[A] downto 1 10 do B [C [A[j ]]] A[j ] 11 C [A[j ]] C [A[j ]] ; 1 ¡®â «£®à¨â¬ á®àâ¨à®¢ª¨ ¯®¤áçñ⮬ ¯à®¨««îáâà¨à®¢ à¨á. 9.2. ®á«¥ ¨¨æ¨ «¨§ 樨 (áâப¨ 1{2) ¬ë á ç « ¯®¬¥é ¥¬ ¢ C [i] ª®«¨ç¥á⢮ í«¥¬¥â®¢ ¬ áᨢ A, à ¢ëå i (áâப¨ 3{4), § ⥬, 室ï ç áâ¨çë¥ áã¬¬ë ¯®á«¥¤®¢ ⥫ì®á⨠C [1]; C [2]; : : :; C [k], | ª®«¨ç¥á⢮ í«¥¬¥â®¢, ¥ ¯à¥¢®á室ïé¨å i (áâப¨ 6{7). ª®¥æ, ¢ áâப å 9{11 ª ¦¤ë© ¨§ í«¥¬¥â®¢ 170 « ¢ 9 ®àâ¨à®¢ª § «¨¥©®¥ ¢à¥¬ï ¨á㮪 9.2 ¡®â «£®à¨â¬ Counting-Sort, ¯à¨¬¥ñ®£® ª ¬ áᨢã A[1 : : 8], á®áâ®ï饬㠨§ âãà «ìëå ç¨á¥«, ¥ ¯à¥¢®á室ïé¨å k = 6. ( ) áᨢ A ¨ ¢á¯®¬®£ ⥫ìë© ¬ áᨢ C ¯®á«¥ ¢ë¯®«¥¨ï 横« ¢ áâப å 3{4. (¡) áᨢ C ¯®á«¥ ¢ë¯®«¥¨ï 横« ¢ áâப å 6{7. (¢{¤) ë室®© ¬ áᨢ B ¨ ¢á¯®¬®£ ⥫ìë© ¬ áᨢ C ¯®á«¥ ®¤®£®, ¤¢ãå ¨ âàñå ¯®¢â®à¥¨© 横« ¢ áâப å 9{11. ç¥àñë¥ ª«¥âª¨ ᮮ⢥âáâ¢ãîâ í«¥¬¥â ¬ ¬ áᨢ , § ç¥¨ï ª®â®àë¬ ¥éñ ¥ ¯à¨á¢®¥ë. (¥) áᨢ B ¯®á«¥ ®ª®ç ¨ï à ¡®âë «£®à¨â¬ . ¬ áᨢ A ¯®¬¥é ¥âáï 㦮¥ ¬¥áâ® ¢ ¬ áᨢ¥ B. á ¬®¬ ¤¥«¥, ¥á«¨ ¢á¥ n í«¥¬¥â®¢ à §«¨çë, â® ¢ ®âá®àâ¨à®¢ ®¬ ¬ áᨢ¥ ç¨á«® A[j ] ¤®«¦® áâ®ïâì ¬¥á⥠®¬¥à C [A[j ]], ¨¡® ¨¬¥® á⮫쪮 í«¥¬¥â®¢ ¬ áᨢ A ¥ ¯à¥¢®á室ïâ A[j ]; ¥á«¨ ¢ ¬ áᨢ¥ A ¢áâà¥ç îâáï ¯®¢â®à¥¨ï, â® ¯®á«¥ ª ¦¤®© § ¯¨á¨ ç¨á« A[j ] ¢ ¬ áᨢ B ç¨á«® C [A[j ]] 㬥ìè ¥âáï ¥¤¨¨æã (áâப 11), â ª çâ® ¯à¨ á«¥¤ãî饩 ¢áâà¥ç¥ á ç¨á«®¬, à ¢ë¬ A[j ], ®® ¡ã¤¥â § ¯¨á ® ®¤ã ¯®§¨æ¨î «¥¢¥¥. 楨¬ ¢à¥¬ï à ¡®âë «£®à¨â¬ á®àâ¨à®¢ª¨ ¯®¤áçñ⮬. ¨ª«ë ¢ áâப å 1{2 ¨ 6{7 à ¡®â îâ § ¢à¥¬ï O(k), 横«ë ¢ áâப å 3{4 ¨ 10{11 | § ¢à¥¬ï O(n), ¢¥áì «£®à¨â¬, áâ «® ¡ëâì, à ¡®â ¥â § ¢à¥¬ï O(k + n). ᫨ k = O(n), â® ¢à¥¬ï à ¡®âë ¥áâì O(n). «ï «£®à¨â¬ á®àâ¨à®¢ª¨ ¯®¤áçñ⮬ ¨¦ïï ®æ¥ª à §¤. 9.1 | ¥ ¯à¥¯ïâá⢨¥, ¯®áª®«ìªã ® ¥ áà ¢¨¢ ¥â á®àâ¨àã¥¬ë¥ ç¨á« ¬¥¦¤ã ᮡ®©, ¨á¯®«ì§ã¥â ¨å ¢ ª ç¥á⢥ ¨¤¥ªá®¢ ¬ áᨢ . «£®à¨â¬ á®àâ¨à®¢ª¨ ¯®¤áçñ⮬ ®¡« ¤ ¥â ¢ ¦ë¬ ᢮©á⢮¬, §ë¢ ¥¬ë¬ ãá⮩稢®áâìî (it is stable). ¬¥®, ¥á«¨ ¢® ¢å®¤®¬ ¬ áᨢ¥ ¯à¨áãâáâ¢ã¥â ¥áª®«ìª® à ¢ëå ç¨á¥«, â® ¢ ¢ë室®¬ ¬ áᨢ¥ ®¨ áâ®ïâ ¢ ⮬ ¦¥ ¯®à浪¥, çâ® ¨ ¢® ¢å®¤®¬. ⮠᢮©á⢮ ¥ ¨¬¥¥â á¬ëá« , ¥á«¨ ¢ ¬ áᨢ¥ § ¯¨á ë ⮫쪮 ç¨á« á ¬¨ ¯® ᥡ¥, ® ¥á«¨ ¢¬¥á⥠á ç¨á« ¬¨ § ¯¨á ë ¤®¯®«¨â¥«ìë¥ ¤ ë¥, íâ® ®ª §ë¢ ¥âáï ¢ ¦ë¬. ®«¥¥ â®ç®, ¯à¥¤áâ ¢¨¬ ᥡ¥, çâ® ¬ë á®àâ¨à㥬 ¥ ¯à®áâ® ç¨á« , ¯ àë ht; xi, £¤¥ t | ç¨á«® ®â 1 ¤® k, x | ¯à®¨§¢®«ìë© ®¡ê¥ªâ, ¨ å®â¨¬ ¯¥à¥áâ ¢¨âì ¨å â ª, çâ®¡ë ¯¥à¢ë¥ ª®¬¯®¥âë ¯ à 諨 ¢ ¥ã¡ë¢ î饬 ¯®à浪¥. ¯¨á ë© ¬¨ «- ¨ä஢ ï á®àâ¨à®¢ª 171 £®à¨â¬ ¯®§¢®«ï¥â í⮠ᤥ« âì, ¯à¨çñ¬ ®â®á¨â¥«ì®¥ à ᯮ«®¦¥¨¥ ¯ à á à ¢ë¬¨ ¯¥à¢ë¬¨ ª®¬¯®¥â ¬¨ ¥ ¬¥ï¥âáï. ⮠᢮©á⢮ ¨ §ë¢ ¥âáï ãá⮩稢®áâìî. ë 㢨¤¨¬ ¢ á«¥¤ãî饬 à §¤¥«¥, ª ª ®® ¯à¨¬¥ï¥âáï. ¯à ¦¥¨ï 9.2-1 «¥¤ãï ®¡à §æã à¨á. 9.2., ¯®ª ¦¨â¥ à ¡®âã «£®à¨â¬ 9.2-2 ®ª ¦¨â¥, çâ® «£®à¨â¬ Counting-Sort ï¥âáï ãá⮩- Counting-Sort ¤«ï á«ãç ï k = 7 ¨ A = h7; 1; 3; 1; 2; 4; 5; 7; 2; 4; 3i. 稢ë¬. 9.2-3 ¬¥¨¬ áâபã 9 «£®à¨â¬ Counting-Sort â ªãî: 9 for j 1 to length[A] ®ª ¦¨â¥, çâ® «£®à¨â¬ ®áâ ñâáï ¯à ¢¨«ìë¬. 㤥⠫¨ ® ãá⮩稢? 9.2-4 ãáâì ¢ë室¥ «£®à¨â¬ á®àâ¨à®¢ª¨ ¤® ¯¥ç â âì í«¥¬¥âë ¢å®¤®© ¯®á«¥¤®¢ ⥫ì®á⨠¢ ®âá®àâ¨à®¢ ®¬ ¯®à浪¥. ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ Counting-Sort â ª¨¬ ®¡à §®¬, çâ®¡ë ® ¤¥« « íâ®, ¥ ¨á¯®«ì§ãï ¬ áᨢ B ¨«¨ ¨ëå ¬ áᨢ®¢ (¯®¬¨¬® A ¨ C ). (ª § ¨¥: á¢ï¦¨â¥ ¢ ᯨ᪨ í«¥¬¥âë ¬ áᨢ A á ®¤¨ ª®¢ë¬ § 票¥¬; £¤¥ ¢§ïâì ¬¥áâ® ¤«ï åà ¥¨ï 㪠§ ⥫¥©?). 9.2-5 ® n 楫ëå ç¨á¥« ®â 1 ¤® k. §à ¡®â ©â¥ «£®à¨â¬, ª®â®àë© ¯®¤¢¥à£ ¥â í⨠¤ ë¥ ¯à¥¤¢ à¨â¥«ì®© ®¡à ¡®âª¥, § ⥬ § ¢à¥¬ï O(1) ®â¢¥ç ¥â «î¡®© ¢®¯à®á ⨯ "᪮«ìª® ç¨á¥« ¨§ ¤ ®£® ¡®à «¥¦¨â ¬¥¦¤ã a ¨ b?". à¥¬ï ¯à¥¤¢ à¨â¥«ìãî ®¡à ¡®âªã ¤®«¦® ¡ëâì O(n + k). 9.3 ¨ä஢ ï á®àâ¨à®¢ª «£®à¨â¬ æ¨ä஢®© á®àâ¨à®¢ª¨ (radix sort) ¨á¯®«ì§®¢ «áï ¢ ¬ è¨ å ¤«ï á®àâ¨à®¢ª¨ ¯¥à䮪 àâ (ᥩç á â ª¨¥ ¬ è¨ë ¬®¦® ©â¨ à §¢¥ çâ® ¢ ¬ã§¥ïå). ª àâ®ëå ¯¥à䮪 àâ å á¯¥æ¨ «ìë© ¯¥àä®à â®à ¯à®¡¨¢ « ¤ëન. ª ¦¤®© ¨§ 80 ª®«®®ª ¡ë«¨ ¬¥áâ ¤«ï 12 ¯àאַ㣮«ìëå ¤ëப. ®®¡é¥-â® ¢ ®¤®© ª®«®ª¥ ¬®¦® ¡ë«® ¯à®¡¨âì ¥áª®«ìª® ¤ëப, ¨å ª®¬¡¨ æ¨ï ᮮ⢥âá⢮¢ « ᨬ¢®«ã (â ª çâ® ª à⥠¡ë«® ¬¥áâ® ¤«ï 80 ᨬ¢®«®¢), ® æ¨äàë 0{9 ª®¤¨à®¢ «¨áì ®¤¨®ç묨 ¤ëઠ¬¨ ¢ áâப å 0{9 ᮮ⢥âáâ¢ãî饩 ª®«®ª¨. ®àâ¨à®¢®ç®© ¬ 訥 㪠§ë¢ «¨ á⮫¡¥æ, ¯® ª®â®à®¬ã 㦮 ¯à®¨§¢¥á⨠á®àâ¨à®¢ªã, ¨ ® à ᪫ ¤ë¢ « ª®«®¤ã ¯¥à䮪 àâ 172 « ¢ 9 ®àâ¨à®¢ª § «¨¥©®¥ ¢à¥¬ï 329 720 720 329 457 355 329 355 657 436 436 436 839 ) 457 ) 839 ) 457 436 657 355 657 720 329 457 720 355 839 657 839 " " " ¨á㮪 9.3 ¨ä஢ ï á®àâ¨à®¢ª ¯®á«¥¤®¢ ⥫ì®á⨠¨§ ᥬ¨ âàñå§ çëå ç¨á¥«. ¢å®¤ ¯®¤ îâáï ç¨á« ¯¥à¢®£® á⮫¡æ . «¥¥ ¯®ª § ¯®à冷ª ç¨á¥« ¯®á«¥ á®àâ¨à®¢ª¨ ¯® âà¥â쥩, ¢â®à®© ¨ ¯¥à¢®© æ¨äà ¬ (¢¥à⨪ «ìë¥ áâ५ª¨ 㪠§ë¢ îâ, ¯® ª ª®© æ¨äॠ¯à®¨§¢®¤¨« áì á®àâ¨à®¢ª ). 10 á⮯®ª ¢ § ¢¨á¨¬®á⨠®â ⮣®, ª ª ï ¨§ ¤ëப 0{9 ¡ë« ¯à®¡¨â ¢ 㪠§ ®¬ á⮫¡æ¥. ª ®âá®àâ¨à®¢ âì ª®«®¤ã ¯¥à䮪 àâ á ¬®£®§ ç묨 ç¨á« ¬¨ (à §àï¤ ¥¤¨¨æ ¢ ®¤®¬ á⮫¡æ¥, ¤¥áï⪮¢ | ¢ ¯à¥¤ë¤ã饬 ¨ â. ¤.)? ¥à¢®¥, çâ® ¯à¨å®¤¨â ¢ £®«®¢ã, | ç âì á®àâ¨à®¢ªã á® áâ à襣® à §àï¤ . ਠí⮬ ¯®«ãç¨âáï 10 á⮯®ª, ª ¦¤ãî ¨§ ª®â®àëå á«¥¤ãî饬 è £¥ ¯à¨¤ñâáï à §¡¨¢ âì 10 á⮯®ª, ¨ â ª ¤ «¥¥ | ¯®«ãç¨âáï ¬®£® á⮯®ª ¯¥à䮪 àâ, ¢ ª®â®àëå «¥£ª® § ¯ãâ âìáï (á¬. ã¯à ¦¥¨¥ 9.3-5). ª ¨ áâà ®, ®ª §ë¢ ¥âáï 㤮¡¥¥ ç âì á ¬« ¤è¥£® à §àï¤ , à §«®¦¨¢ ª®«®¤ã 10 á⮯®ª ¢ § ¢¨á¨¬®á⨠®â ⮣®, £¤¥ ¯à®¡¨â® ®â¢¥àá⨥ ¢ "¬« ¤è¥¬" á⮫¡æ¥. ®«ãç¥ë¥ 10 á⮯®ª ¤® ¯®á«¥ í⮣® á«®¦¨âì ¢ ®¤ã ¢ â ª®¬ ¯®à浪¥: á ç « ª àâë á 0, § ⥬ ª àâë á 1, ¨ â. ¤. ®«ã稢èãîáï ª®«®¤ã ¢®¢ì à áá®àâ¨à㥬 10 á⮯®ª, ® 㦥 ¢ ᮮ⢥âá⢨¨ á à §à冷¬ ¤¥áï⪮¢, á«®¦¨¬ ¯®«ãç¥ë¥ á⮯ª¨ ¢ ®¤ã ª®«®¤ã, ¨ â. ¤.; ¥á«¨ ¯¥à䮪 àâ å ¡ë«¨ § ¯¨á ë d-§ çë¥ ç¨á« , â® ¯® ¤®¡¨âáï d à § ¢®á¯®«ì§®¢ âìáï á®àâ¨à®¢®ç®© ¬ 訮©. à¨á. 9.3 ¨§®¡à ¦¥®, ª ª ¤¥©áâ¢ã¥â íâ®â «£®à¨â¬, ¯à¨¬¥¥ë© ª ᥬ¨ âàñå§ çë¬ ç¨á« ¬. ¦®, çâ®¡ë «£®à¨â¬, á ¯®¬®éìî ª®â®à®£® ¯à®¨á室¨â á®àâ¨à®¢ª ¯® ¤ ®¬ã à §àï¤ã, ¡ë« ãá⮩稢ë¬: ª àâ®çª¨, ã ª®â®àëå ¢ ¤ ®© ª®«®ª¥ á⮨⠮¤ ¨ â ¦¥ æ¨äà , ¤®«¦ë ¢ë©â¨ ¨§ á®àâ¨à®¢®ç®© ¬ è¨ë ¢ ⮩ ¦¥ ¯®á«¥¤®¢ ⥫ì®áâ¨, ¢ ª®â®à®© ®¨ â㤠¯®¤ ¢ «¨áì (á ¬® ᮡ®©, ¯à¨ ᪫ ¤ë¢ ¨¨ 10 á⮯®ª ¢ ®¤ã ¬¥ïâì ¯®à冷ª ª àâ ¢ á⮯ª å ⮦¥ ¥ á«¥¤ã¥â). ª®¬¯ìîâ¥à å æ¨ä஢ ï á®àâ¨à®¢ª ¨®£¤ ¨á¯®«ì§ã¥âáï ¤«ï 㯮àï¤®ç¥¨ï ¤ ëå, ᮤ¥à¦ é¨å ¥áª®«ìª® ¯®«¥©. ãáâì, ¯à¨¬¥à, ¬ ¤® ®âá®àâ¨à®¢ âì ¯®á«¥¤®¢ ⥫ì®áâì ¤ â. â® ¬®¦® ᤥ« âì á ¯®¬®éìî «î¡®£® «£®à¨â¬ á®àâ¨à®¢ª¨, áà ¢¨¢ ï ¤ âë á«¥¤ãî騬 ®¡à §®¬: áà ¢¨âì £®¤ë, ¥á«¨ £®¤ë ᮢ¯ ¤ îâ | áà ¢¨âì ¬¥áïæë, ¥á«¨ ᮢ¯ ¤ îâ ¨ ¬¥áïæë | áà ¢¨âì ç¨á« . ¬¥áâ® í⮣®, ®¤ ª®, ¬®¦® ¯à®áâ® âਦ¤ë ®âá®àâ¨à®¢ âì ¬ áᨢ ¤ â á ¨ä஢ ï á®àâ¨à®¢ª 173 ¯®¬®éìî ãá⮩稢®£® «£®à¨â¬ : á ç « ¯® ¤ï¬, ¯®â®¬ ¯® ¬¥áïæ ¬, ¯®â®¬ ¯® £®¤ ¬. à®£à ¬¬ã ¤«ï æ¨ä஢®© á®àâ¨à®¢ª¨ ¯¨á âì «¥£ª®. ë ¯à¥¤¯®« £ ¥¬, çâ® ª ¦¤ë© í«¥¬¥â n-í«¥¬¥â®£® ¬ áᨢ A á®á⮨⠨§ d æ¨äà, ¯à¨ç¥¬ æ¨äà ®¬¥à 1 | ¬« ¤è¨© à §àï¤, æ¨äà ®¬¥à d | áâ à訩. Radix-Sort(A; d) 1 for i 1 to d 2 do ®âá®àâ¨à®¢ âì ¬ áᨢ A ãáâ®©ç¨¢ë¬ «£®à¨â¬®¬ ¯® § 票î æ¨äàë ®¬¥à i à ¢¨«ì®áâì «£®à¨â¬ æ¨ä஢®© á®àâ¨à®¢ª¨ ¤®ª §ë¢ ¥âáï ¨¤ãªæ¨¥© ¯® ®¬¥àã à §àï¤ (á¬. ã¯à. 9.3-3). ६ï à ¡®âë § ¢¨á¨â ®â ¢à¥¬¥¨ à ¡®âë ¢ë¡à ®£® ãá⮩稢®£® «£®à¨â¬ . ᫨ æ¨äàë ¬®£ã⠯ਨ¬ âì § ç¥¨ï ®â 1 ¤® k, £¤¥ k ¥ ᫨誮¬ ¢¥«¨ª®, â® ®ç¥¢¨¤ë© ¢ë¡®à | á®àâ¨à®¢ª ¯®¤áçñ⮬. «ï n ç¨á¥« á d § ª ¬¨ ®â 0 ¤® k ; 1 ª ¦¤ë© ¯à®å®¤ § ¨¬ ¥â ¢à¥¬ï (n + k); ¯®áª®«ìªã ¬ë ¤¥« ¥¬ d ¯à®å®¤®¢, ¢à¥¬ï à ¡®âë æ¨ä஢®© á®àâ¨à®¢ª¨ à ¢® (dn + kd). ᫨ d ¯®áâ®ï® ¨ k = O(n), â® æ¨ä஢ ï á®àâ¨à®¢ª à ¡®â ¥â § «¨¥©®¥ ¢à¥¬ï. ਠæ¨ä஢®© á®àâ¨à®¢ª¥ ¢ ¦® ¯à ¢¨«ì® ¢ë¡à âì ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï, ¯®áª®«ìªã ®â ¥£® § ¢¨á¨â à §¬¥à âॡ㥬®© ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠¨ ¢à¥¬ï à ¡®âë. ®ªà¥âë© ¯à¨¬¥à: ¯ãáâì ¤® ®âá®àâ¨à®¢ âì ¬¨««¨® 64-¡¨âëå ç¨á¥«. ᫨ à áᬠâਢ âì ¨å ª ª ç¥âëàñå§ çë¥ ç¨á« ¢ á¨á⥬¥ áç¨á«¥¨ï á ®á®¢ ¨¥¬ 216, â® ¯à¨ æ¨ä஢®© á®àâ¨à®¢ª¥ ¬ë á¯à ¢¨¬áï á ¨¬¨ § ç¥âëॠ¯à®å®¤ , ¨á¯®«ì§ãï ¢ ¯à®æ¥¤ãॠCounting-Sort ¬ áᨢ B à §¬¥à®¬ 216 (çâ® ¥¬®£® ¯® áà ¢¥¨î á à §¬¥à®¬ á®àâ¨à㥬®£® ¬ áᨢ ) â® ¢ë£®¤® ®â«¨ç ¥âáï ®â á®àâ¨à®¢ª¨ áà ¢¥¨¥¬, ª®£¤ ª ¦¤®¥ ç¨á«® ¯à¨å®¤¨âáï ¯® lg n 20 ®¯¥à 権. ᮦ «¥¨î, æ¨ä஢ ï á®àâ¨à®¢ª , ®¯¨à îé ïáï á®àâ¨à®¢ªã ¯®¤áçñ⮬, âॡã¥â ¥éñ ®¤®£® ¬ áᨢ (⮣® ¦¥ à §¬¥à , çâ® ¨ á®àâ¨à㥬ë©) ¤«ï åà ¥¨ï ¯à®¬¥¦ãâ®çëå १ã«ìâ ⮢, ¢ â® ¢à¥¬ï ª ª ¬®£¨¥ «£®à¨â¬ë á®àâ¨à®¢ª¨ áà ¢¥¨¥¬ ®¡å®¤ïâáï ¡¥§ í⮣®. ®í⮬ã, ¥á«¨ ¤® íª®®¬¨âì ¯ ¬ïâì, «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ ¬®¦¥â ®ª § âìáï ¯à¥¤¯®çâ¨â¥«ì¥¥. ¯à ¦¥¨ï «¥¤ãï ®¡à §æã à¨á. 9.3, ¯®ª ¦¨â¥, ª ª ¯à®¨á室¨â æ¨ä஢ ï á®àâ¨à®¢ª (¯® «ä ¢¨âã) £«¨©áª¨å á«®¢ COW, DOG, SEA, 9.3-1 RUG, ROW, MOB, BOX, TAB, BAR, EAR, TAR, DIG, BIG, TEA, NOW, FOX. 174 « ¢ 9 ®àâ¨à®¢ª § «¨¥©®¥ ¢à¥¬ï ª¨¥ ¨§ á«¥¤ãîé¨å «£®à¨â¬®¢ á®àâ¨à®¢ª¨ ïîâáï ãá⮩稢묨: á®àâ¨à®¢ª ¢áâ ¢ª ¬¨, á®àâ¨à®¢ª ᫨逸¬, á®àâ¨à®¢ª á ¯®¬®éìî ªãç¨, ¡ëáâà ï á®àâ¨à®¢ª ? ¡êïá¨â¥, ª ª¨¬ ᯮᮡ®¬ ¬®¦® «î¡®© «£®à¨â¬ á®àâ¨à®¢ª¨ ¯à¥¢à â¨âì ¢ ãá⮩稢ë©. ª®«ìª® ¯à¨ í⮬ ¯®âॡã¥âáï ¤®¯®«¨â¥«ì®£® ¢à¥¬¥¨ ¨ ¯ ¬ïâ¨? 9.3-3 ®ª ¦¨â¥ ¯® ¨¤ãªæ¨¨, çâ® «£®à¨â¬ æ¨ä஢®© á®àâ¨à®¢ª¨ ¯à ¢¨«¥. ¤¥ ¢ ¢ 襬 ¤®ª § ⥫ìá⢥ ¨á¯®«ì§ã¥âáï ãá⮩稢®áâì «£®à¨â¬ á®àâ¨à®¢ª¨ æ¨äà? 9.3-4 ¡êïá¨â¥, ª ª à áá®àâ¨à®¢ âì n 楫ëå ¯®«®¦¨â¥«ìëå ç¨á¥«, ¥ ¯à¥¢®á室ïé¨å n2, § ¢à¥¬ï O(n). 9.3-5? ãáâì ¬ë á®àâ¨à㥬 ¯¥à䮪 àâë á ¯®¬®éìî á®àâ¨à®¢®ç®© ¬ è¨ë, ç¨ ï á® áâ à襣® à §àï¤ . ª®«ìª® à § ¯à¨¤ñâáï § ¯ãáâ¨âì ¬ è¨ã (¢ åã¤è¥¬ á«ãç ¥) ¤«ï á®àâ¨à®¢ª¨ d-§ çëå ç¨á¥«? ª®¥ ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ á⮯®ª ª à⠯ਤñâáï ®¤®¢à¥¬¥® åà ¨âì ¯® 室㠤¥« ? 9.3-2 9.4 ®àâ¨à®¢ª ¢ëçñà¯ë¢ ¨¥¬ «£®à¨â¬ á®àâ¨à®¢ª¨ ¢ëçñà¯ë¢ ¨¥¬ (bucket sort) à ¡®â ¥â § «¨¥©®¥ (á।¥¥) ¢à¥¬ï. ª ¨ á®àâ¨à®¢ª ¯®¤áçñ⮬, á®àâ¨à®¢ª ¢ëçñà¯ë¢ ¨¥¬ £®¤¨âáï ¥ ¤«ï «î¡ëå ¨á室ëå ¤ ëå: £®¢®àï ® «¨¥©®¬ á।¥¬ ¢à¥¬¥¨, ¬ë ¯à¥¤¯®« £ ¥¬, çâ® ¢å®¤ ¯®¤ ñâáï ¯®á«¥¤®¢ ⥫ì®áâì ¥§ ¢¨á¨¬ëå á«ãç ©ëå ç¨á¥«, à ¢®¬¥à® à á¯à¥¤¥«ñëå ¯à®¬¥¦ã⪥ [0; 1) (®¯à¥¤¥«¥¨¥ à ¢®¬¥à®£® à á¯à¥¤¥«¥¨ï ¤ ® ¢ à §¤. 6.2). [ ¬¥â¨¬, çâ® íâ®â «£®à¨â¬ | ¤¥â¥à¬¨¨à®¢ ë© (¥ ¨á¯®«ì§ã¥â £¥¥à â®à á«ãç ©ëå ç¨á¥«); ¯®ï⨥ á«ãç ©®á⨠¢®§¨ª ¥â «¨èì ¯à¨ «¨§¥ ¢à¥¬¥¨ ¥£® à ¡®âë.] ¤¥ï «£®à¨â¬ á®á⮨⠢ ⮬, çâ® ¯à®¬¥¦ã⮪ [0; 1) ¤¥«¨âáï n à ¢ëå ç á⥩, ¯®á«¥ 祣® ¤«ï ç¨á¥« ¨§ ª ¦¤®© ç á⨠¢ë¤¥«ï¥âáï ᢮© ï騪-ç¥à¯ ª (bucket), ¨ n ¯®¤«¥¦ é¨å á®àâ¨à®¢ª¥ ç¨á¥« à ᪫ ¤ë¢ îâáï ¯® í⨬ ï騪 ¬. ®áª®«ìªã ç¨á« à ¢®¬¥à® à á¯à¥¤¥«¥ë ®â१ª¥ [0; 1), á«¥¤ã¥â ®¦¨¤ âì, çâ® ¢ ª ¦¤®¬ ï騪¥ ¨å ¡ã¤¥â ¥¬®£®. ¥¯¥àì ®âá®àâ¨à㥬 ç¨á« ¢ ª ¦¤®¬ ï騪¥ ¯® ®â¤¥«ì®á⨠¨ ¯à®©¤ñ¬áï ¯® ï騪 ¬ ¢ ¯®à浪¥ ¢®§à áâ ¨ï, ¢ë¯¨áë¢ ï ¯®¯ ¢è¨¥ ¢ ª ¦¤ë© ¨§ ¨å ç¨á« â ª¦¥ ¢ ¯®à浪¥ ¢®§à áâ ¨ï. 㤥¬ áç¨â âì, çâ® ¢å®¤ ¯®¤ ¥âáï n-í«¥¬¥âë© ¬ áᨢ A, ¯à¨ç¥¬ 0 6 A[i] < 1 ¤«ï ¢á¥å i. ᯮ«ì§ã¥âáï â ª¦¥ ¢á¯®¬®£ ⥫ìë© ¬ áᨢ B[0 : :n ; 1], á®áâ®ï騩 ¨§ ᯨ᪮¢, ᮮ⢥âáâ¢ãîé¨å ï騪 ¬. «£®à¨â¬ ¨á¯®«ì§ã¥â ®¯¥à 樨 ᮠᯨ᪠¬¨, ª®â®àë¥ ®¯¨- ®àâ¨à®¢ª ¢ëçñà¯ë¢ ¨¥¬ 175 ¨á㮪 9.4 ¡®â «£®à¨â¬ Bucket-Sort. ( ) ¢å®¤ ¯®¤ ¬ áᨢ A[1 : : 10]. (¡) áᨢ ᯨ᪮¢ B [0 : : 9] ¯®á«¥ ¢ë¯®«¥¨ï áâப¨ 5. ¯¨á®ª á ¨¤¥ªá®¬ i ᮤ¥à¦¨â ç¨á« , ã ª®â®àëå ¯¥à¢ë© § ª ¯®á«¥ § ¯ï⮩ ¥áâì i. âá®àâ¨à®¢ ë© ¬ áᨢ ¯®«ãç¨âáï, ¥á«¨ ¯®á«¥¤®¢ â¥«ì® ¢ë¯¨á âì ᯨ᪨ B [0]; : : : ; B [9]. á ë ¢ à §¤. 11.2. Bucket-Sort(A) 1 n length[A] 2 for i 1 to n 3 do ¤®¡ ¢¨âì A[i] ª ᯨáªã B [bnA[i]c] 4 for i 0 to n ; 1 5 do ®âá®àâ¨à®¢ âì ᯨ᮪ B [i] (á®àâ¨à®¢ª ¢áâ ¢ª ¬¨) 6 ᮥ¤¨¨âì ᯨ᪨ B [0]; B [1]; : : :; B [n ; 1] (¢ 㪠§ ®¬ ¯®à浪¥) à¨á. 9.4 ¯®ª § à ¡®â í⮣® «£®à¨â¬ ¯à¨¬¥à¥ ¬ áᨢ ¨§ 10 ç¨á¥«. â®¡ë ¯®ª § âì, çâ® «£®à¨â¬ á®àâ¨à®¢ª¨ ¢ëçñà¯ë¢ ¨¥¬ ¯à ¢¨«¥, à áᬮâਬ ¤¢ ç¨á« A[i] ¨ A[j ]. ᫨ ®¨ ¯®¯ «¨ ¢ à §ë¥ ï騪¨, â® ¬¥ì襥 ¨§ ¨å ¯®¯ «® ¢ ï騪 á ¬¥ì訬 ®¬¥à®¬, ¨ ¢ ¢ë室®© ¯®á«¥¤®¢ ⥫ì®á⨠®® ®ª ¦¥âáï à ìè¥; ¥á«¨ ®¨ ¯®¯ «¨ ¢ ®¤¨ ï騪, â® ¯®á«¥ á®àâ¨à®¢ª¨ ᮤ¥à¦¨¬®£® ï騪 ¬¥ì襥 ç¨á«® ¡ã¤¥â â ª¦¥ ¯à¥¤è¥á⢮¢ âì ¡®«ì襬ã. à® «¨§¨à㥬 ¢à¥¬ï à ¡®âë «£®à¨â¬ . ¯¥à 樨 ¢® ¢á¥å áâப å, ªà®¬¥ ¯ï⮩, âॡãîâ (®¡é¥£®) ¢à¥¬¥¨ O(n). à®á¬®âà ¢á¥å ï騪®¢ â ª¦¥ § ¨¬ ¥â ¢à¥¬ï O(n). ª¨¬ ®¡à §®¬, ¬ ®áâ ñâáï ⮫쪮 ®æ¥¨âì ¢à¥¬ï á®àâ¨à®¢ª¨ ¢áâ ¢ª ¬¨ ¢ãâਠï騪®¢. ãáâì ¢ ï騪 B[i] ¯®¯ «® ni ç¨á¥« (ni | á«ãç © ï ¢¥«¨ç¨ ). ®áª®«ìªã á®àâ¨à®¢ª ¢áâ ¢ª ¬¨ à ¡®â ¥â § ª¢ ¤à â¨ç®¥ ¢à¥¬ï, ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¤«¨â¥«ì®á⨠á®àâ¨à®¢ª¨ ç¨á¥« ¢ ï騪¥ ®¬¥à i ¥áâì O(M[n2i ]), ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ á㬬 ண® ¢à¥- 176 « ¢ 9 ®àâ¨à®¢ª § «¨¥©®¥ ¢à¥¬ï ¬¥¨ á®àâ¨à®¢ª¨ ¢® ¢á¥å ï騪 å ¥áâì nX ;1 i=0 O(M[n2i ]) = O nX ;1 i=0 ! M[n2i ] : (9.1) ©¤ñ¬ äãªæ¨î à á¯à¥¤¥«¥¨ï á«ãç ©ëå ¢¥«¨ç¨ ni. ®áª®«ìªã ç¨á« à á¯à¥¤¥«¥ë à ¢®¬¥à®, ¢¥«¨ç¨ë ¢á¥å ®â१ª®¢ à ¢ë, ¢¥à®ïâ®áâì ⮣®, çâ® ¤ ®¥ ç¨á«® ¯®¯ ¤¥â ¢ ï騪 ®¬¥à i, à ¢ 1=n. â «® ¡ëâì, ¬ë 室¨¬áï ¢ á¨âã 樨 ¯à¨¬¥à ¨§ à §¤. 6.6.2 á è à ¬¨ ¨ ãà ¬¨: ã á n è ஢-ç¨á¥«, n ãà-ï騪®¢, ¨ ¢¥à®ïâ®áâì ¯®¯ ¤ ¨ï ¤ ®£® è à ¢ ¤ ãî ãàã à ¢ p = 1=n. ®í⮬ã ç¨á« ni à á¯à¥¤¥«¥ë ¡¨®¬ «ì®: ¢¥à®ïâ®áâì ⮣®, çâ® ni = k, à ¢ Cnk pk (1 ; p)n;k , ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ à ¢® M[ni ] = np = 1, ¨ ¤¨á¯¥àá¨ï à ¢ D[ni ] = np(1 ; p) = 1 ; 1=n. § ä®à¬ã«ë (6.30) ¨¬¥¥¬: M[n2i ] = D[ni ] + M2[ni ] = 2 ; n1 = (1): ®¤áâ ¢«ïï íâ㠮楪㠢 (9.1), ¯®«ãç ¥¬, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ á㬬 ண® ¢à¥¬¥¨ á®àâ¨à®¢ª¨ ¢á¥å ï騪®¢ ¥áâì O(n), â ª çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ á®àâ¨à®¢ª¨ ¢ëçñà¯ë¢ ¨¥¬ ¢ á ¬®¬ ¤¥«¥ «¨¥©® § ¢¨á¨â ®â ª®«¨ç¥á⢠ç¨á¥«. ¯à ¦¥¨ï «¥¤ãï ®¡à §æã à¨á. 9.4, ¯®ª ¦¨â¥, ª ª à ¡®â ¥â «£®à¨â¬ Bucket-Sort ¤«ï ¬ áᨢ A = h0:79; 0:13; 0:16; 0:64; 0:39; 0:20; 0:89; 0:53; 0:71; 0:42i. 9.4-2 ª®¢® ¢à¥¬ï à ¡®âë «£®à¨â¬ á®àâ¨à®¢ª¨ ¢ëçñà¯ë¢ ¨¥¬ ¢ åã¤è¥¬ á«ãç ¥? ਤ㬠©â¥ ¥£® ¯à®áâãî ¬®¤¨ä¨ª æ¨î, á®åà ïîéãî «¨¥©®¥ á।¥¥ ¢à¥¬ï à ¡®âë ¨ ᨦ îéãî ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ ¤® O(n lg n). 9.4-3? ® n ¥§ ¢¨á¨¬ëå á«ãç ©ëå â®ç¥ª á ª®®à¤¨ â ¬¨ (xi ; yi), à ¢®¬¥à® à á¯à¥¤¥«ñëå ¢ ªà㣥 à ¤¨ãá 1 á æ¥â஬ ¢ ç «¥ ª®®à¤¨ â (íâ® ®§ ç ¥â, çâ® ¢¥à®ïâ®áâì ©â¨ â®çªã ¢ ª ª®©-â® ®¡« á⨠¯à®¯®à樮 «ì ¯«®é ¤¨ í⮩ ®¡« áâ¨). §à ¡®â ©â¥ «£®à¨â¬, à ᯮ« £ î騩 â®çª¨ ¢ ¯®à浪¥ ¢®§à áâ ¨ï à ááâ®ï¨ï ®â æ¥âà ¨ ¨¬¥î騩 á।¥¥ ¢à¥¬ï à ¡®âë (n). (ª § ¨¥: ¢®á¯®«ì§ã©â¥áì á®àâ¨à®¢ª®© ¢ëçñà¯ë¢ ¨¥¬, ® ¯®§ ¡®âìâ¥áì ® ⮬, çâ®¡ë ¯«®é ¤¨ ï騪®¢ ¡ë«¨ à ¢ë). 9.4-4? ãáâì X | á«ãç © ï ¢¥«¨ç¨ . ¥ äãªæ¨ï à á¯à¥¤¥«¥¨ï (probability distribution function) ®¯à¥¤¥«ï¥âáï ä®à¬ã«®© P (x) = 9.4-1 ¤ ç¨ ª £« ¢¥ 9 177 PfX 6 xg. ।¯®«®¦¨¬, çâ® ¢å®¤ «£®à¨â¬ ¯®áâ㯠¥â ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n ç¨á¥«, ª®â®àë¥ ï¢«ïîâáï ¥§ ¢¨á¨¬ë¬¨ á«ãç ©ë¬¨ ¢¥«¨ç¨ ¬¨ á äãªæ¨¥© à á¯à¥¤¥«¥¨ï P . ãªæ¨ï P ¥¯à¥àë¢ ¨ ¬®¦¥â ¡ëâì ¢ëç¨á«¥ § ¢à¥¬ï O(1). ª ®âá®àâ¨à®¢ âì â ªãî ¯®á«¥¤®¢ ⥫ì®áâì, ç⮡ë á।¥¥ ¢à¥¬ï á®àâ¨à®¢ª¨ «¨¥©® § ¢¨á¥«® ®â n? ¤ ç¨ 9-1 ¨¦¨¥ ®æ¥ª¨ ¤«ï á।¥£® ç¨á« áà ¢¥¨© í⮩ § ¤ ç¥ ¬ë ¤®ª ¦¥¬, çâ® á।¥¥ ¢à¥¬ï à ¡®âë «î¡®£® ¤¥â¥à¬¨¨à®¢ ®£® ¨«¨ ¢¥à®ïâ®á⮣® «£®à¨â¬ á®àâ¨à®¢ª¨ n ç¨á¥«, ®á®¢ ®£® áà ¢¥¨ïå, ¥áâì (n lg n). 祬 á ⮣®, çâ® à áᬮâਬ ¤¥â¥à¬¨¨à®¢ ë© «£®à¨â¬ A, ®á®¢ ë© áà ¢¥¨ïå; ¯ãáâì TA | ¥£® à §à¥è î饥 ¤¥à¥¢®. ë ¯à¥¤¯®« £ ¥¬, çâ® ¢á¥ ¯¥à¥áâ ®¢ª¨ ¢å®¤®© ¯®á«¥¤®¢ ⥫ì®áâ¨ à ¢®¢¥à®ïâë. . ¯¨è¥¬ ª ¦¤®¬ «¨á⥠¤¥à¥¢ TA ¢¥à®ïâ®áâì ⮣®, çâ® «£®à¨â¬ § ¢¥àè¨âáï ¢ í⮬ «¨áâ¥. ®ª ¦¨â¥, çâ® ¢ n! «¨áâ å ¯¨á ® 1=n!, ¢ ®áâ «ìëå «¨áâ å ¯¨á ã«ì. ¡. ¡®§ 稬 ç¥à¥§ D(T ) á㬬㠣«ã¡¨ ¢á¥å «¨áâ쥢 ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ T (¬ë ¯à¥¤¯®« £ ¥¬, çâ® ª ¦¤ ï ¢¥àè¨ «¨¡® ï¥âáï «¨á⮬, «¨¡® ¨¬¥¥â ¤¢ãå ¤¥â¥© | â ª ãáâ஥ë à §à¥è î騥 ¤¥à¥¢ìï). ãáâì T | ¤¥à¥¢® á k > 1 «¨áâìﬨ, ¨ ¯ãáâì ç¥à¥§ LT ¨ RT ®¡®§ ç¥ë «¥¢®¥ ¨ ¯à ¢®¥ ¯®¤¤¥à¥¢ìï. ®ª ¦¨â¥, çâ® D(T ) = D(LT ) + D(RT ) + k. ¢. ãáâì d(m) | ¨¬¥ì襥 § 票¥ ç¨á« D(T ) á।¨ ¢á¥å ¤¥à¥¢ì¥¢ T á m «¨áâìﬨ. ®ª ¦¨â¥, çâ® d(k) = min16i6k;1 fd(i) + d(k ; i) + kg. (ª § ¨¥: ¤¥à¥¢® LT ¬®¦¥â ᮤ¥à¦ âì ®â 1 ¤® k ; 1 «¨áâ쥢.) £. ®ª ¦¨â¥, çâ® ¤«ï 䨪á¨à®¢ ®£® k ¢ëà ¦¥¨¥ i lg i + (k ; i) lg(k ; i) ¤®á⨣ ¥â ¬¨¨¬ã¬ ®â१ª¥ ®â 1 ¤® k ; 1 ¢ â®çª¥ i = k=2. 뢥¤¨â¥ ®âáî¤ , çâ® d(k) = (k lg k). ¤. ®ª ¦¨â¥, çâ® D(TA) = (n! lg(n!)), ¨ ¢ë¢¥¤¨â¥ ®âáî¤ , çâ® ¢à¥¬ï á®àâ¨à®¢ª¨ n ç¨á¥« á ¯®¬®éìî à §à¥è î饣® ¤¥à¥¢ TA, ãá।ñ®¥ ¯® ¢á¥¬ ¯¥à¥áâ ®¢ª ¬ ¢å®¤¥, ¥áâì (n lg n). ¥¯¥àì à áᬮâਬ ¢¥à®ïâ®áâë© «£®à¨â¬ B, ®á®¢ ë© áà ¢¥¨ïå. £® ¬®¦® ®¯¨á âì á ¯®¬®éìî à §à¥è î饣® ¤¥à¥¢ , ¢ ª®â®à®¬ ¡ë¢ îâ ã§«ë ¤¢ãå ⨯®¢: ᮮ⢥âáâ¢ãî騥 áà ¢¥¨ï¬ ¨ á«ãç ©ë¬ ¢ë¡®à ¬. 㧫 å ¢â®à®£® ⨯ ¯à®¨á室¨â ¢ë§®¢ ¯à®æ¥¤ãàë Random(1; r); ã â ª®£® 㧫 r ¤¥â¥©, ª ¦¤ë© ¨§ ª®â®àëå ¢ë¡¨à ¥âáï á à ¢®© ¢¥à®ïâ®áâìî. («ï à §ëå 㧫®¢ ç¨á«® r ¬®¦¥â ¡ëâì à §ë¬.) ¥. ãáâì ¨¬¥¥âáï ¢¥à®ïâ®áâë© «£®à¨â¬ á®àâ¨à®¢ª¨ B. «ï ª ¦¤®© ¯¥à¥áâ ®¢ª¨ ¢å®¤¥ ©¤ñ¬ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ 178 « ¢ 9 ®àâ¨à®¢ª § «¨¥©®¥ ¢à¥¬ï ç¨á« áà ¢¥¨©. á।¨¬ í⨠®¦¨¤ ¨ï ¯® ¢á¥¬ ¢å®¤ ¬; ¯®«ãç¨âáï ¥ª®â®à®¥ ç¨á«® T . ®ª ¦¨â¥, çâ® áãé¥áâ¢ã¥â ¤¥â¥à¬¨¨à®¢ ë© «£®à¨â¬ A, ã ª®â®à®£® á।¥¥ (¯® ¢á¥¬ ¯¥à¥áâ ®¢ª ¬ ¢å®¤¥) ç¨á«® áà ¢¥¨© ¥ ¯à¥¢®á室¨â T . 뢥¤¨â¥ ®âáî¤ , çâ® ¤«ï «î¡®£® ¢¥à®ïâ®á⮣® «£®à¨â¬ ¬ ªá¨¬ «ì®¥ (¯® ¢á¥¬ ¢å®¤ ¬) ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« áà ¢¥¨© ¥áâì (n lg n). (ª § ¨¥. ᫨ á।¥¥ ¯® ¢á¥¬ ¢å®¤ ¬ ¨ ¢á¥¬ ¢ ਠ⠬ á«ãç ©ëå ç¨á¥« à ¢® T , â® áãé¥áâ¢ã¥â â ª®© ¡®à á«ãç ©ëå ç¨á¥«, ¯à¨ ª®â®à®¬ á।¥¥ ¯® ¢á¥¬ ¢å®¤ ¬ ¥ ¡®«ìè¥ T .) 9-2 ®àâ¨à®¢ª ¡¥§ ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠§ «¨¥©®¥ ¢à¥¬ï . ãáâì ¬ ¤ ¬ áᨢ § ¯¨á¥©, ª®â®àë© ¥®¡å®¤¨¬® ®âá®àâ¨à®¢ âì ¯® ª«îçã, ¯à¨¨¬ î饬㠧 票¥ 0 ¨«¨ 1. ਤ㬠©â¥ ¯à®á⮩ «£®à¨â¬, ®áãé¥á⢫ïî騩 â ªãî á®àâ¨à®¢ªã § «¨¥©®¥ ¢à¥¬ï ¨ ¨á¯®«ì§ãî騩 ¤®¯®«¨â¥«ìãî ¯ ¬ïâì O(1) (¨ë¬¨ á«®¢ ¬¨, ®¡ê¥¬ ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠¥ § ¢¨á¨â ®â à §¬¥à®¢ á®àâ¨à㥬®£® ¬ áᨢ ). ¡. ®¦® «¨ ¢®á¯®«ì§®¢ âìáï «£®à¨â¬®¬ ¨§ ¯ãªâ ( ) ¤«ï æ¨ä஢®© á®àâ¨à®¢ª¨ ¯® b-¡¨â®¬ã ª«îçã § ¢à¥¬ï O(bn)? ¡êïá¨â¥ ᢮© ®â¢¥â. ¢. ãáâì n § ¯¨á¥© ¤® ®âá®àâ¨à®¢ âì ¯® ª«îçã, ¯à¨¨¬ î饬ã æ¥«ë¥ § ç¥¨ï ®â 1 ¤® k. ª ¬®¤¨ä¨æ¨à®¢ âì á®àâ¨à®¢ªã ¯®¤áçñ⮬, çâ®¡ë ¬®¦® ¡ë«® ®âá®àâ¨à®¢ âì í⨠§ ¯¨á¨ § ¢à¥¬ï O(n + k), ¨ ¯à¨ í⮬ ®¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ï⨠(¯®¬¨¬® á®àâ¨à㥬®£® ¬ áᨢ ) ¡ë« O(k)? (ª § ¨¥. ç¨â¥ á® á«ãç ï k = 3.) ¬¥ç ¨ï «¨§ «£®à¨â¬®¢ á®àâ¨à®¢ª¨ á ¯®¬®éìî à §à¥è îé¨å ¤¥à¥¢ì¥¢ ¡ë« ¯à¥¤«®¦¥ ®à¤®¬ ¨ ¦®á®®¬ [72]. ä㤠¬¥â «ì®© ª¨£¥ ãâ [123], ¯®á¢ï饮© á®àâ¨à®¢ª¥, à áᬠâਢ îâáï ¬®£®ç¨á«¥ë¥ ¢ ਠâë í⮩ § ¤ ç¨ ¨ ¤®ª §ë¢ ¥âáï ¨¦ïï ®æ¥ª ç¨á« áà ¢¥¨© (¯à¨¢¥¤ñ ï ¢ í⮩ £« ¢¥). ¨¦¨¥ ®æ¥ª¨ ¤«ï § ¤ ç¨ á®àâ¨à®¢ª¨ ¨ à §«¨çëå ®¡®¡é¥¨© à §à¥è îé¨å ¤¥à¥¢ì¥¢ ¯®¤à®¡® ¨§ãç «¨áì ¥-஬ [23]. ®£« á® ãâã, § á«ã£ ¨§®¡à¥â¥¨ï á®àâ¨à®¢ª¨ ¯®¤áçñ⮬ (1954 £®¤) ¨ ¥ñ ª®¬¡¨ 樨 á æ¨ä஢®© á®àâ¨à®¢ª®© ¯à¨ ¤«¥¦¨â ìî à¤ã (H. H. Seward). ¬ ¦¥ æ¨ä஢ ï á®àâ¨à®¢ª , ¢¨¤¨¬®, ¤ ¢® ¯à¨¬¥ï« áì ¤«ï á®àâ¨à®¢ª¨ ¯¥à䮪 àâ. ãâ ã⢥ত ¥â, çâ® ¯¥à¢®¥ ¯¥ç ⮥ ®¯¨á ¨¥ í⮣® ¬¥â®¤ ¯®ï¢¨«®áì ¢ 1929 £®¤ã ¢ ª ç¥á⢥ á®áâ ¢®© ç á⨠à㪮¢®¤á⢠¯® ®¡®à㤮¢ ¨î ¤«ï à ¡®âë á ¯¥à䮪 àâ ¬¨, ¯¨á ®£® ®¬à¨ (L. J. Comrie). ®àâ¨à®¢ª ¢ëçñà¯ë¢ ¨¥¬ ¨á¯®«ì§ã¥âáï á 1956 £®¤ , ª®£¤ ©§¥ª (E. J. Isaac) ¨ ¨£«¥â® (R. C. Singleton) ¯à¥¤«®¦¨«¨ ®á®¢ãî ¬¥ç ¨ï ª £« ¢¥ 9 ¨¤¥î. 179 10 ¥¤¨ ë ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ â ªãî § ¤ çã: ¤ ® ¬®¦¥á⢮ ¨§ n ç¨á¥«; ©â¨ â®â ¥£® í«¥¬¥â, ª®â®àë© ¡ã¤¥â i-¬ ¯® áçñâã, ¥á«¨ à ᯮ«®¦¨âì í«¥¬¥âë ¬®¦¥á⢠¢ ¯®à浪¥ ¢®§à áâ ¨ï. £«®ï§ë箩 «¨â¥à âãॠ⠪®© í«¥¬¥â §ë¢ ¥âáï i-© ¯®à浪®¢®© áâ â¨á⨪®© (order statistic). ¯à¨¬¥à, ¬¨¨¬ã¬ (minimum) | íâ® ¯®à浪®¢ ï áâ â¨á⨪ ®¬¥à 1, ¬ ªá¨¬ã¬ (maximum) | ¯®à浪®¢ ï áâ â¨á⨪ ®¬¥à n. ¥¤¨ ®© (median) §ë¢ ¥âáï í«¥¬¥â ¬®¦¥á⢠, 室ï騩áï (¯® áçñâã) ¯®á¥à¥¤¨¥ ¬¥¦¤ã ¬¨¨¬ã¬®¬ ¨ ¬ ªá¨¬ã¬®¬. ®ç¥¥ £®¢®àï, ¥á«¨ n ¥çñâ®, â® ¬¥¤¨ | íâ® ¯®à浪®¢ ï áâ â¨á⨪ ®¬¥à i = (n +1)=2, ¥á«¨ n çñâ®, â® ¬¥¤¨ ¤ ¦¥ ¤¢¥: á ®¬¥à ¬¨ i = n=2 ¨ i = n=2+1. ®¦® ¥éñ ᪠§ âì, çâ®, ¥§ ¢¨á¨¬® ®â çñâ®á⨠n, ¬¥¤¨ ë ¨¬¥îâ ®¬¥à i = b(n + 1)=2c ¨ i = d(n + 1)=2e. ¤ «ì¥©è¥¬ ¬ë ¡ã¤¥¬ §ë¢ âì ¬¥¤¨ ®© ¬¥ìèãî ¨§ ¤¢ãå (¥á«¨ ¨å ¤¢¥). «ï 㤮¡á⢠¬ë ¡ã¤¥¬ áç¨â âì, çâ® ¬®¦¥á⢮, ¢ ª®â®à®¬ ¬ë ¨é¥¬ ¯®à浪®¢ë¥ áâ â¨á⨪¨, á®á⮨⠨§ à §«¨çëå í«¥¬¥â®¢, å®âï ¯à ªâ¨ç¥áª¨ ¢áñ, çâ® ¬ë ¤¥« ¥¬, ¯¥à¥®á¨âáï á¨âã æ¨î, ª®£¤ ¢® ¬®¦¥á⢥ ¥áâì ¯®¢â®àïî騥áï í«¥¬¥âë. ¤ ç ¢ë¡®à í«¥¬¥â á ¤ ë¬ ®¬¥à®¬ (selection problem) á®á⮨⠢ á«¥¤ãî饬: ®: ®¦¥á⢮ A ¨§ n à §«¨çëå í«¥¬¥â®¢ ¨ 楫®¥ ç¨á«® i, 1 6 i 6 n. ©â¨: «¥¬¥â x 2 A, ¤«ï ª®â®à®£® ஢® i ; 1 í«¥¬¥â®¢ ¬®¦¥á⢠A ¬¥ìè¥ x. âã § ¤ çã ¬®¦® à¥è¨âì § ¢à¥¬ï O(n lg n): ®âá®àâ¨à®¢ âì ç¨á« , ¯®á«¥ 祣® ¢§ïâì i-© í«¥¬¥â ¢ ¯®«ã祮¬ ¬ áᨢ¥. áâì, ®¤ ª®, ¨ ¡®«¥¥ ¡ëáâàë¥ «£®à¨â¬ë. à §¤¥«¥ 10.1 ¬ë à áᬮâਬ ¯à®á⥩訩 á«ãç ©: 宦¤¥¨¥ ¬ ªá¨¬ «ì®£® ¨ ¬¨¨¬ «ì®£® í«¥¬¥â®¢. ¡é ï § ¤ ç ¡®«¥¥ ¨â¥à¥á ; ¥© ¯®á¢ïé¥ë ¤¢ á«¥¤ãîé¨å à §¤¥« . à §¤¥«¥ 10.2 ¬ë à áᬠâਢ ¥¬ 㤮¡ë© ¯à ªâ¨ª¥ ¢¥à®ïâ®áâë© «£®à¨â¬, ª®â®àë© ¨é¥â ¯®à浪®¢ãî áâ â¨á⨪㠧 ¢à¥¬ï O(n) ¢ á।¥¬ (¨¬¥¥âáï ¢ ¢¨¤ã ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ ¥£® à ¡®âë «î¡®¬ ¢å®¤¥). à §¤¥«¥ 10.3 ¬ë à áᬠâਢ ¥¬ (¯à¥¤áâ ¢«ïî騩 ᪮॥ ⥮à¥â¨ç¥áª¨© ¨â¥à¥á) ¤¥â¥à¬¨¨à®¢ ë© «£®à¨â¬, âॡã- ¨¨¬ã¬ ¨ ¬ ªá¨¬ã¬ 181 î騩 ¢à¥¬¥¨ O(n) ¢ åã¤è¥¬ á«ãç ¥. 10.1 ¨¨¬ã¬ ¨ ¬ ªá¨¬ã¬ ª®«ìª® áà ¢¥¨© ¥®¡å®¤¨¬®, çâ®¡ë ¢® ¬®¦¥á⢥ ¨§ n ç¨á¥« ©â¨ ¨¬¥ì襥? n ; 1 áà ¢¥¨© í⮠ᤥ« âì «¥£ª®: ¤® ¯®á«¥¤®¢ â¥«ì® ¯¥à¥¡¨à âì ¢á¥ ç¨á« , åà ï § 票¥ ¨¬¥ì襣® ç¨á« ¨§ 㦥 ¯à®á¬®âà¥ëå. ¯¨è¥¬ íâ®â «£®à¨â¬, áç¨â ï, çâ® ç¨á« § ¤ ë ¢ ¢¨¤¥ ¬ áᨢ A ¤«¨ë n. Minimum(A) 1 min A[1] 2 for i 2 to length[A] 3 do if min > A[i] 4 then min A[i] 5 return min §ã¬¥¥âáï, «®£¨çë¬ ®¡à §®¬ ¬®¦® ©â¨ ¨ ¬ ªá¨¬ã¬. ®¦® «¨ ©â¨ ¬¨¨¬ã¬ ¥é¥ ¡ëáâ॥? ¥â, ¨ ¢®â ¯®ç¥¬ã. áᬮâਬ «£®à¨â¬ 宦¤¥¨ï ¨¬¥ì襣® ç¨á« ª ª âãà¨à á।¨ n ç¨á¥«, ª ¦¤®¥ áà ¢¥¨¥ | ª ª ¬ âç, ¢ ª®â®à®¬ ¬¥ì襥 ç¨á«® ¯®¡¥¦¤ ¥â. â®¡ë ¯®¡¥¤¨â¥«ì ¡ë« ©¤¥, ª ¦¤®¥ ¨§ ®áâ «ìëå ç¨á¥« ¤®«¦® ¯à®¨£à âì ¯® ªà ©¥© ¬¥à¥ ®¤¨ ¬ âç, â ª çâ® ¬¥ìè¥ n ; 1 áà ¢¥¨© ¡ëâì ¥ ¬®¦¥â, ¨ «£®à¨â¬ Minimum ®¯â¨¬ «¥ ¯® ç¨á«ã áà ¢¥¨©. â¥à¥áë© ¢®¯à®á, á¢ï§ ë© á í⨬ «£®à¨â¬®¬ | 宦¤¥¨¥ ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï ç¨á« ¨á¯®«¥¨© áâப¨ 4. § ¤ ç¥ 62 âॡã¥âáï ¯®ª § âì, çâ® íâ ¢¥«¨ç¨ ¥áâì (lg n). ¤®¢à¥¬¥ë© ¯®¨áª ¬¨¨¬ã¬ ¨ ¬ ªá¨¬ã¬ ®£¤ ¡ë¢ ¥â 㦮 ©â¨ ®¤®¢à¥¬¥® ¬¨¨¬ «ìë© ¨ ¬ ªá¨¬ «ìë© í«¥¬¥âë ¬®¦¥á⢠. ।áâ ¢¨¬ ᥡ¥ ¯à®£à ¬¬ã, ª®â®à ï ¤®«¦ 㬥ìè¨âì à¨á㮪 ( ¡®à â®ç¥ª, § ¤ ëå ᢮¨¬¨ ª®®à¤¨ â ¬¨) â ª, çâ®¡ë ® 㬥á⨫áï íªà ¥. «ï í⮣® 㦮 ©â¨ ¬ ªá¨¬ã¬ ¨ ¬¨¨¬ã¬ ¯® ª ¦¤®© ª®®à¤¨ â¥. ᫨ ¬ë ¯®¯à®áâã ©¤¥¬ á ç « ¬¨¨¬ã¬, ¯®â®¬ ¬ ªá¨¬ã¬, § âà ⨢ ª ¦¤ë© ¨§ ¨å ¯® n ; 1 áà ¢¥¨©, â® ¢á¥£® ¡ã¤¥â 2n ; 2 áà ¢¥¨ï, ç⮠ᨬ¯â®â¨ç¥áª¨ ®¯â¨¬ «ì®. ®¦®, ®¤ ª®, à¥è¨âì íâã § ¤ ç㠢ᥣ® § 3dn=2e ; 2 áà ¢¥¨©. ¬¥®, ¡ã¤¥¬ åà ¨âì § ç¥¨ï ¬ ªá¨¬ã¬ ¨ ¬¨¨¬ã¬ 㦥 ¯à®á¬®âà¥ëå ç¨á¥«, ®ç¥à¥¤ë¥ ç¨á« ¡ã¤¥¬ ®¡à ¡ âë¢ âì ¯® ¤¢ â ª¨¬ ®¡à §®¬: á ç « áà ¢¨¬ ¤¢ ®ç¥à¥¤ëå ç¨á« ¤àã£ á ¤à㣮¬, § ⥬ ¡®«ì襥 ¨§ ¨å áà ¢¨¬ á ¬ ªá¨¬ã¬®¬, ¬¥ì襥 | á ¬¨¨¬ã¬®¬. 182 « ¢ 10 ¥¤¨ ë ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ ਠí⮬ ®¡à ¡®âªã ¤¢ãå í«¥¬¥â®¢ ¬ë § âà ⨬ âਠáà ¢¥¨ï ¢¬¥áâ® ç¥âëàñå (ªà®¬¥ ¯¥à¢®© ¯ àë, £¤¥ ¯® ¤®¡¨âáï ¢á¥£® ®¤® áà ¢¥¨¥). ¯à ¦¥¨ï ®ª ¦¨â¥, çâ® ¢â®à®¥ ¯® ¢¥«¨ç¨¥ ç¨á«® ¨§ n ¤ ëå ¬®¦® ©â¨ ¢ åã¤è¥¬ á«ãç ¥ § n + dlg ne ; 2 áà ¢¥¨ï. (ª § ¨¥. é¨â¥ íâ® ç¨á«® ¢¬¥áâ¥ á ¨¬¥ì訬.) 10.1-2? ®ª ¦¨â¥, çâ® ¤«ï ®¤®¢à¥¬¥®£® 宦¤¥¨ï ¨¡®«ì襣® ¨ ¨¬¥ì襣® ¨§ n ç¨á¥« ¢ åã¤è¥¬ á«ãç ¥ ¥®¡å®¤¨¬® ¥ ¬¥¥¥ d3n=2e;2 áà ¢¥¨©. (ª § ¨¥. ª ¦¤ë© ¬®¬¥â í«¥¬¥âë ¤¥«ïâáï ç¥âëॠ£à㯯ë: (1) ¥¯à®á¬®âà¥ë¥ (ª®â®àë¥ ¬®£ãâ ®ª § âìáï ¨ ¬¨¨¬ «ì묨, ¨ ¬ ªá¨¬ «ì묨); (2) â¥, çâ® ¥éñ ¬®£ãâ ®ª § âìáï ¬¨¨¬ «ì묨, ® § ¢¥¤®¬® ¥ ¬ ªá¨¬ «ìë; (3) â¥, çâ® ¥éñ ¬®£ãâ ®ª § âìáï ¬ ªá¨¬ «ì묨, ® ¥ ¬¨¨¬ «ì묨; (4) ®â¡à®è¥ë¥ (ª®â®àë¥ § ¢¥¤®¬® ¥ ¬¨¨¬ «ìë ¨ ¥ ¬ ªá¨¬ «ìë). ãáâì a1; a2; a3; a4 | ª®«¨ç¥á⢮ í«¥¬¥â®¢ ª ¦¤®© £à㯯ë. ª ¬¥ïîâáï í⨠ç¨á« ¯à¨ áà ¢¥¨ïå?) 10.1-1 10.2 ë¡®à § «¨¥©®¥ ¢ á।¥¬ ¢à¥¬ï ®âï ®¡é ï § ¤ ç ¢ë¡®à ¢ë£«ï¤¨â ¡®«¥¥ á«®¦®©, 祬 § ¤ ç ® ¬¨¨¬ã¬¥ ¨«¨ ¬ ªá¨¬ã¬¥, ¥ñ, ª ª ¨ áâà ®, ⮦¥ ¬®¦® à¥è¨âì § ¢à¥¬ï (n). í⮬ à §¤¥«¥ ¬ë à áᬮâਬ ¢¥à®ïâ®áâë© «£®à¨â¬ Randomized-Select ¤«ï à¥è¥¨ï í⮩ § ¤ ç¨, ¤¥©áâ¢ãî騩 ¯® á奬¥ "à §¤¥«ï© ¨ ¢« áâ¢ã©". «®£¨ç¥ «£®à¨â¬ã ¡ëáâன á®àâ¨à®¢ª¨ ¨§ £« ¢ë 8: ¬ áᨢ à §¡¨¢ ¥âáï ¬¥ì訥 ç áâ¨. ¤ ª® «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨, à §¡¨¢ ¬ áᨢ ¤¢ ªã᪠, ®¡à ¡ âë¢ ¥â ®¡ , «£®à¨â¬ Randomized-Select | ⮫쪮 ®¤¨ ¨§ íâ¨å ªã᪮¢. ®í⮬㠮 ¡ëáâ॥: á।¥¥ ¢à¥¬ï ¡ëáâன á®àâ¨à®¢ª¨ ¥áâì (n lg n), ¢ â® ¢à¥¬ï ª ª «£®à¨â¬ Randomized-Select à ¡®â ¥â ¢ á।¥¬ § ¢à¥¬ï (n). «£®à¨â¬ Randomized-Select ¨á¯®«ì§ã¥â ¯à®æ¥¤ãàã RandomizedPartition, ®¯¨á ãî ¢ à §¤¥«¥ 8.3, ¯®¢¥¤¥¨¥ ª®â®à®© (¨, áâ «® ¡ëâì, ¢á¥£® «£®à¨â¬ ) § ¢¨á¨â ®â ¤ â稪 á«ãç ©ëå ç¨á¥«. 맮¢ Randomized-Select(A; p; r; i) ¢®§¢à é ¥â i-© ¯® áçñâã ¢ ¯®à浪¥ ¢®§à áâ ¨ï í«¥¬¥â ¬ áᨢ A[p : :r]. ë¡®à § «¨¥©®¥ ¢ á।¥¬ ¢à¥¬ï 183 Randomized-Select (A; p; r; i) 1 2 3 4 5 6 7 if p = r then return A[p] q k Randomized-Partition(A; p; r) q;p+1 if i 6 k then return Randomized-Select (A; p; q; i) else return Randomized-Select (A; q + 1; r; i ; k) ®á«¥ ¨á¯®«¥¨ï ¯à®æ¥¤ãàë Randomized-Partition ¢ áâப¥ 3 ¬ áᨢ A[p : :r] á®á⮨⠨§ ¤¢ãå ¥¯ãáâëå ç á⥩ A[p : :q] ¨ A[q + 1 : :r], ¯à¨çñ¬ ¢á直© í«¥¬¥â A[p : :q ] ¬¥ìè¥ ¢á类£® í«¥¬¥â A[q +1 : :r]. áâப¥ 4 ¢ëç¨á«ï¥âáï ª®«¨ç¥á⢮ í«¥¬¥â®¢ ¢ ¬ áᨢ¥ A[p : :q]. «ì¥©è¥¥ § ¢¨á¨â ®â ⮣®, ¢ ª ª®¬ ¨§ íâ¨å ¤¢ãå ¬ áᨢ®¢ «¥¦¨â i-© ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¬ áᨢ A[p : :r]. ᫨ i 6 k, â® ã¦ë© ¬ í«¥¬¥â «¥¦¨â ¢ «¥¢®© ç á⨠(¬ áᨢ¥ A[p : :q]), ®âªã¤ ¨ ¨§¢«¥ª ¥âáï ¢ १ã«ìâ ⥠(४ãàᨢ®£®) ¢ë§®¢ RandomizedSelect ¢ áâப¥ 6. ᫨ ¦¥ i > k, â® ¢á¥ k í«¥¬¥â®¢ «¥¢®© ç á⨠(A[p : :q]) § ¢¥¤®¬® ¬¥ìè¥ ¨áª®¬®£®, ª®â®àë© ¬®¦® ©â¨ ª ª (i ; k)-© ¯® áçñâã í«¥¬¥â ¬ áᨢ A[q + 1 : :r] (áâப 7). ६ï à ¡®âë «£®à¨â¬ Randomized-Select (á ãçñ⮬ ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãàë Randomized-Partition) ¢ åã¤è¥¬ á«ãç ¥ ¥áâì (n2), ¤ ¦¥ ¥á«¨ ¬ë ¨é¥¬ ¢á¥£® «¨èì ¬¨¨¬ã¬: ¢ á ¬®¬ ¤¥«¥, ¯à¨ ®á®¡®¬ ¥¢¥§¥¨¨ ¬®¦¥â ®ª § âìáï, çâ® ¬ë ¢á¥ ¢à¥¬ï à §¡¨¢ ¥¬ ¬ áᨢ ¢®§«¥ ¨¡®«ì襣® ®á⠢襣®áï í«¥¬¥â . ¤ ª® á«ãç ©ë© ¢ë¡®à £ à â¨àã¥â, çâ® ¤«ï «î¡®£® ¢å®¤ á।¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ ¡ã¤¥â ¥¢¥«¨ª®. ®ª ¦¥¬ íâ®. áᬮâਬ ¤«ï ª ¦¤®© ¨§ ¢®§¬®¦ëå ¯¥à¥áâ ®¢®ª n í«¥¬¥â®¢ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ (á।¥¥ ¯® ¢á¥¬ á«ãç ©ë¬ ¢ë¡®à ¬). ãáâì T (n) | ¬ ªá¨¬ «ì®¥ ¨§ íâ¨å ®¦¨¤ ¨©. ª ¬ë ®â¬¥ç «¨ ¢ à §¤¥«¥ 8.4, ¯®á«¥ ¢ë§®¢ Randomized-Partition «¥¢ ï ç áâì à §¡¨¥¨ï ᮤ¥à¦¨â 1 í«¥¬¥â á ¢¥à®ïâ®áâìî 2=n, ¨ ᮤ¥à¦¨â i > 1 í«¥¬¥â®¢ á ¢¥à®ïâ®áâìî 1=n ¤«ï «î¡®£® i ®â 2 ¤® n ; 1. ®¦® áç¨â âì, çâ® T (n) ¬®®â®® ¢®§à áâ ¥â á à®á⮬ n (¥á«¨ íâ® ¥ â ª, § ¬¥¨¬ T (n) T 0(n) = max16i6n T (i) ¨ ¯®¢â®à¨¬ ¢á¥ à áá㦤¥¨ï ¤«ï T 0). ¬¥â¨¬, çâ® åã¤è¨¬ á«ãç ¥¬ ¡ã¤¥â â®â, ª®£¤ i-© ¯® áçñâã í«¥¬¥â ¯®¯ ¤ ¥â ¢ ¡®«ìèãî ¨§ ¤¢ãå ¯®«®¢¨, ª®â®àë¥ à §¡¨¢ ¥âáï ¬ á- 184 « ¢ 10 ¥¤¨ ë ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ ᨢ. âáî¤ ¨¬¥¥¬: ! nX ;1 T (n) 6 n1 T (max(1; n ; 1)) + T (max(k; n ; k)) + O(n) 0 6 n1 @T (n ; 1) + 2 = n2 nX ;1 k=dn=2e nX ;1 k=1 k=dn=2e 1 T (k)A + O(n) T (k) + O(n) (¬ë á£à㯯¨à®¢ «¨ ®¤¨ ª®¢ë¥ á« £ ¥¬ë¥ ¯à¨ ¯¥à¥å®¤¥ ®â ¯¥à¢®© áâப¨ ª® ¢â®à®© ¨ ®â¡à®á¨«¨ T (n ; 1)=n ¯à¨ ¯¥à¥å®¤¥ ®â ¢â®à®© áâப¨ ª âà¥â쥩, â ª ª ª ¢ åã¤è¥¬ á«ãç ¥ T (n ; 1) = O(n2), ¨ ⥬ á ¬ë¬ á« £ ¥¬®¥ T (n ; 1)=n ¬®¦® ¢ª«îç¨âì ¢ O(n)). ¥¯¥àì ¤®ª ¦¥¬, çâ® T (n) 6 cn, à áá㦤 ï ¯® ¨¤ãªæ¨¨ (ª ª ¢ë¡à âì c, ¬ë ᪠¦¥¬ ¯®á«¥). á ¬®¬ ¤¥«¥, ¯ãáâì ¥à ¢¥á⢮ T (j ) 6 cj ¢¥à® ¤«ï ¢á¥å j < n. ®£¤ , ¨á¯®«ì§ãï ä®à¬ã«ã ¤«ï á㬬ë à¨ä¬¥â¨ç¥áª®© ¯à®£à¥áᨨ, ¯®«ãç ¥¬, çâ® nX ;1 2 T (n) 6 n ck + O(n) k=dn=2e 6 2nc n2 n=2 + 12+ n ; 1 + O(n) = 3cn + O(n) 6 cn; 4 ¥á«¨ ¢ë¡à âì c áâ®«ì ¡®«ì訬, ç⮡ë c=4 ¯à¥¢®á室¨«® ª®áâ âã, ¯®¤à §ã¬¥¢ ¥¬ãî ¢ á« £ ¥¬®¬ O(n). â «® ¡ëâì, «î¡ ï ¯®à浪®¢ ï áâ â¨á⨪ , ¨ ¬¥¤¨ ¢ ⮬ ç¨á«¥, ¬®¦¥â ¡ëâì ©¤¥ § «¨¥©®¥ ¢ á।¥¬ ¢à¥¬ï. ¯à ¦¥¨ï ¯¨è¨â¥ ¢¥àá¨î ¯à®æ¥¤ãàë Randomized-Select, ¥ ¨á¯®«ì§ãîéãî ४ãàᨨ. 10.2-2 ।¯®«®¦¨¬, çâ® ¬ë ¨á¯®«ì§ã¥¬ «£®à¨â¬ RandomizedSelect ¤«ï ¢ë¡®à ¨¬¥ì襣® í«¥¬¥â ¨§ ¬ áᨢ A = h3; 2; 9; 0; 7; 5; 4; 8; 6; 1i. ¯¨è¨â¥ ¯®á«¥¤®¢ ⥫ì®áâì à §¡¨¥¨©, ᮮ⢥âáâ¢ãîéãî åã¤è¥¬ã á«ãç î. 10.2-3 㤥⠫¨ «£®à¨â¬ Randomized-Select ¯à ¢¨«ì® à ¡®â âì, ¥á«¨ ¢ ¬ áᨢ¥ A ¥áâì à ¢ë¥ í«¥¬¥âë (ª ª ¬ë ¯®¬¨¬, ¢ í⮬ á«ãç ¥ ¯à®æ¥¤ãà Randomized-Partition à §¡¨¢ ¥â A[p : :r] 10.2-1 ë¡®à § «¨¥©®¥ ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï 185 ç á⨠A[p : :q] ¨ A[q + 1 : :r] â ª¨¬ ®¡à §®¬, çâ® ¢á直© í«¥¬¥â A[p : :q] ¥ ¯à¥¢®á室¨â ¢á类£® í«¥¬¥â A[q + 1 : :r])? 10.3 ë¡®à § «¨¥©®¥ ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï ¥¯¥àì à áᬮâਬ (¤¥â¥à¬¨¨à®¢ ë©) «£®à¨â¬ Select, à¥è î騩 § ¤ çã ® ¯®à浪®¢ëå áâ â¨á⨪ å § ¢à¥¬ï O(n) ¢ åã¤è¥¬ á«ãç ¥. ª ¨ Randomized-Select, íâ®â «£®à¨â¬ ®á®¢ ¯®á«¥¤®¢ ⥫쮬 à §¡¨¥¨¨ ¬ áᨢ ¬¥ì訥 ç áâ¨; ¢ ¤ ®¬ á«ãç ¥, ®¤ ª®, ¬ë £ à â¨à㥬, çâ® ¢ë¡à ®¥ à §¡¨¥¨¥ ¥ ï¥âáï ¥ã¤ çë¬. «£®à¨â¬ Select ¨á¯®«ì§ã¥â (¤¥â¥à¬¨¨à®¢ ãî) ¯à®æ¥¤ãàã Partition (á¬. ®¯¨á ¨¥ «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ ¢ à §¤. 8.1), ¬®¤¨ä¨æ¨à®¢ ãî â ª¨¬ ®¡à §®¬, ç⮡ë í«¥¬¥â, á ª®â®àë¬ áà ¢¨¢ îâ, § ¤ ¢ «áï ª ª ¯ à ¬¥âà. «£®à¨â¬ Select 室¨â i-© ¯® ¯®à浪ã í«¥¬¥â ¢ ¬ áᨢ¥ à §¬¥à n > 1 á«¥¤ãî騬 ®¡à §®¬: 1. §¡¨âì n í«¥¬¥â®¢ ¬ áᨢ bn=5c £à㯯 ¯® 5 í«¥¬¥â®¢ ¨ (¢®§¬®¦®) ®¤ã £à㯯ã, ¢ ª®â®à®© ¬¥¥¥ ¯ïâ¨ í«¥¬¥â®¢. 2. ©â¨ ¬¥¤¨ ã ª ¦¤®© ¨§ dn=5e £à㯯 (¤«ï 祣® ®âá®àâ¨à®¢ âì £à㯯㠢áâ ¢ª ¬¨). 3. 맢 ¢ (४ãàᨢ®) ¯à®æ¥¤ãàã Select, ©â¨ ç¨á«® x, ïî饥áï ¬¥¤¨ ®© ©¤¥ëå dn=5e ¬¥¤¨ . 4. 맢 ¢ ¬®¤¨ä¨æ¨à®¢ ãî ¯à®æ¥¤ãàã Partition, à §¡¨âì ¬ áᨢ ®â®á¨â¥«ì® ©¤¥®© "¬¥¤¨ ë ¬¥¤¨ ". ãáâì k | ª®«¨ç¥á⢮ í«¥¬¥â®¢ ¢ ¨¦¥© ç á⨠í⮣® à §¡¨¥¨ï (¢ ¢¥à奩 ç áâ¨, áâ «® ¡ëâì, n ; k). 5. 맢 ¢ (४ãàᨢ®) ¯à®æ¥¤ãàã Select, ©â¨ i-ãî ¯®à浪®¢ãî áâ â¨á⨪㠨¦¥© ç áâ¨ à §¡¨¥¨ï, ¥á«¨ i 6 k, ¨«¨ (i ; k)-î ¯®à浪®¢ãî áâ â¨á⨪㠢¥à奩 ç áâ¨ à §¡¨¥¨ï, ¥á«¨ i > k. 楨¬ ¢à¥¬ï à ¡®âë «£®à¨â¬ Select. «ï ç « ¢ëïᨬ, ᪮«ìª® ç¨á¥« § ¢¥¤®¬® ¡ã¤ãâ ¡®«ìè¥ "¬¥¤¨ ë ¬¥¤¨ " x (á¬. à¨á. 10.1). ¥ ¬¥¥¥ ¯®«®¢¨ë ¬¥¤¨ , ©¤¥ëå ¢â®à®¬ è £¥, ¡ã¤ãâ ¡®«ìè¥ ¨«¨ à ¢ë x. â «® ¡ëâì, ¯® ªà ©¥© ¬¥à¥ ¯®«®¢¨ ¨§ dn=5e £à㯯 ¤ áâ ¯® âਠç¨á« , ¡®«ìè¨å x, § ¤¢ã¬ï ¢®§¬®¦ë¬¨ ¨áª«î票ﬨ: £à㯯 , ᮤ¥à¦ é ï x, ¨ ¯®á«¥¤ïï ¥¯®« ï £à㯯 . ¥¬ á ¬ë¬ ¨¬¥¥âáï ¥ ¬¥¥¥ l m 1 n 3 ; 2 > 3n ; 6: 2 5 10 í«¥¬¥â®¢, § ¢¥¤®¬® ¡®«ìè¨å x, ¨ â®ç® â ª ¦¥ ¯®«ãç ¥¬, çâ® ¨¬¥¥âáï ¥ ¬¥¥¥ 3n=10 ; 6 í«¥¬¥â®¢, § ¢¥¤®¬® ¬¥ìè¨å x. ç¨â, «£®à¨â¬ Select, ४ãàᨢ® ¢ë§ë¢ ¥¬ë© ¯ï⮬ è £¥, ¡ã¤¥â ®¡à ¡ âë¢ âì ¬ áᨢ ¤«¨®© ¥ ¡®«¥¥ 7n=10 + 6. 186 « ¢ 10 ¥¤¨ ë ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ 10.1 «¨§ «£®à¨â¬ Select. «¥¬¥âë ¬ áᨢ (¨å n) ¨§®¡à ¦¥ë ªà㦪 ¬¨, ª ¦¤ë© á⮫¡¥æ | £à㯯 ¨§ 5 ¨«¨ ¬¥ìè¥ í«¥¬¥â®¢, ¡¥«ë¥ ªà㦪¨ | ¬¥¤¨ ë £à㯯. "¥¤¨ ¬¥¤¨ " ®¡®§ ç¥ ¡ãª¢®© x. â५ª¨ ¨¤ã⠮⠡®«ìè¨å ç¨á¥« ª ¬¥ì訬. ¨¤®, çâ® ¢ ª ¦¤®¬ ¨§ ¯®«ëå á⮫¡æ®¢ ¯à ¢¥¥ x ¨¬¥¥âáï âਠç¨á« , ¡®«ìè¨å x, ¨ çâ® ¢ ª ¦¤®¬ ¨§ á⮫¡æ®¢ «¥¢¥¥ x ¨¬¥¥âáï âਠç¨á« , ¬¥ìè¨å x. ®¦¥á⢮ ç¨á¥«, § ¢¥¤®¬® ¡®«ìè¨å x, ¢ë¤¥«¥® á¥àë¬. ¨á㮪 ãáâì ⥯¥àì T (n) | ¢à¥¬ï à ¡®âë «£®à¨â¬ Select ¬ áᨢ¥ ¨§ n í«¥¬¥â®¢ ¢ åã¤è¥¬ á«ãç ¥. ¥à¢ë©, ¢â®à®© ¨ ç¥â¢¥àâë© è £¨ ¢ë¯®«ïîâáï § ¢à¥¬ï O(n) ( ¢â®à®¬ è £¥ ¬ë O(n) à § á®àâ¨à㥬 ¬ áᨢë à §¬¥à®¬ O(1)), âà¥â¨© è £ ¢ë¯®«ï¥âáï § ¢à¥¬ï ¥ ¡®«¥¥ T (dn=5e), ¯ïâë© è £, ¯® ¤®ª § ®¬ã, | § ¢à¥¬ï, ¥ ¯à¥¢®á室ï饥 T (b7n=10+6c) (ª ª ¨ à ìè¥, ¬®¦® ¯à¥¤¯®« £ âì, çâ® T (n) ¬®®â®® ¢®§à áâ ¥â á à®á⮬ n). â «® ¡ëâì, T (n) 6 T (dn=5e) + T (b7n=10 + 6c) + O(n): ®áª®«ìªã á㬬 ª®íää¨æ¨¥â®¢ ¯à¨ n ¢ ¯à ¢®© ç á⨠(1=5+7=10 = 9=10) ¬¥ìè¥ ¥¤¨¨æë, ¨§ í⮣® ४ãàà¥â®£® á®®â®è¥¨ï ¢ë⥪ ¥â, çâ® T (n) 6 cn ¤«ï ¥ª®â®à®© ª®áâ âë c. â® ¬®¦® ¤®ª § âì ¯® ¨¤ãªæ¨¨. á ¬®¬ ¤¥«¥, ¯à¥¤¯®« £ ï, çâ® T (m) 6 cm ¤«ï ¢á¥å m < n, ¨¬¥¥¬ T (n) 6 c(dn=5e) + c(b7n=10 + 6c) + O(n) 6 c(n=5 + 1) + c(7n=10 + 6) + O(n) 6 9cn=10 + 7c + O(n) = = cn ; c(n=10 ; 7) + O(n): ਠ¯®¤å®¤ï饬 ¢ë¡®à¥ c íâ® ¢ëà ¦¥¨¥ ¡ã¤¥â ¥ ¡®«ìè¥ cn ¯à¨ ¢á¥å n > 70 ( ¤®, ç⮡ë c(n=10 ; 6) ¯à¥¢®á室¨«® ª®íää¨æ¨¥â, ¯®¤à §ã¬¥¢ ¥¬ë© ¢ O(n)). ª¨¬ ®¡à §®¬, ¨¤ãªâ¨¢ë© ¯¥à¥å®¤ ¢®§¬®¦¥ ¯à¨ n > 70 (§ ¬¥â¨¬ ¥éñ, çâ® ¯à¨ â ª¨å n ¢ëà ¦¥¨ï dn=5e ¨ b7n=10 + 6c ¬¥ìè¥ n). ¢¥«¨ç¨¢ c ¥éñ (¥á«¨ ¤®), ¬®¦® ¤®¡¨âìáï ⮣®, ç⮡ë T (n) ¥ ¯à¥¢®á室¨«® cn ¨ ¯à¨ ¢á¥å n 6 70, çâ® § ¢¥àè ¥â à áá㦤¥¨¥ ¯® ¨¤ãªæ¨¨. â «® ¡ëâì, «£®à¨â¬ Select à ¡®â ¥â § «¨¥©®¥ ¢à¥¬ï (¢ åã¤è¥¬ á«ãç ¥). ë¡®à § «¨¥©®¥ ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï 187 ⬥⨬, çâ® «£®à¨â¬ë Select ¨ Randomized-Select, ¢ ®â«¨ç¨¥ ®â ®¯¨á ëå ¢ £« ¢¥ 9 «£®à¨â¬®¢ á®àâ¨à®¢ª¨ § «¨¥©®¥ ¢à¥¬ï, ¨á¯®«ì§ãîâ ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï í«¥¬¥â®¢ ¬ áᨢ ¨ ¯à¨¬¥¨¬ë ¤«ï ¯à®¨§¢®«ì®£® 㯮à冷祮£® ¬®¦¥á⢠. ⨠«£®à¨â¬ë ᨬ¯â®â¨ç¥áª¨ íä䥪⨢¥¥ ®ç¥¢¨¤®£® ¯®¤å®¤ "㯮àï¤®ç¨ ¬®¦¥á⢮ ¨ ¢ë¡¥à¨ ã¦ë© í«¥¬¥â", ¯®áª®«ìªã ¢á直© «£®à¨â¬ á®àâ¨à®¢ª¨, ¨á¯®«ì§ãî騩 ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï, âॡã¥â ¢à¥¬¥¨ (n lg n) ¥ ⮫쪮 ¢ åã¤è¥¬ á«ãç ¥ (à §¤¥« 9.1), ® ¨ ¢ á।¥¬ (§ ¤ ç 9-1). ¯à ¦¥¨ï 10.3-1 㤥⠫¨ «£®à¨â¬ Select à ¡®â âì § «¨¥©®¥ ¢à¥¬ï, ¥á«¨ à §¡¨¢ âì ¬ áᨢ £àã¯¯ë ¥ ¨§ ¯ïâ¨, ¨§ ᥬ¨ í«¥¬¥â®¢? ®ª ¦¨â¥, çâ® ¤«ï £à㯯 ¨§ âàñå í«¥¬¥â®¢ à áá㦤¥¨¥ ¥ ¯à®å®¤¨â. 10.3-2 ãáâì x | "¬¥¤¨ ¬¥¤¨ " ¢ «£®à¨â¬¥ Select (¬ áᨢ ᮤ¥à¦¨â n í«¥¬¥â®¢). ®ª ¦¨â¥, çâ® ¯à¨ n > 38 ª®«¨ç¥á⢮ í«¥¬¥â®¢, ¡®«ìè¨å x (â ª ¦¥ ª ª ¨ ª®«¨ç¥á⢮ í«¥¬¥â®¢, ¬¥ìè¨å x) ¥ ¬¥ìè¥ dn=4e. 10.3-3 ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ â ª, çâ®¡ë ® à ¡®â « § ¢à¥¬ï O(n lg n) ¢ åã¤è¥¬ á«ãç ¥. 10.3-4? ãáâì «£®à¨â¬ ¢ë¡®à i-£® ¯® áçñâã í«¥¬¥â ¨á¯®«ì§ã¥â ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï. ®ª ¦¨â¥, çâ® á ¯®¬®éìî â¥å ¦¥ áà ¢¥¨© ¬®¦® ¢ ª ç¥á⢥ ¯®¡®ç®£® १ã«ìâ â ¯®«ãç¨âì ᯨ᪨ í«¥¬¥â®¢, ¬¥ìè¨å ¨áª®¬®£®, â ª¦¥ ¡®«ìè¨å ¨áª®¬®£®. 10.3-5 ãáâì ã á ¥áâì ª ª®©-â® «£®à¨â¬, 室ï騩 ¬¥¤¨ ã § «¨¥©®¥ ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï. ᯮ«ì§ãï ¥£® ¢ ª ç¥á⢥ ¯®¤¯à®£à ¬¬ë, à §à ¡®â ©â¥ ¯à®á⮩ «£®à¨â¬, à¥è î騩 § ¤ çã 宦¤¥¨ï ¯à®¨§¢®«ì®© ¯®à浪®¢®© áâ â¨á⨪¨ § «¨¥©®¥ ¢à¥¬ï. 10.3-6 ®¤ k-ª¢ ⨫ﬨ (k-th quantiles) ¬®¦¥á⢠¨§ n ç¨á¥« ¬ë ¯®¨¬ ¥¬ k ; 1 ¥£® í«¥¬¥â®¢, ®¡« ¤ îé¨å á«¥¤ãî騬 ᢮©á⢮¬: ¥á«¨ à ᯮ«®¦¨âì í«¥¬¥âë ¬®¦¥á⢠¢ ¯®à浪¥ ¢®§à áâ ¨ï, â® ª¢ ⨫¨ ¡ã¤ãâ à §¡¨¢ âì ¬®¦¥á⢮ k à ¢ëå (â®ç¥¥, ®â«¨ç îé¨åáï ¥ ¡®«¥¥ 祬 ®¤¨ í«¥¬¥â) ç á⥩. §à ¡®â ©â¥ «£®à¨â¬, ª®â®àë© § ¢à¥¬ï O(n lg k) 室¨â k-ª¢ ⨫¨ ¤ ®£® ¬®¦¥á⢠. 10.3-7 §à ¡®â ©â¥ «£®à¨â¬, ª®â®àë© ¯® § ¤ ®¬ã k 室¨â ¢ ¤ ®¬ ¬®¦¥á⢥ S ¥£® k í«¥¬¥â®¢, ¬¥¥¥ ¢á¥£® ®âáâ®ïé¨å ®â ¬¥¤¨ ë. ¨á«® ®¯¥à 権 ¤®«¦® ¡ëâì O(jS j). 188 « ¢ 10 ¥¤¨ ë ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ ¨á㮪 10.2 ª ¯à®¢¥áâ¨ á ¢®á⮪ § ¯ ¤ ¬ £¨áâà «ì, ç⮡ë á㬬 à ï ¤«¨ ¯®¤¢®¤ïé¨å âàã¡®¯à®¢®¤®¢ ¡ë« ¬¨¨¬ «ì ? ãáâì X [1 : :n] ¨ Y [1 : :n] | ¤¢ ¢®§à áâ îé¨å ¬ áᨢ . §à ¡®â ©â¥ «£®à¨â¬, 室ï騩 § ¢à¥¬ï O(lg n) ¬¥¤¨ ã ¬®¦¥á⢠, ¯®«ã祮£® ®¡ê¥¤¨¥¨¥¬ í«¥¬¥â®¢ íâ¨å ¬ áᨢ®¢. 10.3-9 à®ä¥áá®à ª®áã«ìâ¨àã¥â ¥äâïãî ª®¬¯ ¨î, ª®â®à®© âॡã¥âáï ¯à®¢¥á⨠¬ £¨áâà «ìë© ¥ä⥯஢®¤ ¢ ¯à ¢«¥¨¨ áâண® á § ¯ ¤ ¢®á⮪ ç¥à¥§ ¥ä⥮ᮥ ¯®«¥, ª®â®à®¬ à ᯮ«®¦¥ë n ¥äâïëå ᪢ ¦¨. â ª ¦¤®© ᪢ ¦¨ë ¥®¡å®¤¨¬® ¯®¤¢¥á⨠ª ¬ £¨áâà «¨ âàã¡®¯à®¢®¤ ¯® ªà âç ©è¥¬ã ¯ã⨠(áâண® ᥢ¥à ¨«¨ î£, à¨á. 10.2). ®®à¤¨ âë ¢á¥å ᪢ ¦¨ ¯à®ä¥áá®àã ¨§¢¥áâë; ¥®¡å®¤¨¬® ¢ë¡à âì ¬¥á⮯®«®¦¥¨¥ ¬ £¨áâà «¨, ç⮡ë á㬬 ¤«¨ ¢á¥å âàã¡®¯à®¢®¤®¢, ¢¥¤ãé¨å ®â ᪢ ¦¨ ª ¬ £¨áâà «¨, ¡ë« ¬¨¨¬ «ì . ®ª ¦¨â¥, çâ® ®¯â¨¬ «ì®¥ ¬¥áâ® ¤«ï ¬ £¨áâà «¨ ¬®¦® ©â¨ § «¨¥©®¥ ¢à¥¬ï. 10.3-8 ¤ ç¨ 10-1 ®àâ¨à®¢ª i ¨¡®«ìè¨å í«¥¬¥â®¢ ® ¬®¦¥á⢮ ¨§ n ç¨á¥«; âॡã¥âáï ¢ë¡à âì ¨§ ¨å i ¨¡®«ìè¨å ¨ ®âá®àâ¨à®¢ âì (¯®«ì§ãïáì ⮫쪮 ¯®¯ à묨 áà ¢¥¨ï¬¨). «ï ª ¦¤®£® ¨§ ¯à¨¢¥¤¥ëå ¨¦¥ ¯®¤å®¤®¢ à §à ¡®â ©â¥ ᮮ⢥âáâ¢ãî騩 «£®à¨â¬ ¨ ¢ëïá¨â¥, ª ª § ¢¨á¨â ®â n ¨ i ¢à¥¬ï à ¡®âë íâ¨å «£®à¨â¬®¢ ¢ åã¤è¥¬ á«ãç ¥. âá®àâ¨à®¢ âì ¢á¥ ç¨á« ¨ ¢ë¯¨á âì i ¨¡®«ìè¨å. ¡ ®¬¥áâ¨âì ç¨á« ¢ ®ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨ ¨ ¢ë§¢ âì i à § ¯à®æ¥¤ãàã Extract-Max. ¤ ç¨ ª £« ¢¥ 10 189 ¢ ©â¨ á ¯®¬®éìî «£®à¨â¬ à §¤¥« 10.3 i-¥ ¯® ¢¥«¨ç¨¥ ç¨á«® (áç¨â ï ®â ¨¡®«ì襣®), à §¡¨âì ¬ áᨢ ®â®á¨â¥«ì® ¥£® ¨ ®âá®àâ¨à®¢ âì i ¨¡®«ìè¨å ç¨á¥«. 10-2 §¢¥è¥ ï ¬¥¤¨ ãáâì ¤ ® n à §«¨çëå ç¨á¥« x1; : : :; xn, ¨ ¯ãáâì ª ¦¤®¬ã xi ᮯ®áâ ¢«¥® ¯®«®¦¨â¥«ì®¥ ç¨á«® ("¢¥á") wi, ¯à¨çñ¬ á㬬 ¢á¥å ¢¥á®¢ à ¢ 1. §¢¥è¥®© ¬¥¤¨ ®© (weighted median) §ë¢ ¥âáï â ª®¥ ç¨á«® xk , çâ® X xi <xk wi 6 21 ¨ X xi >xk wi 6 12 : ®ª ¦¨â¥, çâ® ¥á«¨ ¢á¥ ¢¥á à ¢ë 1=n, â® ¢§¢¥è¥ ï ¬¥¤¨ ᮢ¯ ¤ ¥â á ®¡ë箩. ¡ ª ©â¨ ¢§¢¥è¥ãî ¬¥¤¨ ã n ç¨á¥« á ¯®¬®éìî á®àâ¨à®¢ª¨ § ¢à¥¬ï O(n lg n) ¢ åã¤è¥¬ á«ãç ¥? ¢ ª ¬®¤¨ä¨æ¨à®¢ âì «£®à¨â¬ Select (à §¤¥« 10.3), çâ®¡ë ® ¨áª « ¢§¢¥è¥ãî ¬¥¤¨ ã § ¢à¥¬ï (n) ¢ åã¤è¥¬ á«ãç ¥? ¤ ç ® ¢ë¡®à¥ ¬¥áâ ¤«ï ¯®çâë (post-oce location problem) á®á⮨⠢ á«¥¤ãî饬. ® n â®ç¥ª p1; : : :; pn ¨ n ¯®«®¦¨â¥«ìëå ¢¥á®¢ w1; : : :; wn; âॡã¥âáï ©â¨ â®çªã p (¥ ®¡ï§ â¥«ì® á®¢¯ ¤ îéãî á ®¤®© ¨§ pi), ¤«ï ª®â®à®© ¢ëà ¦¥¨¥ Pni=1 wid(p; pi) ¡ã¤¥â ¬¨¨¬ «ì® (ç¥à¥§ d(a; b) ®¡®§ ç ¥âáï à ááâ®ï¨¥ ¬¥¦¤ã â®çª ¬¨ a ¨ b). ¤ ®ª ¦¨â¥, çâ® ¢ ®¤®¬¥à®¬ á«ãç ¥ (â®çª¨ | ¢¥é¥áâ¢¥ë¥ ç¨á« , d(a; b) = ja ; bj) ¢§¢¥è¥ ï ¬¥¤¨ ¡ã¤¥â à¥è¥¨¥¬ í⮩ § ¤ ç¨. ¥ ©¤¨â¥ ®¯â¨¬ «ì®¥ à¥è¥¨¥ ¢ ¤¢ã¬¥à®¬ á«ãç ¥ (â®çª¨ | ¯ àë ¢¥é¥á⢥ëå ç¨á¥«), ¥á«¨ à ááâ®ï¨¥ ¬¥¦¤ã â®çª ¬¨ a = (x1; y1) ¨ b = (x2; y2) § ¤ ¥âáï "¢ L1-¬¥âਪ¥": d(a; b) = jx1 ; x2j + jy1 ; y2 j ( ¬¥à¨ª æë §ë¢ îâ â ªãî ¬¥âਪã Manhattan distance, ¯® §¢ ¨î à ©® ìî-®àª , à §¡¨â®£® ã«¨æ ¬¨ ¯àאַ㣮«ìë¥ ª¢ àâ «ë) 10-3 宦¤¥¨¥ i-£® ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¯à¨ ¬ «ëå i ãáâì T (n) | ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Select, ¯à¨¬¥¥®© ª ¬ áᨢ㠨§ n ç¨á¥«; ¢ åã¤è¥¬ á«ãç ¥ T (n) = (n), ® ª®íää¨æ¨¥â ¯à¨ n, ¯®¤à §ã¬¥¢ ¥¬ë© ¢ í⮬ ®¡®§ 票¨, ¤®¢®«ì® ¢¥«¨ª. ᫨ i ¬ «® ¯® áà ¢¥¨î á n, â® ®â®¡à âì i-ë© ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¬®¦® ¡ëáâ॥. 190 « ¢ 10 ¥¤¨ ë ¨ ¯®à浪®¢ë¥ áâ â¨á⨪¨ ¯¨è¨â¥ «£®à¨â¬, ª®â®àë© å®¤¨â i-© ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¢ ¬®¦¥á⢥ ¨§ n ç¨á¥«, ¤¥« ï Ui(n) áà ¢¥¨©, ¯à¨çñ¬ ( Ui(n) = T (n ) ¥á«¨ n 6 2i, n=2 + Ui(bn=2c) + T (2i + 1) ¨ ç¥. (ª § ¨¥: ᤥ« ©â¥ bn=2c ¯®¯ àëå áà ¢¥¨© ¨ ®â¡¥à¨â¥ i ¨¬¥ìè¨å á।¨ ¬¥ìè¨å í«¥¬¥â®¢ ¯ à.) ¡ ®ª ¦¨â¥, çâ® Ui (n) = n + O(T (2i) log(n=i)). ¢ ®ª ¦¨â¥, çâ®, ¯à¨ ¯®áâ®ï®¬ i, ¨¬¥¥¬ Ui (n) = n + O(lg n). [ ¦¥ ®æ¥ª ¯®«ãç¨âáï, ¥á«¨ ¯®áâநâì ªãçã ¨§ £« ¢ë 7, § ⥬ i à § ¢ë¡à âì ¨§ ¥ñ ¬¨¨¬ «ìë© í«¥¬¥â.] £ ãáâì i = n=k, ¯à¨çñ¬ k > 2; ¯®ª ¦¨â¥, çâ® Ui (n) = n + O(T (2n=k) lg k). ¬¥ç ¨ï «£®à¨â¬ ¤«ï 宦¤¥¨ï ¬¥¤¨ ë § «¨¥©®¥ ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï ¯à¥¤«®¦¨«¨ «î¬, «®©¤, à ââ, ¨¢¥áâ ¨ àìï [29]. ¥à®ïâ®áâë© «£®à¨â¬ á «¨¥©ë¬ á।¨¬ ¢à¥¬¥¥¬ à ¡®âë ¯à¨ ¤«¥¦¨â ® àã [97]. «®©¤ ¨ ¨¢¥áâ [70] à §à ¡®â «¨ ãᮢ¥àè¥á⢮¢ ãî ¢¥àá¨î í⮣® «£®à¨â¬ , ¢ ª®â®à®© £à ¨æ à §¡¨¥¨ï ®¯à¥¤¥«ï¥âáï ¯® ¥¡®«ì让 á«ãç ©®© ¢ë¡®àª¥. III âàãªâãàë ¤ ëå ¢¥¤¥¨¥ ¯à®£à ¬¬¨à®¢ ¨¨ ç áâ® ¯à¨å®¤¨âáï ¨¬¥âì ¤¥«® á ¬®¦¥á⢠¬¨, ¬¥ïî騬¨áï ¢ ¯à®æ¥áᥠ¢ë¯®«¥¨ï «£®à¨â¬ . á«¥¤ãîé¨å ¯ï⨠£« ¢ å ¬ë à áᬮâਬ áâàãªâãàë ¤ ëå, ¯à¥¤ § ç¥ë¥ ¤«ï åà ¥¨ï ¨§¬¥ïîé¨åáï (¤¨ ¬¨ç¥áª¨å, ¯®- £«¨©áª¨ dynamic) ¬®¦¥áâ¢. §ë¥ «£®à¨â¬ë ¨á¯®«ì§ãîâ à §ë¥ ®¯¥à 樨. ¥à¥¤ª®, ¯à¨¬¥à, âॡã¥âáï «¨èì ¤®¡ ¢«ïâì ¨ 㤠«ïâì í«¥¬¥âë ¢ ¬®¦¥á⢮, â ª¦¥ ¯à®¢¥àïâì, ¯à¨ ¤«¥¦¨â «¨ ¬®¦¥áâ¢ã ¤ ë© í«¥¬¥â. âàãªâãà ¤ ëå, ¯®¤¤¥à¦¨¢ îé ï â ª¨¥ ®¯¥à 樨, §ë¢ ¥âáï á«®¢ àñ¬ (dictionary). ¤à㣨å á¨âã æ¨ïå ¬®£ãâ ¯® ¤®¡¨âìáï ¡®«¥¥ á«®¦ë¥ ®¯¥à 樨. ¯à¨¬¥à, ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨, ® ª®â®àëå è« à¥çì ¢ £« ¢¥ 7 ¢ á¢ï§¨ á ªãç ¬¨, à §à¥è î⠢롨à âì ¨ 㤠«ïâì ¨¬¥ì訩 í«¥¬¥â (¯®¬¨¬® ¤®¡ ¢«¥¨ï í«¥¬¥â®¢). ®ïâ®, çâ® ¢ë¡®à ॠ«¨§ 樨 ¤¨ ¬¨ç¥áª®£® ¬®¦¥á⢠§ ¢¨á¨â ®â ⮣®, ª ª¨¥ ®¯¥à 樨 á ¨¬ ¬ ¯®âॡãîâáï. «¥¬¥âë ¬®¦¥á⢠¡ëç® í«¥¬¥â ¤¨ ¬¨ç¥áª®£® ¬®¦¥á⢠| íâ® § ¯¨áì, ᮤ¥à¦ é ï à §«¨çë¥ ¯®«ï. áâ® ®¤® ¨§ ¯®«¥© à áᬠâਢ ¥âáï ª ª ª«îç (key), ¯à¥¤ § ç¥ë© ¤«ï ¨¤¥â¨ä¨ª 樨 í«¥¬¥â , ®áâ «ìë¥ ¯®«ï | ª ª ¤®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï (satellite data), åà ïé ïáï ¢¬¥áâ¥ á ª«î箬. «¥¬¥â ¬®¦¥á⢠¨é¥âáï ¯® ª«îçã; ª®£¤ í«¥¬¥â, ¬ë ¬®¦¥¬ ¯à®ç¥áâì ¨«¨ ¨§¬¥¨âì ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î, ¨¬¥îéãîáï ¢ í⮬ í«¥¬¥â¥. ® ¬®£¨å á«ãç ïå ¢á¥ ª«îç¨ à §«¨çë, ¨ ⮣¤ ¬®¦¥á⢮ ¬®¦® à áᬠâਢ âì ª ª äãªæ¨î, ª®â®à ï á ª ¦¤ë¬ (áãé¥áâ¢ãî騬) ª«î箬 ᮯ®áâ ¢«ï¥â ¥ª®â®àãî ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î. ®£¨¥ ᯮᮡë ॠ«¨§ 樨 ¬®¦¥á⢠âॡãîâ, çâ®¡ë ¢¬¥áâ¥ á ª ¦¤ë¬ ª«î箬 åà ¨«¨áì ¥ ⮫쪮 ¤®¯®«¨â¥«ìë¥ ¤ ë¥, ® ¨ 194 áâì III âàãªâãàë ¤ ëå ¥ª®â®à ï á«ã¦¥¡ ï ¨ä®à¬ æ¨ï ( ¯à¨¬¥à, 㪠§ ⥫¨ ¤à㣨¥ í«¥¬¥âë ¬®¦¥á⢠) áâ® ¬®¦¥á⢥ ª«î祩 ¨¬¥¥âáï ¥áâ¥áâ¢¥ë© «¨¥©ë© ¯®à冷ª ( ¯à¨¬¥à, ª«îç¨ ¬®£ãâ ¡ëâì ¤¥©á⢨⥫ì묨 ç¨á« ¬¨ ¨«¨ á«®¢ ¬¨, ª®â®àëå ¥áâì «¥ªá¨ª®£à ä¨ç¥áª¨© ¯®à冷ª). í⮬ á«ãç ¥ ¬®¦® £®¢®à¨âì, ¯à¨¬¥à, ® ¨¬¥ì襬 í«¥¬¥â¥ ¬®¦¥á⢠¨«¨ ®¡ í«¥¬¥â¥, ¥¯®á।á⢥® á«¥¤ãî饬 § ¤ ë¬. ë ¯à¥¤¯®« £ ¥¬, çâ® í«¥¬¥âë ¬®¦¥á⢠åà ïâáï ¢ ¥ª®â®à®© ®¡é¥© ®¡« á⨠¯ ¬ï⨠¨ ¤«ï ª ¦¤®£® ¨¬¥¥âáï 㪠§ ⥫ì, ª®â®àë© ¯®§¢®«ï¥â ¯®«ãç¨âì ¤®áâ㯠ª í⮬ã í«¥¬¥âã. ¡ëç® ¢ ª ç¥á⢥ 㪠§ â¥«ï ¢ëáâ㯠¥â ¯à®áâ® ¤à¥á ¢ ¯ ¬ïâ¨; ¥á«¨ ï§ëª ¯à®£à ¬¬¨à®¢ ¨ï í⮣® ¥ ¯à¥¤ãᬠâਢ ¥â, 㪠§ ⥫¥¬ ¬®¦¥â ¡ëâì ¨¤¥ªá ¢ ¬ áᨢ¥. ¯¥à 樨 ¤ ¬®¦¥á⢠¬¨ ¯¥à 樨 ¤ ¬®¦¥á⢠¬¨ ¤¥«ïâáï § ¯à®áë (queries), ª®â®àë¥ ¥ ¬¥ïîâ ¬®¦¥á⢠, ¨ ®¯¥à 樨, ¬¥ïî騥 ¬®¦¥á⢮ (modifying operations). ¨¯¨çë¥ ®¯¥à 樨 á ¬®¦¥á⢠¬¨ â ª®¢ë: Search(S; k) (¯®¨áª). ¯à®á, ª®â®àë© ¯® ¤ ®¬ã ¬®¦¥áâ¢ã S ¨ ª«îçã k ¢®§¢à é ¥â 㪠§ ⥫ì í«¥¬¥â ¬®¦¥á⢠S á ª«î箬 k. ᫨ â ª®£® í«¥¬¥â ¢ ¬®¦¥á⢥ S ¥â, ¢®§¢à é ¥âáï nil. Insert(S; x) ¤®¡ ¢«ï¥â ª ¬®¦¥áâ¢ã S í«¥¬¥â, ª®â®àë© ãª §ë¢ ¥â 㪠§ ⥫ì x (¯®¤à §ã¬¥¢ ¥âáï, çâ® ª í⮬㠬®¬¥â㠢ᥠ¯®«ï ¢ § ¯¨á¨, ª®â®àãî 㪠§ë¢ ¥â x, 㦥 § ¯®«¥ë). Delete(S; x) 㤠«ï¥â ¨§ ¬®¦¥á⢠S í«¥¬¥â, ª®â®àë© ãª §ë¢ ¥â 㪠§ ⥫ì x (®¡à â¨â¥ ¢¨¬ ¨¥, çâ® x | 㪠§ ⥫ì, ¥ ª«îç). Minimum(S ) ¢ë¤ ñâ 㪠§ ⥫ì í«¥¬¥â ¬®¦¥á⢠S á ¨¬¥ì訬 ª«î箬 (áç¨â ¥¬, çâ® ª«îç¨ «¨¥©® 㯮à冷ç¥ë). Maximum(S ) ¢ë¤ ñâ 㪠§ ⥫ì í«¥¬¥â ¬®¦¥á⢠S á ¨¡®«ì訬 ª«î箬. Successor(S; x) (á«¥¤ãî騩) ¢®§¢à é ¥â 㪠§ ⥫ì í«¥¬¥â ¬®¦¥á⢠S , ¥¯®á।á⢥® á«¥¤ãî騩 § í«¥¬¥â®¬ x (¢ á¬ëá«¥ «¨¥©®£® ¯®à浪 ª«îç å). ᫨ x | ¨¡®«ì訩 í«¥¬¥â, ¢®§¢à é ¥âáï nil. Predecessor(S; x) (¯à¥¤ë¤ã騩) ¢®§¢à é ¥â 㪠§ ⥫ì í«¥¬¥â, ¥¯®á।á⢥® ¯à¥¤è¥áâ¢ãî騩 í«¥¬¥âã x (¥á«¨ x | ¨¬¥ì訩 í«¥¬¥â, ¢®§¢à é ¥âáï nil). ¯à®áë Successor ¨ Predecessor ç áâ® ¨á¯®«ì§ãîâáï ¨ ¯à¨ à ¡®â¥ á ¬®¦¥á⢠¬¨, ¢ ª®â®àëå ª«îç¨ à §«¨çëå í«¥¬¥â®¢ ¬®£ãâ ᮢ¯ ¤ âì. ਠí⮬ à §ã¬ ï ॠ«¨§ æ¨ï £ à â¨àã¥â, çâ® äãªæ¨¨ Successor ¨ Predecessor ®¡à âë, çâ® ç ¢ á Minumum(S ) áâì III âàãªâãàë ¤ ëå 195 ¨ ¯à¨¬¥ïï äãªæ¨î Successor, ¬ë ¯¥à¥ç¨á«¨¬ ¢á¥ í«¥¬¥âë ¬®¦¥á⢠¢ ¥ã¡ë¢ î饬 ¯®à浪¥ ¨ â. ¯. ⮨¬®áâì ®¯¥à 権 ¤ ¬®¦¥á⢠¬¨ ®¡ëç® ®æ¥¨¢ ¥âáï ç¥à¥§ à §¬¥à ¬®¦¥áâ¢, ª ª®â®àë¬ ®¨ ¯à¨¬¥ïîâáï. ¯à¨¬¥à, ¢ £« ¢¥ 14 ¬ë ®¯¨áë¢ ¥¬ áâàãªâãàã ¤ ëå, ª®â®à ï ¯®§¢®«ï¥â ¢ë¯®«¨âì ª ¦¤ãî ¨§ ¯¥à¥ç¨á«¥ëå ®¯¥à 権 § ¢à¥¬ï O(lg n), £¤¥ n | ç¨á«® í«¥¬¥â®¢ ¬®¦¥á⢠. ¡§®à ç á⨠III £« ¢ å 11{15 ¬ë ®¯¨áë¢ ¥¬ à §«¨çë¥ áâàãªâãàë ¤ ëå, ¯à¥¤ § ç¥ë¥ ¤«ï à ¡®âë á ¤¨ ¬¨ç¥áª¨¬¨ ¬®¦¥á⢠¬¨. ¯®¬®éìî íâ¨å áâàãªâãà ¤ ëå ¬®¦® à §à ¡®â âì íää¥ªâ¨¢ë¥ «£®à¨â¬ë ¤«ï à¥è¥¨ï ¬®£¨å à §«¨çëå § ¤ ç. áâ â¨, á ®¤®© ¢ ¦®© áâàãªâãன ¤ ëå (ªã祩) ¬ë 㦥 ¯®§ ª®¬¨«¨áì ¢ £« ¢¥ 7. £« ¢¥ 11 ¬ë à §¡¨à ¥¬ ¯à¨æ¨¯ë à ¡®âë á ¯à®á⥩訬¨ áâàãªâãà ¬¨ ¤ ëå: á⥪ ¬¨, ®ç¥à¥¤ï¬¨, á¢ï§ 묨 ᯨ᪠¬¨ ¨ ª®à¥¢ë¬¨ ¤¥à¥¢ìﬨ. í⮩ ¦¥ £« ¢¥ à á᪠§ë¢ ¥âáï, ª ª ॠ«¨§®¢ âì § ¯¨á¨ ¨ 㪠§ ⥫¨ á ¯®¬®éìî ï§ëª®¢ ¯à®£à ¬¬¨à®¢ ¨ï, ¢ ª®â®àëå ¥â ᮮ⢥âáâ¢ãîé¨å ⨯®¢ ¤ ëå. ®«ìè ï ç áâì ¬ â¥à¨ « í⮩ £« ¢ë á®áâ ¢«ï¥â áâ ¤ àâë© ¬ â¥à¨ « ç «ì®£® ªãàá ¯à®£à ¬¬¨à®¢ ¨ï. £« ¢¥ 12 ¬ë ¯®§ ª®¬¨¬áï á å¥è-â ¡«¨æ ¬¨, ¯®¤¤¥à¦¨¢ î騬¨ ®¯¥à 樨 Insert, Delete ¨ Search. åã¤è¥¬ á«ãç ¥ ¯®¨áª ¢ å¥è-â ¡«¨æ¥ âॡã¥â ¢à¥¬¥¨ (n), ® á।¥¥ ¢à¥¬ï, ¥®¡å®¤¨¬®¥ ¤«ï ¢ë¯®«¥¨ï «î¡®© ¨§ á«®¢ àëå ®¯¥à 権 á å¥è-â ¡«¨æ¥©, á®áâ ¢«ï¥â (¯à¨ ¥ª®â®àëå ¯à¥¤¯®«®¦¥¨ïå) «¨èì O(1). «¨§ å¥è¨à®¢ ¨ï ¨á¯®«ì§ã¥â ⥮à¨î ¢¥à®ïâ®á⥩, ® ¤«ï ¯®¨¬ ¨ï ¡®«ì襩 ç á⨠£« ¢ë § ª®¬á⢮ á í⮩ ⥮ਥ© ¥ ®¡ï§ ⥫ì®. £« ¢¥ 13 ¬ë § ¨¬ ¥¬áï ¤¥à¥¢ìﬨ ¤¢®¨ç®£® ¯®¨áª . ⨠¤¥à¥¢ìï ¯®¤¤¥à¦¨¢ î⠢ᥠ¯¥à¥ç¨á«¥ë¥ ®¯¥à 樨 á ¬®¦¥á⢠¬¨. åã¤è¥¬ á«ãç ¥ á⮨¬®áâì ª ¦¤®© ¨§ ®¯¥à 権 ¥áâì (n), ® ¤«ï á«ãç ©® ¯®áâ஥®£® ¤¥à¥¢ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ í⮩ á⮨¬®á⨠¥áâì O(lg n). ¡ §¥ ¤¥à¥¢ì¥¢ ¤¢®¨ç®£® ¯®¨áª áâà®ïâáï ¬®£¨¥ ¤à㣨¥ áâàãªâãàë ¤ ëå. « ¢ 14 ¯®á¢ïé¥ ªà á®-çñàë¬ ¤¥à¥¢ìï¬. â à §®¢¨¤®áâì ¤¥à¥¢ì¥¢ ¤¢®¨ç®£® ¯®¨áª £ à â¨à®¢ ® à ¡®â ¥â ¡ëáâà®: ¢à¥¬ï ¢ë¯®«¥¨ï ª ¦¤®© ®¯¥à 樨 ¢ åã¤è¥¬ á«ãç ¥ ¥áâì O(lg n). à á®-çñàë¥ ¤¥à¥¢ìï ¯à¥¤áâ ¢«ïîâ ᮡ®© ®¤¨ ¨§ ¢ ਠ⮢ "á¡ « á¨à®¢ ëå" ¤¥à¥¢ì¥¢ ¯®¨áª ; ¤à㣮© ¢ ਠâ (-¤¥à¥¢ìï) ®¡á㦤 ¥âáï ¢ £« ¢¥ 19. «£®à¨â¬ë ¤«ï à ¡®âë á ªà á®-çñà묨 ¤¥à¥¢ìﬨ ãáâà®¥ë ¤®¢®«ì® å¨âà®. ®âï ¤¥â «¨ ¬®¦® ®¯ãáâ¨âì ¯à¨ ¯¥à¢®¬ ç⥨¨, ¨â¥à¥á® ¢ ¨å à §®¡à âìáï. £« ¢¥ 15 ¬ë à áᬠâਢ ¥¬ ¤®¯®«¨â¥«ìë¥ áâàãªâãàë 196 áâì III âàãªâãàë ¤ ëå ªà á®-çñàëå ¤¥à¥¢ìïå, ¯®§¢®«ïî騥 ¢ë¯®«ïâì ¥éñ ¥áª®«ìª® ®¯¥à 権 (¯®à浪®¢ë¥ áâ â¨á⨪¨, ®¯¥à 樨 á ¤¥à¥¢ìﬨ ¯à®¬¥¦ã⪮¢). 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ ¥áª®«ìª® ¯à®áâëå áâàãªâãà ¤ ëå ¤«ï åà ¥¨ï ¬®¦¥áâ¢: á⥪¨, ®ç¥à¥¤¨, ᯨ᪨, ª®à¥¢ë¥ ¤¥à¥¢ìï. ë ¯®ª ¦¥¬, ª ª ¬®¦® ॠ«¨§®¢ âì ¨å á ¯®¬®éìî 㪠§ ⥫¥© ¨«¨ ¬ áᨢ®¢. 11.1 ⥪¨ ¨ ®ç¥à¥¤¨ ⥪¨ ¨ ®ç¥à¥¤¨ | íâ® ¤¨ ¬¨ç¥áª¨¥ ¬®¦¥á⢠, ¢ ª®â®àëå í«¥¬¥â, 㤠«ï¥¬ë© ¨§ ¬®¦¥á⢠®¯¥à 樥© Delete, ¥ § ¤ ñâáï ¯à®¨§¢®«ì®, ®¯à¥¤¥«ï¥âáï áâàãªâãன ¬®¦¥á⢠. ¬¥®, ¨§ á⥪ (stack) ¬®¦® 㤠«¨âì ⮫쪮 â®â í«¥¬¥â, ª®â®àë© ¡ë« ¢ ¥£® ¤®¡ ¢«¥ ¯®á«¥¤¨¬: á⥪ à ¡®â ¥â ¯® ¯à¨æ¨¯ã " ¯®á«¥¤¨¬ ¯à¨èñ« | ¯¥à¢ë¬ ãèñ«" (last-in, rst-out | ᮪à 饮 LIFO). § ®ç¥à¥¤¨ (queue), ¯à®â¨¢, ¬®¦® 㤠«¨âì ⮫쪮 â®â í«¥¬¥â, ª®â®àë© å®¤¨«áï ¢ ®ç¥à¥¤¨ ¤®«ìè¥ ¢á¥£®: à ¡®â ¥â ¯à¨æ¨¯ "¯¥à¢ë¬ ¯à¨èñ« | ¯¥à¢ë¬ ãèñ«" (rst-in, rst-out, ᮪à 饮 FIFO). ãé¥áâ¢ã¥â ¥áª®«ìª® ᯮᮡ®¢ íä䥪⨢® ॠ«¨§®¢ âì á⥪¨ ¨ ®ç¥à¥¤¨. í⮬ à §¤¥«¥ ¬ë à á᪠¦¥¬, ª ª ॠ«¨§®¢ âì ¨å ¡ §¥ ¬ áᨢ . ⥪¨ ¯¥à æ¨ï ¤®¡ ¢«¥¨ï í«¥¬¥â ¢ á⥪ ç áâ® ®¡®§ ç ¥âáï Push, ®¯¥à æ¨ï 㤠«¥¨ï ¢¥à奣® í«¥¬¥â ¨§ á⥪ ç áâ® ®¡®§ ç ¥âáï Pop (push ¢ ¤ ®¬ ª®â¥ªá⥠®§ ç ¥â "§ ¯¨å¨¢ âì", pop | "¢ë¨¬ âì"). ⥪ ¬®¦® 㯮¤®¡¨âì á⮯ª¥ â ५®ª, ¨§ ª®â®à®© ¬®¦® ¢§ïâì ¢¥àåîî ¨ ª®â®àãî ¬®¦® ¯®«®¦¨âì ®¢ãî â ५ªã. [à㣮¥ §¢ ¨¥ á⥪ ¢ àãá᪮© «¨â¥à âãॠ| "¬ £ §¨" | ¯®ïâ® ¢á类¬ã, ªâ® à §¡¨à « ¢â®¬ â « 訪®¢ .] à¨á. 11.1 ¯®ª § ®, ª ª ¬®¦® ॠ«¨§®¢ âì á⥪ ñ¬ª®áâìî ¥ ¡®«¥¥ n í«¥¬¥â®¢ ¡ §¥ ¬ áᨢ S [1 : :n]. àï¤ã á ¬ áᨢ®¬ ¬ë åà ¨¬ ç¨á«® top[S ], ïî饥áï ¨¤¥ªá®¬ ¯®á«¥¤¥£® ¤®¡ ¢«¥®£® ¢ á⥪ í«¥¬¥â . ⥪ á®á⮨⠨§ í«¥¬¥â®¢ S [1 : : top[S ]], £¤¥ S [1] | 198 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ¨á㮪 11.1 ¥ «¨§ æ¨ï á⥪ ¡ §¥ ¬ áᨢ S . ¢¥â«®-á¥àë¥ ª«¥âª¨ § ïâë í«¥¬¥â ¬¨ á⥪ . ( ) ⥪ S ᮤ¥à¦¨â 4 í«¥¬¥â , ¢¥à娩 í«¥¬¥â | ç¨á«® 9. (¡) ®â ¦¥ á⥪ ¯®á«¥ ¢ë¯®«¥¨ï ®¯¥à 権 Push(S; 17) ¨ Push(S; 3). (¢) ⥪ ¯®á«¥ ⮣®, ª ª ®¯¥à æ¨ï Pop(S ) ¢¥àã« § 票¥ 3 (¯®á«¥¤¨© ¤®¡ ¢«¥ë© ¢ á⥪ í«¥¬¥â). ®âï ç¨á«® 3 ¯®-¯à¥¦¥¬ã ¯à¨áãâáâ¢ã¥â ¢ ¬ áᨢ¥ S , ¢ á⥪¥ ¥£® 㦥 ¥â; ¢¥à訥 á⥪ | ç¨á«® 17. ¨¦¨© í«¥¬¥â á⥪ ("¤®") S [top[S ]] | ¢¥à娩 í«¥¬¥â, ¨«¨ ¢¥àè¨ á⥪ . ᫨ top[S ] = 0, â® á⥪ ¯ãáâ (is empty). ᫨ top[S ] = n, â® ¯à¨ ¯®¯ë⪥ ¤®¡ ¢¨âì í«¥¬¥â ¯à®¨á室¨â ¯¥à¥¯®«¥¨¥ (overow), ¯®áª®«ìªã à §¬¥à á⥪ ¢ 襩 ॠ«¨§ 樨 ®£à ¨ç¥ ç¨á«®¬ n. ¨¬¬¥âà¨ç ï á¨âã æ¨ï | ¯®¯ë⪠㤠«¨âì í«¥¬¥â ¨§ ¯ãá⮣® á⥪ | ¯®-àãá᪨ ¨ª ª ¥ §ë¢ ¥âáï ("¥¤®-¯®«¥¨¥"?), ¯® £«¨©áª¨ §ë¢ ¥âáï underow. í⮩ £« ¢¥ ¤«ï ¯à®áâ®âë ¬ë ¥ ¡ã¤¥¬ ®¡à é âì ¢¨¬ ¨¥ ¢®§¬®¦®áâì ¯¥à¥¯®«¥¨ï á⥪ . ¯¥à 樨 á® á⥪®¬ (¯à®¢¥àª ¯ãáâ®âë, ¤®¡ ¢«¥¨¥ í«¥¬¥â , 㤠«¥¨¥ í«¥¬¥â ) § ¯¨áë¢ îâáï â ª: Stack-Empty(S ) 1 if top[S ] = 0 2 3 then return true else return false Push(S; x) 1 top[S ] top[S ] + 1 2 S [top[S ]] x Pop(S ) 1 if Stack-Empty(S ) 2 3 4 then error \underow" else top[S ] top[S ] ; 1 return S [top[S ] + 1] 믮«¥¨¥ ®¯¥à 権 Push ¨ Pop ¯®ª § ® à¨á. 11.1. ¦¤ ï ¨§ âàñå ®¯¥à 権 á® á⥪®¬ ¢ë¯®«ï¥âáï § ¢à¥¬ï O(1). ⥪¨ ¨ ®ç¥à¥¤¨ 199 ç¥à¥¤¨ ¯¥à æ¨î ¤®¡ ¢«¥¨ï í«¥¬¥â ª ®ç¥à¥¤¨ ¬ë ¡ã¤¥¬ ®¡®§ ç âì Enqueue, ®¯¥à æ¨î 㤠«¥¨ï í«¥¬¥â ¨§ ®ç¥à¥¤¨ ¡ã¤¥¬ ®¡®§ ç âì Dequeue. ( ª ¨ ¤«ï á⥪®¢, 㤠«ï¥¬ë© ¨§ ®ç¥à¥¤¨ í«¥¬¥â ®¯à¥¤¥«¥ ®¤®§ ç® ¨ ¯®í⮬ã ï¥âáï ¥ ¯¥à¥¤ ñâáï ¯à®æ¥¤ãॠ¯à®æ¥¤ãॠDequeue, ¢®§¢à é ¥âáï í⮩ ¯à®æ¥¤ãன.) à ¢¨«® §¤¥áì â ª®¥ ¦¥, ª ª ¢ ¦¨¢®© ®ç¥à¥¤¨: ¯¥à¢ë¬ ¯à¨èñ« | ¯¥à¢ë¬ ®¡á«ã¦¥. ( ¥á«¨ è¨ ¯à®£à ¬¬ë ¯à ¢¨«ìë, ¬®¦® ¥ ®¯ á âìáï, çâ® ªâ®-â® ¯à®©¤ñâ ¡¥§ ®ç¥à¥¤¨.) à㣨¬¨ á«®¢ ¬¨, ã ®ç¥à¥¤¨ ¥áâì £®«®¢ (head) ¨ 墮áâ (tail). «¥¬¥â, ¤®¡ ¢«ï¥¬ë© ¢ ®ç¥à¥¤ì, ®ª §ë¢ ¥âáï ¢ ¥ñ 墮áâ¥, ª ª ⮫쪮 çâ® ¯®¤®è¥¤è¨© ¯®ªã¯ ⥫ì; í«¥¬¥â, 㤠«ï¥¬ë© ¨§ ®ç¥à¥¤¨, 室¨âáï ¢ ¥ñ £®«®¢¥, ª ª â®â ¯®ªã¯ ⥫ì, çâ® ®âáâ®ï« ¤®«ìè¥ ¢á¥å. à¨á. 11.2 ¯®ª § ®, ª ª ¬®¦® ॠ«¨§®¢ âì ®ç¥à¥¤ì, ¢¬¥é îéãî ¥ ¡®«¥¥ 祬 n ; 1 í«¥¬¥â, ¡ §¥ ¬ áᨢ Q[1 : :n]. ë åà ¨¬ ç¨á« head[Q] | ¨¤¥ªá £®«®¢ë ®ç¥à¥¤¨, ¨ tail[Q] | ¨¤¥ªá ᢮¡®¤®© ï祩ª¨, ¢ ª®â®àãî ¡ã¤¥â ¯®¬¥éñ á«¥¤ãî騩 ¤®¡ ¢«ï¥¬ë© ª ®ç¥à¥¤¨ í«¥¬¥â. ç¥à¥¤ì á®á⮨⠨§ í«¥¬¥â®¢ ¬ áᨢ , áâ®ïé¨å ¬¥áâ å á ®¬¥à ¬¨ head[Q], head[Q] + 1, : : : , tail[Q] ; 1 (¯®¤à §ã¬¥¢ ¥âáï, çâ® ¬ áᨢ á¢ñàãâ ¢ ª®«ìæ®: § n á«¥¤ã¥â 1). ᫨ head[Q] = tail[Q], â® ®ç¥à¥¤ì ¯ãáâ . ¥à¢® ç «ì® ¨¬¥¥¬ head[Q] = tail[Q] = 1. ᫨ ®ç¥à¥¤ì ¯ãáâ , ¯®¯ë⪠㤠«¨âì í«¥¬¥â ¨§ ¥ñ ¢¥¤ñâ ª ®è¨¡ª¥ (underow); ¥á«¨ head[Q] = tail[Q]+1, â® ®ç¥à¥¤ì ¯®«®áâìî § ¯®«¥ , ¨ ¯®¯ë⪠¤®¡ ¢¨âì ª ¥© í«¥¬¥â ¢ë§®¢¥â ¯¥à¥¯®«¥¨¥ (overow). è¨å ॠ«¨§ æ¨ïå ¯à®æ¥¤ãà Enqueue ¨ Dequeue ¬ë ¨£®à¨à㥬 ¢®§¬®¦®áâì ¯¥à¥¯®«¥¨ï ¨«¨ ¯®¯ë⪨ ¨§êïâ¨ï í«¥¬¥â ¨§ ¯ãá⮩ ®ç¥à¥¤¨ (¢ ã¯à ¦¥¨¨ 11.1-4 ¬ë ¯®¯à®á¨¬ ¢ á ¢¥á⨠¢ ª®¤ ᮮ⢥âáâ¢ãî騥 ¯à®¢¥àª¨). Enqueue(Q; x) 1 Q[tail[Q]] x 2 if tail[Q] = length[Q] 3 then tail[Q] 1 4 else tail[Q] tail[Q] + 1 Dequeue(Q) 1 x Q[head[Q]] 2 if head[Q] = length[Q] 3 then head[Q] 1 4 else head[Q] head[Q] + 1 5 return x ¡®â ¯à®æ¥¤ãà Enqueue ¨ Dequeue ¯®ª § à¨á. 11.2. ¦¤ ï ¨§ íâ¨å ¯à®æ¥¤ãà à ¡®â ¥â § ¢à¥¬ï O(1). 200 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ¨á㮪 11.2 ç¥à¥¤ì, ॠ«¨§®¢ ï ¡ §¥ ¬ áᨢ Q[1 : : n]. ¢¥â«®-á¥àë¥ ª«¥âª¨ § ïâë í«¥¬¥â ¬¨ ®ç¥à¥¤¨. ( ) ®ç¥à¥¤¨ 室ïâáï 5 í«¥¬¥â®¢ (¯®§¨æ¨¨ Q[7 : : 11]). (¡) ç¥à¥¤ì ¯®á«¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãà Enqueue(Q; 17), Enqueue(Q; 3) ¨ Enqueue(Q; 5). (¢) ç¥à¥¤ì ¯®á«¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë Dequeue(Q) (ª®â®à ï ¢®§¢à é ¥â § 票¥ 15). ®¢®© £®«®¢®© ®ç¥à¥¤¨ áâ «® ç¨á«® 6. ¯à ¦¥¨ï 11.1-1 «¥¤ãï ®¡à §æã à¨á. 11.1, ¯®ª ¦¨â¥ à ¡®âã ®¯¥à 権 Push(S; 4), Push(S; 1), Push(S; 3), Pop(S ), Push(S; 8) ¨ Pop(S ) á⥪¥, ॠ«¨§®¢ ®¬ á ¯®¬®éìî ¬ áᨢ S [1 : : 6]. ¥à¢® ç «ì® á⥪ ¯ãáâ. 11.1-2 ª ¡ §¥ ®¤®£® ¬ áᨢ A[1 : :n] ॠ«¨§®¢ âì ¤¢ á⥪ á㬬 ன ¤«¨ë ¥ ¡®«ìè¥ n? ¯¥à 樨 Push ¨ Pop ¤®«¦ë ¢ë¯®«ïâìáï § ¢à¥¬ï O(1). 11.1-3 «¥¤ãï ®¡à §æã à¨á. 11.2, ¯®ª ¦¨â¥ à ¡®âã ®¯¥à 権 Enqueue(Q; 4), Enqueue(Q; 1), Enqueue(Q; 3), Dequeue(Q), Enqueue(Q; 8) ¨ Dequeue(Q) ®ç¥à¥¤¨, ॠ«¨§®¢ ®© á ¯®¬®éìî ¬ áᨢ Q[1 : : 5]. ¥à¢® ç «ì® ®ç¥à¥¤ì ¯ãáâ . 11.1-4 ¥à¥¯¨è¨â¥ ¯à®æ¥¤ãàë Enqueue ¨ Dequeue, ¯à¥¤ãᬮâॢ ¯à®¢¥àª¨ á«ãç © ¯¥à¥¯®«¥¨ï ¨«¨ underow. 11.1-5 ⥪ ¯®§¢®«ï¥â ¤®¡ ¢«ïâì ¨ 㤠«ïâì í«¥¬¥âë ⮫쪮 á ®¤®£® ª®æ . ®ç¥à¥¤ì ¤®¡ ¢«ïâì í«¥¬¥âë ¬®¦® ⮫쪮 á ®¤®£® ª®æ , 㤠«ïâì | ⮫쪮 á ¤à㣮£®. âàãªâãà ¤ ëå, §ë¢ ¥¬ ï ¤¥ª®¬ (deque, ®â double-ended queue | "®ç¥à¥¤ì á ¤¢ã¬ï ª®æ ¬¨"), ¯®§¢®«ï¥â ¤®¡ ¢«ïâì ¨ 㤠«ïâì í«¥¬¥âë á ®¡®¨å ª®æ®¢. ¥ «¨§ã©â¥ ¤¥ª ¡ §¥ ¬ áᨢ â ª¨¬ ®¡à §®¬, çâ®¡ë ®¯¥à - ¢ï§ ë¥ á¯¨áª¨ 201 樨 ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï í«¥¬¥â á ª ¦¤®£® ¨§ ª®æ®¢ § ¨¬ «¨ ¢à¥¬ï O(1). 11.1-6 ¡êïá¨â¥, ª ª ¬®¦® ॠ«¨§®¢ âì ®ç¥à¥¤ì ¡ §¥ ¤¢ãå á⥪®¢. ª®¢® ¢à¥¬ï à ¡®âë ®¯¥à 権 Enqueue ¨ Dequeue ¯à¨ â ª®© ॠ«¨§ 樨? 11.1-7 ¡êïá¨â¥, ª ª ॠ«¨§®¢ âì á⥪ ¡ §¥ ¤¢ãå ®ç¥à¥¤¥©. ª®¢® ¢à¥¬ï à ¡®âë á⥪®¢ëå ®¯¥à 権? 11.2 ¢ï§ ë¥ á¯¨áª¨ á¢ï§ ®¬ ᯨ᪥ (¨«¨ ¯à®á⮠ᯨ᪥; ¯®- £«¨©áª¨ linked list) í«¥¬¥âë «¨¥©® 㯮à冷ç¥ë, ® ¯®à冷ª ®¯à¥¤¥«ï¥âáï ¥ ®¬¥à ¬¨, ª ª ¢ ¬ áᨢ¥, 㪠§ ⥫ﬨ, ¢å®¤ï騬¨ ¢ á®áâ ¢ í«¥¬¥â®¢ ᯨ᪠. ¯¨áª¨ ïîâáï 㤮¡ë¬ ᯮᮡ®¬ ॠ«¨§ 樨 ¤¨ ¬¨ç¥áª¨å ¬®¦¥áâ¢, ¯®§¢®«ïî騬 ॠ«¨§®¢ âì ¢á¥ ®¯¥à 樨, ¯¥à¥ç¨á«¥ë¥ ¢® ¢¢¥¤¥¨¨ ª í⮩ ç á⨠(å®âï ¨ ¥ ¢á¥£¤ íä䥪⨢®). ᫨ ª ¦¤ë© áâ®ï騩 ¢ ®ç¥à¥¤¨ § ¯®¬¨â, ªâ® § ¨¬ á⮨â, ¯®á«¥ 祣® ¢á¥ ¢ ¡¥á¯®à浪¥ à ááï¤ãâáï « ¢®çª¥, ¯®«ãç¨âáï ®¤®áâ®à®¥ á¢ï§ ë© á¯¨á®ª; ¥á«¨ ® § ¯®¬¨â ¥éñ ¨ ¢¯¥à¥¤¨ áâ®ï饣®, ¡ã¤¥â ¤¢ãáâ®à®¥ á¢ï§ ë© á¯¨á®ª. à㣨¬¨ á«®¢ ¬¨, ª ª ¯®ª § ® à¨á. 11.3, í«¥¬¥â ¤¢ãáâ®à®¥ á¢ï§ ®£® ᯨ᪠(doubly linked list) | íâ® § ¯¨áì, ᮤ¥à¦ é ï âਠ¯®«ï: key (ª«îç) ¨ ¤¢ 㪠§ ⥫ï next (á«¥¤ãî騩) ¨ prev (®â previous | ¯à¥¤ë¤ã騩). ®¬¨¬® í⮣®, í«¥¬¥âë ᯨ᪠¬®£ãâ ᮤ¥à¦ âì ¤®¯®«¨â¥«ìë¥ ¤ ë¥. ᫨ x | í«¥¬¥â ᯨ᪠, â® next[x] 㪠§ë¢ ¥â á«¥¤ãî騩 í«¥¬¥â ᯨ᪠, prev[x] | ¯à¥¤è¥áâ¢ãî騩. ᫨ prev[x] = nil, â® ã í«¥¬¥â x ¥â ¯à¥¤è¥áâ¢ãî饣®: íâ® £®«®¢ (head) ᯨ᪠. ᫨ next[x] = nil, â® x | ¯®á«¥¤¨© í«¥¬¥â ᯨ᪠¨«¨, ª ª £®¢®àïâ, ¥£® 墮áâ (tail). ०¤¥ 祬 ¤¢¨£ âìáï ¯® 㪠§ ⥫ï¬, ¤® § âì å®âï ¡ë ®¤¨ í«¥¬¥â ᯨ᪠; ¬ë ¯à¥¤¯®« £ ¥¬, çâ® ¤«ï ᯨ᪠L ¨§¢¥á⥠㪠§ ⥫ì head[L] ¥£® £®«®¢ã. ᫨ head[L] = nil, ⮠ᯨ᮪ ¯ãáâ. à §«¨çëå á¨âã æ¨ïå ¨á¯®«ì§ãîâáï à §ë¥ ¢¨¤ë ᯨ᪮¢. ®¤®áâ®à®¥ á¢ï§ ®¬ (singly linked) ᯨ᪥ ®âáãâáâ¢ãîâ ¯®«ï prev. 㯮à冷祮¬ (sorted) ᯨ᪥ í«¥¬¥âë à ᯮ«®¦¥ë ¢ ¯®à浪¥ ¢®§à áâ ¨ï ª«î祩, â ª çâ® ã £®«®¢ë ᯨ᪠ª«îç ¨¬¥ì訩, ã 墮áâ ᯨ᪠| ¨¡®«ì訩, ¢ ®â«¨ç¨¥ ®â ¥ã¯®à冷祮£® (unsorted) ᯨ᪠. ª®«ì楢®¬ ᯨ᪥ (circular list) ¯®«¥ prev £®«®¢ë ᯨ᪠㪠§ë¢ ¥â 墮áâ ᯨ᪠, ¯®«¥ next 墮áâ ᯨ᪠㪠§ë¢ ¥â £®«®¢ã ᯨ᪠. ᫨ ¨®¥ ¥ ®£®¢®à¥® ®á®¡®, ¯®¤ ᯨ᪮¬ ¬ë ¡ã¤¥¬ ¯®¨¬ âì ¥ã¯®à冷ç¥ë© ¤¢ãáâ®à®¥ á¢ï§ ë© á¯¨á®ª. 202 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ¨á㮪 11.3 ( ) ¢ãáâ®à®¥ á¢ï§ ë© á¯¨á®ª L ᮤ¥à¦¨â ç¨á« 1; 4; 9; 16. ¦¤ë© í«¥¬¥â ᯨ᪠| íâ® § ¯¨áì á ¯®«ï¬¨ ¤«ï ª«îç ¨ 㪠§ ⥫¥© ¯à¥¤ë¤ã騩 ¨ ¯®á«¥¤ãî騩 í«¥¬¥âë (í⨠㪠§ ⥫¨ ¨§®¡à ¦¥ë áâ५ª ¬¨). ¯®«¥ next ã 墮áâ ᯨ᪠¨ ¢ ¯®«¥ prev ã £®«®¢ë ᯨ᪠室¨âáï 㪠§ ⥫ì nil (ª®á ï ç¥àâ à¨á㪥); head[L] 㪠§ë¢ ¥â £®«®¢ã ᯨ᪠. (¡) १ã«ìâ ⥠¢ë¯®«¥¨ï ®¯¥à 樨 List-Insert(L; x), £¤¥ key[x] = 25, ¢ ᯨ᪥ ¯®ï¢¨«áï ®¢ë© í«¥¬¥â á ª«î箬 25; ® áâ « ®¢®© £®«®¢®© ᯨ᪠, ¥£® ¯®«¥ next 㪠§ë¢ ¥â ¡ë¢èãî £®«®¢ã | í«¥¬¥â á ª«î箬 9. (¢) á«¥¤ § í⨬ ¡ë« ¢ë¯®«¥ ®¯¥à æ¨ï List-Delete(L; x), £¤¥ x | 㪠§ ⥫ì í«¥¬¥â á ª«î箬 4. ®¨áª ¢ ᯨ᪥ à®æ¥¤ãà List-Search(L; k) 室¨â ¢ ᯨ᪥ L (á ¯®¬®éìî ¯à®á⮣® «¨¥©®£® ¯®¨áª ) ¯¥à¢ë© í«¥¬¥â, ¨¬¥î騩 ª«îç k. ®ç¥¥ £®¢®àï, ® ¢®§¢à é ¥â 㪠§ ⥫ì íâ®â í«¥¬¥â, ¨«¨ nil, ¥á«¨ í«¥¬¥â á â ª¨¬ ª«î箬 ¢ ᯨ᪥ ¥â. ᫨, ¯à¨¬¥à, L | ᯨ᮪ à¨á. 11.3 , â® ¢ë§®¢ List-Search(L; 4) ¢¥àñâ 㪠§ ⥫ì âà¥â¨© í«¥¬¥â ᯨ᪠, ¢ë§®¢ List-Search(L; 7) ¢¥àñâ nil. List-Search(L; k) 1 x head[L] 2 while x = 6 nil and key[x] =6 k 3 do x next[x] 4 return x ®¨áª ¢ ᯨ᪥ ¨§ n í«¥¬¥â®¢ âॡã¥â ¢ åã¤è¥¬ á«ãç ¥ (ª®£¤ ¯à¨å®¤¨âáï ¯à®á¬ âਢ âì ¢¥áì ᯨ᮪) (n) ®¯¥à 権. ®¡ ¢«¥¨¥ í«¥¬¥â ¢ ᯨ᮪ à®æ¥¤ãà List-Insert ¤®¡ ¢«ï¥â í«¥¬¥â x ª ᯨáªã L, ¯®¬¥é ï ¥£® ¢ £®«®¢ã ᯨ᪠(à¨á. 11.3¡). ¢ï§ ë¥ á¯¨áª¨ 203 List-Insert(L; x) 1 2 3 4 5 next[x] head[L] if head[L] 6= nil then prev[head[L]] head[L] x prev[x] nil x à®æ¥¤ãà List-Insert ¢ë¯®«ï¥âáï § ¢à¥¬ï O(1) (¥ § ¢¨áï饥 ®â ¤«¨ë ᯨ᪠). ¤ «¥¨¥ í«¥¬¥â ¨§ ᯨ᪠à®æ¥¤ãà List-Delete 㤠«ï¥â í«¥¬¥â x ¨§ ᯨ᪠L, ¯à ¢«ïï 㪠§ ⥫¨ "¢ ®¡å®¤" í⮣® í«¥¬¥â . ਠí⮬ ¢ ª ç¥á⢥ à£ã¬¥â ¥© ¯¥à¥¤ ñâáï 㪠§ ⥫ì x. ᫨ § ¤ ª«îç í«¥¬¥â x, â® ¯¥à¥¤ 㤠«¥¨¥¬ ¤® ©â¨ ¥£® 㪠§ ⥫ì á ¯®¬®éìî ¯à®æ¥¤ãàë List-Search. List-Delete(L; x) 1 if prev[x] = 6 nil 2 then next[prev[x]] next[x] 3 else head[L] next[x] 4 if next[x] = 6 nil 5 then prev[next[x]] prev[x] ¤ «¥¨¥ í«¥¬¥â ¨§ ᯨ᪠¯à®¨««îáâà¨à®¢ ® à¨á. 11.3¢. à®æ¥¤ãà List-Delete à ¡®â ¥â § ¢à¥¬ï O(1); ®¤ ª® ¤«ï 㤠«¥¨ï í«¥¬¥â á § ¤ ë¬ ª«î箬 ¥£® ¤® á ç « ©â¨, çâ® ¯®âॡã¥â ¢à¥¬¥¨ (n). ¨ªâ¨¢ë¥ í«¥¬¥âë ᫨ § ¡ëâì ®¡ ®á®¡ëå á¨âã æ¨ïå ª®æ å ᯨ᪠, ¯à®æ¥¤ãàã List-Delete ¬®¦® § ¯¨á âì ᮢᥬ ¯à®áâ®: List-Delete0 (L; x) 1 next[prev[x]] next[x] 2 prev[next[x]] prev[x] ª¨¥ ã¯à®é¥¨ï áâ ãâ § ª®ë¬¨, ¥á«¨ ¤®¡ ¢¨âì ª ᯨáªã L ä¨ªâ¨¢ë© í«¥¬¥â nil[L], ª®â®àë© ¡ã¤¥â ¨¬¥âì ¯®«ï next ¨ prev à ¢¥ á ¯à®ç¨¬¨ í«¥¬¥â ¬¨ ᯨ᪠. â®â í«¥¬¥â ( §ë¢ ¥¬ë© sentinel | ç ᮢ®©) ¥ ¯®§¢®«¨â ¬ ¢ë©â¨ § ¯à¥¤¥«ë ᯨ᪠. ª § â¥«ì ¥£® ¨£à ¥â à®«ì § 票ï nil. ¬ªñ¬ ᯨ᮪ ¢ ª®«ìæ®: ¢ ¯®«ï next[nil[L]] ¨ prev[nil[L]] § ¯¨è¥¬ 㪠§ ⥫¨ £®«®¢ã ¨ 墮áâ ᯨ᪠ᮮ⢥âá⢥®, ¢ ¯®«ï prev ã £®«®¢ë ᯨ᪠¨ next ã 204 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ¨á㮪 11.4 ¯¨á®ª L, ¨á¯®«ì§ãî騩 ä¨ªâ¨¢ë© í«¥¬¥â nil[L] (âñ¬®-á¥àë© ¯àאַ㣮«ì¨ª). ¬¥áâ® head[L] ¨á¯®«ì§ã¥¬ next[nil[L]]. ( ) ãá⮩ ᯨ᮪. (¡) ¯¨á®ª à¨á. 11.3 (í«¥¬¥â á ª«î箬 9 | £®«®¢ , 1 | 墮áâ). (¢) ®â ¦¥ ᯨ᮪ ¯®á«¥ ¯à®æ¥¤ãàë List-Insert0 (L; x), ¥á«¨ key[x] = 25. (£) ®á«¥ 㤠«¥¨ï í«¥¬¥â á ª«î箬 1. ®¢ë© 墮áâ ¨¬¥¥â ª«îç 4. 墮áâ ᯨ᪠§ ¥áñ¬ 㪠§ ⥫¨ nil[L] (à¨á. 11.4). ਠí⮬ next[nil[L]] | 㪠§ â¥«ì £®«®¢ã ᯨ᪠, â ª çâ® âਡãâ head[L] áâ ®¢¨âáï «¨è¨¬. ãá⮩ ᯨ᮪ L ⥯¥àì ¡ã¤¥â ª®«ì殬, ¢ ª®â®à®¬ nil[L] | ¥¤¨áâ¢¥ë© í«¥¬¥â. ¯à®æ¥¤ãॠList-Search 㦮 «¨èì § ¬¥¨âì nil nil[L] ¨ head[L] next[nil[L]]: List-Search0 (L; k) 1 x next[nil[L]] 2 while x = 6 nil[L] and key[x] =6 k 3 do x next[x] 4 return x «ï 㤠«¥¨ï í«¥¬¥â £®¤¨âáï ¯à®æ¥¤ãà List-Delete0, ¯à¨¢¥¤ñ ï ¢ëè¥. ª®¥æ, ¤®¡ ¢«ïâì í«¥¬¥â ª ᯨáªã ¬®¦® â ª: List-Insert0 (L; x) 1 next[x] next[nil[L]] 2 prev[next[nil[L]]] x 3 next[nil[L]] x 4 prev[x] nil[L] ਬ¥à à ¡®âë ¯à®æ¥¤ãà List-Insert0 ¨ List-Delete0 ¯®ª § à¨á. 11.4. ᯮ«ì§®¢ ¨¥ 䨪⨢ëå í«¥¬¥â®¢ ¥¤¢ «¨ ¬®¦¥â ã«ãçè¨âì ᨬ¯â®â¨ªã ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ , ® ã¯à®é ¥â ¯à®£à ¬¬ã. ®£¤ (¥á«¨ ¨á¯®«ì§®¢ ¨¥ 䨪⨢ëå í«¥¬¥â®¢ ¯®§¢®«ï¥â ᮪à â¨âì äà £¬¥â ª®¤ , 室ï騩áï £«ã¡®ª® ¢ãâਠ横« ), ¬®¦® ã᪮à¨âì ¨á¯®«¥¨¥ ¯à®£à ¬¬ë ¢ ¥áª®«ìª® à §. ¥ á«¥¤ã¥â ¯à¨¬¥ïâì ä¨ªâ¨¢ë¥ í«¥¬¥âë ¡¥§ 㦤ë. ᫨ «£®à¨â¬ ¨á¯®«ì§ã¥â ¬®£® ª®à®âª¨å ᯨ᪮¢, ¨á¯®«ì§®¢ ¨¥ 䨪⨢- ¢ï§ ë¥ á¯¨áª¨ 205 ëå í«¥¬¥â®¢ ¬®¦¥â ®¡¥àãâìáï á¥à쥧®© ¤®¯®«¨â¥«ì®© âà ⮩ ¯ ¬ïâ¨. í⮩ ª¨£¥ ä¨ªâ¨¢ë¥ í«¥¬¥âë ¨á¯®«ì§ãîâáï ⮫쪮 ⮣¤ , ª®£¤ íâ® áãé¥á⢥® ã¯à®é ¥â ¯à®£à ¬¬ã. ¯à ¦¥¨ï ®¦® «¨ ¤®¡ ¢¨âì í«¥¬¥â ¢ ¬®¦¥á⢮, ¯à¥¤áâ ¢«¥®¥ ®¤®áâ®à®¥ á¢ï§ ë¬ á¯¨áª®¬, § ¢à¥¬ï O(1)? ®â ¦¥ ¢®¯à®á ¤«ï 㤠«¥¨ï í«¥¬¥â . 11.2-2 ¥ «¨§ã©â¥ á⥪ ¡ §¥ ®¤®áâ®à®¥ á¢ï§ ®£® ᯨ᪠. ¯¥à 樨 Push ¨ Pop ¤®«¦ë ¢ë¯®«ïâìáï § ¢à¥¬ï O(1). 11.2-3 ¥ «¨§ã©â¥ ®ç¥à¥¤ì ¡ §¥ ®¤®áâ®à®¥ á¢ï§ ®£® ᯨ᪠. ¯¥à 樨 Enqueue ¨ Dequeue ¤®«¦ë ¢ë¯®«ïâìáï § ¢à¥¬ï O(1). 11.2-4 ¥ «¨§ã©â¥ á«®¢ àë¥ ®¯¥à 樨 Insert, Delete ¨ Search ¤«ï á¢ñàã⮣® ¢ ª®«ìæ® ®¤®áâ®à®¥ á¢ï§ ®£® ᯨ᪠. ª®¢® ¢à¥¬ï à ¡®âë ¢ è¨å ¯à®æ¥¤ãà? 11.2-5 ¯¥à æ¨ï Union (®¡ê¥¤¨¥¨¥) ¯®«ãç ¥â ¢å®¤¥ ¤¢ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¨ ¢®§¢à é ¥â ¨å ®¡ê¥¤¨¥¨¥ (á ¬¨ ¨áå®¤ë¥ ¬®¦¥á⢠¯à¨ í⮬ ¯à®¯ ¤ îâ). ¥ «¨§ã©â¥ íâã ®¯¥à æ¨î â ª, çâ®¡ë ® à ¡®â « § ¢à¥¬ï O(1), ¯à¥¤áâ ¢«ïï ¬®¦¥á⢠ᯨ᪠¬¨ ¯®¤å®¤ï饣® ⨯ . 11.2-6 ¯¨è¨â¥ ¯à®æ¥¤ãàã, ª®â®à ï ᫨¢ ¥â ¤¢ ®¤®áâ®à®¥ á¢ï§ ëå 㯮à冷ç¥ëå ᯨ᪠¢ ®¤¨ (â ª¦¥ 㯮à冷ç¥ë©), ¥ ¨á¯®«ì§ãï 䨪⨢ëå í«¥¬¥â®¢. ⥬ ᤥ« ©â¥ íâ®, ¨á¯®«ì§ãï ä¨ªâ¨¢ë© í«¥¬¥â á ª«î箬 1 (¤®¡ ¢«ï¥¬ë© ¢ ª®¥æ ᯨ᪮¢). ª ï ¨§ ¤¢ãå ¯à®£à ¬¬ ¯à®é¥? 11.2-7 ¯¨è¨â¥ ¥à¥ªãàᨢãî ¯à®æ¥¤ãàã, ª®â®à ï § ¢à¥¬ï (n) ¯¥à¥áâ ¢«ï¥â í«¥¬¥âë ®¤®áâ®à®¥ á¢ï§ ®£® ᯨ᪠¢ ®¡à ⮬ ¯®à浪¥. ¡êñ¬ ¤®¯®«¨â¥«ì®© (¯®¬¨¬® ¥®¡å®¤¨¬®© ¤«ï åà ¥¨ï ¨á室®£® ᯨ᪠) ¯ ¬ï⨠¤®«¦¥ ¡ëâì O(1). 11.2-8? áâì ᯮᮡ áíª®®¬¨âì ¬¥áâ® ¯à¨ ॠ«¨§ 樨 ¤¢ãáâ®à®¥ á¢ï§ ®£® ᯨ᪠, ᦠ¢ ¤¢ 㪠§ ⥫ï next ¨ prev ¢ ®¤® § 票¥ np[x]. 㤥¬ áç¨â âì, çâ® ¢á¥ 㪠§ ⥫¨ áãâì k-¡¨âë¥ ç¨á« ¨ 㪠§ ⥫î nil ᮮ⢥âáâ¢ã¥â ç¨á«® ã«ì. ¯à¥¤¥«¨¬ np[x] ¯® ä®à¬ã«¥ np[x] = next[x]XOR prev[x], £¤¥ XOR | ¯®¡¨â®¢®¥ á«®¦¥¨¥ ¯® ¬®¤ã«î 2 (¨áª«îç î饥 ). ¥ § ¡ã¤ì⥠㪠§ âì, ª ª¨¬ ®¡à §®¬ åà ¨âáï ¨ä®à¬ æ¨ï ® £®«®¢¥ ᯨ᪠. ª ॠ«¨§®¢ âì ®¯¥à 樨 Search, Insert ¨ Delete? ¡êïá¨â¥, ª ª ¯¥à¥áâ ¢¨âì â ª®© ᯨ᮪ ¢ ®¡à ⮬ ¯®à浪¥ § ¢à¥¬ï O(1). 11.2-1 206 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ¨á㮪 11.5 ¯¨á®ª à¨á. 11.3 , ¯à¥¤áâ ¢«¥ë© á ¯®¬®éìî âனª¨ ¬ áᨢ®¢ (key; next; prev). ¦¤®¬ã í«¥¬¥âã ᯨ᪠ᮮ⢥âáâ¢ã¥â ᢥ⫮-á¥àë© á⮫¡¨ª. ¢¥à奩 áâà®çª¥ ¢ë¯¨á ë ¯®à浪®¢ë¥ ®¬¥à , ¨£à î騥 ஫ì 㪠§ ⥫¥©; ¤¥©á⢨¥ 㪠§ ⥫¥© ¯®ª § ® áâ५ª ¬¨. 票¥ ¯¥à¥¬¥®© L | 㪠§ â¥«ì £®«®¢ã ᯨ᪠. 11.3 ¥ «¨§ æ¨ï 㪠§ ⥫¥© ¨ § ¯¨á¥© á ¥áª®«ìª¨¬¨ ¯®«ï¬¨ ï§ëª å ¢à®¤¥ ä®àâà ¥ ¯à¥¤ãᬮâ८ ¨ 㪠§ ⥫¥©, ¨ í«¥¬¥â®¢, ¨¬¥îé¨å ¥áª®«ìª® ¯®«¥©. â ª®¬ á«ãç ¥ ¯à¨å®¤¨âáï ®¡å®¤¨âìáï ¬ áᨢ ¬¨, ¨á¯®«ì§ãï ¨¤¥ªá ¢ ¬ áᨢ¥ ª ª 㪠§ â¥«ì ¨ § ¬¥ïï ¬ áᨢ § ¯¨á¥© ¥áª®«ìª¨¬¨ ¬ áᨢ ¬¨. ।áâ ¢«¥¨¥ á ¯®¬®éìî ¥áª®«ìª¨å ¬ áᨢ®¢ áᨢ, á®áâ ¢«¥ë© ¨§ § ¯¨á¥©, ¬®¦® § ¬¥¨âì ¥áª®«ìª¨¬¨ ¬ áᨢ ¬¨ (¯® ®¤®¬ã ª ¦¤®¥ ¯®«¥ § ¯¨á¨). ¯à¨¬¥à, à¨á. 11.5 ¯®ª § ®, ª ª ¯à¥¤áâ ¢¨âì ¢ ¢¨¤¥ âàñå ¬ áᨢ®¢ â®â ¦¥ ᯨ᮪, çâ® ¨ à¨á. 11.3 : ¢ ¬ áᨢ¥ key åà ïâáï ª«îç¨, ¢ ¬ áᨢ å next ¨ prev | 㪠§ ⥫¨. ¦¤®¬ã í«¥¬¥âã ᯨ᪠ᮮ⢥âáâ¢ã¥â âனª (key[x]; next[x]; prev[x]) ¤«ï ¥ª®â®à®£® ¨¤¥ªá x. ®«ì 㪠§ ⥫ï íâ®â í«¥¬¥â ¨£à ¥â ç¨á«® x. ª ç¥á⢥ nil ¬®¦® ¨á¯®«ì§®¢ âì ç¨á«®, ¥ ïî饥áï ¨¤¥ªá®¬ ¨ª ª®£® í«¥¬¥â ¬ áᨢ®¢ ( ¯à¨¬¥à, 0 ¨«¨ ;1). à¨á. 11.3 § ¯¨áì á ª«î箬 4 á⮨⠢ ᯨ᪥ áà §ã ¯®á«¥ § ¯¨á¨ á ª«î箬 16; ¨ ¤¥©á⢨⥫ì®, ç¨á«® 16 á⮨⠢ ¬ áᨢ¥ key ¬¥áâ¥ á ®¬¥à®¬ 5, ç¨á«® 4 | ¬¥á⥠®¬¥à 2, ¨ ¨¬¥¥¬ next[5] = 2, â ª¦¥ prev[2] = 5. è¨å ¯à®£à ¬¬ å ®¡®§ 票¥ ⨯ key[x] ¬®¦¥â ¯®¨¬ âìáï ¤¢®ïª®: ¨ ª ª í«¥¬¥â ¬ áᨢ key á ¨¤¥ªá®¬ x, ¨ ª ª ¯®«¥ key § ¯¨á¨ á ¤à¥á®¬ x (¢ § ¢¨á¨¬®á⨠®â ¢®§¬®¦®á⥩ ï§ëª ¯à®£à ¬¬¨à®¢ ¨ï ¯®«¥§® â® ¨«¨ ¤à㣮¥ ¯®¨¬ ¨¥). ।áâ ¢«¥¨¥ á ¯®¬®éìî ®¤®£® ¬ áᨢ ¬¥áâ® ¥áª®«ìª¨å ¬ áᨢ®¢ ¬®¦® ¨á¯®«ì§®¢ âì ®¤¨, à §¬¥é ï ¢ ñ¬ à §«¨çë¥ ¯®«ï ®¤®£® ®¡ê¥ªâ à冷¬. ª ®¡ëç® ¯®áâ㯠¥â ª®¬¯¨«ïâ®à: ¥á«¨ ¢ ¯à®£à ¬¬¥ ¨á¯®«ì§ã¥âáï ¬ áᨢ í«¥¬¥â®¢, ª - ¥ «¨§ æ¨ï 㪠§ ⥫¥© ¨ § ¯¨á¥© á ¥áª®«ìª¨¬¨ ¯®«ï¬¨ 207 ¨á㮪 11.6 ®â ¦¥ ᯨ᮪, çâ® à¨á. 11.3 ¨ 11.5, ॠ«¨§®¢ ë© ¡ §¥ ¥¤¨á⢥®£® ¬ áᨢ A. ¦¤®© § ¯¨á¨ ᮮ⢥âáâ¢ã¥â âனª ¨¤ãé¨å ¯®¤àï¤ í«¥¬¥â®¢ ¬ áᨢ . ®«ï¬ key, next ¨ prev ᮮ⢥âáâ¢ãîâ ᤢ¨£¨ 0, 1 ¨ 2. ª § â¥«ì § ¯¨áì | ¨¤¥ªá ¯¥à¢®£® ¨§ ®â¢¥¤ñëå ¤«ï ¥ñ í«¥¬¥â®¢. ¢¥â«®á¥àë¥ § ¯¨á¨ ¢å®¤ïâ ¢ ᯨ᮪; áâ५ª ¬¨ ¨§®¡à ¦¥® ¤¥©á⢨¥ 㪠§ ⥫¥©. ¦¤ë© ¨§ ª®â®àëå ¨¬¥¥â ¥áª®«ìª® ¯®«¥©, â® ª ¦¤ë© í«¥¬¥â ®â¢®¤¨âáï ¥¯à¥àë¢ë© ãç á⮪ ¯ ¬ïâ¨, ¢ ª®â®à®¬ ¤à㣠§ ¤à㣮¬ à §¬¥é îâáï § ç¥¨ï ¯®«¥©. ª § ⥫¥¬ í«¥¬¥â ®¡ëç® áç¨â îâ ¤à¥á ¯¥à¢®© ï祩ª¨ í⮣® ãç á⪠; ¤à¥á ¯®«¥© ¯®«ãç îâáï ᤢ¨£®¬ ®¯à¥¤¥«ñë¥ ª®áâ âë. ਠॠ«¨§ 樨 § ¯¨á¥© ¡ §¥ ¬ áᨢ ¬®¦® ¢®á¯®«ì§®¢ âìáï ⮩ ¦¥ áâà ⥣¨¥©. áᬮâਬ ®¤¨-¥¤¨áâ¢¥ë© ¬ áᨢ A. ¦¤ ï § ¯¨áì ¡ã¤¥â § ¨¬ âì ¢ ñ¬ ¥¯à¥àë¢ë© ãç á⮪ A[j : :k]. ª § â¥«ì § ¯¨áì | íâ® ¨¤¥ªá j ; ª ¦¤®¬ã ¯®«î § ¯¨á¨ ᮮ⢥âáâ¢ã¥â ç¨á«® ¨§ ¨â¥à¢ « [0 : :k ; j ] | ᤢ¨£. ¯à¨¬¥à, ¯à¨ ¯à¥¤áâ ¢«¥¨¨ ¢áñ ⮣® ¦¥ ᯨ᪠, çâ® ¨ à¨á. 11.3 ¨ 11.5, ¬®¦® à¥è¨âì, çâ® ¯®«ï¬ key, next ¨ prev ᮮ⢥âáâ¢ãîâ ᤢ¨£¨ 0, 1 ¨ 2. ®£¤ § 票¥ prev[i], £¤¥ i | 㪠§ ⥫ì (= ¨¤¥ªá ¢ ¬ áᨢ¥ A), ¥áâì ¥ çâ® ¨®¥, ª ª A[i + 2] (á¬. à¨á. 11.6). ª®¥ ¯à¥¤áâ ¢«¥¨¥ ¯®§¢®«ï¥â åà ¨âì ¢ ®¤®¬ ¬ áᨢ¥ § ¯¨á¨ à §ëå ⨯®¢ (®â¢®¤ï ¯®¤ ¨å ãç á⪨ à §®© ¤«¨ë), ® ¤«ï è¨å 楫¥© ¡ã¤¥â ¤®áâ â®ç® ¯à¥¤áâ ¢«¥¨ï ¢ ¢¨¤¥ ¥áª®«ìª¨å ¬ áᨢ®¢, ¯®áª®«ìªã ¡®«ìè¨á⢮ áâàãªâãà ¤ ëå, á ª®â®à묨 ¬ë ¡ã¤¥¬ ¨¬¥âì ¤¥«®, á®áâ®ïâ ¨§ ®¤®â¨¯ëå § ¯¨á¥©. 뤥«¥¨¥ ¨ ®á¢®¡®¦¤¥¨¥ ¯ ¬ï⨠ਠ¤®¡ ¢«¥¨¨ ®¢®£® í«¥¬¥â ¢ ᯨ᮪ ¤® ®â¢¥á⨠¯®¤ ¥£® ¬¥áâ® ¢ ¯ ¬ïâ¨. â «® ¡ëâì, ¥®¡å®¤¨¬® ¢¥á⨠ãçñ⠨ᯮ«ì§®¢ ¨ï ¤à¥á®¢. ¥ª®â®àëå á¨á⥬ å í⨬ ¢¥¤ ¥â á¯¥æ¨ «ì ï ¯®¤¯à®£à ¬¬ | á¡®à騪 ¬ãá®à (garbage collector), ª®â®à ï ®¯à¥¤¥«ï¥â, ª ª¨¥ ãç á⪨ ¯ ¬ï⨠¡®«¥¥ ¥ ¨á¯®«ì§ãîâáï, ¨ ¢®§¢à é ¥â ¨å ¤«ï ¯®¢â®à®£® ¨á¯®«ì§®¢ ¨ï. ® ¬®£¨å á«ãç ïå, ®¤ ª®, ¬®¦® ¢®§«®¦¨âì ®¡ï§ ®á⨠¯® ¢ë¤¥«¥¨î ¨ ®á¢®¡®¦¤¥¨î ¯ ¬ïâ¨ á ¬ã áâàãªâãàã ¤ ëå. í⮬ à §¤¥«¥ ¬ë ¯®ª ¦¥¬, ª ª íâ® ¤¥« ¥âáï; ¢ ª ç¥á⢥ ¯à¨¬¥à à áᬮâਬ ¤¢ãáâ®à®¥ á¢ï§ ë© á¯¨á®ª, ¯à¥¤áâ ¢«¥ë© á ¯®¬®éìî ¥áª®«ìª¨å ¬ áᨢ®¢. ãáâì ¬ áᨢë, á ¯®¬®éìî ª®â®àëå ¬ë ¯à¥¤áâ ¢«ï¥¬ è ᯨ- 208 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ¨á㮪 11.7 ¡®â ¯à®æ¥¤ãà Allocate-Object ¨ Free-Object. ( ) ®â ¦¥ ᯨ᮪, çâ® à¨á. 11.5 (ᢥ⫮-á¥àë©) ¨ ᯨ᮪ ᢮¡®¤ëå ¯®§¨æ¨© (âñ¬®á¥àë©). âàãªâãà ᯨ᪠᢮¡®¤ëå ¯®§¨æ¨© ¨§®¡à ¦¥ á ¯®¬®éìî áâ५®ª. (¡) ®â çâ® ¯®«ãç¨âáï ¯®á«¥ ¢ë§®¢ Allocate-Object() (¢®§¢à é ¥â § 票¥ 4), ¯à¨á¢ ¨¢ ¨ï key[4] 25 ¨ ¢ë§®¢ List-Insert(L; 4). ®¢ë© ᯨ᮪ ᢮¡®¤ëå ¯®§¨æ¨© ç¨ ¥âáï á 8 (â ª®¢® ¡ë«® § 票¥ next[4]). (¢) ¥¯¥àì ¬ë ¢ë§¢ «¨ List-Delete(L; 5), § ⥬ Free-Object(5). ®§¨æ¨ï 5 | £®«®¢ ®¢®£® ᯨ᪠᢮¡®¤ëå ¯®§¨æ¨©, § ¥© á«¥¤ã¥â 8. ᮪, ¨¬¥îâ ¤«¨ã m, ¨ ¯ãáâì ¢ ¤ ë© ¬®¬¥â ¢ ᯨ᪥ ᮤ¥à¦¨âáï n 6 m í«¥¬¥â®¢. áâ «ìë¥ n ; m ¬¥áâ (¯®§¨æ¨©) ¢ ¬ áᨢ¥ ᢮¡®¤ë (free). ë ¡ã¤¥¬ åà ¨âì ᢮¡®¤ë¥ ¯®§¨æ¨¨ ¢ ®¤®áâ®à®¥ á¢ï§ ®¬ ᯨ᪥, §ë¢ ¥¬®¬ ᯨ᪮¬ ᢮¡®¤ëå ¯®§¨æ¨© (free list). â®â ᯨ᮪ ¨á¯®«ì§ã¥â ⮫쪮 ¬ áᨢ next: ¨¬¥®, next[i] ᮤ¥à¦¨â ¨¤¥ªá ᢮¡®¤®© ¯®§¨æ¨¨, á«¥¤ãî饩 § ᢮¡®¤®© ¯®§¨æ¨¥© i. ®«®¢ ᯨ᪠åà ¨âáï ¢ ¯¥à¥¬¥®© free. ¯¨á®ª ᢮¡®¤ëå ¯®§¨æ¨© åà ¨âáï ¢¯¥à¥¬¥¦ªã ᮠᯨ᪮¬ L (à¨á. 11.7). ¡à â¨â¥ ¢¨¬ ¨¥, çâ® ª ¦¤®¬ã ç¨á«ã ¨§ ®â१ª [1; m] ®â¢¥ç ¥â í«¥¬¥â «¨¡® ᯨ᪠L, «¨¡® ᯨ᪠᢮¡®¤ëå ¬¥áâ. ¯¨á®ª ᢮¡®¤ëå ¯®§¨æ¨© ¢¥¤ñâ á¥¡ï ª ª á⥪: ¨§ ¢á¥å ᢮¡®¤ëå ãç á⪮¢ ¯ ¬ï⨠¯®¤ ®¢ãî § ¯¨áì ¢ë¤¥«ï¥âáï â®â, ª®â®àë© ¡ë« ®á¢®¡®¦¤ñ ¯®á«¥¤¨¬. ®í⮬㠤«ï ¢ë¤¥«¥¨ï ¨ ®á¢®¡®¦¤¥¨ï ¯ ¬ï⨠¬®¦® ¢®á¯®«ì§®¢ âìáï ॠ«¨§ 樥© á⥪®¢ëå ®¯¥à 権 Push ¨ Pop ¡ §¥ ᯨ᪠. ¯à¨¢®¤¨¬ëå ¨¦¥ ¯à®æ¥¤ãà å AllocateObject (¢ë¤¥«¨âì ¬¥áâ®) ¨ Free-Object (®á¢®¡®¤¨âì ¬¥áâ®) ¯®¤à §ã¬¥¢ ¥âáï, çâ® ¢ £«®¡ «ì®© ¯¥à¥¬¥®© free § ¯¨á ¨¤¥ªá ¯¥à¢®© (¢ ᯨ᪥) ᢮¡®¤®© ¯®§¨æ¨¨. ¥ «¨§ æ¨ï 㪠§ ⥫¥© ¨ § ¯¨á¥© á ¥áª®«ìª¨¬¨ ¯®«ï¬¨ 209 ¨á㮪 11.8 ¯¨áª¨ L1 (ᢥ⫮-á¥àë©) ¨ L2 (âñ¬®-á¥àë©), â ª¦¥ ᯨ᮪ ᢮¡®¤ëå ¬¥áâ (ç¥àë©) åà ïâáï ¢ ®¤®© âனª¥ ¬ áᨢ®¢. Allocate-Object () 1 if free = nil 2 3 4 5 then error "¢®¡®¤®£® ¬¥áâ ¥â" else x free free next[x] return x Free-Object (x) 1 next[x] free 2 free x ¥à¢® ç «ì® á¯¨á®ª ᢮¡®¤ëå ¯®§¨æ¨© ᮤ¥à¦¨â n í«¥¬¥â®¢. ᫨ ᢮¡®¤®£® ¬¥áâ ¥ ®áâ «®áì, ¯à®æ¥¤ãà Allocate-Object á®®¡é ¥â ®¡ ®è¨¡ª¥. áâ® ®¤¨ ᯨ᮪ ᢮¡®¤ëå ¯®§¨æ¨© ®¡á«ã¦¨¢ ¥â áà §ã ¥áª®«ìª® ¤¨ ¬¨ç¥áª¨å ¬®¦¥á⢠(à¨á. 11.8). ¯¨á ë¥ ¯à®æ¥¤ãàë ¢ë¤¥«¥¨ï ¨ ®á¢®¡®¦¤¥¨ï ¯ ¬ï⨠¯à®áâë ¨ 㤮¡ë (à ¡®â îâ § ¢à¥¬ï O(1)). å ¬®¦® ¯à¨á¯®á®¡¨âì ¤«ï åà ¥¨ï ®¤®â¨¯ëå § ¯¨á¥© «î¡®£® ¢¨¤ , ®â¢¥¤ï ®¤® ¨§ ¯®«¥© § ¯¨á¨ ¯®¤ åà ¥¨¥ ¨¤¥ªá next (¢ ᢮¡®¤ëå ¯®§¨æ¨ïå). ¯à ¦¥¨ï «¥¤ãï ®¡à §æã à¨á. 11.5, ¨§®¡à §¨â¥ ¯à¥¤áâ ¢«¥¨¥ ¯®á«¥¤®¢ ⥫ì®á⨠h13; 4; 8; 19; 5; 11i ¢ ¢¨¤¥ ¤¢ãáâ®à®¥ á¢ï§ ®£® ᯨ᪠, ॠ«¨§®¢ ®£® á ¯®¬®éìî âà¥å ¬ áᨢ®¢; ¯® ®¡à §æã à¨á. 11.6 ¨§®¡à §¨â¥ â®â ¦¥ ᯨ᮪, ॠ«¨§®¢ ë© á ¯®¬®éìî ®¤®£® ¬ áᨢ . 11.3-2 ¯¨è¨â¥ ¯à®æ¥¤ãàë Allocate-Object ¨ Free-Object ¤«ï á«ãç ï ®¤®â¨¯ëå § ¯¨á¥©, åà ïé¨åáï ¢ ®¤®¬ ¬ áᨢ¥. 11.3-3 ®ç¥¬ã ¢ ¯à®æ¥¤ãà å Allocate-Object ¨ Free-Object ¨ª ª ¥ 䨣ãà¨àã¥â ¯®«¥ prev? 11.3-4 áâ® ( ¯à¨¬¥à, ¯à¨ áâà ¨ç®© ®à£ ¨§ 樨 ¢¨àâ㠫쮩 ¯ ¬ïâ¨) ¡ë¢ ¥â ¯®«¥§® åà ¨âì í«¥¬¥âë ᯨ᪠¢ ¥¯à¥àë¢11.3-1 210 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ®¬ ãç á⪥ ¯ ¬ïâ¨. áᬮâਬ ॠ«¨§ æ¨î á¯¨áª á ¯®¬®éìî ¥áª®«ìª¨å ¬ áᨢ®¢. ¥à¥¯¨è¨â¥ ¯à®æ¥¤ãàë Allocate-Object ¨ Free-Object â ª¨¬ ®¡à §®¬, ç⮡ë í«¥¬¥âë ᯨ᪠§ ¨¬ «¨ ¯®§¨æ¨¨ 1 : :m, £¤¥ m | ç¨á«® í«¥¬¥â®¢ ᯨ᪠. (ª § ¨¥: ¢®á¯®«ì§ã©â¥áì ॠ«¨§ 樥© á⥪ ¡ §¥ ¬ áᨢ .) 11.3-5 ãáâì ¤¢ãáâ®à®¥ á¢ï§ ë© á¯¨á®ª L ¤«¨ë m ¯à¥¤áâ ¢«¥ á ¯®¬®éìî âà¥å ¬ áᨢ®¢ key, prev ¨ next ¤«¨ë n, ¯à®æ¥¤ãàë ¢ë¤¥«¥¨ï ¨ ®á¢®¡®¦¤¥¨ï ¬¥áâ ¯®¤¤¥à¦¨¢ îâ ¤¢ãáâ®à®¥ á¢ï§ ë© á¯¨á®ª ᢮¡®¤ëå ¯®§¨æ¨©. ¯¨è¨â¥ ¯à®æ¥¤ãàã Compactify-List (ᦠ⨥ ᯨ᪠), ª®â®à ï ¯¥à¥¯¨áë¢ ¥â ᯨ᮪ L ¤«¨ë m ¢ ¯¥à¢ë¥ m ¯®§¨æ¨© ¬ áᨢ®¢, á®åà ïï ¥£® áâàãªâãàã (¨ ¨§¬¥ïï ᯨ᮪ ᢮¡®¤ëå ¯®§¨æ¨© ã¦ë¬ ®¡à §®¬). ६ï à ¡®âë «£®à¨â¬ ¤®«¦® ¡ëâì (m), à §¬¥à ¨á¯®«ì§ã¥¬®© ¯ ¬ï⨠(ᢥàå § ï⮩ ¬ áᨢ ¬¨) ¤®«¦¥ ¡ëâì O(1). ¥ § ¡ã¤ì⥠¤®ª § âì ¯à ¢¨«ì®áâì ᢮¥£® «£®à¨â¬ . 11.4 ।áâ ¢«¥¨¥ ª®à¥¢ëå ¤¥à¥¢ì¥¢ ¯¨á ë¥ ¢ ¯à¥¤ë¤ã饬 à §¤¥«¥ á¯®á®¡ë ¯à¥¤áâ ¢«¥¨ï ᯨ᪮¢ ¯à¨¬¥¨¬ë ¨ ª ¤à㣨¬ áâàãªâãà ¬ ¤ ëå, á®áâ ¢«¥ë¬ ¨§ ®¤®â¨¯ëå í«¥¬¥â®¢. í⮬ à §¤¥«¥ ¬ë ã稬áï ¨á¯®«ì§®¢ âì 㪠§ ⥫¨ ¤«ï ¯à¥¤áâ ¢«¥¨ï ¤¥à¥¢ì¥¢. çñ¬ ¬ë á ¤¢®¨çëå ¤¥à¥¢ì¥¢, § ⥬ ®¡êïᨬ, ª ª ¯à¥¤áâ ¢«ïâì ¤¥à¥¢ìï á ¯à®¨§¢®«ìë¬ ¢¥â¢«¥¨¥¬. ¦¤ ï ¢¥àè¨ ¤¥à¥¢ ¡ã¤¥â § ¯¨áìî á ¥áª®«ìª¨¬¨ ¯®«ï¬¨. ¤® ¨§ íâ¨å ¯®«¥© ᮤ¥à¦¨â ª«îç, ª ª ¨ ¢ á«ãç ¥ ᮠᯨ᪠¬¨. áâ «ìë¥ ¯®«ï ¯à¥¤ § ç¥ë ¤«ï åà ¥¨ï ¤®¯®«¨â¥«ìëå ¤ ëå ¨, £« ¢®¥, 㪠§ ⥫¥© ¤à㣨¥ ¢¥àè¨ë. ª ª®ªà¥â® ãáâ஥ë í⨠¯®«ï, § ¢¨á¨â ®â ⨯ ¤¥à¥¢ . ¢®¨çë¥ ¤¥à¥¢ìï ª ¯®ª § ® à¨á. 11.9, ¯à¨ ¯à¥¤áâ ¢«¥¨¨ ¤¢®¨ç®£® ¤¥à¥¢ T ¬ë ¨á¯®«ì§ã¥¬ ¯®«ï p, left ¨ right, ¢ ª®â®àëå åà ïâáï 㪠§ ⥫¨ த¨â¥«ï, «¥¢®£® ¨ ¯à ¢®£® ॡñª ¢¥àè¨ë x ᮮ⢥âá⢥®. ᫨ p[x] = nil, â® x | ª®à¥ì; ¥á«¨ ã x ¥â «¥¢®£® ¨«¨ ¯à ¢®£® ॡñª , â® left[x] ¨«¨ right[x] ¥áâì nil. ¤¥à¥¢®¬ T á¢ï§ âਡãâ root[T ] | 㪠§ â¥«ì ¥£® ª®à¥ì. ᫨ root[T ] = nil, â® ¤¥à¥¢® T ¯ãáâ®. ।áâ ¢«¥¨¥ ª®à¥¢ëå ¤¥à¥¢ì¥¢ 211 ¨á㮪 11.9 ।áâ ¢«¥¨¥ ¤¢®¨ç®£® ¤¥à¥¢ T . ¦¤ ï ¢¥àè¨ x ¢ª«îç ¥â ¯®«ï p[x] (ᢥàåã), left[x] (¢¨§ã á«¥¢ ) ¨ right[x] (¢¨§ã á¯à ¢ ). «îç¨ á奬¥ ¥ ¯®ª § ë. ®à¥¢ë¥ ¤¥à¥¢ìï á ¯à®¨§¢®«ìë¬ ¢¥â¢«¥¨¥¬ ᫨ ¨§¢¥áâ®, çâ® ç¨á«® ¤¥â¥© ª ¦¤®© ¢¥àè¨ë ®£à ¨ç¥® ᢥàåã ª®áâ ⮩ k, â® â ª®¥ ¤¥à¥¢® ¬®¦® ॠ«¨§®¢ âì «®£¨ç® ¤¢®¨ç®¬ã ¤¥à¥¢ã, ¯®¬¥é ï 㪠§ ⥫¨ ¤¥â¥© ¢ ¯®«ï child1 ; child2; : : :; childk , § ¬¥ïî騥 ¯®«ï left ¨ right. ᫨ ª®«¨ç¥á⢮ ¤¥â¥© ¬®¦¥â ¡ëâì «î¡ë¬, â ª ¤¥« âì ¥«ì§ï: § à ¥¥ ¥¨§¢¥áâ®, ᪮«ìª® ¯®«¥© (¨«¨ ¬ áᨢ®¢ | ¯à¨ ¯à¥¤áâ ¢«¥¨¨ á ¯®¬®éìî ¥áª®«ìª¨å ¬ áᨢ®¢) ¤® ¢ë¤¥«¨âì. ஡«¥¬ ¬®¦¥â ¢®§¨ªãâì ¨ ¢ ⮬ á«ãç ¥, ¥á«¨ ª®«¨ç¥á⢮ ¤¥â¥© ®£à ¨ç¥® § à ¥¥ ¨§¢¥áâë¬ ç¨á«®¬ k, ® ã ¡®«ìè¨á⢠¢¥àè¨ ç¨á«® ¤¥â¥© ¬®£® ¬¥ìè¥ k: ®¯¨á ï ॠ«¨§ æ¨ï âà â¨â ¬®£® ¯ ¬ï⨠§àï. ª ¦¥ ¡ëâì? ¬¥â¨¬, çâ® «î¡®¥ ¤¥à¥¢® ¬®¦® ¯à¥®¡à §®¢ âì ¢ ¤¢®¨ç®¥. ਠí⮬ ã ª ¦¤®© ¢¥àè¨ë ¡ã¤¥â ¥ ¡®«¥¥ ¤¢ãå ¤¥â¥©: «¥¢ë© ॡñ®ª ®áâ ¥âáï ⥬ ¦¥, ® ¯à ¢ë¬ ॡñª®¬ á⠥⠢¥àè¨ , ª®â®à ï ¡ë« ¯à ¢ë¬ á®á¥¤®¬ (¥¯®á।á⢥® á«¥¤ãî騬 ॡñª®¬ ⮣® ¦¥ த¨â¥«ï). ¥¯¥àì íâ® ¤¢®¨ç®¥ ¤¥à¥¢® ¬®¦® åà ¨âì ®¯¨á ë¬ ¢ëè¥ á¯®á®¡®¬. ¯¨è¥¬ á奬ã åà ¥¨ï ¤¥à¥¢ì¥¢ á ¯à®¨§¢®«ìë¬ ¢¥â¢«¥¨¥¬, ®á®¢ ãî í⮩ ¨¤¥¥, ¡®«¥¥ ¯®¤à®¡®. §ë¢ ¥âáï "«¥¢ë© ॡñ®ª | ¯à ¢ë© á®á¥¤" (left-child, right-sibling representation) ¨ ¯®ª § à¨á. 11.10. ®-¯à¥¦¥¬ã ¢ ª ¦¤®© ¢¥à訥 åà ¨âáï 㪠§ ⥫ì p த¨â¥«ï ¨ âਡãâ root[T ] ï¥âáï 㪠§ ⥫¥¬ ª®à¥ì ¤¥à¥¢ . ஬¥ p, ¢ ª ¦¤®© ¢¥à訥 åà ïâáï ¥éñ ¤¢ 㪠§ ⥫ï: 1. left-child[x] 㪠§ë¢ ¥â á ¬®£® «¥¢®£® ॡñª ¢¥àè¨ë x; 212 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå ¨á㮪 11.10 ।áâ ¢«¥¨¥ ¤¥à¥¢ T ¯® á奬¥ "«¥¢ë© ॡñ®ª | ¯à ¢ë© á®á¥¤". ª ¦¤®© § ¯¨á¨ x ¯à¨áãâáâ¢ãîâ ¯®«ï p[x] (ᢥàåã), left-child[x] (¢¨§ã á«¥¢ ) ¨ right-sibling[x] (¢¨§ã á¯à ¢ ). «îç¨ ¥ ¯®ª § ë. 2. right-sibling[x] 㪠§ë¢ ¥â ¡«¨¦ ©è¥£® á¯à ¢ á®á¥¤ ¢¥àè¨ë x ("á«¥¤ãî饣® ¯® áâ àè¨áâ¢ã ¡à â ") ¥àè¨ x ¥ ¨¬¥¥â ¤¥â¥© ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ left-child[x] = nil. ᫨ ¢¥àè¨ x | ªà ©¨© ¯à ¢ë© ॡ¥®ª ᢮¥£® த¨â¥«ï, â® right-sibling[x] = nil. à㣨¥ á¯®á®¡ë ¯à¥¤áâ ¢«¥¨ï ¤¥à¥¢ì¥¢ ®£¤ ¢áâà¥ç îâáï ¤à㣨¥ á¯®á®¡ë ¯à¥¤áâ ¢«¥¨ï ¤¥à¥¢ì¥¢. ¯à¨¬¥à, ¢ £« ¢¥ 7 ¯à¨ ॠ«¨§ 樨 ªãç¨ ¥ ¤® ¡ë«® åà ¨âì 㪠§ ⥫¥© த¨â¥«ï ¨ ¤¥â¥©, ¯®áª®«ìªã ¨å ®¬¥à ¯®«ãç «¨áì 㬮¦¥¨¥¬ ¨ ¤¥«¥¨¥¬ 2. £« ¢¥ 22 ¬ ¢áâà¥âïâáï ¤¥à¥¢ìï, ¯® ª®â®àë¬ ¤¢¨£ îâáï ®â «¨áâ쥢 ª ª®àî (¨ ¯®â®¬ã 㪠§ ⥫¨ ¤¥â¥© ¨«¨ á®á¥¤¥© ¥ ã¦ë). ®ªà¥âë© ¢ë¡®à ¯à¥¤áâ ¢«¥¨ï ¤¥à¥¢ ®¯à¥¤¥«ï¥âáï ᯥæ¨ä¨ª®© § ¤ ç¨. ¯à ¦¥¨ï 11.4-1 à¨áã©â¥ ¤¢®¨ç®¥ ¤¥à¥¢®, ¯à¥¤áâ ¢«¥®¥ á«¥¤ãî騬 ®¡à §®¬: ¤ ç¨ ª £« ¢¥ 11 213 ¨¤¥ªá key left right 1 2 3 4 5 6 7 8 9 10 12 15 4 10 2 18 7 14 21 5 7 8 10 5 3 nil nil 9 nil nil nil nil nil nil nil nil 1 6 4 2 ®à¥ì ¤¥à¥¢ | ¢ ¢¥à訥 á ¨¤¥ªá®¬ 6. 11.4-2 ¯¨è¨â¥ à ¡®â îéãî § «¨¥©®¥ ¢à¥¬ï ४ãàᨢãî ¯à®æ¥¤ãàã, ª®â®à ï ¯¥ç ⠥⠪«îç¨ ¢á¥å ¢¥àè¨ ¤ ®£® ¤¢®¨ç®£® ¤¥à¥¢ . 11.4-3 ª ᤥ« âì â® ¦¥ á ¬®¥ (çâ® ¨ ¢ ¯à¥¤ë¤ã饬 ã¯à ¦¥¨¨), ¨á¯®«ì§ãï ¥à¥ªãàᨢãî ¯à®æ¥¤ãàã? (ਠãáâà ¥¨¨ ४ãàᨨ ¯®«¥§¥ á⥪.) 11.4-4 ¯¨è¨â¥ à ¡®â îéãî § «¨¥©®¥ ¢à¥¬ï ¯à®æ¥¤ãàã, ¯¥ç â îéãî ª«îç¨ ¢á¥å ¢¥àè¨ ¤¥à¥¢ , ¯à¥¤áâ ¢«¥®£® ¯® á奬¥ "«¥¢ë© ॡñ®ª | ¯à ¢ë© á®á¥¤". 11.4-5? ¯¨è¨â¥ à ¡®â îéãî § «¨¥©®¥ ¢à¥¬ï ¥à¥ªãàᨢãî ¯à®æ¥¤ãàã, ¯¥ç â îéãî ª«îç¨ ¢á¥å ¢¥àè¨ ¤¢®¨ç®£® ¤¥à¥¢ , ¤«ï ª®â®à®© ®¡êñ¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ï⨠(ᢥàå ¯ ¬ïâ¨, ¢ ª®â®à®© åà ¨âáï ¤¥à¥¢®) ¥áâì O(1), ¨ ¢® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë ¤¥à¥¢® ¥ ¬¥ï¥âáï (¤ ¦¥ ¢à¥¬¥®). 11.4-6? ਤ㬠©â¥ ᯮᮡ åà ¥¨ï ¤¥à¥¢ á ¯à®¨§¢®«ìë¬ ¢¥â¢«¥¨¥¬, ¯à¨ ª®â®à®¬ ¢ ª ¦¤®© ¢¥à訥 åà ïâáï ¢á¥£® ¤¢ ( ¥ âà¨, ª ª ¢ á奬¥ "«¥¢ë© ॡ¥®ª | ¯à ¢ë© á®á¥¤") 㪠§ â¥«ï ¯«îá ®¤ ¡ã«¥¢ ¯¥à¥¬¥ ï. ¤ ç¨ 11-1 à ¢¥¨¥ à §ëå ⨯®¢ ᯨ᪮¢ ©¤¨â¥ ᨬ¯â®â¨ªã ¢à¥¬¥¨ à ¡®âë (¢ åã¤è¥¬ á«ãç ¥) ¤«ï ª ¦¤®© ¨§ ¯¥à¥ç¨á«¥ëå ¢ ç «¥ ç á⨠III (á. ??) ®¯¥à 権, ¯à¨¬¥ñ®© ª ª ¦¤®¬ã ¨§ 㪠§ ëå ⨯®¢ ᯨ᪮¢. 214 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå Search(L; k) Insert(L; x) Delete(L; x) Successor(L; x) Predecessor (L; x) Minimum(L) Maximum(L) ¥ã¯®à冷ç¥ë©ã¯®à冷ç¥ë© , , ¥ã¯®à冷ç¥ë©ã¯®àï¤®ç¥ , ®¤®áâ®à®¥ ®¤®áâ®à®¥ ¤¢ãáâ®à®¥ ¤¢ãáâ®à® á¢ï§ ë© á¢ï§ ë© á¢ï§ ë© á¢ï§ ë© 11-2 ¥ «¨§ æ¨ï ᫨¢ ¥¬ëå ªãç ¡ §¥ ᯨ᪮¢ âàãªâãà ¤ ëå ¯®¤ §¢ ¨¥¬ ᫨¢ ¥¬ë¥ ªãç¨ (mergeable heaps) åà ¨â ¡®à ¤¨ ¬¨ç¥áª¨å ¬®¦¥á⢠(ªãç), ¨ ¯®¤¤¥à¦¨¢ ¥â á«¥¤ãî騥 ®¯¥à 樨: Make-Heap (ᮧ¤ ¨¥ ¯ãá⮩ ªãç¨), Insert, Minimum, Extract-Min ¨, ª®¥æ, Union (®¡ê¥¤¨¥¨¥ ¤¢ãå ªãç ¢ ®¤ã; ¤¢¥ áâ àë¥ ªãç¨ ¯à®¯ ¤ îâ). «ï ª ¦¤®£® ¨§ ¯¥à¥ç¨á«¥ëå ¨¦¥ á«ãç ¥¢ ॠ«¨§ã©â¥ (¯® ¢®§¬®¦®á⨠íä䥪⨢®) ᫨¢ ¥¬ë¥ ªãç¨ ¡ §¥ ᯨ᪮¢. 楨⥠¢à¥¬ï à ¡®âë ®¯¥à 権 ç¥à¥§ à §¬¥àë ãç áâ¢ãîé¨å ¬®¦¥áâ¢. ¯¨áª¨ 㯮à冷ç¥ë. ¡ ¯¨áª¨ ¥ã¯®à冷ç¥ë. ¢ ¯¨áª¨ ¥ã¯®à冷ç¥ë, ®¡ê¥¤¨ï¥¬ë¥ ¬®¦¥á⢠¥ ¯¥à¥á¥ª îâáï ¤àã£ á ¤à㣮¬. 11-3 ®¨áª ¢ ®âá®àâ¨à®¢ ®¬ ᦠ⮬ ᯨ᪥ ã¯à ¦¥¨¨ 11.3-4 âॡ®¢ «®áì åà ¨âì ᯨ᪨ "ª®¬¯ ªâ®": n-í«¥¬¥âë© á¯¨á®ª ¤®«¦¥ ¡ë« § ¨¬ âì ¯¥à¢ë¥ n ¯®§¨æ¨© ¬ áᨢ . ।¯®«®¦¨¬ ¥éñ, çâ® ¢á¥ ª«îç¨ à §«¨çë ¨ ç⮠ᯨ᮪ 㯮àï¤®ç¥ (¨ë¬¨ á«®¢ ¬¨, key[i] < key[next[i]] ¯à¨ next[i] = 6 nil). ª §ë¢ ¥âáï, çâ® ¢ íâ¨å ¯à¥¤¯®«®¦¥¨ïå á«¥¤ãî騩 ¢¥à®ïâ®áâë© «£®à¨â¬ ¢ë¯®«ï¥â ¯®¨áª ¢ ᯨ᪥ § ¢à¥¬ï o(n): Compact-List-Search(L; k) 1 i head[L] 2 n length[L] 3 while i = 6 nil and key[i] 6 k 4 do j Random(1; n) 5 if key[i] < key[j ] and key[j ] < k 6 then i j 7 i next[i] 8 if key[i] = k 9 then return i 10 return nil ¬¥ç ¨ï ª £« ¢¥ 11 215 ¥§ áâப 4{6 íâ® ¡ë« ¡ë ®¡ëçë© «£®à¨â¬ á ¯®á«¥¤®¢ ⥫ìë¬ ¯¥à¥¡®à®¬ í«¥¬¥â®¢ ᯨ᪠. áâப å 4{6 ¬ë ¯ëâ ¥¬áï ¯¥à¥áª®ç¨âì á«ãç ©® ¢ë¡à ãî ¯®§¨æ¨î j . ᫨ key[i] < key[j ] < k, â® ¯à¨ í⮬ ¬ë íª®®¬¨¬ ¢à¥¬ï, â ª ª ª ¥ ¯à®¢¥à塞 í«¥¬¥âë, «¥¦ 騥 ¢ ¯®§¨æ¨ïå ¬¥¦¤ã i ¨ j . (« £®¤ àï ⮬ã, ç⮠ᯨ᮪ § ¨¬ ¥â ¥¯à¥àë¢ë© ãç á⮪ ¬ áᨢ , ¬ë ¬®¦¥¬ ¢ë¡à âì ¢ ñ¬ á«ãç ©ë© í«¥¬¥â.) 祬 㦮 ¯à¥¤¯®« £ âì, çâ® ¢á¥ ª«îç¨ à §«¨çë? ®ª ¦¨â¥, çâ® ¤«ï ¥ã¡ë¢ î饣® ᯨ᪠á (¢®§¬®¦®) ᮢ¯ ¤ î騬¨ ª«îç ¬¨ á«ãç ©ë¥ áª çª¨ ¬®£ãâ ¥ ã«ãçè¨âì ᨬ¯â®â¨ªã ¢à¥¬¥¨ ¯®¨áª . ª ®æ¥¨âì ¢à¥¬ï à ¡®âë? ।áâ ¢¨¬ ᥡ¥, çâ® ¥áª®«ìª¨å ¯¥à¢ëå è £ å ¬ë ¢ë¯®«ï¥¬ ⮫쪮 á«ãç ©ë¥ áª çª¨, ®áâ «ìëå ¢ë¯®«ï¥¬ «¨¥©ë© ¯®¨áª. ®¦® ®æ¥¨âì ®¦¨¤ ¥¬®¥ à ááâ®ï¨¥ ¤® ¨áª®¬®£® í«¥¬¥â ¯®á«¥ ¯¥à¢®© ä §ë | ¨ ⥬ á ¬ë¬ ¤«¨â¥«ì®áâì ¢â®à®© ä §ë. è «£®à¨â¬ ¡ã¤¥â à ¡®â âì ¥ å㦥 â ª®£® ãá¥çñ®£®, ¨ ®áâ ñâáï ⮫쪮 ¯à ¢¨«ì® ¢ë¡à âì ¤«¨â¥«ì®áâì ¯¥à¢®© ä §ë, çâ®¡ë ¯®«ãç¨âì ®æ¥ªã ¯®«ãçè¥. ¤¥« ¥¬ íâ® ªªãà â®. «ï ª ¦¤®£® t > 0 ®¡®§ 稬 ç¥à¥§ Xt á«ãç ©ãî ¢¥«¨ç¨ã, à ¢ãî à ááâ®ï¨î (¨§¬¥à¥®¬ã ¢¤®«ì ᯨ᪠) ®â ¯®§¨æ¨¨ i ¤® ¨áª®¬®£® ª«îç k ¯®á«¥ t á«ãç ©ëå ᪠窮¢. ¡ ®ª ¦¨â¥, çâ® ¤«ï ª ¦¤®£® t > 0 ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ Compact-List-Search ¥áâì O(t + E [Xt]). Pn t ¢ ®ª ¦¨â¥, çâ® E (Xt) 6 r=1 (1 ; r=n) . (ª § ¨¥: ¢®á¯®«ì§ã©â¥áì ä®à¬ã«®© (6.28)). P ;1 £ ®ª ¦¨â¥, çâ® nr=0 5 6 nt+1 =(t + 1). ¤ ®ª ¦¨â¥, çâ® E (Xt) 6 n=(t + 1), ¨ ®¡êïá¨â¥ " ¯ «ìæ å", ¯®ç¥¬ã íâ® ¥à ¢¥á⢮ ¤®«¦® ¡ëâì ¢¥à®. e ®ª ¦¨â¥, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ Compact-List-Search ¥áâì O(pn). ¬¥ç ¨ï ४à áë¥ á¯à ¢®ç¨ª¨ ¯® áâàãªâãà ¬ ¤ ëå | ª¨£¨ å®, ®¯ªà®äâ ¨ «ì¬ [5] ¨ ãâ [121]. ¥§ã«ìâ âë íªá¯¥à¨¬¥â®¢ ¯® áà ¢¥¨î íä䥪⨢®áâ¨ à §«¨çëå ®¯¥à 権 áâàãªâãà å ¤ ëå ¬®¦® ©â¨ ¢ ®¥â [90] ⥪¨ ¨ ®ç¥à¥¤¨ ¨á¯®«ì§®¢ «¨áì ¢ ¬ ⥬ ⨪¥ ¨ ¤¥«®¯à®¨§¢®¤á⢥ ¢ ¤®ª®¬¯ìîâ¥àãî íàã. ãâ [121] ®â¬¥ç ¥â, çâ® ¢ 1947 £®¤ã ìîਣ (A.M. Turing) ¨á¯®«ì§®¢ « á⥪¨ ¤«ï á¢ï§¨ ¯®¤¯à®£à ¬¬. âàãªâãàë ¤ ëå, ®á®¢ ë¥ ãª § ⥫ïå, â ª¦¥, ¢¨¤¨¬®, ®â®áïâáï ª "䮫쪫®àã". ®£« á® ãâã, 㪠§ ⥫¨ ¨á¯®«ì§®¢ - 216 « ¢ 11 «¥¬¥â àë¥ áâàãªâãàë ¤ ëå «¨áì ¥é¥ ¢ ¯¥à¢ëå ª®¬¯ìîâ¥à å á ¬ £¨â묨 ¡ à ¡ ¬¨. 1951 £®¤ã ®¯¯¥à (G. M. Hopper) à §à ¡®â « ï§ëª A-1, ¢ ª®â®à®¬ «£¥¡à ¨ç¥áª¨¥ ä®à¬ã«ë ¯à¥¤áâ ¢«ï«¨áì ¢ ¢¨¤¥ ¤¢®¨çëå ¤¥à¥¢ì¥¢. ®â ¦¥ ãâ 㪠§ë¢ ¥â, çâ® á¨á⥬ â¨ç¥áª®¥ ¨á¯®«ì§®¢ ¨¥ 㪠§ ⥫¥© ç «®áì á ï§ëª IPL-II, ª®â®àë© à §à ¡®â «¨ ¢ 1956 £®¤ã ìîí««, ®ã ¨ ©¬® (A. Newell, J. C. Shaw, H. A. Simon). à §à ¡®â ®¬ ⥬¨ ¦¥ ¢â®à ¬¨ ¢ 1957 £®¤ã ï§ëª¥ IPL-III ¯®ï¢¨«¨áì ¢ ¬ ¢¨¤¥ ®¯¥à 樨 á® á⥪ ¬¨. 12 ¥è-â ¡«¨æë áâ® ¡ë¢ îâ ã¦ë ¤¨ ¬¨ç¥áª¨¥ ¬®¦¥á⢠, ¯®¤¤¥à¦¨¢ î騥 ⮫쪮 "á«®¢ àë¥ ®¯¥à 樨" ¤®¡ ¢«¥¨ï, ¯®¨áª ¨ 㤠«¥¨ï í«¥¬¥â . í⮬ á«ãç ¥ ç áâ® ¯à¨¬¥ïîâ â ª §ë¢ ¥¬®¥ å¥è¨à®¢ ¨¥; ᮮ⢥âáâ¢ãîé ï áâàãªâãà ¤ ëå §ë¢ ¥âáï "å¥èâ ¡«¨æ " (¨«¨ "â ¡«¨æ à ááâ ®¢ª¨"). åã¤è¥¬ á«ãç ¥ ¯®¨áª ¢ å¥è-â ¡«¨æ¥ ¬®¦¥â § ¨¬ âì á⮫쪮 ¦¥ ¢à¥¬¥¨, ᪮«ìª® ¯®¨áª ¢ ᯨ᪥ ((n)), ® ¯à ªâ¨ª¥ å¥è¨à®¢ ¨¥ ¢¥áì¬ íä䥪⨢®. ਠ¢ë¯®«¥¨¨ ¥ª®â®àëå ¥áâ¥á⢥ëå ãá«®¢¨© ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ ¯®¨áª í«¥¬¥â ¢ å¥è-â ¡«¨æ¥ ¥áâì O(1). ¥è-â ¡«¨æã ¬®¦® à áᬠâਢ âì ª ª ®¡®¡é¥¨¥ ®¡ë箣® ¬ áᨢ . ᫨ ã á ¤®áâ â®ç® ¯ ¬ï⨠¤«ï ¬ áᨢ , ç¨á«® í«¥¬¥â®¢ ª®â®à®£® à ¢® ç¨á«ã ¢á¥å ¢®§¬®¦ëå ª«î祩, ¤«ï ª ¦¤®£® ¢®§¬®¦®£® ª«îç ¬®¦® ®â¢¥á⨠ï祩ªã ¢ í⮬ ¬ áᨢ¥ ¨ ⥬ á ¬ë¬ ¨¬¥âì ¢®§¬®¦®áâì ¤®¡à âìáï ¤® «î¡®© § ¯¨á¨ § ¢à¥¬ï O(1) ("¯àï¬ ï ¤à¥á æ¨ï", á¬. à §¤. 12.1). ¤ ª® ¥á«¨ ॠ«ì®¥ ª®«¨ç¥á⢮ § ¯¨á¥© § ç¨â¥«ì® ¬¥ìè¥, 祬 ª®«¨ç¥á⢮ ¢®§¬®¦ëå ª«î祩, â® íä䥪⨢¥¥ ¯à¨¬¥¨âì å¥è¨à®¢ ¨¥: ¢ëç¨á«ïâì ¯®§¨æ¨î § ¯¨á¨ ¢ ¬ áᨢ¥, ¨áå®¤ï ¨§ ª«îç . à §¤¥«¥ 12.2 ®¡á㦤 îâáï ®á®¢ë¥ ¨¤¥¨, ¢ à §¤¥«¥ 12.3 | ª®ªà¥âë¥ á¯®á®¡ë â ª®£® ¢ëç¨á«¥¨ï. í⮩ £« ¢¥ ¯à¥¤áâ ¢«¥® ¥áª®«ìª® ¢ ਠ⮢ å¥è¨à®¢ ¨ï. ë 㢨¤¨¬, çâ® å¥è¨à®¢ ¨¥ | íää¥ªâ¨¢ë© ¨ 㤮¡ë© ᯮᮡ ¢ë¯®«ïâì ®á®¢ë¥ á«®¢ àë¥ ®¯¥à 樨 (á।¥¥ ¢à¥¬ï O(1) ¯à¨ ¥ª®â®àëå ¯à¥¤¯®«®¦¥¨ïå). 12.1 àï¬ ï ¤à¥á æ¨ï àï¬ ï ¤à¥á æ¨ï ¯à¨¬¥¨¬ , ¥á«¨ ª®«¨ç¥á⢮ ¢®§¬®¦ëå ª«î祩 ¥¢¥«¨ª®. ãáâì ¢®§¬®¦ë¬¨ ª«îç ¬¨ ïîâáï ç¨á« ¨§ ¬®¦¥á⢠U = f0; 1; : : :; m ; 1g (ç¨á«® m ¥ ®ç¥ì ¢¥«¨ª®). ।¯®«®¦¨¬ â ª¦¥, çâ® ª«îç¨ ¢á¥å í«¥¬¥â®¢ à §«¨çë. «ï åà ¥¨ï ¬®¦¥á⢠¬ë ¯®«ì§ã¥¬áï ¬ áᨢ®¬ T [0 : :m ; 1], §ë¢ ¥¬ë¬ â ¡«¨æ¥© á ¯àאַ© ¤à¥á 樥© (direct-address table). - 218 « ¢ 12 ¥è-â ¡«¨æë ¥à¥¢®¤ë ¤¯¨á¥© á ¬®© ª à⨪¥: universe of keys | ¢á¥¢®§¬®¦ë¥ ª«îç¨, actual keys | ¨á¯®«ì§ã¥¬ë¥ ª«îç¨, key | ª«îç, satellite data | ¤®¯®«¨â¥«ìë¥ ¤ ë¥. ¨á㮪 12.1 ¥ «¨§ æ¨ï ¤¨ ¬¨ç¥áª®£® ¬®¦¥áâ¢ á ¯®¬®éìî â ¡«¨æë T á ¯àאַ© ¤à¥á 樥©. ®¦¥á⢮ ¢®§¬®¦ëå ª«î祩 ¥áâì U = f0; 1; : : : ; 9g. ¦¤®¬ã ¨§ íâ¨å ª«î祩 ᮮ⢥âáâ¢ã¥â ᢮ñ ¬¥áâ® ¢ â ¡«¨æ¥. ¯®§¨æ¨ïå â ¡«¨æë á ®¬¥à ¬¨ 2, 3, 5 ¨ 8 (ä ªâ¨ç¥áª¨ ¨á¯®«ì§ã¥¬ë¥ ª«îç¨) § ¯¨á ë 㪠§ ⥫¨ í«¥¬¥âë ¬®¦¥á⢠, ¢ ¥¨á¯®«ì§ã¥¬ëå ¯®§¨æ¨ïå â ¡«¨æë (âñ¬®-á¥àë¥) § ¯¨á nil. ¦¤ ï ¯®§¨æ¨ï, ¨«¨ ï祩ª , (¯®- £«¨©áª¨ slot ¨«¨ position) ᮮ⢥âáâ¢ã¥â ®¯à¥¤¥«ñ®¬ã ª«îçã ¨§ ¬®¦¥á⢠U (à¨á. 12.1: T [k] | ¬¥áâ®, ¯à¥¤ § 祮¥ ¤«ï § ¯¨á¨ 㪠§ ⥫ï í«¥¬¥â á ª«î箬 k; ¥á«¨ í«¥¬¥â á ª«î箬 k ¢ â ¡«¨æ¥ ¥â, â® T [k] = nil). ¥ «¨§ æ¨ï á«®¢ àëå ®¯¥à 権 âਢ¨ «ì : Direct-Address-Search (T; k) return T [k] Direct-Address-Insert (T; x) T [key[x]] x Direct-Address-Delete (T; x) T [key[x]] nil ¦¤ ï ¨§ íâ¨å ®¯¥à 権 âॡã¥â ¢à¥¬¥¨ O(1). ®£¤ ¬®¦® áíª®®¬¨âì ¬¥áâ®, § ¯¨áë¢ ï ¢ â ¡«¨æã T ¥ 㪠§ ⥫¨ í«¥¬¥âë ¬®¦¥á⢠, á ¬¨ íâ¨ í«¥¬¥âë. ®¦® ®¡®©â¨áì ¨ ¡¥§ ®â¤¥«ì®£® ¯®«ï "ª«îç": ª«î箬 á«ã¦¨â ¨¤¥ªá ¢ ¬ áᨢ¥. ¯à®ç¥¬, ¥á«¨ ¬ë ®¡å®¤¨¬áï ¡¥§ ª«î祩 ¨ 㪠§ ⥫¥©, â® ¤® ¨¬¥âì ᯮᮡ 㪠§ âì, çâ® ¤ ï ¯®§¨æ¨ï ᢮¡®¤ . ¯à ¦¥¨ï ¯¨è¨â¥ ¯à®æ¥¤ãàã ¤«ï 宦¤¥¨ï ¨¡®«ì襣® í«¥¬¥â ¤¨ ¬¨ç¥áª®£® ¬®¦¥á⢠, ¯à¥¤áâ ¢«¥®£® ¢ ¢¨¤¥ â ¡«¨æë á ¯àאַ© ¤à¥á 樥©. ª®¢® ¢à¥¬ï à ¡®âë í⮩ ¯à®æ¥¤ãàë ¢ åã¤12.1-1 ¥è-â ¡«¨æë 219 襬 á«ãç ¥? 12.1-2 ¨â®¢ë© ¢¥ªâ®à (bit vector) | íâ® ¬ áᨢ ¡¨â®¢ (ã«¥© ¨ ¥¤¨¨æ). ¨â®¢ë© ¢¥ªâ®à ¤«¨ë m § ¨¬ ¥â § ç¨â¥«ì® ¬¥ìè¥ ¬¥áâ , 祬 ¬ áᨢ ¨§ m 㪠§ ⥫¥©. ª, ¯®«ì§ãïáì ¡¨â®¢ë¬ ¢¥ªâ®à®¬, ॠ«¨§®¢ âì ¤¨ ¬¨ç¥áª®¥ ¬®¦¥á⢮, á®áâ®ï饥 ¨§ à §«¨çëå í«¥¬¥â®¢ ¨ ¥ ᮤ¥à¦ 饥 ¤®¯®«¨â¥«ìëå ¤ ëå? «®¢ àë¥ ®¯¥à 樨 ¤®«¦ë ¢ë¯®«ïâìáï § ¢à¥¬ï O(1). 12.1-3 ª ॠ«¨§®¢ âì â ¡«¨æã á ¯àאַ© ¤à¥á 樥©, ¢ ª®â®à®© ª«îç¨ à §«¨çëå í«¥¬¥â®¢ ¬®£ãâ ᮢ¯ ¤ âì, á ¬¨ í«¥¬¥âë ¬®£ãâ ᮤ¥à¦ âì ¤®¯®«¨â¥«ìë¥ ¤ ë¥? ¯¥à 樨 ¤®¡ ¢«¥¨ï, 㤠«¥¨ï ¨ ¯®¨áª ¤®«¦ë ¢ë¯®«ïâìáï § ¢à¥¬ï O(1) (¥ § ¡ã¤ìâ¥, çâ® à£ã¬¥â®¬ ¯à®æ¥¤ãàë 㤠«¥¨ï Delete ï¥âáï 㪠§ ⥫ì 㤠«ï¥¬ë© í«¥¬¥â, ¥ ª«îç). 12.1-4? ।¯®«®¦¨¬, çâ® ¬ ¤® ॠ«¨§®¢ âì ¤¨ ¬¨ç¥áª®¥ ¬®¦¥á⢮, ¯®¤¤¥à¦¨¢ î饥 á«®¢ àë¥ ®¯¥à 樨, ¡ §¥ ®ç¥ì ¡®«ì讣® ¬ áᨢ . ¥à¢® ç «ì® ¢ ¬ áᨢ¥ ¬®¦¥â ¡ëâì § ¯¨á ® çâ®-â®, ¥ ¨¬¥î饥 ®â®è¥¨¥ ª 襩 § ¤ ç¥, ® ¬ áᨢ â ª®© ¡®«ì让, çâ® ¯à¥¤¢ à¨â¥«ì® ®ç¨é âì ¥£® ¥¯à ªâ¨ç®. ª ¢ â ª¨å ãá«®¢¨ïå ॠ«¨§®¢ âì â ¡«¨æã á ¯àאַ© ¤à¥á 樥©? ¦¤ ï § ¯¨áì ¤®«¦ § ¨¬ âì ¬¥áâ® à §¬¥à®¬ O(1), ®¯¥à 樨 ¤®¡ ¢«¥¨ï, 㤠«¥¨ï ¨ ¯®¨áª ¤®«¦ë ¢ë¯®«ïâìáï § ¢à¥¬ï O(1), ¢à¥¬ï ¨¨æ¨ «¨§ æ¨î áâàãªâãàë ¤ ëå â ª¦¥ ¤®«¦® ¡ëâì à ¢® O(1). (ª § ¨¥: çâ®¡ë ¨¬¥âì ¢®§¬®¦®áâì 㧠âì, ¨¬¥¥â «¨ ¤ ë© í«¥¬¥â ¬ áᨢ ®â®è¥¨¥ ª 襩 áâàãªâãॠ¤ ëå, § ¢¥¤¨â¥ á⥪, à §¬¥à ª®â®à®£® à ¢¥ ª®«¨ç¥áâ¢ã § ¯¨á¥© ¢ â ¡«¨æ¥). 12.2 ¥è-â ¡«¨æë àï¬ ï ¤à¥á æ¨ï ®¡« ¤ ¥â ®ç¥¢¨¤ë¬ ¥¤®áâ ⪮¬: ¥á«¨ ¬®¦¥á⢮ U ¢á¥¢®§¬®¦ëå ª«î祩 ¢¥«¨ª®, â® åà ¨âì ¢ ¯ ¬ï⨠¬ áᨢ T à §¬¥à®¬ jU j ¥¯à ªâ¨ç®, â® ¨ ¥¢®§¬®¦®. ஬¥ ⮣®, ¥á«¨ ç¨á«® ॠ«ì® ¯à¨áãâáâ¢ãîé¨å ¢ â ¡«¨æ¥ § ¯¨á¥© ¬ «® ¯® áà ¢¥¨î á jU j, â® ¬®£® ¯ ¬ï⨠âà â¨âáï §àï. ᫨ ª®«¨ç¥á⢮ § ¯¨á¥© ¢ â ¡«¨æ¥ áãé¥á⢥® ¬¥ìè¥, 祬 ª®«¨ç¥á⢮ ¢á¥¢®§¬®¦ëå ª«î祩, â® å¥è-â ¡«¨æ § ¨¬ ¥â £®à §¤® ¬¥ìè¥ ¬¥áâ , 祬 â ¡«¨æ á ¯àאַ© ¤à¥á 樥©. ¬¥®, å¥èâ ¡«¨æ âॡã¥â ¯ ¬ï⨠®¡êñ¬®¬ (jK j), £¤¥ K | ¬®¦¥á⢮ § ¯¨á¥©, ¯à¨ í⮬ ¢à¥¬ï ¯®¨áª ¢ å¥è-â ¡«¨æ¥ ¯®-¯à¥¦¥¬ã ¥áâì O(1) (¥¤¨á⢥®¥ "®" ¢ ⮬, ç⮠ᥩ à § íâ® | ®æ¥ª ¢ á।¥¬, ¥ ¢ åã¤è¥¬ á«ãç ¥, ¤ ¨ ⮠⮫쪮 ¯à¨ ®¯à¥¤¥«ñëå ¯à¥¤¯®«®¦¥¨ïå). â® ¢à¥¬ï ª ª ¯à¨ ¯àאַ© ¤à¥á 樨 í«¥¬¥âã á ª«î箬 k ®â- 220 « ¢ 12 ¥è-â ¡«¨æë ¥à¥¢®¤ë ¤¯¨á¥© á ¬®© ª à⨪¥: universe of keys | ¢á¥¢®§¬®¦ë¥ ª«îç¨, actual keys | ¨á¯®«ì§ã¥¬ë¥ ª«îç¨ ¨á㮪 12.2 ᯮ«ì§®¢ ¨¥ å¥è-äãªæ¨¨ ¤«ï ®â®¡à ¦¥¨ï ª«î祩 ¢ ¯®§¨æ¨¨ å¥è-â ¡«¨æë. ¥è-§ ç¥¨ï ª«î祩 k2 ¨ k5 ᮢ¯ ¤ îâ | ¨¬¥¥â ¬¥áâ® ª®««¨§¨ï. ¢®¤¨âáï ¯®§¨æ¨ï ®¬¥à k, ¯à¨ å¥è¨à®¢ ¨¨ íâ®â í«¥¬¥â § ¯¨áë¢ ¥âáï ¢ ¯®§¨æ¨î ®¬¥à h(k) ¢ å¥è-â ¡«¨æ¥ (hash table) T [0 : :m ; 1], £¤¥ h : U ! f0; 1; : : :; m ; 1g | ¥ª®â®à ï äãªæ¨ï, §ë¢ ¥¬ ï å¥è-äãªæ¨¥© (hash function). ¨á«® h(k) §ë¢ îâ å¥è-§ 票¥¬ (hash value) ª«îç k. ¤¥ï å¥è¨à®¢ ¨ï ¯®ª § à¨á. 12.2: ¯®«ì§ãïáì ¬ áᨢ®¬ ¤«¨ë m, ¥ jU j, ¬ë íª®®¬¨¬ ¯ ¬ïâì. ஡«¥¬ , ®¤ ª®, ¢ ⮬, çâ® å¥è-§ ç¥¨ï ¤¢ãå à §ëå ª«î祩 ¬®£ãâ ᮢ¯ áâì. â ª¨å á«ãç ïå £®¢®àïâ, çâ® á«ã稫 áì ª®««¨§¨ï, ¨«¨ á⮫ª®¢¥¨¥ (collision). áç áâìî, í⠯஡«¥¬ à §à¥è¨¬ : å¥è-äãªæ¨ï¬¨ ¬®¦® ¯®«ì§®¢ âìáï ¨ ¯à¨ «¨ç¨¨ á⮫ª®¢¥¨©. ®â¥«®áì ¡ë ¢ë¡à âì å¥è-äãªæ¨î â ª, çâ®¡ë ª®««¨§¨¨ ¡ë«¨ ¥¢®§¬®¦ë. ® ¯à¨ jU j > m ¥¨§¡¥¦® áãé¥áâ¢ãîâ à §ë¥ ª«îç¨, ¨¬¥î騥 ®¤® ¨ â® ¦¥ å¥è-§ 票¥. ª çâ® ¬®¦® «¨èì ¤¥ïâìáï, çâ® ¤«ï ä ªâ¨ç¥áª¨ ¯à¨áãâáâ¢ãîé¨å ¢ ¬®¦¥á⢥ ª«î祩 ª®««¨§¨© ¡ã¤¥â ¥¬®£®, ¨ ¡ëâì £®â®¢ë¬¨ ®¡à ¡ âë¢ âì ⥠ª®««¨§¨¨, ª®â®àë¥ ¢áñ-â ª¨ ¯à®¨§®©¤ãâ. 롨à ï å¥è-äãªæ¨î, ¬ë ®¡ëç® ¥ § ¥¬ § à ¥¥, ª ª¨¥ ¨¬¥® ª«îç¨ ¡ã¤ãâ åà ¨âìáï. ® ¢á直© á«ãç © à §ã¬® ᤥ« âì ᤥ« âì å¥è-äãªæ¨î ¢ ª ª®¬-â® á¬ëá«¥ "á«ãç ©®©", å®à®è® ¯¥à¥¬¥è¨¢ î饩 ª«îç¨ ¯® ï祩ª ¬ ( £«¨©áª¨© £« £®« \to hash" ®§ ç ¥â "¬¥«ª® ¯®à㡨âì, ¯®¬¥è¨¢ ï"). §ã¬¥¥âáï, "á«ãç © ï" å¥è-äãªæ¨ï ¤®«¦ ¢áñ ¦¥ ¡ëâì ¤¥â¥à¬¨¨à®¢ ®© ¢ ⮬ á¬ëá«¥, çâ® ¯à¨ ¥¥ ¯®¢â®àëå ¢ë§®¢ å á ®¤¨¬ ¨ ⥬ ¦¥ à£ã¬¥â®¬ ® ¤®«¦ ¢®§¢à é âì ®¤® ¨ â® ¦¥ å¥è-§ 票¥. í⮬ à §¤¥«¥ ¬ë à áᬮâਬ ¯à®á⥩訩 ᯮᮡ ®¡à ¡®âª¨ (ª ª £®¢®àïâ, "à §à¥è¥¨ï") ª®««¨§¨© á ¯®¬®éìî 楯®ç¥ª. à㣮© ᯮᮡ | ®âªàëâ ï ¤à¥á æ¨ï | à áᬠâਢ ¥âáï ¢ à §¤¥«¥ 12.4. ¥è-â ¡«¨æë 221 ¥à¥¢®¤ë ¤¯¨á¥© á ¬®© ª à⨪¥: universe of keys | ¢á¥¢®§¬®¦ë¥ ª«îç¨, actual keys | ¨á¯®«ì§ã¥¬ë¥ ª«îç¨ ¨á㮪 12.3 §à¥è¥¨¥ ª®««¨§¨© á ¯®¬®éìî 楯®ç¥ª. ¯®§¨æ¨¨ T [j ] åà ¨âáï 㪠§ ⥫ì ᯨ᮪ í«¥¬¥â®¢ á å¥è-§ 票¥¬ j . ¯à¨¬¥à, h(k1 ) = h(k4 ) ¨ h(k5 ) = h(k2 ) = h(k7 ). §à¥è¥¨¥ ª®««¨§¨© á ¯®¬®éìî 楯®ç¥ª ¥å®«®£¨ï á楯«¥¨ï í«¥¬¥â®¢ (chaining) á®á⮨⠢ ⮬, çâ® í«¥¬¥âë ¬®¦¥á⢠, ª®â®àë¬ á®®â¢¥âáâ¢ã¥â ®¤® ¨ â® ¦¥ å¥è§ 票¥, á¢ï§ë¢ îâáï ¢ 楯®çªã-ᯨ᮪ (à¨á. 12.3). ¯®§¨æ¨¨ ®¬¥à j åà ¨âáï 㪠§ â¥«ì £®«®¢ã ᯨ᪠â¥å í«¥¬¥â®¢, ã ª®â®àëå å¥è-§ 票¥ ª«îç à ¢® j ; ¥á«¨ â ª¨å í«¥¬¥â®¢ ¢ ¬®¦¥á⢥ ¥â, ¢ ¯®§¨æ¨¨ j § ¯¨á nil. ¯¥à 樨 ¤®¡ ¢«¥¨ï, ¯®¨áª ¨ 㤠«¥¨ï ॠ«¨§ãîâáï «¥£ª®: Chained-Hash-Insert(T; x) ¤®¡ ¢¨âì x ¢ £®«®¢ã ᯨ᪠T [h(key[x])] Chained-Hash-Search(T; k) ©â¨ í«¥¬¥â á ª«î箬 k ¢ ᯨ᪥ T [h(k)] Chained-Hash-Delete(T; x) 㤠«¨âì x ¨§ ᯨ᪠T [h(key[x])] ¯¥à æ¨ï ¤®¡ ¢«¥¨ï à ¡®â ¥â ¢ åã¤è¥¬ á«ãç ¥ § ¢à¥¬ï O(1). ªá¨¬ «ì®¥ ¢à¥¬ï à ¡®âë ®¯¥à 樨 ¯®¨áª ¯à®¯®à樮 «ì® ¤«¨¥ ᯨ᪠(¨¦¥ ¬ë à áᬮâਬ íâ®â ¢®¯à®á ¯®¤à®¡¥¥). ª®¥æ, 㤠«¥¨¥ í«¥¬¥â ¬®¦® ¯à®¢¥á⨠§ ¢à¥¬ï O(1) | ¯à¨ ãá«®¢¨¨, ç⮠ᯨ᪨ ¤¢ãáâ®à®¥ á¢ï§ ë (¥á«¨ ᯨ᪨ á¢ï§ ë ®¤®áâ®à®¥, â® ¤«ï 㤠«¥¨ï í«¥¬¥â x ¤® ¯à¥¤¢ à¨â¥«ì® ©â¨ ¥£® ¯à¥¤è¥á⢥¨ª , ¤«ï 祣® ¥®¡å®¤¨¬ ¯®¨áª ¯® ᯨáªã; ¢ â ª®¬ á«ãç ¥ á⮨¬®áâì 㤠«¥¨ï ¨ ¯®¨áª ¯à¨¬¥à® ®¤¨ ª®¢ë). 222 « ¢ 12 ¥è-â ¡«¨æë «¨§ å¥è¨à®¢ ¨ï á 楯®çª ¬¨ í⮬ à §¤¥«¥ ¬ë ®æ¥¨¬ ¢à¥¬ï à ¡®âë ®¯¥à 権 ¤«ï å¥è¨à®¢ ¨ï á 楯®çª ¬¨. ãáâì T | å¥è-â ¡«¨æ á m ¯®§¨æ¨ï¬¨, ¢ ª®â®àãî § ¥á¥® n í«¥¬¥â®¢. ®íää¨æ¨¥â®¬ § ¯®«¥¨ï (load factor) â ¡«¨æë §ë¢ ¥âáï ç¨á«® = n=m (íâ® ç¨á«® ¬®¦¥â ¡ëâì ¨ ¬¥ìè¥, ¨ ¡®«ìè¥ ¥¤¨¨æë). ë ¡ã¤¥¬ ®æ¥¨¢ âì á⮨¬®áâì ®¯¥à 権 ¢ â¥à¬¨ å . åã¤è¥¬ á«ãç ¥ å¥è¨à®¢ ¨¥ á 楯®çª ¬¨ ¢¥¤¥â á¥¡ï ®â¢à â¨â¥«ì®: ¥á«¨ å¥è-§ ç¥¨ï ¢á¥å n ª«î祩 ᮢ¯ ¤ îâ, â® â ¡«¨æ ᢮¤¨âáï ª ®¤®¬ã ᯨáªã ¤«¨ë n, ¨ ¯®¨áª ¡ã¤¥â âà â¨âìáï â® ¦¥ ¢à¥¬ï (n), çâ® ¨ ¯®¨áª ¢ ᯨ᪥, ¯«îá ¥éñ ¢à¥¬ï ¢ëç¨á«¥¨¥ å¥è-äãªæ¨¨. ®¥ç®, ¢ â ª®© á¨âã 樨 å¥è¨à®¢ ¨¥ ¡¥áá¬ëá«¥®. ।ïï á⮨¬®áâì ¯®¨áª § ¢¨á¨â ®â ⮣®, ᪮«ìª® à ¢®¬¥à® å¥è-äãªæ¨ï à á¯à¥¤¥«ï¥â å¥è-§ ç¥¨ï ¯® ¯®§¨æ¨ï¬ â ¡«¨æë. ®¯à®áã ® ⮬, ª ª ¤®¡¨¢ âìáï í⮩ à ¢®¬¥à®áâ¨, ¯®á¢ïéñ à §¤¥« 12.3; ¯®ª ¦¥ ¡ã¤¥¬ ãá«®¢® ¯à¥¤¯®« £ âì, çâ® ª ¦¤ë© ¤ ë© í«¥¬¥â ¬®¦¥â ¯®¯ áâì ¢ «î¡ãî ¨§ m ¯®§¨æ¨© â ¡«¨æë á à ¢®© ¢¥à®ïâ®áâìî ¨ ¥§ ¢¨á¨¬® ®â ⮣®, ªã¤ ¯®¯ « ¤à㣮© í«¥¬¥â. ë ¡ã¤¥¬ §ë¢ âì íâ® ¯à¥¤¯®«®¦¥¨¥ £¨¯®â¥§®© "à ¢®¬¥à®£® å¥è¨à®¢ ¨ï" (simple uniform hashing). 㤥¬ áç¨â âì, çâ® ¤«ï ¤ ®£® ª«îç k ¢ëç¨á«¥¨¥ å¥è§ 票ï h(k), è £ ¯® ᯨáªã ¨ áà ¢¥¨¥ ª«î祩 âॡã¥â 䨪á¨à®¢ ®£® ¢à¥¬¥¨, â ª çâ® ¢à¥¬ï ¯®¨áª í«¥¬¥â á ª«î箬 k «¨¥©® § ¢¨á¨â ®â ª®«¨ç¥áâ¢ í«¥¬¥â®¢ ¢ ᯨ᪥ T [h(k)], ª®â®àë¥ ¬ë ¯à®á¬ âਢ ¥¬ ¢ ¯à®æ¥áᥠ¯®¨áª . 㤥¬ à §«¨ç âì ¤¢ á«ãç ï: ¢ ¯¥à¢®¬ á«ãç ¥ ¯®¨áª ®ª 稢 ¥âáï ¥ã¤ ç¥© (í«¥¬¥â á ª«î箬 k ¢ ᯨ᪥ ¥â), ¢® ¢â®à®¬ ¯®¨áª ãá¯¥è¥ | í«¥¬¥â á âà¥¡ã¥¬ë¬ ª«î箬 ®¡ à㦨¢ ¥âáï. ¥®à¥¬ 12.1. ãáâì T | å¥è-â ¡«¨æ á 楯®çª ¬¨, ¨¬¥îé ï ª®íää¨æ¨¥â § ¯®«¥¨ï . ।¯®«®¦¨¬, çâ® å¥è¨à®¢ ¨¥ à ¢®¬¥à®. ®£¤ ¯à¨ ¯®¨áª¥ í«¥¬¥â , ®âáãâáâ¢ãî饣® ¢ â ¡«¨æ¥, ¡ã¤¥â ¯à®á¬®â८ ¢ á।¥¬ í«¥¬¥â®¢ â ¡«¨æë, á।¥¥ ¢à¥¬ï â ª®£® ¯®¨áª (¢ª«îç ï ¢à¥¬ï ¢ëç¨á«¥¨¥ å¥è-äãªæ¨¨) ¡ã¤¥â à ¢® (1 + ). ®ª § ⥫ìá⢮. ®áª®«ìªã ¢ ¯à¥¤¯®«®¦¥¨¨ à ¢®¬¥à®£® å¥è¨à®¢ ¨ï ¢á¥ ¯®§¨æ¨¨ â ¡«¨æë ¤«ï ¤ ®£® ª«îç à ¢®¢¥à®ïâë, á।¥¥ ¢à¥¬ï ¯®¨áª ®âáãâáâ¢ãî饣® í«¥¬¥â ᮢ¯ ¤ ¥â á® á।¨¬ ¢à¥¬¥¥¬ ¯®«®£® ¯à®á¬®âà ®¤®£® ¨§ m ᯨ᪮¢, â® ¥áâì ¯à®¯®à樮 «ì® á।¥© ¤«¨¥ è¨å m ᯨ᪮¢. â á।ïï ¤«¨ ¥áâì n=m = , ®âªã¤ ¯®«ãç ¥¬ ¯¥à¢®¥ ã⢥ত¥¨¥ ⥮६ë; ¢â®à®¥ ã⢥ত¥¨¥ ¯®«ãç¨âáï, ¥á«¨ ¤®¡ ¢¨âì ¢à¥¬ï (1) ¢ëç¨á«¥¨¥ å¥è-§ 票ï. ¥è-â ¡«¨æë 223 ¥®à¥¬ 12.2. à¨ à ¢®¬¥à®¬ å¥è¨à®¢ ¨¨ á।¥¥ ¢à¥¬ï ãᯥ讣® ¯®¨áª ¢ å¥è-â ¡«¨æ¥ á 楯®çª ¬¨ ¥áâì (1 + ), £¤¥ | ª®íää¨æ¨¥â § ¯®«¥¨ï. ®ª § ⥫ìá⢮. ®âï ä®à¬ã«¨à®¢ª í⮩ â¥®à¥¬ë ¯®å®¦ ¯à¥¤ë¤ãéãî, á¬ëá« ã⢥ত¥¨ï ¥áª®«ìª® ¨®©. ¯à¥¤ë¤ã饩 ⥮६¥ ¬ë à áᬠâਢ «¨ ¯à®¨§¢®«ìãî â ¡«¨æã á ª®íää¨æ¨¥â®¬ § ¯®«¥¨ï ¨ ®æ¥¨¢ «¨ á।¥¥ ç¨á«® ¤¥©á⢨©, ¥®¡å®¤¨¬ëå ¤«ï ¯®¨áª á«ãç ©®£® í«¥¬¥â , à ¢®¢¥à®ïâ® ¯®¯ ¤ î饣® ¢® ¢á¥ ï祩ª¨ â ¡«¨æë. í⮩ ⥮६¥ â ª ¤¥« âì ¥«ì§ï: ¥á«¨ ¬ë ¢®§ì¬ñ¬ ¯à®¨§¢®«ìãî â ¡«¨æã ¨, áç¨â ï ¢á¥ ¥ñ í«¥¬¥âë à ¢®¢¥à®ïâ묨, ¡ã¤¥¬ ¨áª âì á।¥¥ ¢à¥¬ï ¯®¨áª á«ãç ©® ¢ë¡à ®£® ¨§ ¨å, â® ®æ¥ª¨ ¢¨¤ (1 + ) ¥ ¯®«ãç¨âáï (ª®âà¯à¨¬¥à: â ¡«¨æ , ¢ ª®â®à®© ¢á¥ í«¥¬¥âë ¯®¯ «¨ ¢ ®¤¨ ᯨ᮪) ®à¬ã«¨à®¢ª ¯®¤à §ã¬¥¢ ¥â ¤¢®©®¥ ãá।¥¨¥: á ç « ¬ë à áᬠâਢ ¥¬ á«ãç ©® ¢ë¡à ãî ¯®á«¥¤®¢ ⥫ì®áâì í«¥¬¥â®¢, ¤®¡ ¢«ï¥¬ëå ¢ â ¡«¨æã, ¯à¨çñ¬ ª ¦¤®¬ è £¥ ¢á¥ § ç¥¨ï ª«îç à ¢®¢¥à®ïâë ¨ è £¨ ¥§ ¢¨á¨¬ë, § ⥬ ¢ ¯®«ã祮© â ¡«¨æ¥ ¢ë¡¨à ¥¬ í«¥¬¥â ¤«ï ¯®¨áª , áç¨â ï ¢á¥ ¥ñ í«¥¬¥âë à ¢®¢¥à®ïâ묨. ®á¬®âਬ á¨âã æ¨î ¢ â®â ¬®¬¥â, ª®£¤ â ¡«¨æ 㦥 ¯®áâ஥ , ® á«ãç ©ë© í«¥¬¥â ¤«ï ¯®¨áª ¥éñ ¥ ¢ë¡à . ¥¬ã à ¢® á।¥¥ ¢à¥¬ï ¯®¨áª , ãá।ñ®¥ ¯® ¢á¥¬ n í«¥¬¥â ¬ â ¡«¨æë? ¤® á«®¦¨âì ¯®§¨æ¨¨ ¢á¥å í«¥¬¥â®¢ ¢ ᢮¨å á¯¨áª å ¨ ¯®¤¥«¨âì á㬬ã n (®¡é¥¥ ç¨á«® í«¥¬¥â®¢). ᫨ ¯à¥¤áâ ¢¨âì ᥡ¥, çâ® ¯à¨ § ¯®«¥¨¨ â ¡«¨æë í«¥¬¥âë ¤®¯¨áë¢ «¨áì ¢ ª®¥æ ᮮ⢥âáâ¢ãîé¨å ᯨ᪮¢ (á¬. ã¯à. 12.2-3), ⮠㯮¬ïãâ ï á㬬 ¯® ¯®à浪㠢¥«¨ç¨ë à ¢ ®¡é¥¬ã ç¨á«® ®¯¥à 権, ¢ë¯®«¥ëå ¯à¨ § ¯®«¥¨¨ â ¡«¨æë (¯®áª®«ìªã ¯à¨ ¤®¡ ¢«¥¨¨ ¢ ª®¥æ ¨ ¯à¨ ¯®¨áª¥ ¢ë¯®«ï¥âáï ®¤® ¨ â® ¦¥ ª®«¨ç¥á⢮ ¤¥©á⢨©). ¥¯¥àì ¢á¯®¬¨¬ ®¡ ãá।¥¨¨ ¯® à §«¨çë¬ ¢®§¬®¦®áâï¬ ¢ ¯à®æ¥áᥠ¯®áâ஥¨ï â ¡«¨æë. ਠ¤®¡ ¢«¥¨¨ ¢ ¥ñ i-£® í«¥¬¥â ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¤¥©á⢨© à ¢® (1 + (i ; 1)=m) (á¬. ¤®ª § ⥫ìá⢮ ¯à¥¤ë¤ã饩 ⥮६ë), ¨ ¯®â®¬ã ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ®¡é¥£® ç¨á« ¤¥©á⢨© ¯à¨ § ¯®«¥¨¨ â ¡«¨æë, ¤¥«ñ®¥ n, ¥áâì n X 1 1+ i;1 n i=1 m ! ! n X 1 = 1+ (i ; 1) = nm i=1 1 ( n ; 1) n = 1 + nm 2 = = 1 + 2 ; 21m = (1 + ): 224 « ¢ 12 ¥è-â ¡«¨æë ᫨ ª®«¨ç¥á⢮ ¯®§¨æ¨© ¢ å¥è-â ¡«¨æ¥ áç¨â âì ¯à®¯®à樮 «ìë¬ ç¨á«ã í«¥¬¥â®¢ ¢ â ¡«¨æ¥, â® ¨§ ¤®ª § ëå ⥮६ ¢ë⥪ ¥â, çâ® á।¥¥ ¢à¥¬ï ¯®¨áª (¢ ®¯â¨¬¨áâ¨ç¥áª¨å ¯à¥¤¯®«®¦¥¨ïå ® à á¯à¥¤¥«¥¨¨ ¢¥à®ïâ®á⥩) ¥áâì O(1). á ¬®¬ ¤¥«¥, ¥á«¨ n = O(m), â® = n=m = O(1) ¨ O(1 + ) = O(1). ®áª®«ìªã á⮨¬®áâì ¤®¡ ¢«¥¨ï ¢ å¥è-â ¡«¨æã á 楯®çª ¬¨ ¥áâì O(1) (¤ ¦¥ ¯à¨ ¤®¡ ¢«¥¨¨ ¢ ª®¥æ, á¬. ã¯à. 12.2-3), á⮨¬®áâì 㤠«¥¨ï í«¥¬¥â ¥áâì O(1) (¬ë áç¨â ¥¬, ç⮠ᯨ᪨ ¤¢ãáâ®à®¥ á¢ï§ ë), á।¥¥ ¢à¥¬ï ¢ë¯®«¥¨ï «î¡®© á«®¢ ன ®¯¥à 樨 (¢ ¯à¥¤¯®«®¦¥¨¨ à ¢®¬¥à®£® å¥è¨à®¢ ¨ï) ¥áâì O(1). ¯à ¦¥¨ï 12.2-1 ãáâì h | á«ãç © ï å¥è-äãªæ¨ï, ᮯ®áâ ¢«ïîé ï á ª ¦¤ë¬ ¨§ n à §«¨çëå ª«î祩 fk1; k2; : : :; kng ®¤ã ¨§ m ¯®§¨æ¨© ¢ â ¡«¨æ¥. ª®¢® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ª®««¨§¨© (â®ç¥¥, ç¨á« ¯ à (i; j ), ¤«ï ª®â®àëå çâ® h(ki) = h(kj ))? 12.2-2 ª ¡ã¤¥â ¢ë£«ï¤¥âì å¥è-â ¡«¨æ á 楯®çª ¬¨ ¯®á«¥ ⮣®, ª ª ¢ ¥ñ ¯®á«¥¤®¢ â¥«ì® ¯®¬¥á⨫¨ í«¥¬¥âë á ª«îç ¬¨ 5; 28; 19; 15; 20; 33; 12; 17; 10 (¢ 㪠§ ®¬ ¯®à浪¥)? ¨á«® ¯®§¨æ¨© ¢ â ¡«¨æ¥ à ¢® 9, å¥è-äãªæ¨ï ¨¬¥¥â ¢¨¤ h(k) = k mod 9. 12.2-3 ®ª ¦¨â¥, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢à¥¬¥¨ ¤®¡ ¢«¥¨ï ®¢®£® í«¥¬¥â (¢ ¯à¥¤¯®«®¦¥¨¨ à ¢®¬¥à®£® å¥è¨à®¢ ¨ï) ¥áâì O(1 + ), ¥á«¨ ¬ë ¤®¡ ¢«ï¥¬ ®¢ë© í«¥¬¥â ¢ ª®¥æ ᮮ⢥âáâ¢ãî饩 楯®çª¨. 12.2-4 à®ä¥áá®à ¯à¥¤¯®« £ ¥â, çâ® å¥è¨à®¢ ¨¥ á 楯®çª ¬¨ ¡ã¤¥â £®à §¤® íä䥪⨢¥¥, ¥á«¨ ᯨ᪨ í«¥¬¥â®¢ á ¤ ë¬ å¥è§ 票¥¬ ¡ã¤ãâ 㯮à冷ç¥ë¬¨. ª íâ®â ¯®¤å®¤ ¯®¢«¨ï¥â á⮨¬®áâì ãᯥ讣® ¯®¨áª , ¯®¨áª ®âáãâáâ¢ãî饣® í«¥¬¥â , ¤®¡ ¢«¥¨ï, 㤠«¥¨ï? 12.2-5 §à ¡®â ©â¥ ॠ«¨§ æ¨î å¥è-â ¡«¨æë á 楯®çª ¬¨, ¢ ª®â®à®© § ¯¨á¨ åà ïâáï ¢ãâà¨ á ¬®© å¥è-â ¡«¨æë (¥¨á¯®«ì§ã¥¬ë¥ ¯®§¨æ¨¨ á¢ï§ë¢ îâáï ¢ ᯨ᮪ ᢮¡®¤ëå ¬¥áâ). ç¨â ©â¥, çâ® ¢ ª ¦¤®© ¯®§¨æ¨¨ ¬®£ãâ åà ¨âìáï «¨¡® ä« £ ¨ ¤¢ 㪠§ ⥫ï, «¨¡® ä« £, 㪠§ â¥«ì ¨ í«¥¬¥â. ᥠ᫮¢ àë¥ ®¯¥à 樨, â ª¦¥ ®¯¥à 樨 ¯® ¢ë¤¥«¥¨î ¨ ®á¢®¡®¦¤¥¨î ¬¥áâ , ¤®«¦ë ¢ë¯®«ïâìáï § ¢à¥¬ï O(1). ¡ï§ â¥«ì® «¨ ¤¥« âì ᯨ᮪ ᢮¡®¤ëå ¬¥áâ ¤¢ãáâ®à®¥ á¢ï§ ë¬? 12.2-6 ãáâì ®¡é¥¥ ç¨á«® ¢®§¬®¦ëå ª«î祩 (à §¬¥à ¬®¦¥á⢠U ) ¯à¥¢®á室¨â mn, £¤¥ m | ª®«¨ç¥á⢮ å¥è-§ 票©. ®ª ¦¨â¥, ¥è-äãªæ¨¨ 225 çâ® áãé¥áâ¢ã¥â ¥ ¬¥¥¥ n ª«î祩 á ®¤¨¬ ¨ ⥬ ¦¥ å¥è-§ 票¥¬, â ª çâ® ¢ åã¤è¥¬ á«ãç ¥ ¯®¨áª ¢ å¥è-â ¡«¨æ¥ á 楯®çª ¬¨ § ©¬¥â ¢à¥¬ï (n). 12.3 ¥è-äãªæ¨¨ í⮬ à §¤¥«¥ ¬ë ®¡á㤨¬, 祣® ¬ë ¦¤ñ¬ ®â å®à®è¥© å¥èäãªæ¨¨, § ⥬ à §¡¥àñ¬ âਠᯮᮡ ¯®áâ஥¨ï å¥è-äãªæ¨©: ¤¥«¥¨¥ á ®áâ ⪮¬, 㬮¦¥¨¥ ¨ 㨢¥àá «ì®¥ å¥è¨à®¢ ¨¥. ª®© ¤®«¦ ¡ëâì å®à®è ï å¥è-äãªæ¨ï? ®à®è ï å¥è-äãªæ¨ï ¤®«¦ (¯à¨¡«¨¦¥®) 㤮¢«¥â¢®àïâì ¯à¥¤¯®«®¦¥¨ï¬ à ¢®¬¥à®£® å¥è¨à®¢ ¨ï: ¤«ï ®ç¥à¥¤®£® ª«îç ¢á¥ m å¥è-§ 票© ¤®«¦ë ¡ëâì à ¢®¢¥à®ïâë. ⮡ë íâ® ¯à¥¤¯®«®¦¥¨¥ ¨¬¥«® á¬ëá«, 䨪á¨à㥬 à á¯à¥¤¥«¥¨¥ ¢¥à®ïâ®á⥩ P ¬®¦¥á⢥ U ; ¡ã¤¥¬ ¯à¥¤¯®« £ âì, çâ® ª«îç¨ ¢ë¡¨à îâáï ¨§ U ¥§ ¢¨á¨¬® ¤à㣠®â ¤à㣠, ¨ ª ¦¤ë© à á¯à¥¤¥«ñ ¢ ᮮ⢥âá⢨¨ á P . ®£¤ à ¢®¬¥à®¥ å¥è¨à®¢ ¨¥ ®§ ç ¥â, çâ® X P (k) = m1 ¤«ï j = 0; 1; : : :; m ; 1. (12.1) k : h(k)=j ᮦ «¥¨î, à á¯à¥¤¥«¥¨¥ P ®¡ëç® ¥¨§¢¥áâ®, â ª çâ® ¯à®¢¥à¨âì íâ® ¥¢®§¬®¦® (¤ ¨ ª«îç¨ ¥ ¢á¥£¤ à §ã¬® áç¨â âì ¥§ ¢¨á¨¬ë¬¨). §à¥¤ª à á¯à¥¤¥«¥¨¥ P ¡ë¢ ¥â ¨§¢¥áâ®. ãáâì, ¯à¨¬¥à, ª«îç¨ | á«ãç ©ë¥ ¤¥©á⢨⥫ìë¥ ç¨á« , ¥§ ¢¨á¨¬® ¨ à ¢®¬¥à® à á¯à¥¤¥«ñë¥ ¨â¥à¢ «¥ [0; 1). í⮬ á«ãç ¥ «¥£ª® ¢¨¤¥âì, çâ® å¥è-äãªæ¨ï h(k) = bkmc 㤮¢«¥â¢®àï¥â ãá«®¢¨î (12.1). ¯à ªâ¨ª¥ ¯à¨ ¢ë¡®à¥ å¥è-äãªæ¨© ¯®«ì§ãîâáï à §«¨ç묨 í¢à¨á⨪ ¬¨, ®á®¢ 묨 ᯥæ¨ä¨ª¥ § ¤ ç¨. ¯à¨¬¥à, ª®¬¯¨«ïâ®à ï§ëª ¯à®£à ¬¬¨à®¢ ¨ï åà ¨â â ¡«¨æã ᨬ¢®«®¢, ¢ ª®â®à®© ª«îç ¬¨ ïîâáï ¨¤¥â¨ä¨ª â®àë ¯à®£à ¬¬ë. áâ® ¢ ¯à®£à ¬¬¥ ¨á¯®«ì§ã¥âáï ¥áª®«ìª® ¯®å®¦¨å ¨¤¥â¨ä¨ª â®à®¢ ( ¯à¨¬¥à, pt ¨ pts). ®à®è ï å¥è-äãªæ¨ï ¡ã¤¥â áâ à âìáï, ç⮡ë å¥è§ 票ï ã â ª¨å ¯®å®¦¨å ¨¤¥â¨ä¨ª â®à®¢ ¡ë«¨ à §«¨çë. ¡ëç® áâ à îâáï ¯®¤®¡à âì å¥è-äãªæ¨î â ª¨¬ ®¡à §®¬, çâ®¡ë ¥ñ ¯®¢¥¤¥¨¥ ¥ ª®à५¨à®¢ «® á à §«¨ç묨 § ª®®¬¥à®áâﬨ, ª®â®àë¥ ¬®£ãâ ¢áâà¥â¨âìáï ¢ å¥è¨à㥬ëå ¤ ëå. ¯à¨¬¥à, ®¯¨áë¢ ¥¬ë© ¨¦¥ ¬¥â®¤ ¤¥«¥¨ï á ®áâ ⪮¬ á®á⮨⠢ ⮬, çâ® ¢ ª ç¥á⢥ å¥è-§ ç¥¨ï ¡¥àñâáï ®áâ ⮪ ®â ¤¥«¥¨ï ª«îç ¥ª®â®à®¥ ¯à®á⮥ ç¨á«®. ᫨ íâ® ¯à®á⮥ ç¨á«® ¨ª ª ¥ á¢ï§ ® á äãªæ¨¥© à á¯à¥¤¥«¥¨ï P , â® â ª®© ¬¥â®¤ ¤ ñâ å®à®è¨¥ १ã«ìâ âë. 226 « ¢ 12 ¥è-â ¡«¨æë ¬¥â¨¬ ¢ § ª«î票¥, çâ® ¨®£¤ ¦¥« ⥫ì®, ç⮡ë å¥èäãªæ¨ï 㤮¢«¥â¢®àï« ãá«®¢¨ï¬, ¢ë室ï騬 § ¯à¥¤¥«ë âॡ®¢ ¨ï à ¢®¬¥à®£® å¥è¨à®¢ ¨ï. ¯à¨¬¥à, ¬®¦® áâ à âìáï, ç⮡ë "¡«¨§ª¨¬" ¢ ª ª®¬-«¨¡® á¬ëá«¥ ª«îç ¬ ᮮ⢥âá⢮¢ «¨ "¤ «ñª¨¥" å¥è-§ 票ï (íâ® ®á®¡¥® ¦¥« â¥«ì® ¯à¨ ¯®«ì§®¢ ¨¨ ®¯¨á ®© ¢ à §¤¥«¥ 12.4 «¨¥©®© ¯®á«¥¤®¢ ⥫ì®áâìî ¯à®¡). «îç¨ ª ª âãà «ìë¥ ç¨á« ¡ëç® ¯à¥¤¯®« £ îâ, çâ® ®¡« áâì ®¯à¥¤¥«¥¨ï å¥è-äãªæ¨¨ | ¬®¦¥á⢮ 楫ëå ¥®âà¨æ ⥫ìëå ç¨á¥«. ᫨ ª«îç¨ ¥ ïîâáï âãà «ì묨 ç¨á« ¬¨, ¨å ®¡ëç® ¬®¦® ¯à¥®¡à §®¢ âì ª â ª®¬ã ¢¨¤ã (å®âï ç¨á« ¬®£ãâ ¯®«ãç¨âìáï ¡®«ì訬¨). ¯à¨¬¥à, ¯®á«¥¤®¢ ⥫ì®á⨠ᨬ¢®«®¢ ¬®¦® ¨â¥à¯à¥â¨à®¢ âì ª ª ç¨á« , § ¯¨á ë¥ ¢ á¨á⥬¥ áç¨á«¥¨ï á ¯®¤å®¤ï騬 ®á®¢ ¨¥¬: ¨¤¥â¨ä¨ª â®à pt | íâ® ¯ à ç¨á¥« (112; 116) (â ª®¢ë ASCII-ª®¤ë ¡ãª¢ p ¨ t), ¨«¨ ¦¥ ç¨á«® (112 128) + 116 = 14452 (¢ á¨á⥬¥ áç¨á«¥¨ï ¯® ®á®¢ ¨î 128). «¥¥ ¬ë ¢á¥£¤ ¡ã¤¥¬ áç¨â âì, çâ® ª«îç¨ | æ¥«ë¥ ¥®âà¨æ ⥫ìë¥ ç¨á« . 12.3.1 ¥«¥¨¥ á ®áâ ⪮¬ ®áâ஥¨¥ å¥è-äãªæ¨¨ ¬¥â®¤®¬ ¤¥«¥¨ï á ®áâ ⪮¬ (division method) á®á⮨⠢ ⮬, çâ® ª«îçã k áâ ¢¨âáï ¢ ᮮ⢥âá⢨¥ ®áâ ⮪ ®â ¤¥«¥¨ï k m, £¤¥ m | ç¨á«® ¢®§¬®¦ëå å¥è-§ 票©: h(k) = k mod m: ¯à¨¬¥à, ¥á«¨ à §¬¥à å¥è-â ¡«¨æë à ¢¥ m = 12 ¨ ª«îç à ¢¥ 100, â® å¥è-§ 票¥ à ¢® 4. ਠí⮬ ¥ª®â®àëå § 票© m á⮨⠨§¡¥£ âì. ¯à¨¬¥à, ¥á«¨ m = 2p, â® h(k) | íâ® ¯à®áâ® p ¬« ¤è¨å ¡¨â®¢ ç¨á« k. ᫨ ¥â 㢥८áâ¨, çâ® ¢á¥ ª®¬¡¨ 樨 ¬« ¤è¨å ¡¨â®¢ ª«îç ¡ã¤ãâ ¢áâà¥ç âìáï á ®¤¨ ª®¢®© ç áâ®â®©, â® á⥯¥ì ¤¢®©ª¨ ¢ ª ç¥á⢥ ç¨á« m ¥ ¢ë¡¨à îâ. ¥å®à®è® â ª¦¥ ¢ë¡¨à âì ¢ ª ç¥á⢥ m á⥯¥ì ¤¥áï⪨, ¥á«¨ ª«îç¨ ¥áâ¥á⢥® ¢®§¨ª îâ ª ª ¤¥áïâ¨çë¥ ç¨á« : ¢¥¤ì ¢ í⮬ á«ãç ¥ ®ª ¦¥âáï, ç⮠㦥 ç áâì æ¨äà ª«îç ¯®«®áâìî ®¯à¥¤¥«ï¥â å¥è-§ 票¥. ᫨ ª«îç¨ ¥áâ¥á⢥® ¢®§¨ª îâ ª ª ç¨á« ¢ á¨á⥬¥ áç¨á«¥¨ï á ®á®¢ ¨¥¬ 2p, â® ¥å®à®è® ¡à âì m = 2p ; 1, ¯®áª®«ìªã ¯à¨ í⮬ ®¤¨ ª®¢®¥ å¥è§ 票¥ ¨¬¥îâ ª«îç¨, ®â«¨ç î騥áï «¨èì ¯¥à¥áâ ®¢ª®© "2p¨çëå æ¨äà". ®à®è¨¥ १ã«ìâ âë ®¡ëç® ¯®«ãç îâáï, ¥á«¨ ¢ë¡à âì ¢ ª ç¥á⢥ m ¯à®á⮥ ç¨á«®, ¤ «¥ª® ®âáâ®ï饥 ®â á⥯¥¥© ¤¢®©ª¨. ãáâì, ¯à¨¬¥à, ¬ ¤® ¯®¬¥áâ¨âì ¯à¨¬¥à® 2000 § ¯¨á¥© ¢ å¥èâ ¡«¨æã á 楯®çª ¬¨, ¯à¨ç¥¬ á ¥ ¯ã£ ¥â ¢®§¬®¦ë© ¯¥à¥¡®à ¥è-äãªæ¨¨ 227 ¥à¥¢®¤ë ¤¯¨á¥©: w bits | w ¡¨â®¢; extract p bits | ¢ë¤¥«¨âì p ¡¨â®¢. : à¨á㪥 ¤® § ª¨ 楫®© ç áâ¨, § ¬¥¨¢ bA 2w c A 2w !!!!!!! ¨á㮪 12.4 ¥è¨à®¢ ¨¥ ¬¥â®¤®¬ 㬮¦¥¨ï. «îç k, ¯à¥¤áâ ¢«¥ë© ¢ ¢¨¤¥ w-¡¨â®£® ç¨á« , 㬮¦ ¥âáï w-¡¨â®¥ ç¨á«® A 2w, £¤¥ A | ª®áâ â ¨§ ¨â¥à¢ « (0; 1). ¯à®¨§¢¥¤¥¨ï ¡¥àãâ ¬« ¤è¨¥ w ¡¨â®¢, ¨§ íâ¨å w ¡¨â®¢ ¢ë¤¥«ïîâ p áâ àè¨å. â® ¨ ¥áâì å¥è-§ 票¥ h(k). âàñå ¢ ਠ⮢ ¯à¨ ¯®¨áª¥ ®âáãâáâ¢ãî饣® ¢ â ¡«¨æ¥ í«¥¬¥â . â® ¦, ¢®á¯®«ì§ã¥¬áï ¬¥â®¤®¬ ¤¥«¥¨ï á ®áâ ⪮¬ ¯à¨ ¤«¨¥ å¥èâ ¡«¨æë m = 701. ¨á«® 701 ¯à®á⮥, 701 2000=3, ¨ ¤® á⥯¥¥© ¤¢®©ª¨ ®â ç¨á« 701 ⮦¥ ¤ «¥ª®. â «® ¡ëâì, ¬®¦® ¢ë¡à âì å¥èäãªæ¨î ¢¨¤ h(k) = k mod 701: ¢á直© á«ãç © ¬®¦® ¥éñ ¯®íªá¯¥à¨¬¥â¨à®¢ âì á ॠ«ì묨 ¤ 묨 ¯à¥¤¬¥â ⮣®, ᪮«ìª® à ¢®¬¥à® ¡ã¤ãâ à á¯à¥¤¥«¥ë ¨å å¥è-§ 票ï. 12.3.2 ¬®¦¥¨¥ ®áâ஥¨¥ å¥è-äãªæ¨¨ ¬¥â®¤®¬ 㬮¦¥¨ï (multiplication method) á®á⮨⠢ á«¥¤ãî饬. ãáâì ª®«¨ç¥á⢮ å¥è-§ 票© à ¢® m. 䨪á¨à㥬 ª®áâ âã A ¢ ¨â¥à¢ «¥ 0 < A < 1, ¨ ¯®«®¦¨¬ h(k) = bm(kA mod 1)c; £¤¥ kA mod 1 | ¤à®¡ ï ç áâì kA. ®á⮨á⢮ ¬¥â®¤ 㬮¦¥¨ï ¢ ⮬, çâ® ª ç¥á⢮ å¥è-äãªæ¨¨ ¬ «® § ¢¨á¨â ®â ¢ë¡®à m. ¡ëç® ¢ ª ç¥á⢥ m ¢ë¡¨à îâ á⥯¥ì ¤¢®©ª¨, ¯®áª®«ìªã ¢ ¡®«ìè¨á⢥ ª®¬¯ìîâ¥à®¢ 㬮¦¥¨¥ â ª®¥ m ॠ«¨§ã¥âáï ª ª ᤢ¨£ á«®¢ . ãáâì, ¯à¨¬¥à, ¤«¨ á«®¢ ¢ 襬 ª®¬¯ìîâ¥à¥ à ¢ w ¡¨â ¬ ¨ ª«îç k ¯®¬¥é ¥âáï ¢ ®¤® á«®¢®. ®£¤ , ¥á«¨ m = 2p, â® ¢ëç¨á«¥¨¥ å¥è-äãªæ¨¨ ¬®¦® ¯à®¢¥á⨠⠪: 㬮¦¨¬ k w-¡¨â®¥ 楫®¥ ç¨á«® A 2w (¬ë ¯à¥¤¯®« £ ¥¬, çâ® íâ® ç¨á«® ï¥âáï 楫ë¬); ¯®«ãç¨âáï 2w-¡¨â®¥ ç¨á«® ¥â®¤ 㬮¦¥¨ï à ¡®â ¥â ¯à¨ «î¡®¬ ¢ë¡®à¥ ª®áâ âë A, ® ¥ª®â®àë¥ § 票ï A ¬®£ãâ ¡ëâì «ãçè¥ ¤à㣨å. ¯â¨¬ «ìë© ¢ë¡®à § ¢¨á¨â ®â ⮣®, ª ª®£® த ¤ ë¥ ¯®¤¢¥à£ îâáï å¥è¨à®¢ ¨î. ª¨£¥ [123] ãâ ®¡á㦤 ¥â ¢ë¡®à ª®áâ âë A ¨ ¯à¨å®- 228 « ¢ 12 ¥è-â ¡«¨æë ¤¨â ª ¢ë¢®¤ã, çâ® § 票¥ p A ( 5 ; 1)=2 = 0;6180339887 : : : (12.2) ï¥âáï ¤®¢®«ì® 㤠çë¬. § ª«î票¥ ¯à¨¢¥¤ñ¬ ¯à¨¬¥à: ¥á«¨ k = 123456, m = 10000 ¨ A ®¯à¥¤¥«¥® ä®à¬ã«®© (12.2), â® h(k) = b10000 (123456 0;61803 : : : mod 1)c = = b10000 (76300;0041151 : : : mod 1)c = = b10000 0;0041151 : : : c = = b41;151 : : : c = 41: 12.3.3 ¨¢¥àá «ì®¥ å¥è¨à®¢ ¨¥ ᫨ ¥¤®¡à®¦¥« â¥«ì ¡ã¤¥â á¯¥æ¨ «ì® ¯®¤¡¨à âì ¤ ë¥ ¤«ï å¥è¨à®¢ ¨ï, â® (§ ï äãªæ¨î h) ® ¬®¦¥â ãáâநâì â ª, çâ® ¢á¥ n ª«î祩 ¡ã¤ãâ ᮮ⢥âá⢮¢ âì ®¤®© ¯®§¨æ¨¨ ¢ â ¡«¨æ¥, ¢ १ã«ìâ ⥠祣® ¢à¥¬ï ¯®¨áª ¡ã¤¥â à ¢® (n). î¡ ï 䨪á¨à®¢ ï å¥è-äãªæ¨ï ¬®¦¥â ¡ëâì ¤¨áªà¥¤¨â¨à®¢ â ª¨¬ ®¡à §®¬. ¤¨áâ¢¥ë© ¢ë室 ¨§ ¯®«®¦¥¨ï | ¢ë¡¨à âì å¥è-äãªæ¨î á«ãç ©ë¬ ®¡à §®¬, ¥ § ¢¨áï騬 ®â ⮣®, ª ª¨¥ ¨¬¥® ¤ ë¥ ¢ë å¥è¨àã¥â¥. ª®© ¯®¤å®¤ §ë¢ ¥âáï 㨢¥àá «ìë¬ å¥è¨à®¢ ¨¥¬ (universal hashing). â® ¡ë ¨ ¯à¥¤¯à¨¨¬ « ¢ è ¥¤®¡à®¦¥« ⥫ì, ¥á«¨ ® ¥ ¨¬¥¥â ¨ä®à¬ 樨 ® ¢ë¡à ®© å¥è-äãªæ¨¨, á।¥¥ ¢à¥¬ï ¯®¨áª ®áâ ¥âáï å®à®è¨¬. ᮢ ï ¨¤¥ï 㨢¥àá «ì®£® å¥è¨à®¢ ¨ï | ¢ë¡¨à âì å¥èäãªæ¨î ¢® ¢à¥¬ï ¨á¯®«¥¨ï ¯à®£à ¬¬ë á«ãç ©ë¬ ®¡à §®¬ ¨§ ¥ª®â®à®£® ¬®¦¥á⢠. â «® ¡ëâì, ¯à¨ ¯®¢â®à®¬ ¢ë§®¢¥ á ⥬¨ ¦¥ ¢å®¤ë¬¨ ¤ 묨 «£®à¨â¬ ¡ã¤¥â à ¡®â âì 㦥 ¯®-¤à㣮¬ã. ª ¨ ¢ á«ãç ¥ á «£®à¨â¬®¬ ¡ëáâன á®àâ¨à®¢ª¨, à ¤®¬¨§ æ¨ï £ à â¨àã¥â, çâ® ¥«ì§ï ¯à¨¤ã¬ âì ¢å®¤ëå ¤ ëå, ª®â®àëå «£®à¨â¬ ¢á¥£¤ ¡ë à ¡®â « ¬¥¤«¥® (¢ ¯à¨¬¥à¥ á ª®¬¯¨«ïâ®à®¬ ¨ â ¡«¨æ¥© ᨬ¢®«®¢ ¥ ᬮ¦¥â ¯®«ãç¨âìáï, çâ® ª ª®©-â® ®¯à¥¤¥«ñë© áâ¨«ì ¢ë¡®à ¨¤¥â¨ä¨ª â®à®¢ ¯à¨¢®¤¨â ª § ¬¥¤«¥¨î ª®¬¯¨«ï樨: ¢¥à®ïâ®áâì, çâ® ª®¬¯¨«ïæ¨ï § ¬¥¤«¨âáï ¨§-§ ¥ã¤ 箣® å¥è¨à®¢ ¨ï, ¢®-¯¥à¢ëå, ¬ « , ¨ ¢®-¢â®àëå, § ¢¨á¨â ⮫쪮 ®â ª®«¨ç¥á⢠¨¤¥â¨ä¨ª â®à®¢, ® ¥ ®â ¨å ¢ë¡®à ). ãáâì H | ª®¥ç®¥ ᥬ¥©á⢮ äãªæ¨©, ®â®¡à ¦ îé¨å ¤ ®¥ ¬®¦¥á⢮ U (¬®¦¥á⢮ ¢á¥¢®§¬®¦ëå ª«î祩) ¢® ¬®¦¥á⢮ f0; 1; : : :; m ; 1g (¬®¦¥á⢮ å¥è-§ 票©). ⮠ᥬ¥©á⢮ §ë¢ ¥âáï 㨢¥àá «ìë¬ (universal), ¥á«¨ ¤«ï «î¡ëå ¤¢ãå ª«î祩 x; y 2 U ç¨á«® äãªæ¨© h 2 H, ¤«ï ª®â®àëå h(x) = h(y), à ¢® jHj=m. 묨 á«®¢ ¬¨, ¯à¨ á«ãç ©®¬ ¢ë¡®à¥ å¥è-äãªæ¨¨ ¢¥à®ïâ®áâì ª®««¨§¨¨ ¬¥¦¤ã ¤¢ã¬ï ¤ 묨 ª«îç ¬¨ ¤®«¦ à ¢- ¥è-äãªæ¨¨ 229 ïâìáï ¢¥à®ïâ®á⨠ᮢ¯ ¤¥¨ï ¤¢ãå á«ãç ©® ¢ë¡à ëå å¥è§ 票© (ª®â®à ï à ¢ 1=m). «¥¤ãîé ï ⥮६ ¯®ª §ë¢ ¥â, ç⮠㨢¥àá «ì®¥ ᥬ¥©á⢮ å¥è-äãªæ¨© ®¡¥á¯¥ç¨¢ ¥â å®à®èãî ¯à®¨§¢®¤¨â¥«ì®áâì ¢ á।¥¬. ¥®à¥¬ 12.3. ãáâì ¬ ¥®¡å®¤¨¬® ¯®¬¥áâ¨âì n 䨪á¨à®¢ ëå ª«î祩 ¢ â ¡«¨æã à §¬¥à m, £¤¥ m > n, ¨ å¥è-äãªæ¨ï ¢ë¡¨à ¥âáï á«ãç ©ë¬ ®¡à §®¬ ¨§ 㨢¥àá «ì®£® ᥬ¥©á⢠. ®£¤ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ª®««¨§¨©, ¢ ª®â®àëå ãç áâ¢ã¥â ¤ ë© ª«îç x, ¬¥ìè¥ ¥¤¨¨æë. ®ª § ⥫ìá⢮. ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ª®««¨§¨© ¤ ®£® ª«îç x á ¤ ë¬ ª«î箬 y à ¢® 1=m ¯® ®¯à¥¤¥«¥¨î 㨢¥àá «ì®£® ᥬ¥©á⢠. ®áª®«ìªã ¢á¥£® ¨¬¥¥âáï n ; 1 ª«î祩, ®â«¨çëå ®â x, ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ª®««¨§¨© á ª ª¨¬¨¡ã¤ì ¨§ íâ¨å ª«î祩 à ¢® (n ; 1)=m, çâ® ¬¥ìè¥ ¥¤¨¨æë, ¯®áª®«ìªã n 6 m. ª ¦¥ ¯®áâநâì 㨢¥àá «ì®¥ ᥬ¥©á⢮? ¬ ¯®¬®¦¥â ¢ í⮬ í«¥¬¥â à ï ⥮à¨ï ç¨á¥«. ¨á«® m (ª®«¨ç¥á⢮ å¥è-§ 票©) ¢ë¡¥à¥¬ ¯à®áâë¬. 㤥¬ áç¨â âì, çâ® ª ¦¤ë© ª«îç ¯à¥¤áâ ¢«ï¥â ᮡ®© ¯®á«¥¤®¢ ⥫ì®áâì r + 1 "¡ ©â®¢" (¡ ©â, ¨«¨ ᨬ¢®«,| íâ® ¯à®áâ® ¤¢®¨ç®¥ ç¨á«® á ®£à ¨ç¥ë¬ ç¨á«®¬ à §à冷¢; ¬ë ¡ã¤¥¬ áç¨â âì, çâ® ¬ ªá¨¬ «ì®¥ § 票¥ ¡ ©â ¬¥ìè¥ m). «ï ª ¦¤®© ¯®á«¥¤®¢ ⥫ì®á⨠a = ha0; a1; : : :; ari, í«¥¬¥âë ª®â®à®© ïîâáï ¢ëç¥â ¬¨ ¯® ¬®¤ã«î m (â® ¥áâì ¯à¨ ¤«¥¦ â ¬®¦¥áâ¢ã f0; 1; : : :; m ; 1g), à áᬮâਬ äãªæ¨î ha, § ¤ ãî ä®à¬ã«®© ha(x) = r X i=0 ai xi mod m; (12.3) £¤¥ ª«îç x ¥áâì ¯®á«¥¤®¢ ⥫ì®áâì ¡ ©â®¢ hx0; x1; : : :; xr i. ®«®¦¨¬ [ H = fhag; (12.4) a 祢¨¤®, ¬®¦¥á⢮ H ᮤ¥à¦¨â mr+1 í«¥¬¥â®¢. ¥®à¥¬ 12.4. ¥¬¥©á⢮ äãªæ¨© H, ®¯à¥¤¥«ñ®¥ ¯® ä®à¬ã« ¬ (12.3) ¨ (12.4), ï¥âáï 㨢¥àá «ìë¬ á¥¬¥©á⢮¬ å¥èäãªæ¨©. ®ª § ⥫ìá⢮. ãáâì x = hx0; x1; : : :; xri ¨ y = hy0; y1; : : :; yr i | ¤¢ à §«¨çëå ª«îç ; ¥ ®£à ¨ç¨¢ ï ®¡é®áâ¨, ¬®¦® áç¨â âì, çâ® x0 = 6 y0. ᫨ a = ha0; a1; : : :; ari, â® ha(x) = ha(y) ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ a0 (x0 ; y0) ; r X j =1 ai (xi ; yi) (mod m): 230 « ¢ 12 ¥è-â ¡«¨æë ®áª®«ìªã x0 ; y0 6 0 (mod m), ¤«ï ª ¦¤®© ¯®á«¥¤®¢ ⥫ì®á⨠ha1; : : :; ar i áãé¥áâ¢ã¥â ¨ ¥¤¨á⢥® § 票¥ a0, ¯à¨ ª®â®à®¬ íâ® à ¢¥á⢮ ¢ë¯®«¥® (à §¤¥« 33.4). ®«¨ç¥á⢮ â ª¨å ¯®á«¥¤®¢ ⥫ì®á⥩ à ¢® mr , ¨ â ª®¢® ¦¥, áâ «® ¡ëâì, ª®«¨ç¥á⢮ äãªæ¨© ¨§ H, ¥ à §«¨ç îé¨å ª«îç¨ x ¨ y. ®áª®«ìªã mr = jHj=m, ¢áñ ¤®ª § ®. [®à®ç¥ ¬®¦® ᪠§ âì â ª: ¥ã«¥¢®© «¨¥©ë© äãªæ¨® « h 7! h(x ; y ) á à ¢®© ¢¥à®ïâ®áâìî ¯à¨¨¬ ¥â «î¡®¥ ¨§ m ᢮¨å § 票©, ¢ ⮬ ç¨á«¥ 0.] ¯à ¦¥¨ï 12.3-1 ãáâì ¢ á¢ï§ ®¬ ᯨ᪥ ª ¦¤ë© í«¥¬¥â åà ¨âáï ¢¬¥áâ¥ á ¥£® ª«î箬 k ¨ ᮮ⢥âáâ¢ãî騬 å¥è-§ 票¥¬ h(k). «îç ¯à¥¤áâ ¢«ï¥â ᮡ®© ¤«¨ãî ¯®á«¥¤®¢ ⥫ì®áâì ᨬ¢®«®¢. ª ¬®¦® ã¯à®áâ¨âì ¯®¨áª ¢ í⮬ ᯨ᪥ í«¥¬¥â á ¤ ë¬ ª«î箬? 12.3-2 ।¯®«®¦¨¬, çâ® ª«îç ¬¨ ïîâáï ¯®á«¥¤®¢ ⥫ì®á⨠ᨬ¢®«®¢, ª®â®àë¥ ¬ë à áᬠâਢ ¥¬ ª ª ç¨á« , § ¯¨á ë¥ ¢ á¨á⥬¥ áç¨á«¥¨ï á ®á®¢ ¨¥¬ 128. ¨á«® m ¯®¬¥é ¥âáï ¢ 32-¡¨â®¬ á«®¢¥ á § ¯ ᮬ, ® ç¨á« , ᮮ⢥âáâ¢ãî騥 ª«îç ¬, 㦥 ¥ ¯®¬¥é îâáï, ¯®áª®«ìªã ª«îç¨ á®¤¥à¦ â ¬®£® ¤¥áï⪮¢ ᨬ¢®«®¢. ª ¢ëç¨á«¨âì å¥è-äãªæ¨î, ¯®áâ஥ãî ¬¥â®¤®¬ ¤¥«¥¨ï? (¥â ¥®¡å®¤¨¬®á⨠ॠ«¨§®¢ë¢ âì à¨ä¬¥â¨ç¥áª¨¥ ®¯¥à 樨 á ¤«¨ë¬¨ ç¨á« ¬¨ | ¤®áâ â®ç® ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠¯®áâ®ï®£® ®¡êñ¬ .) 12.3-3 ãáâì ª«îç¨ ¯à¥¤áâ ¢«ïîâ ᮡ®© ¯®á«¥¤®¢ ⥫ì®á⨠p¡¨âëå ᨬ¢®«®¢, à áᬠâਢ ¥¬ë¥ ª ª ç¨á« ¢ 2p-¨ç®© á¨á⥬¥ áç¨á«¥¨ï, ¢ ª ç¥á⢥ å¥è-äãªæ¨¨ ¢ë¡à ®áâ ⮪ ¯à¨ ¤¥«¥¨¨ m = 2p ; 1. ®ª ¦¨â¥, çâ® ¤¢ã¬ ª«îç ¬, ®â«¨ç î騬áï ⮫쪮 ¯®à浪®¬ ᨬ¢®«®¢, ᮮ⢥âáâ¢ã¥â ®¤® ¨ â® ¦¥ å¥è-§ 票¥. ਢ¥¤¨â¥ ¯à¨¬¥à ¯à¨«®¦¥¨ï, ¢ ª®â®à®¬ ¯à¨¬¥¥¨¥ â ª®© å¥èäãªæ¨¨ ¡ë«® ¡ë ¥¦¥« ⥫ì®. 12.3-4 ãáâì à §¬¥à å¥è-â ¡«¨æë à ¢¥ m = 1000, p å¥èäãªæ¨ï ¨¬¥¥â ¢¨¤ h(k) = bm(kA mod 1)c, £¤¥ A = ( 5 ; 1)=2. ª ª¨¥ ¯®§¨æ¨¨ ¯®¯ ¤ãâ ª«îç¨ 61, 62, 63, 64 ¨ 65? 12.3-5 ¤ «¨¬ ¨§ ᥬ¥©á⢠H, ®¯à¥¤¥«ñ®£® ¯® ä®à¬ã« ¬ (12.3) ¨ (12.4), ⥠äãªæ¨¨ ha, ¢ ª®â®àëå å®âï ¡ë ®¤® ¨§ ai à ¢ ã«î. ®ª ¦¨â¥, çâ® ¯®«ã稢襥áï ᥬ¥©á⢮ å¥è-äãªæ¨© 㨢¥àá «ìë¬ ¥ ¡ã¤¥â. âªàëâ ï ¤à¥á æ¨ï 231 12.4 âªàëâ ï ¤à¥á æ¨ï ®â«¨ç¨¥ ®â å¥è¨à®¢ ¨ï á 楯®çª ¬¨, ¯à¨ ®âªàë⮩ ¤à¥á 樨 (open addressing) ¨ª ª¨å ᯨ᪮¢ ¥â, ¢á¥ § ¯¨á¨ åà ïâáï ¢ á ¬®© å¥è-â ¡«¨æ¥: ª ¦¤ ï ï祩ª â ¡«¨æë ᮤ¥à¦¨â «¨¡® í«¥¬¥â ¤¨ ¬¨ç¥áª®£® ¬®¦¥á⢠, «¨¡® nil. ®¨áª § ª«îç ¥âáï ¢ ⮬, çâ® ¬ë ®¯à¥¤¥«ñë¬ ®¡à §®¬ ¯à®á¬ âਢ ¥¬ í«¥¬¥âë â ¡«¨æë, ¯®ª ¥ ©¤ñ¬ â®, çâ® ¨é¥¬, ¨«¨ ¥ 㤮á⮢¥à¨¬áï, çâ® í«¥¬¥â á â ª¨¬ ª«î箬 ¢ â ¡«¨æ¥ ¥â. ¥¬ á ¬ë¬ ç¨á«® åà ¨¬ëå í«¥¬¥â®¢ ¥ ¬®¦¥â ¡ëâì ¡®«ìè¥ à §¬¥à â ¡«¨æë: ª®íää¨æ¨¥â § ¯®«¥¨ï ¥ ¡®«ìè¥ 1. ®¥ç®, ¨ ¯à¨ å¥è¨à®¢ ¨¨ á 楯®çª ¬¨ ¬®¦® ¨á¯®«ì§®¢ âì ᢮¡®¤ë¥ ¬¥áâ ¢ å¥è-â ¡«¨æ¥ ¤«ï åà ¥¨ï ᯨ᪮¢ (ã¯à ¦¥¨¥ 12.2-5), ® ¯à¨ ®âªàë⮩ ¤à¥á 樨 㪠§ ⥫¨ ¢®®¡é¥ ¥ ¨á¯®«ì§ãîâáï: ¯®á«¥¤®¢ ⥫ì®áâì ¯à®á¬ âਢ ¥¬ëå ï祥ª ¢ëç¨á«ï¥âáï. áç¥â íª®®¬¨¨ ¯ ¬ï⨠㪠§ ⥫ïå ¬®¦® 㢥«¨ç¨âì ª®«¨ç¥á⢮ ¯®§¨æ¨© ¢ â ¡«¨æ¥, ç⮠㬥ìè ¥â ç¨á«® ª®««¨§¨© ¨ ᮪à é ¥â ¯®¨áª. â®¡ë ¤®¡ ¢¨âì ®¢ë© í«¥¬¥â ¢ â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥©, ï祩ª¨ ª®â®à®© § 㬥஢ ë 楫묨 ç¨á« ¬¨ ®â 0 ¤® m ; 1, ¬ë ¯à®á¬ âਢ ¥¬ ¥ñ, ¯®ª ¥ ©¤¥¬ ᢮¡®¤®¥ ¬¥áâ®. ᫨ ¢á直© à § ¯à®á¬ âਢ âì ï祩ª¨ ¯®¤àï¤ (0; 1; : : :; m ; 1), ¯®âॡã¥âáï ¢à¥¬ï (n), ® áãâì ¢ ⮬, çâ® ¯®à冷ª ¯à®á¬®âà â ¡«¨æë § ¢¨á¨â ®â ª«îç ! 묨 á«®¢ ¬¨, ¬ë ¤®¡ ¢«ï¥¬ ª å¥è-äãªæ¨¨ ¢â®à®© à£ã¬¥â | ®¬¥à ¯®¯ë⪨ (㬥à æ¨î ç¨ ¥¬ á ã«ï), â ª çâ® å¥è-äãªæ¨ï ¨¬¥¥â ¢¨¤ h : U f0; 1; : : :; m ; 1g ! f0; 1; : : :; m ; 1g (U | ¬®¦¥á⢮ ª«î祩). ®á«¥¤®¢ ⥫ì®áâì ¨á¯à®¡®¢ ëå ¬¥áâ (probe sequence), ¨«¨ (ª®à®ç¥) ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ¤«ï ¤ ®£® ª«îç k ¨¬¥¥â ¢¨¤ hh(k; 0); h(k; 1); : : :; h(k; m ; 1)i; äãªæ¨ï h ¤®«¦ ¡ëâì â ª®©, çâ®¡ë ª ¦¤®¥ ¨§ ç¨á¥« ®â 0 ¤® m ; 1 ¢áâà¥â¨«®áì ¢ í⮩ ¯®á«¥¤®¢ ⥫ì®á⨠஢® ®¤¨ à § (¤«ï ª ¦¤®£® ª«îç ¢á¥ ¯®§¨æ¨¨ â ¡«¨æë ¤®«¦ë ¡ëâì ¤®áâã¯ë). ¨¦¥ ¯à¨¢®¤¨âáï ⥪áâ ¯à®æ¥¤ãàë ¤®¡ ¢«¥¨ï ¢ â ¡«¨æã T á ®âªàë⮩ ¤à¥á 樥©; ¢ ¥¬ ¯®¤à §ã¬¥¢ ¥âáï, çâ® § ¯¨á¨ ¥ ᮤ¥à¦ â ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樨, ªà®¬¥ ª«îç . ᫨ ï祩ª â ¡«¨æë ¯ãáâ , ¢ ¥© § ¯¨á nil (䨪á¨à®¢ ®¥ § 票¥, ®â«¨ç®¥ ®â ¢á¥å ª«î祩). 232 « ¢ 12 ¥è-â ¡«¨æë Hash-Insert(T; k) 1 i 0 2 repeat j h(k; i) 3 if T [j ] = nil 4 then T [j ] k 5 return j 6 else i i + 1 7 until i = m 8 error "¯¥à¥¯®«¥¨¥ å¥è-â ¡«¨æë" ਠ¯®¨áª¥ í«¥¬¥â á ª«î箬 k ¢ â ¡«¨æ¥ á ®âªàë⮩ ¤à¥á 樥© ï祩ª¨ â ¡«¨æë ¯à®á¬ âਢ îâáï ¢ ⮬ ¦¥ ¯®à浪¥, çâ® ¨ ¯à¨ ¤®¡ ¢«¥¨¨ ¢ ¥¥ í«¥¬¥â á ª«î箬 k. ᫨ ¯à¨ í⮬ ¬ë âëª ¥¬áï ï祩ªã, ¢ ª®â®à®© § ¯¨á nil, â® ¬®¦® ¡ëâì 㢥à¥ë¬, çâ® ¨áª®¬®£® í«¥¬¥â ¢ â ¡«¨æ¥ ¥â (¨ ç¥ ® ¡ë« ¡ë § ¥áñ ¢ íâã ï祩ªã). (¨¬ ¨¥: ¬ë ¯à¥¤¯®« £ ¥¬, çâ® ¨ª ª¨¥ í«¥¬¥âë ¨§ â ¡«¨æë ¥ 㤠«ïîâáï!) ®â ⥪áâ ¯à®æ¥¤ãàë ¯®¨áª Hash-Search (¥á«¨ í«¥¬¥â á ª«î箬 k ᮤ¥à¦¨âáï ¢ â ¡«¨æ¥ T ¢ ¯®§¨æ¨¨ j , ¯à®æ¥¤ãà ¢®§¢à é ¥â j , ¢ ¯à®â¨¢®¬ á«ãç ¥ ® ¢®§¢à é ¥â nil). Hash-Search(T; k) 1 i 0 2 repeat j h(k; i) 3 if T [j ] = k 4 then return j 5 i i+1 6 until T [j ] = nil ¨«¨ i = m 7 return nil ¤ «¨âì í«¥¬¥â ¨§ â ¡«¨æë á ®âªàë⮩ ¤à¥á 樥© ¥ â ª ¯à®áâ®. ᫨ ¯à®áâ® § ¯¨á âì ¥£® ¬¥áâ® nil, â® ¢ ¤ «ì¥©è¥¬ ¬ë ¥ ᬮ¦¥¬ ©â¨ â¥ í«¥¬¥âë, ¢ ¬®¬¥â ¤®¡ ¢«¥¨ï ª®â®àëå ¢ â ¡«¨æã íâ® ¬¥áâ® ¡ë«® § ïâ® (¨ ¨§-§ í⮣® ¡ë« ¢ë¡à ¡®«¥¥ ¤ «ñª¨© í«¥¬¥â ¢ ¯®á«¥¤®¢ ⥫ì®á⨠¨á¯à®¡®¢ ëå ¬¥áâ). ®§¬®¦®¥ à¥è¥¨¥ | § ¯¨áë¢ âì ¬¥á⮠㤠«ñ®£® í«¥¬¥â ¥ nil, á¯¥æ¨ «ì®¥ § 票¥ deleted ("㤠«ñ"), ¨ ¯à¨ ¤®¡ ¢«¥¨¨ à áᬠâਢ âì ï祩ªã á § ¯¨áìî deleted ª ª ᢮¡®¤ãî, ¯à¨ ¯®¨áª¥ | ª ª § ïâãî (¨ ¯à®¤®«¦ âì ¯®¨áª). ¥¤®áâ ⮪ í⮣® ¯®¤å®¤ ¢ ⮬, çâ® ¢à¥¬ï ¯®¨áª ¬®¦¥â ®ª § âìáï ¡®«ì訬 ¤ ¦¥ ¯à¨ ¨§ª®¬ ª®íää¨æ¨¥â¥ § ¯®«¥¨ï. ®í⮬ã, ¥á«¨ âॡã¥âáï 㤠«ïâì § ¯¨á¨ ¨§ å¥è-â ¡«¨æë, ¯à¥¤¯®ç⥨¥ ®¡ëç® ®â¤ îâ å¥è¨à®¢ ¨î á 楯®çª ¬¨. 襬 «¨§¥ ®âªàë⮩ ¤à¥á 樨 ¬ë ¡ã¤¥¬ ¨á室¨âì ¨§ ¯à¥¤¯®«®¦¥¨ï, çâ® å¥è¨à®¢ ¨¥ à ¢®¬¥à® (uniform) ¢ ⮬ á¬ëá«¥, çâ® ¢á¥ m! ¯¥à¥áâ ®¢®ª ¬®¦¥á⢠f0; 1; : : :; m ; 1g à ¢®¢¥- âªàëâ ï ¤à¥á æ¨ï 233 à®ïâë. ¯à ªâ¨ª¥ íâ® ¢àï¤ «¨ â ª, å®âï ¡ë ¯® ⮩ ¯à¨ç¨¥, çâ® ¤«ï í⮣® ¥®¡å®¤¨¬®, ç⮡ë ç¨á«® ¢®§¬®¦ëå ª«î祩 ¡ë«® ª ª ¬¨¨¬ã¬ 6 m!, £¤¥ m | ç¨á«® å¥è-§ 票©. ®í⮬㠮¡ëç® ¯®«ì§ãîâáï ¡®«¥¥ ¨«¨ ¬¥¥¥ 㤠ç묨 áãàண â ¬¨, ¢à®¤¥ ®¯¨áë¢ ¥¬®£® ¨¦¥ ¤¢®©®£® å¥è¨à®¢ ¨ï. ¡ëç® ¯à¨¬¥ïîâ â ª¨¥ âਠᯮᮡ ¢ëç¨á«¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠¨á¯à®¡®¢ ëå ¬¥áâ: «¨¥©ë©, ª¢ ¤à â¨çë© ¨ ¤¢®©®¥ å¥è¨à®¢ ¨¥. ª ¦¤®¬ ¨§ íâ¨å ᯮᮡ®¢ ¯®á«¥¤®¢ ⥫ì®áâì hh(k; 0); h(k; 1); : : :; h(k; m ; 1)i ¡ã¤¥â ¯¥à¥áâ ®¢ª®© ¬®¦¥á⢠f0; 1; : : :; m ; 1g ¯à¨ «î¡®¬ § 票¨ ª«îç k, ® ¨ ®¤¨ ¨§ íâ¨å ᯮᮡ®¢ ¥ ï¥âáï à ¢®¬¥àë¬ ¯® ⮩ ¯à¨ç¨¥, çâ® ®¨ ¤ îâ ¥ ¡®«¥¥ m2 ¯¥à¥áâ ®¢®ª ¨§ m! ¢®§¬®¦ëå. ®«ìè¥ ¢á¥£® à §ëå ¯¥à¥áâ ®¢®ª ¯®«ãç ¥âáï ¯à¨ ¤¢®©®¬ å¥è¨à®¢ ¨¨; ¥ 㤨¢¨â¥«ì®, çâ® ¨ ¯à ªâ¨ª¥ íâ®â ᯮᮡ ¤ ¥â «ãç訥 १ã«ìâ âë. ¨¥© ï ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ãáâì h0 : U ! f0; 1; : : :; m ; 1g | "®¡ëç ï" å¥è-äãªæ¨ï. ãªæ¨ï, ®¯à¥¤¥«ïîé ï «¨¥©ãî ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ (linear probing), § ¤ ñâáï ä®à¬ã«®© h(k; i) = (h0 (k) + i) mod m: 묨 á«®¢ ¬¨, ¯à¨ à ¡®â¥ á ª«î箬 k ç¨ îâ á ï祩ª¨ T [h0(k)], § ⥬ ¯¥à¥¡¨à îâ ï祩ª¨ â ¡«¨æë ¯®¤àï¤: T [h0(k) + 1]; T [h0(k) + 2]; : : : (¯®á«¥ T [m ; 1] ¯¥à¥å®¤ïâ ª T [0]). ®áª®«ìªã ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ¯®«®áâìî ®¯à¥¤¥«ï¥âáï ¯¥à¢®© ï祩ª®©, ॠ«ì® ¨á¯®«ì§ã¥âáï ¢á¥£® «¨èì m à §«¨çëå ¯®á«¥¤®¢ ⥫ì®á⥩. âªàëâãî ¤à¥á æ¨î á «¨¥©®© ¯®á«¥¤®¢ ⥫ì®áâìî ¯à®¡ «¥£ª® ॠ«¨§®¢ âì, ® ã í⮣® ¬¥â®¤ ¥áâì ®¤¨ ¥¤®áâ ⮪: ® ¬®¦¥â ¯à¨¢¥á⨠ª ®¡à §®¢ ¨î ª« áâ¥à®¢, â® ¥áâì ¤«¨ëå ¯®á«¥¤®¢ ⥫ì®á⥩ § ïâëå ï祥ª, ¨¤ãé¨å ¯®¤àï¤ (¯®- £«¨©áª¨ í⮠¥¨¥ §ë¢ ¥âáï primary clustering). ⮠㤫¨ï¥â ¯®¨áª; ¢ á ¬®¬ ¤¥«¥, ¥á«¨ ¢ â ¡«¨æ¥ ¨§ m ï祥ª ¢á¥ ï祩ª¨ á çñâ묨 ®¬¥à ¬¨ § ïâë, ï祩ª¨ á ¥çñâ묨 ®¬¥à ¬¨ ᢮¡®¤ë, â® á।¥¥ ç¨á«® ¯à®¡ ¯à¨ ¯®¨áª¥ í«¥¬¥â , ®âáãâáâ¢ãî饣® ¢ â ¡«¨æ¥, ¥áâì 1;5; ᫨, ®¤ ª®, ⥠¦¥ m=2 § ïâëå ï祥ª ¨¤ãâ ¯®¤àï¤, â® á।¥¥ ç¨á«® ¯à®¡ ¯à¨¬¥à® à ¢® m=8 = n=4 (n | ç¨á«® § ïâëå ¬¥áâ ¢ â ¡«¨æ¥). ¥¤¥æ¨ï ª ®¡à §®¢ ¨î ª« áâ¥à®¢ ®¡êïáï¥âáï ¯à®áâ®: ¥á«¨ i § ¯®«¥ëå ï祥ª ¨¤ãâ ¯®¤àï¤, ¢¥à®ïâ®áâì ⮣®, çâ® ¯à¨ ®ç¥à¥¤®© ¢áâ ¢ª¥ ¢ â ¡«¨æ㠡㤥⠨ᯮ«ì§®¢ ï祩ª , á«¥¤ãîé ï ¥¯®á।á⢥® § ¨¬¨, ¥áâì (i + 1)=m, ¢ â® ¢à¥¬ï ª ª ¤«ï ᢮¡®¤®© ï祩ª¨, ¯à¥¤è¥á⢥¨æ ª®â®à®© â ª¦¥ ᢮¡®¤ , ¢¥à®ïâ®áâì ¡ëâì ¨á¯®«ì§®¢ ®© à ¢ ¢á¥£® «¨èì 1=m. áñ ¢ë襨§«®¦¥®¥ ¯®ª §ë¢ ¥â, çâ® «¨¥© ï ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ¤®¢®«ì® ¤ «¥ª ®â à ¢®¬¥à®£® å¥è¨à®¢ ¨ï. 234 « ¢ 12 ¥è-â ¡«¨æë ¢ ¤à â¨ç ï ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ãªæ¨ï, ®¯à¥¤¥«ïîé ï ª¢ ¤à â¨çãî ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ (quadratic probing), § ¤ ñâáï ä®à¬ã«®© h(k; i) = (h0 (k) + c1i + c2i2) mod m; (12.5) £¤¥ ¯®-¯à¥¦¥¬ã h0 | ®¡ëç ï å¥è-äãªæ¨ï, c1 ¨ c2 6= 0 | ¥ª®â®àë¥ ª®áâ âë. ஡ë ç¨ îâáï á ï祩ª¨ ®¬¥à T [h0(k)], ª ª ¨ ¯à¨ «¨¥©®¬ ¬¥â®¤¥, ® ¤ «ìè¥ ï祩ª¨ ¯à®á¬ âਢ îâáï ¥ ¯®¤àï¤: ®¬¥à ¯à®¡ã¥¬®© ï祩ª¨ ª¢ ¤à â¨ç® § ¢¨á¨â ®â ®¬¥à ¯®¯ë⪨. â®â ¬¥â®¤ à ¡®â ¥â § ç¨â¥«ì® «ãçè¥, 祬 «¨¥©ë©, ® ¥á«¨ ¬ë å®â¨¬, çâ®¡ë ¯à¨ ¯à®á¬®âॠå¥è-â ¡«¨æë ¨á¯®«ì§®¢ «¨áì ¢á¥ ï祩ª¨, § 票ï m, c1 ¨ c2 ¥«ì§ï ¢ë¡¨à âì ª ª ¯®¯ «®; ®¤¨ ¨§ ᯮᮡ®¢ ¢ë¡®à ®¯¨á ¢ § ¤ ç¥ 12-4. ª ¨ ¯à¨ «¨¥©®¬ ¬¥â®¤¥, ¢áï ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ®¯à¥¤¥«ï¥âáï ᢮¨¬ ¯¥à¢ë¬ ç«¥®¬, â ª çâ® ®¯ïâì ¯®«ãç ¥âáï ¢á¥£® m à §«¨çëå ¯¥à¥áâ ®¢®ª. ¥¤¥æ¨¨ ª ®¡à §®¢ ¨î ª« áâ¥à®¢ ¡®«ìè¥ ¥â, ® «®£¨çë© íä䥪⠯à®ï¢«ï¥âáï ¢ (¡®«¥¥ ¬ï£ª®©) ä®à¬¥ ®¡à §®¢ ¨ï ¢â®à¨çëå ª« áâ¥à®¢ (secondary clustering). ¢®©®¥ å¥è¨à®¢ ¨¥ ¢®©®¥ å¥è¨à®¢ ¨¥ (double hashing) | ®¤¨ ¨§ «ãçè¨å ¬¥â®¤®¢ ®âªàë⮩ ¤à¥á 樨. ¥à¥áâ ®¢ª¨ ¨¤¥ªá®¢, ¢®§¨ª î騥 ¯à¨ ¤¢®©®¬ å¥è¨à®¢ ¨¨, ®¡« ¤ îâ ¬®£¨¬¨ ᢮©á⢠¬¨, ¯à¨áã騬¨ à ¢®¬¥à®¬ã å¥è¨à®¢ ¨î. ਠ¤¢®©®¬ å¥è¨à®¢ ¨¨ äãªæ¨ï h ¨¬¥¥â ¢¨¤ h(k; i) = (h1(k) + ih2(k)) mod m; £¤¥ h1 ¨ h2 | ®¡ëçë¥ å¥è-äãªæ¨¨. 묨 á«®¢ ¬¨, ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ¯à¨ à ¡®â¥ á ª«î箬 k ¯à¥¤áâ ¢«ï¥â ᮡ®© à¨ä¬¥â¨ç¥áªãî ¯à®£à¥áá¨î (¯® ¬®¤ã«î m) á ¯¥à¢ë¬ ç«¥®¬ h1(k) ¨ è £®¬ h2(k). ਬ¥à ¤¢®©®£® å¥è¨à®¢ ¨ï ¯à¨¢¥¤¥ à¨á. 12.5. â®¡ë ¯®á«¥¤®¢ ⥫ì®áâì ¨á¯à®¡®¢ ëå ¬¥áâ ¯®ªàë« ¢áî â ¡«¨æã, § 票¥ h2(k) ¤®«¦® ¡ëâì ¢§ ¨¬® ¯à®áâë¬ á m (¥á«¨ ¨¡®«ì訩 ®¡é¨© ¤¥«¨â¥«ì h2(k) ¨ m ¥áâì d, â® à¨ä¬¥â¨ç¥áª ï ¯à®£à¥áá¨ï ¯® ¬®¤ã«î m á à §®áâìî h2(k) § ©¬ñâ ¤®«î 1=d ¢ â ¡«¨æ¥; á¬. £« ¢ã 33). à®á⮩ ᯮᮡ ¤®¡¨âìáï ¢ë¯®«¥¨ï í⮣® ãá«®¢¨ï | ¢ë¡à âì ¢ ª ç¥á⢥ m á⥯¥ì ¤¢®©ª¨, äãªæ¨î h2 ¢§ïâì â ªãî, çâ®¡ë ® ¯à¨¨¬ « ⮫쪮 ¥çñâë¥ § 票ï. à㣮© ¢ ਠâ: m | ¯à®á⮥ ç¨á«®, § 票ï h2 | æ¥«ë¥ ¯®«®¦¨â¥«ìë¥ ç¨á« , ¬¥ì訥 m. ¯à¨¬¥à, ¤«ï ¯à®á⮣® m ¬®¦® ¯®«®¦¨âì h1 (k) = k mod m; h2 (k) = 1 + (k mod m0); âªàëâ ï ¤à¥á æ¨ï 235 12.5 ®¡ ¢«¥¨¥ í«¥¬¥â ¢ â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥© ¯à¨ ¤¢®©®¬ å¥è¨à®¢ ¨¨. 襬 á«ãç ¥ m = 13, h1 (k) = k mod 13, h2 (k) = 1 + (k mod 11). ᫨ k = 14, â® ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ¡ã¤¥â â ª ï: 1 ¨ 5 § ïâë, 9 ᢮¡®¤®, ¯®¬¥é ¥¬ â㤠. ¨á㮪 £¤¥ m0 çãâì ¬¥ìè¥, 祬 m ( ¯à¨¬¥à, m0 = m ; 1 ¨«¨ m ; 2). ᫨, ¯à¨¬¥à, m = 701, m0 = 700 ¨ k = 123456, â® h1(k) = 80 ¨ h2(k) = 257. â «® ¡ëâì, ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡ ç¨ ¥âáï á ¯®§¨æ¨¨ ®¬¥à 80 ¨ ¨¤ñâ ¤ «¥¥ á è £®¬ 257, ¯®ª ¢áï â ¡«¨æ ¥ ¡ã¤¥â ¯à®á¬®âॠ(¨«¨ ¥ ¡ã¤¥â ©¤¥® 㦮¥ ¬¥áâ®). ®â«¨ç¨¥ ®â «¨¥©®£® ¨ ª¢ ¤à â¨ç®£® ¬¥â®¤®¢, ¯à¨ ¤¢®©®¬ å¥è¨à®¢ ¨¨ ¬®¦® ¯®«ãç¨âì (¯à¨ ¯à ¢¨«ì®¬ ¢ë¡®à¥ h1 ¨ h2) ¥ m, (m2) à §«¨çëå ¯¥à¥áâ ®¢®ª, ¯®áª®«ìªã ª ¦¤®© ¯ ॠ(h1(k); h2(k)) ᮮ⢥âáâ¢ã¥â á¢®ï ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡. « £®¤ àï í⮬㠯ந§¢®¤¨â¥«ì®áâì ¤¢®©®£® å¥è¨à®¢ ¨ï ¡«¨§ª ª ⮩, çâ® ¯®«ã稫 áì ¡ë ¯à¨ áâ®ï饬 à ¢®¬¥à®¬ å¥è¨à®¢ ¨¨. «¨§ å¥è¨à®¢ ¨ï á ®âªàë⮩ ¤à¥á 樥© ª ¦¥, ª ª ¨ ¯à¨ «¨§¥ å¥è¨à®¢ ¨ï á 楯®çª ¬¨, ¯à¨ «¨§¥ ®âªàë⮩ ¤à¥á 樨 ¬ë ¡ã¤¥¬ ®æ¥¨¢ âì á⮨¬®áâì ®¯¥à 権 ¢ â¥à¬¨ å ª®íää¨æ¨¥â § ¯®«¥¨ï = n=m (n | ç¨á«® § ¯¨á¥©, m | à §¬¥à â ¡«¨æë). ®áª®«ìªã ¯à¨ ®âªàë⮩ ¤à¥á 樨 ª ¦¤®© ï祩ª¥ ᮮ⢥âáâ¢ã¥â ¥ ¡®«¥¥ ®¤®© § ¯¨á¨, 6 1. ë ¡ã¤¥¬ ¨á室¨âì ¨§ ¯à¥¤¯®«®¦¥¨ï ® à ¢®¬¥à®á⨠å¥è¨à®¢ ¨ï. í⮩ ¨¤¥ «¨§¨à®¢ ®© á奬¥ ¯à¥¤¯®« £ ¥âáï á«¥¤ãî饥: ¬ë ¢ë¡¨à ¥¬ ª«îç¨ á«ãç ©ë¬ ®¡à §®¬, ¯à¨çñ¬ ¢á¥ m! ¢®§¬®¦ëå ¯®á«¥¤®¢ ⥫ì®á⥩ ¯à®¡ à ¢®¢¥à®ïâë. ®áª®«ìªã íâ ¨¤¥ «¨§¨à®¢ ï á奬 ¤ «¥ª ®â ॠ«ì®áâ¨, ¤®ª §ë¢ ¥¬ë¥ ¨¦¥ १ã«ìâ âë á«¥¤ã¥â à áᬠâਢ âì ¥ ª ª ¬ ⥬ â¨ç¥áª¨¥ ⥮६ë, 236 « ¢ 12 ¥è-â ¡«¨æë ®¯¨áë¢ î騥 à ¡®âã ॠ«ìëå «£®à¨â¬®¢ ®âªàë⮩ ¤à¥á 樨, ª ª í¢à¨áâ¨ç¥áª¨¥ ®æ¥ª¨. çñ¬ á ⮣®, çâ® ®æ¥¨¬ ¢à¥¬ï ¯®¨áª í«¥¬¥â , ®âáãâáâ¢ãî饣® ¢ â ¡«¨æ¥. ¥®à¥¬ 12.5. ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¯à®¡ ¯à¨ ¯®¨áª¥ ¢ â ¡«¨æ¥ á ®âªàë⮩ ¤à¥á 樥© ®âáãâáâ¢ãî饣® ¢ ¥© í«¥¬¥â ¥ ¯à¥¢®á室¨â 1=(1;) (å¥è¨à®¢ ¨¥ ¯à¥¤¯®« £ ¥âáï à ¢®¬¥àë¬, ç¥à¥§ < 1 ®¡®§ ç¥ ª®íää¨æ¨¥â § ¯®«¥¨ï). ®ª § ⥫ìá⢮. ë ¯à¥¤¯®« £ ¥¬, çâ® â ¡«¨æ 䨪á¨à®¢ , ¨áª®¬ë© í«¥¬¥â ¢ë¡¨à ¥âáï á«ãç ©®, ¯à¨çñ¬ ¢á¥ ¢®§¬®¦ë¥ ¯®á«¥¤®¢ ⥫ì®á⨠¯à®¡ à ¢®¢¥à®ïâë. á ¨â¥à¥áã¥â ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¯®¯ë⮪, ¥®¡å®¤¨¬ëå ¤«ï ®¡ à㦥¨ï ᢮¡®¤®© ï祩ª¨, â® ¥áâì á㬬 1+ 1 X i=0 ipi: (12.6) £¤¥ pi | ¢¥à®ïâ®áâì ⮣®, çâ® ¬ë ¢áâà¥â¨¬ ஢® i § ïâëå ï祥ª. ¦¤ ï ®¢ ï ¯à®¡ ¢ë¡¨à ¥âáï à ¢®¬¥à® á।¨ ®áâ ¢è¨åáï ¥ ¨á¯à®¡®¢ 묨 ï祥ª; ¥á«¨ à §à¥è¨âì ¯à®¡®¢ âì ¯®¢â®à® 㦥 ¨á¯à®¡®¢ ë¥ ï祩ª¨, â® ç áâì ¯à®¡ ¯à®¯ ¤ñâ §àï ¨ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ⮫쪮 㢥«¨ç¨âáï. ® ¤«ï í⮣® ®¢®£® ¢ ਠ⠬ë 㦥 ¢ëç¨á«ï«¨ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ (à §¤¥« 6.4, £¥®¬¥âà¨ç¥áª®¥ à á¯à¥¤¥«¥¨¥), ¨ ®® à ¢® 1=(1 ; ) (12.7) ¯®áª®«ìªã ¢¥à®ïâ®áâì ãá¯¥å ¤«ï ª ¦¤®© ¯à®¡ë à ¢ 1 ; . ᫨ ª®íää¨æ¨¥â § ¯®«¥¨ï ®â¤¥«ñ ®â ¥¤¨¨æë, ⥮६ 12.5 ¯à¥¤áª §ë¢ ¥â, çâ® ¯®¨áª ®âáãâáâ¢ãî饣® í«¥¬¥â ¡ã¤¥â ¢ á।¥¬ ¯à®å®¤¨âì § ¢à¥¬ï O(1). ¯à¨¬¥à, ¥á«¨ â ¡«¨æ § ¯®«¥ ¯®«®¢¨ã, â® á।¥¥ ç¨á«® ¯à®¡ ¡ã¤¥â ¥ ¡®«ìè¥ 1=(1 ; 0;5) = 2, ¥á«¨ 90%, â® ¥ ¡®«ìè¥ 1=(1 ; 0;9) = 10. § ⥮६ë 12.5 ¥¬¥¤«¥® ¯®«ãç ¥âáï ¨ ®æ¥ª á⮨¬®áâì ®¯¥à 樨 ¤®¡ ¢«¥¨ï ª â ¡«¨æ¥: «¥¤á⢨¥ 12.6. ¯à¥¤¯®«®¦¥¨¨ à ¢®¬¥à®£® å¥è¨à®¢ ¨ï ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¯à®¡ ¯à¨ ¤®¡ ¢«¥¨¨ ®¢®£® í«¥¬¥â ¢ â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥© ¥ ¯à¥¢®á室¨â 1=(1 ; ), £¤¥ < 1 | ª®íää¨æ¨¥â § ¯®«¥¨ï. ®ª § ⥫ìá⢮. ਠ¤®¡ ¢«¥¨¨ ¢ â ¡«¨æã ®âáãâáâ¢ãî饣® ¢ ¥© í«¥¬¥â ¯à®¨á室ïâ ⥠¦¥ ¯à®¡ë, çâ® ¯à¨ ¯®¨áª¥ ®âáãâáâ¢ãî饣® ¢ ¢ ¥© í«¥¬¥â . 楨âì á।¥¥ ¢à¥¬ï ãᯥ讣® ¯®¨áª ¥¬®£¨¬ á«®¦¥¥. âªàëâ ï ¤à¥á æ¨ï 237 ¥®à¥¬ 12.7. áᬮâਬ â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥©, ª®íää¨æ¨¥â § ¯®«¥¨ï ª®â®à®© à ¢¥ < 1. ãáâì å¥è¨à®¢ ¨¥ à ¢®¬¥à®. ®£¤ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ç¨á« ¯à®¡ ¯à¨ ãᯥ讬 ¯®¨áª¥ í«¥¬¥â ¢ â ¡«¨æ¥ ¥ ¯à¥¢®á室¨â 1 1 ln 1 ; ; ¥á«¨ áç¨â âì, çâ® ª«îç ¤«ï ãᯥ讣® ¯®¨áª ¢ â ¡«¨æ¥ ¢ë¡¨à ¥âáï á«ãç ©ë¬ ®¡à §®¬ ¨ ¢á¥ â ª¨¥ ¢ë¡®àë à ¢®¢¥à®ïâë. ®ª § ⥫ìá⢮. â®ç¨¬, ª ª ¯à®¨§¢®¤¨âáï ãá।¥¨¥: á ç « ¬ë § ¯®«ï¥¬ â ¡«¨æã ¥§ ¢¨á¨¬® ¢ë¡¨à ¥¬ë¬¨ ª«îç ¬¨, ¯à¨çñ¬ ¤«ï ª ¦¤®£® ¨§ ¨å ¢ë¯®«ï¥âáï ¯à¥¤¯®«®¦¥¨¥ à ¢®¬¥à®£® å¥è¨à®¢ ¨ï. ⥬ ¬ë ãá।塞 ¯® ¢á¥¬ í«¥¬¥â ¬ â ¡«¨æë ¢à¥¬ï ¨å ¯®¨áª . ¬¥â¨¬, çâ® ¯à¨ ãᯥ讬 ¯®¨áª¥ ª«îç k ¬ë ¤¥« ¥¬ ⥠¦¥ á ¬ë¥ ¯à®¡ë, ª®â®àë¥ ¯à®¨§¢®¤¨«¨áì ¯à¨ ¯®¬¥é¥¨¨ ª«îç k ¢ â ¡«¨æã. ¥¬ á ¬ë¬ á।¥¥ ç¨á«® ¯à®¡ ¯à¨ ¯®¨áª¥ (ãá।¥¨¥ ¯® í«¥¬¥â ¬) à ¢® ®¡é¥¬ã ç¨á«ã ¯à®¡ ¯à¨ ¤®¡ ¢«¥¨¨, ¤¥«ñ®¬ã ç¨á«® í«¥¬¥â®¢ ¢ â ¡«¨æ¥, ª®â®à®¥ ¬ë ®¡®§ ç ¥¬ n. ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ®¡é¥£® ç¨á« ¯à®¡ ¯à¨ ¤®¡ ¢«¥¨¨ à ¢® á㬬¥ ¬ ⥬ â¨ç¥áª¨å ®¦¨¤ ¨© ¤«ï ª ¦¤®£® ®â¤¥«ì®£® è £ . ¬®¬¥âã ¤®¡ ¢«¥¨ï (i+1)-£® í«¥¬¥â ¢ â ¡«¨æ¥ § ¯®«¥® i ¯®§¨æ¨©, ª®íää¨æ¨¥â § ¯®«¥¨ï à ¢¥ i=m (m | ç¨á«® ¬¥áâ ¢ â ¡«¨æ¥), ¨ ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¥ ¡®«ìè¥ 1=(1 ; i=m) = m=(m ; i). ®í⮬ã á㬬 ¬ ⥬ â¨ç¥áª¨å ®¦¨¤ ¨© ¥ ¯à¥¢®á室¨â m + m + m + :::+ m : m m;1 m;2 m;n+1 â á㬬 à ¢ m (1=(m ; n + 1) + : : : + 1=(m ; 1) + 1=m) ¨ ®æ¥¨¢ ¥âáï ᢥàåã á ¯®¬®éìî ¨â¥£à « (3.10): m Zm m;n 1 dt = m ln(m=(m ; n)): t ᯮ¬¨ ï, çâ® ®¡é¥¥ ç¨á«® ®¯¥à 権 ¤® ¯®¤¥«¨âì n, ¯®«ãç ¥¬ ®æ¥ªã (m=n) ln(m=(m ; n)) = (1=) ln(1=(1 ; )). ᫨, ¯à¨¬¥à, â ¡«¨æ § ¯®«¥ ¯®«®¢¨ã, â® á।¥¥ ç¨á«® ¯à®¡ ¤«ï ãᯥ讣® ¯®¨áª ¥ ¯à¥¢®á室¨â 1;387, ¥á«¨ 90%, â® 2;559. ¯à ¦¥¨ï 12.4-1 믮«¨â¥ ¤®¡ ¢«¥¨¥ ª«î祩 10; 22; 31; 4; 15; 28; 17; 88; 59 (¢ 㪠§ ®¬ ¯®à浪¥) ¢ å¥è-â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥© à §- 238 « ¢ 12 ¥è-â ¡«¨æë ¬¥à m = 11. «ï ¢ëç¨á«¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠¯à®¡ ¨á¯®«ì§ã¥âáï «¨¥©ë© ¬¥â®¤ á h0(k) = k mod m. 믮«¨â¥ â® ¦¥ § ¤ ¨¥, ¥á«¨ ¨á¯®«ì§ã¥âáï ª¢ ¤à â¨çë© ¬¥â®¤ á ⮩ ¦¥ h0, c1 = 1, c2 = 3, â ª¦¥ ¤«ï ¤¢®©®£® å¥è¨à®¢ ¨ï á h1 = h0 ¨ h2 (k) = 1 + (k mod (m ; 1)). 12.4-2 ¯¨è¨â¥ ¯à®æ¥¤ãàã Hash-Delete ¤«ï 㤠«¥¨ï í«¥¬¥â ¨§ â ¡«¨æë á ®âªàë⮩ ¤à¥á 樥©, ॠ«¨§ãîéãî ®¯¨á ãî á奬ã (á® § 票¥¬ deleted), ¨ ¯¥à¥¯¨è¨â¥ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¯à®æ¥¤ãàë Hash-Insert ¨ Hash-Search. 12.4-3? ®ª ¦¨â¥, çâ® ¯à¨ ¤¢®©®¬ å¥è¨à®¢ ¨¨ (h(k; i) = (h1 (k) + ih2(k)) mod m) ¯®á«¥¤®¢ ⥫ì®áâì ¯à®¡, ᮮ⢥âáâ¢ãîé ï ª«îçã k, ï¥âáï ¯¥à¥áâ ®¢ª®© ¬®¦¥á⢠f0; 1; : : :; m ; 1g ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ h2(k) ¢§ ¨¬® ¯à®áâ® á m. (ª § ¨¥: á¬. £« ¢ã 33.) 12.4-4 ©¤¨â¥ ç¨á«¥ë¥ § ç¥¨ï ¢¥àå¨å ®æ¥®ª ⥮६ 12.5 ¨ 12.7 ¤«ï ¯®¨áª¥ ¯à¨áãâáâ¢ãî饣® ¨ ®âáãâáâ¢ãî饣® í«¥¬¥â®¢ ¤«ï ª®íää¨æ¨¥â®¢ § ¯®«¥¨ï 1=2, 3=4 ¨ 7=8. 12.4-5? ।¯®«®¦¨¬, çâ® ¬ë ¯®¬¥é ¥¬ n § ¯¨á¥© ¢ â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥©; à §¬¥à â ¡«¨æë à ¢¥ m, å¥è¨à®¢ ¨¥ à ¢®¬¥à®, ª«îç¨ § ¯¨á¥© ¢ë¡¨à îâáï á«ãç ©ë¬ ®¡à §®¬. ¡®§ 稬 ç¥à¥§ p(n; m) ¢¥à®ïâ®áâì ⮣®, çâ® ¯à¨ í⮬ ¥ ¯à®¨§®©¤¥â ª®««¨§¨©. ®ª ¦¨â¥, çâ® p(n; m) 6 e;n(n;1)=2m. (ª § ¨¥: á¬. ¥à ¢¥ á⢮ (2.7).) â ¢¥«¨ç¨ ®ç¥ì ¬ « , ª®£¤ n § ¬¥â® ¡®«ìè¥ pn. 12.4-6? áâ¨çë¥ áã¬¬ë £ ମ¨ç¥áª®£® àï¤ ¬®¦® ®æ¥¨âì â ª: Hn = ln n + + 2"n ; (12.8) £¤¥ = 0;5772156649 : : : | â ª §ë¢ ¥¬ ï ¯®áâ®ï ï ©«¥à (Euler's constant) ¨ 0 < " < 1 (¤®ª § ⥫ìá⢮ á¬. ¢ ª¨£¥ ãâ [121]). ª ¨á¯®«ì§®¢ âì íâ® ¤«ï ®æ¥ª¨ ªã᪠£ ମ¨ç¥áª®£® àï¤ ¢ ¤®ª § ⥫ìá⢥ ⥮६ë 12.7? 12.4-7? ©¤¨â¥ ¥ã«¥¢®¥ § 票¥ ª®íää¨æ¨¥â § ¯®«¥¨ï , ¯à¨ ª®â®à®¬ ®æ¥ª á।¥£® ç¨á« ¯à®¡ ¯à¨ ¯®¨áª¥ ®âáãâáâ¢ãî饣® í«¥¬¥â (⥮६ 12.5) ¢¤¢®¥ ¯à¥¢®á室¨â ®æ¥ªã á।¥£® ç¨á« ¯à®¡ ¯à¨ ãᯥ讬 ¯®¨áª¥ (⥮६ 12.7). ¤ ç¨ ª £« ¢¥ 12 239 ¤ ç¨ 12-1 ¨¡®«ì襥 ç¨á«® ¯à®¡ ¯à¨ ¤®¡ ¢«¥¨¨ í«¥¬¥â áᬮâਬ å¥è-â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥© à §¬¥à m, ¢ ª®â®àãî ®¤¨ § ¤à㣨¬ ¯®¬¥é îâáï n ª«î祩, ¯à¨çñ¬ n 6 m=2. ।¯®«®¦¨¬, çâ® å¥è¨à®¢ ¨¥ à ¢®¬¥à®. . ®ª ¦¨â¥, çâ® ¤«ï «î¡®£® i = 1; 2; : : :; n ¢¥à®ïâ®áâì ⮣®, çâ® ¯à¨ ¤®¡ ¢«¥¨¨ i-£® ª«îç ¢ â ¡«¨æ㠯ந§®è«® ¡®«¥¥ k ¯à®¡, ¥ ¯à¥¢®á室¨â 2;k . ¡. ®ª ¦¨â¥, çâ® ¤«ï «î¡®£® i = 1; 2; : : :; n ¢¥à®ïâ®áâì ⮣®, çâ® ¯à¨ ¤®¡ ¢«¥¨¨ i-£® ª«îç ¢ â ¡«¨æ㠯ந§®è«® ¡®«¥¥ 2 lg n ¯à®¡, ¥ ¯à¥¢®á室¨â 1=n2. ãáâì X | á«ãç © ï ¢¥«¨ç¨ , à ¢ ï ¬ ªá¨¬ «ì®¬ã ç¨á«ã ¯à®¡ ¯à¨ ¤®¡ ¢«¥¨¨ í«¥¬¥â®¢ á ®¬¥à ¬¨ 1; 2; : : :; n. ¢. ®ª ¦¨â¥, çâ® PfX > 2 lg ng 6 1=n. £. ®ª ¦¨â¥, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢¥«¨ç¨ë X ( ¨¡®«ì襣® ç¨á« ¯à®¡) ¥áâì O(lg n). 12-2 ®¨áª ¢ ¥¨§¬¥ïî饬áï ¬®¦¥á⢥ ãáâì ¬ë à ¡®â ¥¬ á ¬®¦¥á⢮¬ ¨§ n í«¥¬¥â®¢, ¢ ª®â®à®¬ ª«îç¨ ï¢«ïîâáï ç¨á« ¬¨, ¥¤¨á⢥ ï ®¯¥à æ¨ï, ª®â®àãî ¤® ¯®¤¤¥à¦¨¢ âì, | íâ® ¯®¨áª (í«¥¬¥âë ¥ ¤®¡ ¢«ïîâáï ¨ ¥ 㤠«ïîâáï). ॡã¥âáï ॠ«¨§®¢ âì ¯®¨áª ¬ ªá¨¬ «ì® íä䥪⨢® (¤® ⮣®, ª ª çãâ ¯®áâ㯠âì § ¯à®áë ¯®¨áª, ¬®¦¥á⢮ ¬®¦® ¯à¥¤¢ à¨â¥«ì® ®¡à ¡®â âì, ¨ ¢à¥¬ï â ªãî ®¡à ¡®âªã ¥ ®£à ¨ç¥®). . ®ª ¦¨â¥, çâ® ¯®¨áª ¬®¦® ॠ«¨§®¢ âì â ª¨¬ ®¡à §®¬, çâ®¡ë ¢ åã¤è¥¬ á«ãç ¥ ® § ¨¬ « ¢à¥¬ï O(lg n), ¤®¯®«¨â¥«ì ï ¯ ¬ïâì (ᢥàå ⮩, ¢ ª®â®à®© åà ¨âáï á ¬® ¬®¦¥á⢮) ¥ ¨á¯®«ì§®¢ « áì. ¡. ãáâì ¬ë à¥è¨«¨ § ¯¨á âì í«¥¬¥âë 襣® ¬®¦¥á⢠¢ å¥èâ ¡«¨æã á ®âªàë⮩ ¤à¥á 樥©, á®áâ®ïéãî ¨§ m ï祥ª. ।¯®«®¦¨¬, çâ® å¥è¨à®¢ ¨¥ à ¢®¬¥à®. ਠª ª®¬ ¬¨¨¬ «ì®¬ ®¡êñ¬¥ m ; n ¤®¯®«¨â¥«ì®© ¯ ¬ï⨠á।ïï á⮨¬®áâì ®¯¥à 樨 ¯®¨áª í«¥¬¥â , ®âáãâáâ¢ãî饣® ¢ ¬®¦¥á⢥, ¡ã¤¥â ¥ å㦥, 祬 ¢ ¯ãªâ¥ ( )? ª ç¥á⢥ ®â¢¥â ¯à¨¢¥¤¨â¥ ᨬ¯â®â¨ç¥áªãî ®æ¥ªã m ; n ç¥à¥§ n. 12-3 «¨ë 楯®ç¥ª ¯à¨ å¥è¨à®¢ ¨¨ áᬮâਬ å¥è-â ¡«¨æã á n ï祩ª ¬¨, ¢ ª®â®à®© ª®««¨§¨¨ à §à¥è îâáï á ¯®¬®éìî 楯®ç¥ª. ¥è¨à®¢ ¨¥ à ¢®¬¥à®: ª ¦¤ë© ®¢ë© ª«îç ¨¬¥¥â à ¢ë¥ è áë ¯®¯ áâì ¢® ¢á¥ ï祩ª¨ ¥§ ¢¨á¨¬® 240 « ¢ 12 ¥è-â ¡«¨æë ®â ¯à¥¤ë¤ãé¨å. ãáâì M | ¬ ªá¨¬ «ì ï ¤«¨ 楯®ç¥ª ¯®á«¥ ¤®¡ ¢«¥¨ï n ª«î祩. è § ¤ ç | ¤®ª § âì, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ M ¥áâì O(lg n= lg lg n). . ¨ªá¨à㥬 ¥ª®â®à®¥ å¥è-§ 票¥. ãáâì Qk | ¢¥à®ïâ®áâì ⮣®, ¥¬ã ᮮ⢥âáâ¢ã¥â k à §«¨çëå ª«î祩. ®ª ¦¨â¥, çâ® Qk = Cnk ¡. ¢. £. ¤. k 1 n;k 1 1; n : n ãáâì Pk | ¢¥à®ïâ®áâì ⮣®, çâ® ¬ ªá¨¬ «ì ï ¤«¨ 楯®çª¨ à ¢ k. ®ª ¦¨â¥, çâ® Pk 6 nQk . 뢥¤¨â¥ ¨§ ä®à¬ã«ë â¨à«¨£ (2.11), çâ® Qk < ek =kk . ®ª ¦¨â¥, çâ® áãé¥áâ¢ã¥â â ª ï ª®áâ â c > 1, çâ® Qk < 1=n3 ¯à¨ k > c lg n= lg lg n. ª«îç¨â¥ ®âáî¤ , çâ® Pk < 1=n2 ¯à¨ â ª¨å k. ®ª ¦¨â¥, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢¥«¨ç¨ë M ¥ ¯à¥¢®á室¨â c lg n c lg n P M > lg lg n n + P M 6 lg lg n lgc lglgnn ; ¨ ¢ë¢¥¤¨â¥ ®âáî¤ , çâ® íâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¥áâì O(lg n= lg lg n). 12-4 ਬ¥à ª¢ ¤à â¨ç®© ¯®á«¥¤®¢ ⥫ì®á⨠¯à®¡ ãáâì ¬ ¤® ¯®¬¥áâ¨âì § ¯¨áì á ª«î箬 k ¢ å¥è-â ¡«¨æã, ï祩ª¨ ª®â®à®© ¯à®ã¬¥à®¢ ë ç¨á« ¬¨ 0; 1; : : :; m ; 1. á ¥áâì å¥è-äãªæ¨ï h, ®â®¡à ¦ îé ï ¬®¦¥á⢮ ª«î祩 ¢ ¬®¦¥á⢮ f0; 1; : : :; m ; 1g. 㤥¬ ¤¥©á⢮¢ âì â ª: 1. 室¨¬ i h(k) ¨ ¯®« £ ¥¬ j 0. 2. ஢¥à塞 ¯®§¨æ¨î ®¬¥à i. ᫨ ® ᢮¡®¤ , § ®á¨¬ â㤠§ ¯¨áì ¨ í⮬ ®áâ ¢«¨¢ ¥¬áï. 3. ®« £ ¥¬ j (j + 1) mod m ¨ i (i + j ) mod m ¨ ¢®§¢à é ¥¬áï ª è £ã 2. . ®ª ¦¨â¥, çâ® ®¯¨á ë© «£®à¨â¬ | ç áâë© á«ãç © "ª¢ ¤à â¨ç®£® ¬¥â®¤ " ¤«ï ¯®¤å®¤ïé¨å § 票© c1 ¨ c2. ।¯®«®¦¨¬, çâ® m ï¥âáï á⥯¥ìî ¤¢®©ª¨. ¡. ®ª ¦¨â¥, çâ® ¢ åã¤è¥¬ á«ãç ¥ ¡ã¤¥â ¯à®á¬®âॠ¢áï â ¡«¨æ . 12-5 k-㨢¥àá «ì®¥ å¥è¨à®¢ ¨¥ ãáâì H | ᥬ¥©á⢮ å¥è-äãªæ¨©, ®â®¡à ¦ îé¨å ¬®¦¥á⢮ ¢®§¬®¦ëå ª«î祩 U ¢ f0; 1; : : :; m ; 1g. 㤥¬ £®¢®à¨âì, çâ® H ï¥âáï k-㨢¥àá «ìë¬, ¥á«¨ ¤«ï «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠k à §«¨çëå ª«î祩 hx1; : : :; xki á«ãç © ï ¢¥«¨ç¨ hh(x1); : : :; h(xk)i (£¤¥ h | á«ãç ©ë© í«¥¬¥â H) ¯à¨¨¬ ¥â ¢á¥ mk ᢮¨å ¢®§¬®¦ëå § 票© á à ¢ë¬¨ ¢¥à®ïâ®áâﬨ. ¬¥ç ¨ï ª £« ¢¥ 12 241 . ®ª ¦¨â¥, çâ® ¢á类¥ 2-㨢¥àá «ì®¥ ᥬ¥©á⢮ 㨢¥àá «ì®. ¡. ®ª ¦¨â¥, ç⮠ᥬ¥©á⢮ H, ®¯¨á ®¥ ¢ à §¤¥«¥ 12.3.3, ¥ ï¥âáï 2-㨢¥àá «ìë¬. ¢. áè¨à¨¬ ᥬ¥©á⢮ H ¨§ à §¤. 12.3.3 ¨ à áᬮâਬ ¢á¥¢®§¬®¦ë¥ äãªæ¨¨ ¢¨¤ ha;b(x) = ha(x) + b mod m; £¤¥ b | ¥ª®â®àë© ¢ëç¥â ¯® ¬®¤ã«î m. ®ª ¦¨â¥, çâ® ¯®«ã祮¥ ᥬ¥©á⢮ ¡ã¤¥â 2-㨢¥àá «ìë¬. ¬¥ç ¨ï «£®à¨â¬ë å¥è¨à®¢ ¨ï ¯à¥ªà á® ¨§«®¦¥ë ã ãâ [123] ¨ ®¥â [90]. ®£« á® ãâã, å¥è-â ¡«¨æë ¨ ¬¥â®¤ 楯®ç¥ª ¡ë«¨ ¨§®¡à¥â¥ë 㮬 (H. P. Luhn) ¢ 1953 £®¤ã. ਬ¥à® ¢ â® ¦¥ ¢à¥¬ï ¬¤ «ì (G. M. Amdahl) ¨§®¡àñ« ®âªàëâãî ¤à¥á æ¨î. 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¥à¥¢ìï ¯®¨áª (search trees) ¯®§¢®«ïî⠢믮«ïâì á«¥¤ãî騥 ®¯¥à 樨 á ¤¨ ¬¨ç¥áª¨¬¨ ¬®¦¥á⢠¬¨: Search (¯®¨áª), Minimum (¬¨¨¬ã¬), Maximum (¬ ªá¨¬ã¬), Predecessor (¯à¥¤ë¤ã騩), Successor (á«¥¤ãî騩), Insert (¢áâ ¢¨âì) ¨ Delete (㤠«¨âì). ª¨¬ ®¡à §®¬, ¤¥à¥¢® ¯®¨áª ¬®¦¥â ¡ëâì ¨á¯®«ì§®¢ ® ¨ ª ª á«®¢ àì, ¨ ª ª ®ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨. à¥¬ï ¢ë¯®«¥¨ï ®á®¢ëå ®¯¥à 権 ¯à®¯®à樮 «ì® ¢ëá®â¥ ¤¥à¥¢ . ᫨ ¤¢®¨ç®¥ ¤¥à¥¢® "¯«®â® § ¯®«¥®" (¢á¥ ¥£® ã஢¨ ¨¬¥îâ ¬ ªá¨¬ «ì® ¢®§¬®¦®¥ ç¨á«® ¢¥àè¨), â® ¥£® ¢ëá®â (¨ ¢à¥¬ï ¢ë¯®«¥¨ï ®¯¥à 権) ¯à®¯®à樮 «ìë «®£ à¨ä¬ã ç¨á« ¢¥àè¨. ¯à®â¨¢, ¥á«¨ ¤¥à¥¢® ¯à¥¤áâ ¢«ï¥â ᮡ®© «¨¥©ãî 楯®çªã ¨§ n ¢¥àè¨, íâ® ¢à¥¬ï ¢ëà á⠥⠤® (n). à §¤¥«¥ 13.4 ¬ë 㢨¤¨¬, çâ® ¢ëá®â á«ãç ©®£® ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª ¥áâì O(lg n), â ª çâ® ¢ í⮬ á«ãç ¥ ¢à¥¬ï ¢ë¯®«¥¨ï ®á®¢ëå ®¯¥à 権 ¥áâì (lg n). ®¥ç®, ¢®§¨ª î騥 ¯à ªâ¨ª¥ ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¬®£ãâ ¡ëâì ¤ «¥ª¨ ®â á«ãç ©ëå. ¤ ª®, ¯à¨ï¢ á¯¥æ¨ «ìë¥ ¬¥àë ¯® ¡ « á¨à®¢ª¥ ¤¥à¥¢ì¥¢, ¬ë ¬®¦¥¬ £ à â¨à®¢ âì, çâ® ¢ëá®â ¤¥à¥¢ì¥¢ á n ¢¥àè¨ ¬¨ ¡ã¤¥â O(log n). £« ¢¥ 14 à áᬮâॠ®¤¨ ¨§ ¯®¤å®¤®¢ â ª®£® த (ªà á®-çñàë¥ ¤¥à¥¢ìï). £« ¢¥ 19 à áᬠâਢ îâáï -¤¥à¥¢ìï, ª®â®àë¥ ®á®¡¥® 㤮¡ë ¤«ï ¤ ëå, åà ïé¨åáï ¢® ¢â®à¨ç®© ¯ ¬ïâ¨ á ¯à®¨§¢®«ìë¬ ¤®áâ㯮¬ ( ¤¨áª¥). í⮩ £« ¢¥ ¬ë à áᬮâਬ ®á®¢ë¥ ®¯¥à 樨 á ¤¢®¨ç묨 ¤¥à¥¢ìﬨ ¯®¨áª ¨ ¯®ª ¦¥¬, ª ª ¯¥ç â âì í«¥¬¥âë ¤¥à¥¢ ¢ ¥ã¡ë¢ î饬 ¯®à浪¥, ª ª ¨áª âì § ¤ ë© í«¥¬¥â, ª ª ©â¨ ¬ ªá¨¬ «ìë© ¨«¨ ¬¨¨¬ «ìë© í«¥¬¥â, ª ª ©â¨ í«¥¬¥â, á«¥¤ãî騩 § ¤ ë¬ ¨ ¯à¥¤è¥áâ¢ãî騩 ¤ ®¬ã, ¨, ª®¥æ, ª ª ¤®¡ ¢¨âì ¨«¨ 㤠«¨âì í«¥¬¥â. ¯®¬¨¬, çâ® ®¯à¥¤¥«¥¨¥ ¤¥à¥¢ ¨ ®á®¢ë¥ ᢮©á⢠¤¥à¥¢ì¥¢ ¯à¨¢®¤ïâáï ¢ £« ¢¥ 5. â® â ª®¥ ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª ? 243 13.1 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª . ¥¢®¥ ¯®¤¤¥à¥¢® ¯à®¨§¢®«ì®© ¢¥àè¨ë x ᮤ¥à¦¨â ª«îç¨, ¥ ¯à¥¢®á室ï騥 key[x], ¯à ¢®¥ | ¥ ¬¥ì訥 key[x]. §ë¥ ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¬®£ã⠯।áâ ¢«ïâì ®¤® ¨ â® ¦¥ ¬®¦¥á⢮. à¥¬ï ¢ë¯®«¥¨ï (¢ åã¤è¥¬ á«ãç ¥) ¡®«ìè¨á⢠®¯¥à 権 ¯à®¯®à樮 «ì® ¢ëá®â¥ ¤¥à¥¢ . ( ) ¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª ¢ëá®âë 2 á 6 ¢¥àè¨ ¬¨. (¡) ¥¥¥ íä䥪⨢®¥ ¤¥à¥¢® ¢ëá®âë 4, ᮤ¥à¦ 饥 ⥠¦¥ ª«îç¨. ¨á㮪 13.1 â® â ª®¥ ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª ? ¤¢®¨ç®¬ ¤¥à¥¢¥ ¯®¨áª (binary search tree; ¯à¨¬¥à ¯à¨¢¥¤ñ à¨á. 13.1) ª ¦¤ ï ¢¥àè¨ ¬®¦¥â ¨¬¥âì (¨«¨ ¥ ¨¬¥âì) «¥¢®£® ¨ ¯à ¢®£® ॡñª ; ª ¦¤ ï ¢¥àè¨ , ªà®¬¥ ª®àï, ¨¬¥¥â த¨â¥«ï. ਠ¯à¥¤áâ ¢«¥¨¨ á ¨á¯®«ì§®¢ ¨¥¬ 㪠§ ⥫¥© ¬ë åà ¨¬ ¤«ï ª ¦¤®© ¢¥àè¨ë ¤¥à¥¢ , ¯®¬¨¬® § ç¥¨ï ª«îç key ¨ ¤®¯®«¨â¥«ìëå ¤ ëå, â ª¦¥ ¨ 㪠§ ⥫¨ left, right ¨ p («¥¢ë© ॡñ®ª, ¯à ¢ë© ॡñ®ª, த¨â¥«ì). ᫨ ॡñª (¨«¨ த¨â¥«ï | ¤«ï ª®àï) ¥â, ᮮ⢥âáâ¢ãî饥 ¯®«¥ ᮤ¥à¦¨â nil. «îç¨ ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ ¯®¨áª åà ïâáï á ᮡ«î¤¥¨¥¬ ᢮©- á⢠㯮à冷祮á⨠(binary-search-tree property): ãáâì x | ¯à®¨§¢®«ì ï ¢¥àè¨ ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª . ᫨ ¢¥àè¨ y 室¨âáï ¢ «¥¢®¬ ¯®¤¤¥à¥¢¥ ¢¥àè¨ë x, â® key[y] 6 key[x]. ᫨ y 室¨âáï ¢ ¯à ¢®¬ ¯®¤¤¥à¥¢¥ x, â® key[y ] > key[x]. ª, à¨á. 13.1( ) ¢ ª®à¥ ¤¥à¥¢ åà ¨âáï ª«îç 5, ª«îç¨ 2, 3 ¨ 5 «¥¢®¬ ¯®¤¤¥à¥¢¥ ª®àï ¥ ¯à¥¢®á室ïâ 5, ª«îç¨ 7 ¨ 8 ¢ ¯à ¢®¬ | ¥ ¬¥ìè¥ 5. ® ¦¥ á ¬®¥ ¢¥à® ¤«ï ¢á¥å ¢¥àè¨ ¤¥à¥¢ . ¯à¨¬¥à, ª«îç 3 à¨á. 13.1( ) ¥ ¬¥ìè¥ ª«îç 2 ¢ «¥¢®¬ ¯®¤¤¥à¥¢¥ ¨ ¥ ¡®«ìè¥ ª«îç 5 ¢ ¯à ¢®¬. ¢®©á⢮ 㯮à冷祮á⨠¯®§¢®«ï¥â ¯¥ç â âì ¢á¥ ª«îç¨ ¢ ¥- ã¡ë¢ î饬 ¯®à浪¥ á ¯®¬®éìî ¯à®á⮣® ४ãàᨢ®£® «£®à¨â¬ ( §ë¢ ¥¬®£® ¯®- £«¨©áª¨ inorder tree walk). â®â «£®à¨â¬ ¯¥ç ⠥⠪«îç ª®àï ¯®¤¤¥à¥¢ ¯®á«¥ ¢á¥å ª«î祩 ¥£® «¥¢®£® ¯®¤¤¥à¥¢ , ® ¯¥à¥¤ ª«îç ¬¨ ¯à ¢®£® ¯®¤¤¥à¥¢ . ( ¬¥â¨¬ ¢ ᪮¡ª å, çâ® ¯®à冷ª, ¯à¨ ª®â®à®¬ ª®à¥ì ¯à¥¤è¥áâ¢ã¥â ®¡®¨¬ ¯®¤¤¥à¥¢ìï¬, - 244 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª §ë¢ ¥âáï preorder; ¯®à冷ª, ¢ ª®â®à®¬ ª®à¥ì á«¥¤ã¥â § ¨¬¨, §ë¢ ¥âáï postorder.) 맮¢ Inorder-Tree-Walk (root[T ]) ¯¥ç â ¥â (¢ 㪠§ ®¬ ¯®à浪¥) ¢á¥ ª«îç¨, ¢å®¤ï騥 ¢ ¤¥à¥¢® T á ª®à¥¬ root[T ]. Inorder-Tree-Walk (x) 1 if x = 6 nil 2 then Inorder-Tree-Walk (left[x]) 3 ¯¥ç â âì key[x] 4 Inorder-Tree-Walk (right[x]) ¯à¨¬¥àã, ¤«ï ®¡®¨å ¤¥à¥¢ì¥¢ à¨á. 13.1 ¡ã¤¥â ¯¥ç â ® 2; 3; 5; 5; 7; 8. ¢®©á⢮ 㯮à冷祮á⨠£ à â¨àã¥â ¯à ¢¨«ì®áâì «£®à¨â¬ (¨¤ãªæ¨ï ¯® ¢ëá®â¥ ¯®¤¤¥à¥¢ ). ६ï à ¡®âë ¤¥à¥¢¥ á n ¢¥àè¨ ¬¨ ¥áâì (n): ª ¦¤ãî ¢¥àè¨ã âà â¨âáï ®£à ¨ç¥®¥ ¢à¥¬ï (¯®¬¨¬® ४ãàᨢëå ¢ë§®¢®¢) ¨ ª ¦¤ ï ¢¥àè¨ ®¡à ¡ âë¢ ¥âáï ®¤¨ à §. ¯à ¦¥¨ï à¨áã©â¥ ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¢ëá®âë 2, 3, 4, 5 ¨ 6 ¤«ï ®¤®£® ¨ ⮣® ¦¥ ¬®¦¥á⢠ª«î祩 f1; 4; 5; 10; 16; 17; 21g. 13.1-2 ãç¨ ¨§ à §¤¥« 7.1 â ª¦¥ ¡ë«¨ ¤¢®¨ç묨 ¤¥à¥¢ìﬨ, ¨ âॡ®¢ ¨¥ 㯮à冷祮á⨠⠬ ⮦¥ ¡ë«®. çñ¬ à §¨æ ¬¥¦¤ã ⥬ âॡ®¢ ¨¥¬ ¨ ⥯¥à¥è¨¬? ª ¢ë ¤ã¬ ¥â¥, ¬®¦® «¨ ¯¥ç â âì í«¥¬¥âë ¤¢®¨ç®© ªãç¨ ¢ ¥ã¡ë¢ î饬 ¯®à浪¥ § ¢à¥¬ï O(n)? ¡êïá¨â¥ ¢ è ®â¢¥â. 13.1-3 ¯¨è¨â¥ ¥à¥ªãàá¨¢ë© «£®à¨â¬, ¯¥ç â î騩 ª«îç¨ ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ ¯®¨áª ¢ ¥ã¡ë¢ î饬 ¯®à浪¥. (ª § ¨¥: à®á⮥ à¥è¥¨¥ ¨á¯®«ì§ã¥â ¢ ª ç¥á⢥ ¤®¯®«¨â¥«ì®© áâàãªâãàë á⥪; ¡®«¥¥ ¨§ï鮥 à¥è¥¨¥ ¥ âॡã¥â á⥪ , ® ¯à¥¤¯®« £ ¥â, çâ® ¬®¦® ¯à®¢¥àïâì à ¢¥á⢮ 㪠§ ⥫¥©.) 13.1-4 ¯¨è¨â¥ ४ãàá¨¢ë¥ «£®à¨â¬ë ¤«ï ®¡å®¤ ¤¥à¥¢ì¥¢ ¢ à §«¨çëå ¯®à浪 å (preorder, postorder). ª ¨ à ìè¥, ¢à¥¬ï à ¡®âë ¤®«¦® ¡ëâì O(n) (£¤¥ n | ç¨á«® ¢¥àè¨). 13.1-5 ®ª ¦¨â¥, çâ® «î¡®© «£®à¨â¬ ¯®áâ஥¨ï ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª , ᮤ¥à¦ 饣® § ¤ ë¥ n í«¥¬¥â®¢, âॡã¥â (¢ åã¤è¥¬ á«ãç ¥) ¢à¥¬¥¨ (n lg n). ®á¯®«ì§ã©â¥áì ⥬, çâ® á®àâ¨à®¢ª n ç¨á¥« âॡã¥â (n lg n) ¤¥©á⢨©. 13.1-1 ®¨áª ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ 245 ¨á㮪 13.2 ®¨áª ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥. é ª«îç 13, ¬ë ¨¤ñ¬ ®â ª®àï ¯® ¯ã⨠15 ! 6 ! 7 ! 13. â®¡ë ©â¨ ¬¨¨¬ «ìë© ª«îç 2, ¬ë ¢áñ ¢à¥¬ï ¨¤ñ¬ «¥¢®; çâ®¡ë ©â¨ ¬ ªá¨¬ «ìë© ª«îç 20 | ¯à ¢®. «ï ¢¥àè¨ë á ª«î箬 15 á«¥¤ãî饩 ¡ã¤¥â ¢¥àè¨ á ª«î箬 17 (íâ® ¬¨¨¬ «ìë© ª«îç ¢ ¯à ¢®¬ ¯®¤¤¥à¥¢¥ ¢¥àè¨ë á ª«î箬 15). ¢¥àè¨ë á ª«î箬 13 ¥â ¯à ¢®£® ¯®¤¤¥à¥¢ ; ¯®í⮬ã, çâ®¡ë ©â¨ á«¥¤ãîéãî § ¥© ¢¥àè¨ã, ¬ë ¯®¤¨¬ ¥¬áï ¢¢¥àå, ¯®ª ¥ ¯à®©¤ñ¬ ¯® ॡàã, ¢¥¤ã饬㠢¯à ¢®-¢¢¥àå; ¢ ¤ ®¬ á«ãç ¥ á«¥¤ãîé ï ¢¥àè¨ ¨¬¥¥â ª«îç 15. 13.2 ®¨áª ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ í⮬ à §¤¥«¥ ¬ë ¯®ª ¦¥¬, çâ® ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¯®§¢®«ïî⠢믮«ïâì ®¯¥à 樨 Search, Minimum, Maximum, Successor ¨ Predecessor § ¢à¥¬ï O(h), £¤¥ h | ¢ëá®â ¤¥à¥¢ . ®¨áª à®æ¥¤ãà ¯®¨áª ¯®«ãç ¥â ¢å®¤ ¨áª®¬ë© ª«îç k ¨ 㪠§ ⥫ì x ª®à¥ì ¯®¤¤¥à¥¢ , ¢ ª®â®à®¬ ¯à®¨§¢®¤¨âáï ¯®¨áª. ¢®§¢à é ¥â 㪠§ â¥«ì ¢¥àè¨ã á ª«î箬 k (¥á«¨ â ª ï ¥áâì) ¨«¨ á¯¥æ¨ «ì®¥ § 票¥ nil (¥á«¨ â ª®© ¢¥àè¨ë ¥â). Tree-Search (x; k) 1 if x = nil ¨«¨ k = key[x] 2 then return x 3 if k < key[x] 4 then return Tree-Search (left[x]; k) 5 else return Tree-Search (right[x]; k) ¯à®æ¥áᥠ¯®¨áª ¬ë ¤¢¨£ ¥¬áï ®â ª®àï, áà ¢¨¢ ï ª«îç k á ª«î箬, åà ï騬áï ¢ ⥪ã饩 ¢¥à訥 x. ᫨ ®¨ à ¢ë, ¯®¨áª § ¢¥àè ¥âáï. ᫨ k < key[x], â® ¯®¨áª ¯à®¤®«¦ ¥âáï ¢ «¥¢®¬ ¯®¤¤¥à¥¢¥ x (ª«îç k ¬®¦¥â ¡ëâì ⮫쪮 â ¬, ᮣ« ᮠ᢮©áâ¢ã 㯮à冷祮áâ¨). ᫨ k > key[x], â® ¯®¨áª ¯à®¤®«¦ ¥âáï ¢ ¯à ¢®¬ ¯®¤¤¥à¥¢¥. «¨ ¯ã⨠¯®¨áª ¥ ¯à¥¢®á室¨â ¢ëá®âë ¤¥à¥¢ , 246 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¯®íâ®¬ã ¢à¥¬ï ¯®¨áª ¥áâì O(h) (£¤¥ h | ¢ëá®â ¤¥à¥¢ ). ®â ¨â¥à ⨢ ï ¢¥àá¨ï ⮩ ¦¥ ¯à®æ¥¤ãàë (ª®â®à ï, ª ª ¯à ¢¨«®, ¡®«¥¥ íä䥪⨢ ): Iterative-Tree-Search (x; k) 1 while x = 6 nil ¨ k =6 key[x] 2 do if k < key[x] 3 then x left[x] 4 else x right[x] 5 return x ¨¨¬ã¬ ¨ ¬ ªá¨¬ã¬ ¨¨¬ «ìë© ª«îç ¢ ¤¥à¥¢¥ ¯®¨áª ¬®¦® ©â¨, ¯à®©¤ï ¯® 㪠§ â¥«ï¬ left ®â ª®àï (¯®ª ¥ ã¯àñ¬áï ¢ nil), á¬. à¨á. 13.2. à®æ¥¤ãà ¢®§¢à é ¥â 㪠§ â¥«ì ¬¨¨¬ «ìë© í«¥¬¥â ¯®¤¤¥à¥¢ á ª®à¥¬ x. Tree-Minimum(x) 1 while left[x] = 6 nil 2 do x left[x] 3 return x ¢®©á⢮ 㯮à冷祮á⨠£ à â¨àã¥â ¯à ¢¨«ì®áâì ¯à®æ¥¤ãàë Tree-Minimum. ᫨ ã ¢¥àè¨ë x ¥â «¥¢®£® ॡñª , â® ¬¨¨¬ «ìë© í«¥¬¥â ¯®¤¤¥à¥¢ á ª®à¥¬ x ¥áâì x, â ª ª ª «î¡®© ª«îç ¢ ¯à ¢®¬ ¯®¤¤¥à¥¢¥ ¥ ¬¥ìè¥ key[x]. ᫨ ¦¥ «¥¢®¥ ¯®¤¤¥à¥¢® ¢¥àè¨ë x ¥ ¯ãáâ®, â® ¬¨¨¬ «ìë© í«¥¬¥â ¯®¤¤¥à¥¢ á ª®à¥¬ x 室¨âáï ¢ í⮬ «¥¢®¬ ¯®¤¤¥à¥¢¥ (¯®áª®«ìªã á ¬ x ¨ ¢á¥ í«¥¬¥âë ¯à ¢®£® ¯®¤¤¥à¥¢ ¡®«ìè¥). «£®à¨â¬ Tree-Maximum ᨬ¬¥âà¨ç¥: Tree-Maximum(x) 1 while right[x] = 6 nil 2 do x right[x] 3 return x ¡ «£®à¨â¬ âॡãî⠢६¥¨ O(h), £¤¥ h | ¢ëá®â ¤¥à¥¢ (¯®áª®«ìªã ¤¢¨£ îâáï ¯® ¤¥à¥¢ã ⮫쪮 ¢¨§). «¥¤ãî騩 ¨ ¯à¥¤ë¤ã騩 í«¥¬¥âë ª ©â¨ ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ í«¥¬¥â, á«¥¤ãî騩 § ¤ ë¬? ¢®©á⢮ 㯮à冷祮á⨠¯®§¢®«ï¥â ᤥ« âì íâ®, ¤¢¨£ ïáì ¯® ¤¥à¥¢ã. ®â ¯à®æ¥¤ãà , ª®â®à ï ¢®§¢à é ¥â 㪠§ ⥫ì á«¥¤ãî騩 § x í«¥¬¥â (¥á«¨ ¢á¥ ª«îç¨ à §«¨çë, ® ᮤ¥à¦¨â á«¥¤ãî騩 ®¨áª ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ 247 ¯® ¢¥«¨ç¨¥ ª«îç) ¨«¨ nil, ¥á«¨ í«¥¬¥â x | ¯®á«¥¤¨© ¢ ¤¥à¥¢¥. Tree-Successor(x) 1 if right[x] = 6 nil 2 then return Tree-Minimum(right[x]) 3 y p[x] 4 while y = 6 nil and x = right[y] 5 do x y 6 y p[y ] 7 return y à®æ¥¤ãà Tree-Successor ®â¤¥«ì® à áᬠâਢ ¥â ¤¢ á«ãç ï. ᫨ ¯à ¢®¥ ¯®¤¤¥à¥¢® ¢¥àè¨ë x ¥¯ãáâ®, â® á«¥¤ãî騩 § x í«¥¬¥â | ¬¨¨¬ «ìë© í«¥¬¥â ¢ í⮬ ¯®¤¤¥à¥¢¥ ¨ à ¢¥ Tree-Minimum(right[x]). ¯à¨¬¥à, à¨á. 13.2 § ¢¥à訮© á ª«î箬 15 á«¥¤ã¥â ¢¥àè¨ á ª«î箬 17. ãáâì ⥯¥àì ¯à ¢®¥ ¯®¤¤¥à¥¢® ¢¥àè¨ë x ¯ãáâ®. ®£¤ ¬ë ¨¤ñ¬ ®â x ¢¢¥àå, ¯®ª ¥ ©¤ñ¬ ¢¥àè¨ã, ïîéãîáï «¥¢ë¬ á뮬 ᢮¥£® த¨â¥«ï (áâப¨ 3{7). â®â த¨â¥«ì (¥á«¨ ® ¥áâì) ¨ ¡ã¤¥â ¨áª®¬ë¬ í«¥¬¥â®¬. [®à¬ «ì® £®¢®àï, 横« ¢ áâப å 4{6 á®åà ï¥â â ª®¥ ᢮©á⢮: y = p[x]; ¨áª®¬ë© í«¥¬¥â ¥¯®á।á⢥® á«¥¤ã¥â § í«¥¬¥â ¬¨ ¯®¤¤¥à¥¢ á ª®à¥¬ ¢ x.] ६ï à ¡®âë ¯à®æ¥¤ãàë Tree-Successor ¤¥à¥¢¥ ¢ëá®âë h ¥áâì O(h), â ª ª ª ¬ë ¤¢¨£ ¥¬áï «¨¡® ⮫쪮 ¢¢¥àå, «¨¡® ⮫쪮 ¢¨§. à®æ¥¤ãà Tree-Predecessor ᨬ¬¥âà¨ç . ª¨¬ ®¡à §®¬, ¬ë ¤®ª § «¨ á«¥¤ãîéãî ⥮६ã. ¥®à¥¬ 13.1. ¯¥à 樨 Search, Minimum, Maximum, Successor ¨ Predecessor ¤¥à¥¢¥ ¢ëá®âë h ¢ë¯®«ïîâáï § ¢à¥¬ï O(h). ¯à ¦¥¨ï 13.2-1 ।¯®«®¦¨¬, çâ® ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ ¯®¨áª åà ïâáï ç¨á« ®â 1 ¤® 1000 ¨ ¬ë å®â¨¬ ©â¨ ç¨á«® 363. ª¨¥ ¨§ á«¥¤ãîé¨å ¯®á«¥¤®¢ ⥫ì®á⥩ ¥ ¬®£ãâ ¡ëâì ¯®á«¥¤®¢ ⥫ì®áâﬨ ¯à®á¬ âਢ ¥¬ëå ¯à¨ í⮬ ª«î祩? . 2; 252; 401; 398; 330; 344; 397; 363; ¡. 924; 220; 911; 244; 898; 258; 362; 363; ¢. 925; 202; 911; 240; 912; 245; 363; £. 2; 399; 387; 219; 266; 382; 381; 278; 363; ¤. 935; 278; 347; 621; 299; 392; 358; 363. ãáâì ¯®¨áª ª«îç ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ § ¢¥àè ¥âáï ¢ «¨áâ¥. áᬮâਬ âਠ¬®¦¥á⢠: A (í«¥¬¥âë á«¥¢ ®â ¯ã⨠¯®¨áª ), 13.2-2 248 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª B (í«¥¬¥âë ¯ãâ¨) ¨ C (á¯à ¢ ®â ¯ãâ¨). à®ä¥áá®à ã⢥ত ¥â, çâ® ¤«ï «î¡ëå âàñå ª«î祩 a 2 A, b 2 B ¨ c 2 C ¢¥à® a 6 b 6 c. ®ª ¦¨â¥, çâ® ® ¥¯à ¢, ¨ ¯à¨¢¥¤¨â¥ ª®âà¯à¨¬¥à ¬¨¨¬ «ì® ¢®§¬®¦®£® à §¬¥à . 13.2-3 ®ª ¦¨â¥ ä®à¬ «ì® ¯à ¢¨«ì®áâì ¯à®æ¥¤ãàë Tree- Successor. 13.2-4 à §¤¥«¥ 13.1 ¡ë« ¯®áâ஥ «£®à¨â¬, ¯¥ç â î騩 ¢á¥ ª«îç¨ ¢ ¥ã¡ë¢ î饬 ¯®à浪¥. ¥¯¥àì íâ® ¬®¦® ᤥ« âì ¨ ç¥: ©â¨ ¬¨¨¬ «ìë© í«¥¬¥â, ¯®â®¬ n ; 1 à § ¨áª âì á«¥¤ãî騩 í«¥¬¥â. ®ª ¦¨â¥, çâ® ¢à¥¬ï à ¡®âë â ª®£® «£®à¨â¬ ¥áâì O(n). 13.2-5 ®ª ¦¨â¥, çâ® k ¯®á«¥¤®¢ ⥫ìëå ¢ë§®¢®¢ TreeSuccessor ¢ë¯®«ïîâáï § O(k + h) è £®¢ (h | ¢ëá®â ¤¥à¥¢ ) ¥§ ¢¨á¨¬® ®â ⮣®, á ª ª®© ¢¥àè¨ë ¬ë ç¨ ¥¬. 13.2-6 ãáâì T | ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª , ¢á¥ ª«îç¨ ¢ ª®â®à®¬ à §«¨çë, x | ¥£® «¨áâ, y | த¨â¥«ì x. ®ª ¦¨â¥, çâ® key[y] ï¥âáï á®á¥¤¨¬ á key[x] ª«î箬 (á«¥¤ãî騬 ¨«¨ ¯à¥¤ë¤ã騬 ¢ á¬ëá«¥ ¯®à浪 ª«îç å). 13.3 ®¡ ¢«¥¨¥ ¨ 㤠«¥¨¥ í«¥¬¥â ⨠®¯¥à 樨 ¬¥ïîâ ¤¥à¥¢®, á®åà ïï ᢮©á⢮ 㯮à冷祮áâ¨. ª ¬ë 㢨¤¨¬, ¤®¡ ¢«¥¨¥ áà ¢¨â¥«ì® ¯à®áâ®; 㤠«¥¨¥ çãâì á«®¦¥¥. ®¡ ¢«¥¨¥ à®æ¥¤ãà Tree-Insert ¤®¡ ¢«ï¥â § ¤ ë© í«¥¬¥â ¢ ¯®¤å®¤ï饥 ¬¥áâ® ¤¥à¥¢ T (á®åà ïï ᢮©á⢮ 㯮à冷祮áâ¨). à ¬¥â஬ ¯à®æ¥¤ãàë ï¥âáï 㪠§ ⥫ì z ®¢ãî ¢¥àè¨ã, ¢ ª®â®àãî ¯®¬¥é¥ë § 票ï key[z] (¤®¡ ¢«ï¥¬®¥ § 票¥ ª«îç ), left[z ] = nil ¨ right[z ] = nil. 室¥ à ¡®âë ¯à®æ¥¤ãà ¬¥ï¥â ¤¥à¥¢® T ¨ (¢®§¬®¦®) ¥ª®â®àë¥ ¯®«ï ¢¥àè¨ë z, ¯®á«¥ 祣® ®¢ ï ¢¥àè¨ á ¤ ë¬ § 票¥¬ ª«îç ®ª §ë¢ ¥âáï ¢áâ ¢«¥®© ¢ ¯®¤å®¤ï饥 ¬¥áâ® ¤¥à¥¢ . ®¡ ¢«¥¨¥ ¨ 㤠«¥¨¥ í«¥¬¥â 249 ¨á㮪 13.3 ®¡ ¢«¥¨¥ í«¥¬¥â á ª«î箬 13. ¢¥â«®-á¥àë¥ ¢¥àè¨ë 室ïâáï ¯ã⨠®â ª®àï ¤® ¯®§¨æ¨¨ ®¢®£® í«¥¬¥â . ãªâ¨à á¢ï§ë¢ ¥â ®¢ë© í«¥¬¥â á® áâ à묨. Tree-Insert (T; z ) 1 y nil 2 3 4 5 6 7 8 9 10 11 12 13 x root[T ] while x 6= nil do y x if key[z ] < key[x] then x left[x] else x right[x] p[z] y if y = nil then root[T ] z else if key[z ] < key[y ] then left[y ] z else right[y ] z à¨á㪥 13.3 ¯®ª § ®, ª ª à ¡®â ¥â ¯à®æ¥¤ãà Tree-Insert. ®¤®¡® ¯à®æ¥¤ãà ¬ Tree-Search ¨ Iterative-Tree-Search, ® ¤¢¨£ ¥âáï ¢¨§ ¯® ¤¥à¥¢ã, ç ¢ á ¥£® ª®àï. ਠí⮬ ¢ ¢¥à訥 y á®åà ï¥âáï 㪠§ ⥫ì த¨â¥«ï ¢¥àè¨ë x (横« ¢ áâப å 3{ 7). à ¢¨¢ ï key[z ] á key[x], ¯à®æ¥¤ãà à¥è ¥â, ªã¤ ¨¤â¨ | «¥¢® ¨«¨ ¯à ¢®. à®æ¥áá § ¢¥àè ¥âáï, ª®£¤ x áâ ®¢¨âáï à ¢ë¬ nil. â®â nil á⮨⠪ ª à § â ¬, ªã¤ ¤® ¯®¬¥áâ¨âì z, çâ® ¨ ¤¥« ¥âáï ¢ áâப å 8{13. ª ¨ ®áâ «ìë¥ ®¯¥à 樨, ¤®¡ ¢«¥¨¥ âॡã¥â ¢à¥¬¥¨ O(h) ¤«ï ¤¥à¥¢ ¢ëá®âë h. ¤ «¥¨¥ à ¬¥â஬ ¯à®æ¥¤ãàë 㤠«¥¨ï ï¥âáï 㪠§ ⥫ì 㤠«ï¥¬ãî ¢¥àè¨ã. ਠ㤠«¥¨¨ ¢®§¬®¦ë âਠá«ãç ï, ¯®ª § ë¥ à¨á㪥 13.4. ᫨ ã z ¥â ¤¥â¥©, ¤«ï 㤠«¥¨ï z ¤®áâ â®ç® ¯®¬¥áâ¨âì nil ¢ ᮮ⢥âáâ¢ãî饥 ¯®«¥ ¥£® த¨â¥«ï (¢¬¥áâ® z). ᫨ ã z ¥áâì ®¤¨ ॡñ®ª, ¬®¦® "¢ë१ âì" z, ᮥ¤¨¨¢ ¥£® த¨â¥«ï 250 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¨á㮪 13.4 ¤ «¥¨¥ ¢¥àè¨ë z ¨§ ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª . ( ) ᫨ ¢¥àè¨ z ¥ ¨¬¥¥â ¤¥â¥©, ¥ñ ¬®¦® 㤠«¨âì ¡¥§ ¯à®¡«¥¬. (¡) ᫨ ¢¥àè¨ z ¨¬¥¥â ®¤®£® ॡñª , ¯®¬¥é ¥¬ ¥£® ¬¥áâ® ¢¥àè¨ë z . (¢) ᫨ ã ¢¥àè¨ë z ¤¢®¥ ¤¥â¥©, ¬ë ᢮¤¨¬ ¤¥«® ª ¯à¥¤ë¤ã饬ã á«ãç î, 㤠«ïï ¢¬¥áâ® ¥ñ ¢¥àè¨ã y á ¥¯®á।á⢥® á«¥¤ãî騬 § 票¥¬ ª«îç (ã í⮩ ¢¥àè¨ë ॡñ®ª ®¤¨) ¨ ¯®¬¥é ï ª«îç key[y] (¨ á¢ï§ ë¥ á ¨¬ ¤®¯®«¨â¥«ìë¥ ¤ ë¥) ¬¥áâ® ¢¥àè¨ë z . ¯àï¬ãî á ¥£® ॡñª®¬. ᫨ ¦¥ ¤¥â¥© ¤¢®¥, âॡãîâáï ¥ª®â®àë¥ ¯à¨£®â®¢«¥¨ï: ¬ë 室¨¬ á«¥¤ãî騩 (¢ á¬ëá«¥ ¯®à浪 ª«îç å) § z í«¥¬¥â y; ã ¥£® ¥â «¥¢®£® ॡñª (ã¯à. 13.3-4). ¥¯¥àì ¬®¦® ᪮¯¨à®¢ âì ª«îç ¨ ¤®¯®«¨â¥«ìë¥ ¤ ë¥ ¨§ ¢¥àè¨ë y ¢ ¢¥àè¨ã z, á ¬ã ¢¥àè¨ã y 㤠«¨âì ®¯¨á ë¬ ¢ëè¥ á¯®á®¡®¬. ਬ¥à® â ª ¨ ¤¥©áâ¢ã¥â ¯à®æ¥¤ãà Tree-Delete (å®âï à áᬠâਢ ¥â í⨠âਠá«ãç ï ¢ ¥áª®«ìª® ¤à㣮¬ ¯®à浪¥). ®¡ ¢«¥¨¥ ¨ 㤠«¥¨¥ í«¥¬¥â 251 Tree-Delete (T; z ) 1 if left[z ] = nil ¨«¨ right[z ] = nil 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 then y z else y Tree-Successor(z ) if left[y ] 6= nil then x left[y ] else x right[y ] if x 6= nil then p[x] p[y ] if p[y ] = nil then root[T ] x else if y = left[p[y ]] then left[p[y ]] x else right[p[y ]] x if y 6= z then key[z ] key[y ] . ª®¯¨à㥬 ¤®¯®«¨â¥«ìë¥ ¤ ë¥, á¢ï§ ë¥ á y return y áâப å 1{3 ®¯à¥¤¥«ï¥âáï ¢¥àè¨ y, ª®â®àãî ¬ë ¯®â®¬ ¢ë०¥¬ ¨§ ¤¥à¥¢ . â® «¨¡® á ¬ ¢¥àè¨ z (¥á«¨ ã z ¥ ¡®«¥¥ ®¤®£® ॡñª ), «¨¡® á«¥¤ãî騩 § z í«¥¬¥â (¥á«¨ ã z ¤¢®¥ ¤¥â¥©). ⥬ ¢ áâப å 4{6 ¯¥à¥¬¥ ï x áâ ®¢¨âáï 㪠§ ⥫¥¬ áãé¥áâ¢ãî饣® ॡñª ¢¥àè¨ë y, ¨«¨ à ¢®© nil, ¥á«¨ ã y ¥â ¤¥â¥©. ¥àè¨ y ¢ë१ ¥âáï ¨§ ¤¥à¥¢ ¢ áâப å 7{13 (¬¥ïîâáï 㪠§ ⥫¨ ¢ ¢¥àè¨ å p[y] ¨ x). ਠí⮬ ®â¤¥«ì® à áᬠâਢ îâáï £à ¨çë¥ á«ãç ¨, ª®£¤ x = nil ¨ ª®£¤ y ï¥âáï ª®à¥¬ ¤¥à¥¢ . ª®¥æ, ¢ áâப å 14{16, ¥á«¨ ¢ë१ ï ¢¥àè¨ y ®â«¨ç ®â z, ª«îç (¨ ¤®¯®«¨â¥«ìë¥ ¤ ë¥) ¢¥àè¨ë y ¯¥à¥¬¥é îâáï ¢ z (¢¥¤ì ¬ ¤® ¡ë«® 㤠«¨âì z, ¥ y). ª®¥æ, ¯à®æ¥¤ãà ¢®§¢à é ¥â 㪠§ ⥫ì y (íâ® ¯®§¢®«¨â ¢ë§ë¢ î饩 ¯à®æ¥¤ãॠ¢¯®á«¥¤á⢨¨ ®á¢®¡®¤¨âì ¯ ¬ïâì, § ïâãî ¢¥à訮© y). à¥¬ï ¢ë¯®«¥¨ï ¥áâì O(h) ¤¥à¥¢¥ ¢ëá®âë h. â ª, ¬ë ¤®ª § «¨ á«¥¤ãîéãî ⥮६ã. ¥®à¥¬ 13.2. ¯¥à 樨 Insert ¨ Delete ¬®£ãâ ¡ëâì ¢ë¯®«¥ë § ¢à¥¬ï O(h), £¤¥ h | ¢ëá®â ¤¥à¥¢ . ¯à ¦¥¨ï ¯¨è¨â¥ ४ãàá¨¢ë© ¢ ਠ⠯à®æ¥¤ãàë Tree-Insert. 13.3-2 ç¨ ï á ¯ãá⮣® ¤¥à¥¢ , ¡ã¤¥¬ ¤®¡ ¢«ïâì í«¥¬¥âë á à §«¨ç묨 ª«îç ¬¨ ®¤¨ § ¤à㣨¬. ᫨ ¯®á«¥ í⮣® ¬ë ¯à®¢®¤¨¬ ¯®¨áª í«¥¬¥â á ª«î箬 x, â® ç¨á«® áà ¢¥¨© ¥¤¨¨æã ¡®«ìè¥ ç¨á« áà ¢¥¨©, ¢ë¯®«¥ëå ¯à¨ ¤®¡ ¢«¥¨¨ í⮣® í«¥¬¥â . ®13.3-1 252 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª 祬ã? 13.3-3 ¡®à ¨§ n ç¨á¥« ¬®¦® ®âá®àâ¨à®¢ âì, á ç « ¤®¡ ¢¨¢ ¨å ®¤¨ § ¤à㣨¬ ¢ ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª (á ¯®¬®éìî ¯à®æ¥¤ãàë Tree-Insert), ¯®â®¬ ®¡®©â¨ ¤¥à¥¢® á ¯®¬®éìî ¯à®æ¥¤ãàë Inorder-Tree-Walk. ©¤¨â¥ ¢à¥¬ï à ¡®âë â ª®£® «£®à¨â¬ ¢ åã¤è¥¬ ¨ ¢ «ãç襬 á«ãç ¥. 13.3-4 ®ª ¦¨â¥, çâ®, ¥á«¨ ¢¥àè¨ ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª ¨¬¥¥â ¤¢®¨å ¤¥â¥©, â® á«¥¤ãîé ï § ¥© ¢¥àè¨ ¥ ¨¬¥¥â «¥¢®£® ॡñª , ¯à¥¤è¥áâ¢ãîé ï ¥© ¢¥àè¨ | ¯à ¢®£®. 13.3-5 ।¯®«®¦¨¬, ç⮠㪠§ â¥«ì ¢¥àè¨ã y åà ¨âáï ¢ ª ª®©-â® ¢¥è¥© áâàãªâãॠ¤ ëå ¨ çâ® ¯à¥¤è¥áâ¢ãîé ï y ¢¥àè¨ ¤¥à¥¢ 㤠«ï¥âáï á ¯®¬®éìî ¯à®æ¥¤ãàë Tree-Delete. ª¨¥ ¯à¨ í⮬ ¬®£ãâ ¢®§¨ªãâì ¯à®¡«¥¬ë? ª ¬®¦® ¨§¬¥¨âì Tree-Delete, ç⮡ë íâ¨å ¯à®¡«¥¬ ¨§¡¥¦ âì? 13.3-6 ®¬¬ãâ¨àãîâ «¨ ®¯¥à 樨 㤠«¥¨ï ¤¢ãå ¢¥àè¨? à㣨¬¨ á«®¢ ¬¨, ¯®«ã稬 «¨ ¬ë ®¤¨ ª®¢ë¥ ¤¥à¥¢ìï, ¥á«¨ ¢ ®¤®¬ á«ãç ¥ 㤠«¨¬ á ç « x, ¯®â®¬ y, ¢ ¤à㣮¬ | ®¡®à®â? ¡êïá¨â¥ ᢮© ®â¢¥â. 13.3-7 ᫨ ã z ¤¢®¥ ¤¥â¥©, ¬ë ¬®¦¥¬ ¨á¯®«ì§®¢ âì ¢ TreeDelete ¥ á«¥¤ãî騩 § z í«¥¬¥â, ¯à¥¤ë¤ã騩. ®¦® ¤¥ïâìáï, çâ® á¯à ¢¥¤«¨¢ë© ¯®¤å®¤, ª®â®àë© ¢ ¯®«®¢¨¥ á«ãç ¥¢ ¢ë¡¨à ¥â ¯à¥¤ë¤ã騩, ¢ ¯®«®¢¨¥ | á«¥¤ãî騩 í«¥¬¥â, ¡ã¤¥â ¯à¨¢®¤¨âì ª «ãçè¥ á¡ « á¨à®¢ ®¬ã ¤¥à¥¢ã. ª ¨§¬¥¨âì ⥪áâ ¯à®æ¥¤ãàë, ç⮡ë ॠ«¨§®¢ âì â ª®© ¯®¤å®¤? ? 13.4 «ãç ©ë¥ ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ª ¬ë ¢¨¤¥«¨, ®á®¢ë¥ ®¯¥à 樨 á ¤¢®¨ç묨 ¤¥à¥¢ìﬨ ¯®¨áª âॡãî⠢६¥¨ O(h), £¤¥ h | ¢ëá®â ¤¥à¥¢ . ®í⮬㠢 ¦® ¯®ïâì, ª ª®¢ ¢ëá®â "⨯¨ç®£®" ¤¥à¥¢ . «ï í⮣® ¥®¡å®¤¨¬® ¯à¨ïâì ª ª¨¥-â® áâ â¨áâ¨ç¥áª¨¥ ¯à¥¤¯®«®¦¥¨ï ® à á¯à¥¤¥«¥¨¨ ª«î祩 ¨ ¯®á«¥¤®¢ ⥫ì®á⨠¢ë¯®«ï¥¬ëå ®¯¥à 権. ᮦ «¥¨î, ¢ ®¡é¥¬ á«ãç ¥ á¨âã æ¨ï âà㤠¤«ï «¨§ , ¨ ¬ë ¡ã¤¥¬ à áᬠâਢ âì «¨èì ¤¥à¥¢ìï, ¯®«ãç¥ë¥ ¤®¡ ¢«¥¨¥¬ ¢¥àè¨ (¡¥§ 㤠«¥¨©). ¯à¥¤¥«¨¬ á«ãç ©®¥ ¤¢®¨ç®¥ ¤¥à¥¢® (randomly built search tree) ¨§ n à §«¨çëå ª«î祩 ª ª ¤¥à¥¢®, ¯®«ãç î饥áï ¨§ ¯ãá⮣® ¤¥à¥¢ ¤®¡ ¢«¥¨¥¬ íâ¨å ª«î祩 ¢ á«ãç ©®¬ ¯®à浪¥ (¢á¥ n! ¯¥à¥áâ ®¢®ª áç¨â ¥¬ à ¢®¢¥à®ïâ묨). ( ª ¢¨¤® ¨§ ã¯à. 13.4-2, íâ® ¥ ®§ ç ¥â, çâ® ¢á¥ ¤¢®¨çë¥ ¤¥à¥¢ìï à ¢®¢¥à®ïâë, ¯®áª®«ìªã à §ë¥ ¯®à浪¨ ¤®¡ ¢«¥¨ï ¬®£ã⠯ਢ®¤¨âì ª 13.4 «ãç ©ë¥ ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª 253 ®¤®¬ã ¨ ⮬㠦¥ ¤¥à¥¢ã.) í⮬ à §¤¥«¥ ¬ë ¤®ª ¦¥¬, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢ëá®âë á«ãç ©®£® ¤¥à¥¢ ¨§ n ª«î祩 ¥áâì O(lg n). ®á¬®âਬ, ª ª á¢ï§ áâàãªâãà ¤¥à¥¢ á ¯®à浪®¬ ¤®¡ ¢«¥¨ï ª«î祩. ¥¬¬ 13.3. ãáâì T | ¤¥à¥¢®, ¯®«ãç î饥áï ¯®á«¥ ¤®¡ ¢«¥¨ï n à §«¨çëå ª«î祩 k1; k2; : : :; kn (¢ 㪠§ ®¬ ¯®à浪¥) ª ¨§ ç «ì® ¯ãá⮬㠤¥à¥¢ã. ®£¤ ki ï¥âáï ¯à¥¤ª®¬ kj ¢ T ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ i < j , ¨ ¯à¨ í⮬ ki = minfkl : 1 6 l 6 i ¨ kl > kj g (ª«îç ki ¡®«ìè¥ kj ¨ ¨å ¥ à §¤¥«ï¥â ¨ ®¤¨ ª«îç á।¨ k1; : : :; ki) ¨«¨ ki = maxfkl : 1 6 l 6 i ¨ kl < kj g (ª«îç ki ¬¥ìè¥ kj ¨ ¨å ¥ à §¤¥«ï¥â ¨ ®¤¨ ª«îç á।¨ k1; : : : ; ki) ®ª § ⥫ìá⢮. ): ।¯®«®¦¨¬, çâ® ki ï¥âáï ¯à¥¤ª®¬ kj . 祢¨¤®, i < j (¯®â®¬®ª ¯®ï¢«ï¥âáï ¢ ¤¥à¥¢¥ ¯®§¦¥ ¯à¥¤ª ). áᬮâਬ ¤¥à¥¢® Ti, ª®â®à®¥ ¯®«ãç ¥âáï ¯®á«¥ ¤®¡ ¢«¥¨ï ª«î祩 k1; k2; : : :; ki. ãâì ¢ Ti ®â ª®àï ¤® ki â®â ¦¥, çâ® ¨ ¯ãâì ¢ T ®â ª®àï ¤® ki. ª¨¬ ®¡à §®¬, ¥á«¨ ¡ë ª«îç kj ¡ë« ¤®¡ ¢«¥ ¢ Ti, ® áâ « ¡ë ¯à ¢ë¬ ¨«¨ «¥¢ë¬ ॡñª®¬ ki. «¥¤®¢ â¥«ì® (á¬. ã¯à. 13.2-6), ki ï¥âáï «¨¡® ¨¬¥ì訬 á।¨ â¥å ª«î祩 ¨§ k1; k2; : : :; ki, ª®â®àë¥ ¡®«ìè¥ kj , «¨¡® ¨¡®«ì訬 á।¨ ª«î祩 ¨§ ⮣® ¦¥ ¡®à , ¬¥ìè¨å kj . (: ।¯®«®¦¨¬, çâ® ki ï¥âáï ¨¬¥ì訬 á।¨ â¥å ª«î祩 k1; k2; : : :; ki, ª®â®àë¥ ¡®«ìè¥ kj . (à㣮© á«ãç © ᨬ¬¥âà¨ç¥.) â® ¡ã¤¥â ¯à®¨á室¨âì ¯à¨ ¯®¬¥é¥¨¨ ª«îç kj ¢ ¤¥à¥¢®? à ¢¥¨¥ kj á ª«îç ¬¨ ¯ã⨠®â ª®àï ª ki ¤ áâ ⥠¦¥ १ã«ìâ âë, çâ® ¨ ¤«ï ki. «¥¤®¢ ⥫ì®, ¬ë ¯à®©¤ñ¬ ¯ãâì ®â ª®àï ¤® ki, â ª çâ® kj á⠥⠯®â®¬ª®¬ ki. ¥¬¬ ¤®ª § . ¥¯¥àì ¬®¦® ¯®ïâì, ª ª § ¢¨á¨â £«ã¡¨ ª ¦¤®£® ª«îç ®â ¯¥à¥áâ ®¢ª¨ ¢å®¤¥. «¥¤á⢨¥ 13.4. ãáâì T | ¤¥à¥¢®, ¯®«ã祮¥ ¨§ ¯ãá⮣® ¤®¡ ¢«¥¨¥¬ n à §«¨çëå ª«î祩 k1; k2; : : :; kn (¢ 㪠§ ®¬ ¯®à浪¥). «ï ª ¦¤®£® ª«îç kj (¯à¨ ¢á¥å 1 6 j 6 n) à áᬮâਬ ¬®¦¥á⢠Gj = fki : 1 6 i < j ¨ kl > ki > kj ¯à¨ ¢á¥å l < i, ¤«ï ª®â®àëå kl > kj g ¨ Lj = fki : 1 6 i < j ¨ kl < ki < kj ¯à¨ ¢á¥å l < i, ¤«ï ª®â®àëå kl < kj g: 254 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ®£¤ ª«îç¨ ¯ã⨠¨§ ª®àï ¢ kj | ¢ â®ç®á⨠Gj [ Lj , £«ã¡¨ kj ¢ ¤¥à¥¢¥ T à ¢ d(kj ; T ) = jGj j + jLj j: à¨á㪥 13.5 ¨§®¡à ¦¥ë ¬®¦¥á⢠Gj ¨ Lj . å ¯®áâ஥¨¥ ¬®¦® ®¡êïá¨âì â ª. ç¨â ï ¤«ï £«ï¤®á⨠ª«îç¨ ç¨á« ¬¨, ¡ã¤¥¬ ®â¬¥ç âì ¨å ç¨á«®¢®© ®á¨: á ç « k1, ¯®â®¬ k2 ¨ â ª ¤ «¥¥ ¢¯«®âì ¤® kj . ª ¦¤ë© ¬®¬¥â ®á¨ ®â¬¥ç¥® ¥áª®«ìª® â®ç¥ª k1; : : :; kt (£¤¥ 1 6 t 6 j ; 1). ®á¬®âਬ, ª ª ï ¨§ íâ¨å â®ç¥ª ¡ã¤¥â ¡«¨¦ ©è¥© á¯à ¢ ª ¡ã¤ã饬㠯®«®¦¥¨î ª«îç kj . ®¦¥á⢮ ¢á¥å â ª¨å ¡«¨¦ ©è¨å â®ç¥ª (¤«ï ¢á¥å ¬®¬¥â®¢ ¢à¥¬¥¨ t = 1; 2; : : : ; j ; 1) ¨ ¥áâì Gj . «¨¦ ©è¨¥ á«¥¢ â®çª¨ ®¡à §ãîâ ¬®¦¥á⢮ Lj . è 楫ì | ®æ¥¨âì ᢥàåã ª®«¨ç¥á⢮ í«¥¬¥â®¢ ¢ Gj ¨ Lj , ¯®áª®«ìªã á㬬 íâ¨å ª®«¨ç¥áâ¢ à ¢ £«ã¡¨¥ ª«îç kj . ¨ªá¨à㥬 ¥ª®â®à®¥ j . ¨á«® í«¥¬¥â®¢ ¢ Gj ¡ã¤¥â á«ãç ©®© ¢¥«¨ç¨®©, § ¢¨áï饩 ®â ¯®à浪 ª«î祩 ¢å®¤¥ (¨¬¥¥â § 票¥ «¨èì ¯®à冷ª ª«îç å k1; : : :; kj ). ë å®â¨¬ ®æ¥¨âì íâ® ç¨á«® ᢥàåã (¤®ª § âì, çâ® ¢¥à®ïâ®áâì ᮡëâ¨ï "íâ® ç¨á«® ¢¥«¨ª®" ¬ « ). «¥¤ãî騩 ä ªâ ¨§ ⥮ਨ ¢¥à®ïâ®á⥩ ¨£à ¥â æ¥âà «ìãî à®«ì ¯à¨ í⮩ ®æ¥ª¥. ¥¬¬ 13.5. ãáâì k1; k2; : : :; kn ¥áâì á«ãç © ï ¯¥à¥áâ ®¢ª n à §«¨çëå ç¨á¥«. «ï ª ¦¤®£® i ®â 1 ¤® n à áᬮâਬ ¬¨¨¬ «ìë© í«¥¬¥â ¢ ¬®¦¥á⢥ fk1; k2; : : :; kig. ®¦¥á⢮ ¢á¥å â ª¨å í«¥¬¥â®¢ §®¢ñ¬ S : S = fki : 1 6 i 6 n ¨ kl > ki ¤«ï ¢á¥å l < ig: (13.1) ®£¤ PfjS j > ( + 1)Hng 6 1=n2, £¤¥ Hn | n-ï ç áâ¨ç ï á㬬 £ ମ¨ç¥áª®£® àï¤ , 4;32 | ª®à¥ì ãà ¢¥¨ï (ln ;1) = 2. ®ª § ⥫ìá⢮. 㤥¬ á«¥¤¨âì § ⥬, ª ª ¬¥ï¥âáï ¬®¦¥á⢮ fk1; : : :; kig á à®á⮬ i. i-¬ è £¥ ª ¥¬ã ¤®¡ ¢«ï¥âáï í«¥¬¥â ki, ¯à¨çñ¬ ® á à ¢ë¬¨ ¢¥à®ïâ®áâﬨ ¬®¦¥â ®ª § âìáï ¯¥à¢ë¬, ¢â®àë¬,: : : , i-¬ ¯® ¢¥«¨ç¨¥ (ª ¦¤®© ¨§ íâ¨å ¢®§¬®¦®á⥩ ᮮ⢥âáâ¢ã¥â à ¢ ï ¤®«ï ¢å®¤ëå ¯¥à¥áâ ®¢®ª). ª¨¬ ®¡à §®¬, ¢¥à®ïâ®áâì 㢥«¨ç¥¨ï ¬®¦¥á⢠S i-¬ è £¥ à ¢ 1=i ¯à¨ «î¡®¬ ¯®à浪¥ á।¨ ª«î祩 k1; : : :; ki;1, â ª çâ® ¤«ï à §ëå i í⨠ᮡëâ¨ï ¥§ ¢¨á¨¬ë. ë ¯à¨å®¤¨¬ ª á¨âã 樨, ®¯¨á ®© ¢ ⥮६¥ 6.6: ¨¬¥¥âáï ¯®á«¥¤®¢ ⥫ì®áâì ¥§ ¢¨á¨¬ëå ¨á¯ëâ ¨©, ¢¥à®ïâ®áâì ãá¯¥å ¢ i¬ ¨á¯ëâ ¨¨ à ¢ 1=i. ¬ ¤® ®æ¥¨âì ç¨á«® ãᯥ客. ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ í⮣® ç¨á« à ¢® 1+1=2+ : : : +1=i = Hi = ln i + O(1), á¬. ä®à¬ã«ã (3.5) ¨ § ¤ çã 6-2. ¬ ¤® ®æ¥¨âì ¢¥à®ïâ®áâì ⮣®, çâ® ç¨á«® ãᯥ客 ¡®«ìè¥ á¢®¥£® ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï ¢ + 1 à §. 13.4 «ãç ©ë¥ ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª 255 â® ¤¥« ¥âáï á ¯®¬®éìî ⥮६ë 6.6. ¯®¬¨¬, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ jS j ¥áâì = Hn > ln n, ¨ ¯® ⥮६¥ 6.6 ¬ë ¨¬¥¥¬ PfjS j > ( + 1)Hn g = P fjS j ; > Hn g 6 eHn Hn = 6 H n (1 ; ln = e )Hn 6 6 e;(ln ;1) ln n = = n;(ln ;1) = = 1=n2 ᮣ« á® ®¯à¥¤¥«¥¨î ç¨á« . ®á«¥ â ª®© ¯®¤£®â®¢ª¨ ¢¥àñ¬áï ª ¤¥à¥¢ìï¬ ¯®¨áª . ¥®à¥¬ 13.6. ।ïï ¢ëá®â á«ãç ©®£® ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª , ¯®áâ஥®£® ¯® n à §«¨çë¬ ª«îç ¬, ¥áâì O(lg n). ®ª § ⥫ìá⢮. ãáâì k1; k2; : : :; kn | á«ãç © ï ¯¥à¥áâ ®¢ª ¤ ëå n ª«î祩, T | ¤¥à¥¢®, ¯®«ã祮¥ ¯®á«¥¤®¢ ⥫ìë¬ ¤®¡ ¢«¥¨¥¬ íâ¨å ª«î祩 ª ¯ãá⮬ã. «ï 䨪á¨à®¢ ®£® ®¬¥à j ¨ ¤«ï ¯à®¨§¢®«ì®£® ç¨á« t à áᬮâਬ ¢¥à®ïâ®áâì ⮣®, çâ® £«ã¡¨ d(kj ; T ) ª«îç kj ¥ ¬¥ìè¥ t. ®£« á® á«¥¤á⢨î 13.4, ¢ í⮬ á«ãç ¥ å®âï ¡ë ®¤® ¨§ ¬®¦¥á⢠Gj ¨ Lj ¤®«¦® ¨¬¥âì à §¬¥à ¥ ¬¥¥¥ t=2. ª¨¬ ®¡à §®¬, Pfd(kj ; T ) > tg 6 PfjGj j > t=2g + PfjLj j > t=2g: (13.2) ç «¥ à áᬮâਬ PfjGj j > t=2g. 楨¬ ãá«®¢ãî ¢¥à®ïâ®áâì í⮣® ᮡëâ¨ï ¯à¨ 䨪á¨à®¢ ®¬ ¬®¦¥á⢥ U = ft : 1 6 t 6 j ; 1 ¨ kt > kj g (â® ¥áâì ª®£¤ ¨§¢¥áâ®, ª ª¨¥ ¨§ í«¥¬¥â®¢ k1 ; : : :; kj ;1 ¡®«ìè¥ kj ). ë 室¨¬áï ¢ á¨âã 樨 «¥¬¬ë 13.5 (¢á¥ ¯¥à¥áâ ®¢ª¨ í«¥¬¥â®¢ á ¨¤¥ªá ¬¨ ¨§ U à ¢®¢¥à®ïâë), ¨ ¯®í⮬ã ãá«®¢ ï ¢¥à®ïâ®áâì ᮡëâ¨ï jGj j > t=2 ¯à¨ ¤ ®¬ U à ¢ ¢¥à®ïâ®á⨠⮣®, çâ® ¢ á«ãç ©®© ¯¥à¥áâ ®¢ª¥ ¨§ u = jU j í«¥¬¥â®¢ ¥áâì ¯® ªà ©¥© ¬¥à¥ t=2 í«¥¬¥â®¢, ¬¥ìè¨å ¢á¥å ¯à¥¤ë¤ãé¨å. à®á⮬ u íâ ¢¥à®ïâ®áâì ⮫쪮 à áâñâ, â ª çâ® ¢á¥ ãá«®¢ë¥ ¢¥à®ïâ®á⨠¥ ¯à¥¢®á室ïâ PfjS j > t=2g, £¤¥ S ®¯à¥¤¥«¥® ª ª ¢ «¥¬¬¥ 13.5. ®í⮬㠨 ¯®« ï ¢¥à®ïâ®áâì ᮡëâ¨ï fjGj j > t=2g ¥ ¯à¥¢®á室¨â PfjS j > t=2g. «®£¨çë¬ ®¡à §®¬ PfjLj j > t=2g 6 PfjS j > t=2g ¨, ᮣ« á® ¥à ¢¥áâ¢ã (13.2), Pfd(kj ; T ) > tg 6 2PfjS j > t=2g: 256 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª §ï¢ ⥯¥àì t = 2( + 1)Hn, £¤¥ Hn = 1 + 1=2 + : : : + 1=n ( 4;32 | ª®à¥ì ãà ¢¥¨ï (ln ; 1) = 2) ¨ ¯à¨¬¥¨¢ «¥¬¬ã 13.5, ¬ë § ª«îç ¥¬, çâ® Pfd(kj ; T ) > 2( + 1)Hn g 6 2PfjS j > ( + 1)Hn g 6 2=n2 : ᥣ® ¢¥àè¨ ¢ ¤¥à¥¢¥ ¥ ¡®«¥¥ n, ¯®í⮬㠢¥à®ïâ®áâì ⮣®, çâ® ª ª ï-â® ¢¥àè¨ ¡ã¤¥â ¨¬¥âì £«ã¡¨ã 2( + 1)Hn ¨«¨ ¡®«ìè¥, ¥ ¡®«¥¥ 祬 ¢ n à § ¯à¥¢®á室¨â â ªãî ¦¥ ¢¥à®ïâ®áâì ¤«ï ®¤®© ¢¥àè¨ë, ¨ ¯®â®¬ã ¥ ¯à¥¢®á室¨â 2=n. â ª, á ¢¥à®ïâ®áâìî ¯® ¬¥ì襩 ¬¥à¥ 1 ; 2=n ¢ëá®â á«ãç ©®£® ¤¥à¥¢ ¥ ¯à¥¢®á室¨â 2( + 1)Hn , ¨ ¢ «î¡®¬ á«ãç ¥ ® ¥ ¡®«ìè¥ n. ª¨¬ ®¡à §®¬, ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¥ ¯à¥¢®á室¨â (2( + 1)Hn)(1 ; 2=n) + n(2=n) = O(lg n). ¯à ¦¥¨ï ਢ¥¤¨â¥ ¯à¨¬¥à ¤¥à¥¢ ¯®¨áª , ¢ ª®â®à®¬ á।ïï (¯® ¢á¥¬ ¢¥àè¨ ¬) £«ã¡¨ ¢¥àè¨ë ¥áâì (lg n), ® ¢ëá®â ¤¥à¥¢ ¥áâì !(lg n). ᪮«ìª® ¢¥«¨ª ¬®¦¥â ¡ëâì ¢ëá®â ¤¥à¥¢ , ¥á«¨ á।ïï £«ã¡¨ ¢¥àè¨ë ¥áâì (lg n)? 13.4-2 ®ª ¦¨â¥, çâ® ¯à¨ 襬 ¯®¨¬ ¨¨ á«ãç ©®£® ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª ¥ ¢á¥ 㯮à冷ç¥ë¥ ¤¥à¥¢ìï á ¤ 묨 n ª«îç ¬¨ à ¢®¢¥à®ïâë. (ª § ¨¥: áᬮâà¨â¥ á«ãç © n = 3.) 13.4-3? «ï ¤ ®© ª®áâ âë r > 1 㪠¦¨â¥ ª®áâ âã t, ¤«ï ª®â®à®© ¢¥à®ïâ®áâì ᮡëâ¨ï "¢ëá®â á«ãç ©®£® ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª ¥ ¬¥ìè¥ tHn " ¬¥ìè¥ 1=nr . 13.4-4? áᬮâਬ «£®à¨â¬ Randomized-Quicksort, ¯à¨¬¥ñë© ª ¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ç¨á¥«. ®ª ¦¨â¥, çâ® ¤«ï «î¡®© ª®áâ âë k > 0 áãé¥áâ¢ã¥â â ª ï ª®áâ â c, çâ® á ¢¥à®ïâ®áâìî ¥ ¬¥¥¥ 1 ; c=nk «£®à¨â¬ § ¢¥àè ¥â à ¡®âã § ¢à¥¬ï cn lg n. 13.4-1 ¤ ç¨ 13-1 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¨ à ¢ë¥ ª«îç¨ ¢ë¥ ª«îç¨ | ¨áâ®ç¨ª ¯à®¡«¥¬ ¯à¨ à ¡®â¥ á ¤¥à¥¢ìﬨ ¯®¨áª . ª®¢ ᨬ¯â®â¨ª ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãàë Tree-Insert ¯à¨ ¤®¡ ¢«¥¨¨ n ®¤¨ ª®¢ëå ª«î祩 ¢ ¨§ ç «ì® ¯ãá⮥ ¤¥à¥¢®? à¨ç¨ âãâ ¢ ⮬, çâ® ¯à¨ ¢ë¡®à¥ ¢ áâப å 5{7 ¨ 11{13 ¬ë ¢ á«ãç ¥ à ¢¥á⢠¢á¥£¤ ¤¢¨£ ¥¬áï ¯à ¢® ¯® ¤¥à¥¢ã. 㤥¬ à áᬠ- ¤ ç¨ ª £« ¢¥ 13 257 âਢ âì á«ãç © à ¢¥á⢠®â¤¥«ì®. 楨⥠ᨬ¯â®â¨ªã ¢à¥¬¥¨ ¤®¡ ¢«¥¨ï n à ¢ëå ª«î祩 ¢ ¯ãá⮥ ¤¥à¥¢® ¯à¨ ¨á¯®«ì§®¢ ¨¨ âàñå à §«¨çëå ¯®¤å®¤®¢: ¡ à ¨¬ ¢ ¢¥à訥 x ä« £ b[x], ¨ ¢ë¡¨à ¥¬ «¥¢®£® ¨«¨ ¯à ¢®£® ॡñª ¢ § ¢¨á¨¬®á⨠®â § 票ï b[x]. ਠí⮬ ä« £ ¬¥ï¥âáï ¯à¨ ª ¦¤®¬ ¯®á¥é¥¨¨ ¢¥àè¨ë, â ª çâ® ¯à ¢«¥¨ï ç¥à¥¤ãîâáï. ¢ à ¨¬ í«¥¬¥âë á à ¢ë¬¨ ª«îç ¬¨ ¢ ®¤®© ¢¥à訥 (á ¯®¬®éìî ᯨ᪠) ¨ ¤®¡ ¢«ï¥¬ í«¥¬¥â á 㦥 ¢áâà¥ç ¢è¨¬áï ª«î箬 ¢ íâ®â ᯨ᮪. £ ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¢ë¡¨à ¥¬ á«ãç ©®. ( ª®¢® ¡ã¤¥â ¢à¥¬ï ¢ åã¤è¥¬ á«ãç ¥? â® ¢ë ¬®¦¥â¥ ᪠§ âì ® ¬ ⥬ â¨ç¥áª®¬ ®¦¨¤ ¨¨?) 13-2 ¨äà®¢ë¥ ¤¥à¥¢ìï áᬮâਬ ¤¢¥ áâப¨ a = a0a1 : : :ap ¨ b = b0b1 : : :bq , á®áâ ¢«¥ë¥ ¨§ ᨬ¢®«®¢ ¥ª®â®à®£® (㯮à冷祮£®) «ä ¢¨â . ®¢®àïâ, çâ® áâப a «¥ªá¨ª®£à ä¨ç¥áª¨ ¬¥ìè¥ áâப¨ b (a is lexicographically less than b), ¥á«¨ ¢ë¯®«ï¥âáï ®¤® ¨§ ¤¢ãå ãá«®¢¨©: 1. ãé¥áâ¢ã¥â ç¨á«® j ¨§ 0:: min(p; q ), ¯à¨ ª®â®à®¬ ai = bi ¤«ï ¢á¥å i = 0; 1; : : :; j ; 1 ¨ aj < bj . 2. p < q ¨ ai = bi ¤«ï ¢á¥å i = 0; 1; : : :; p. ¯à¨¬¥à, 10100 < 10110 ᮣ« á® ¯à ¢¨«ã 1 (¯à¨ j = 3), 10100 < 101000 ᮣ« á® ¯à ¢¨«ã 2. ª®© ¯®à冷ª ¯à¨¬¥ï¥âáï ¢ á«®¢ àïå. â஥¨¥ æ¨ä஢®£® ¤¥à¥¢ (radix tree) ¢¨¤® ¨§ ¯à¨¬¥à à¨á. 13.6, £¤¥ ¯®ª § ® ¤¥à¥¢®, åà ï饥 ¡¨â®¢ë¥ áâப¨ 1011, 10, 011, 100 ¨ 0. ਠ¯®¨áª¥ áâப¨ a = a0 a1 : : :ap ¬ë i-¬ è £¥ ¨¤ñ¬ «¥¢® ¯à¨ ai = 0 ¨ ¯à ¢® ¯à¨ ai = 1. ãáâì í«¥¬¥â ¬¨ ¬®¦¥á⢠S ïîâáï ¯®¯ à® à §«¨çë¥ ¡¨â®¢ë¥ áâப¨ á㬬 ன ¤«¨ë n. ®ª ¦¨â¥, ª ª á ¯®¬®éìî æ¨ä஢®£® ¤¥à¥¢ ®âá®àâ¨à®¢ âì S ¢ «¥ªá¨ª®£à ä¨ç¥áª®¬ ¯®à浪¥ § (n) ¤¥©á⢨©. ( ¯à¨¬¥à, ¤«ï ¬®¦¥á⢠à¨á. 13.6 १ã«ìâ ⮬ á®àâ¨à®¢ª¨ ¡ã¤¥â ¯®á«¥¤®¢ ⥫ì®áâì 0; 011; 10; 100; 1011.) 13-3 ।ïï £«ã¡¨ ¢¥àè¨ë ¢ á«ãç ©®¬ ¤¢®¨ç®¬ ¤¥à¥¢¥ í⮩ § ¤ ç¥ ¬ë ¤®ª ¦¥¬, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ á।¥© £«ã¡¨ë ¢¥àè¨ë ¢ á«ãç ©®¬ ¤¢®¨ç®¬ ¤¥à¥¢¥ á n ¢¥àè¨ ¬¨ ¥áâì O(lg n). ®âï íâ®â १ã«ìâ â á« ¡¥¥, 祬 १ã«ìâ â ⥮६ë 13.6, ¤®ª § ⥫ìá⢮ ãáâ ¢«¨¢ ¥â ¨â¥à¥áë¥ «®£¨¨ ¬¥¦¤ã ¤¢®¨ç묨 ¤¥à¥¢ìﬨ ¯®¨áª ¨ ¯à®æ¥¤ãன RandomizedQuicksort ¨§ à §¤¥« 8.3. áᬮâਬ (áà. £« ¢ã 5, ã¯à. 5.5-6) á㬬㠣«ã¡¨ d(x; T ) ¢á¥å ¢¥àè¨ x ¤¥à¥¢ T , ª®â®àãî ¬ë ¡ã¤¥¬ ®¡®§ ç âì P (T ). 258 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ।ïï £«ã¡¨ ¢¥àè¨ë ¢ ¤¥à¥¢¥ T ¥áâì 1 X d(x; T ) = 1 P (T ): n x 2T n ª¨¬ ®¡à §®¬, ¤® ¯®ª § âì, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ P (T ) ¥áâì O(n lg n). ¡ ¡®§ 稬 ç¥à¥§ TL ¨ TR «¥¢®¥ ¨ ¯à ¢®¥ ¯®¤¤¥à¥¢ìï ¤¥à¥¢ T . ¡¥¤¨â¥áì, çâ® ¥á«¨ T ᮤ¥à¦¨â n ¢¥àè¨, â® P (T ) = P (TL) + P (TR) + n ; 1: ¢ ¡®§ 稬 ç¥à¥§ P (n) ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ¢ãâ॥© áã¬¬ë ¤«¨ ¤«ï á«ãç ©®£® ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª á n ¢¥àè¨ ¬¨. ®ª ¦¨â¥, çâ® nX ;1 1 P (n) = n (P (i) + P (n ; i ; 1) + n ; 1): £ ®ª ¦¨â¥, çâ® i=0 nX ;1 2 P (n) = n P (k) + (n): k=1 ¤ ᯮ¬¨ ï à áá㦤¥¨¥ ¨§ à §¤¥« 8.4.2 (®æ¥ª ¬ ⥬ â¨ç¥áª®£® ®¦¨¤ ¨ï ¢à¥¬¥¨ ¡ëáâன á®àâ¨à®¢ª¨), ¯®ª ¦¨â¥, çâ® P (n) = O(n lg n). ª ¦¤®¬ ४ãàᨢ®¬ ¢ë§®¢¥ ¡ëáâன á®àâ¨à®¢ª¨ ¬ë á«ãç ©ë¬ ®¡à §®¬ ¢ë¡¨à ¥¬ £à ¨çë© í«¥¬¥â. ®¤®¡® í⮬ã, ª ¦¤ ï ¢¥àè¨ ¤¥à¥¢ ¯®¨áª ï¥âáï £à ¨æ¥© ¬¥¦¤ã «¥¢ë¬ ¨ ¯à ¢ë¬ ᢮¨¬ ¯®¤¤¥à¥¢®¬. ¥ ¯¨è¨â¥ ॠ«¨§ æ¨î «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨, ¯à¨ ª®â®à®¬ ¢ ¯à®æ¥áᥠá®àâ¨à®¢ª¨ í«¥¬¥â®¢ k1; : : :; kn ¢ë¯®«ïîâáï ¢ â®ç®á⨠⥠¦¥ áà ¢¥¨ï, çâ® ¨ ¯à¨ ¤®¡ ¢«¥¨¨ ¨å ¢ (¨§ ç «ì® ¯ãá⮥) ¤¥à¥¢®. (®à冷ª áà ¢¥¨© ¬®¦¥â ¡ëâì ¤à㣨¬.) 13-4 ®«¨ç¥á⢮ à §ëå ¤¢®¨çëå ¤¥à¥¢ì¥¢ ¡®§ 稬 ç¥à¥§ bn ª®«¨ç¥á⢮ à §«¨çëå ¤¢®¨çëå ¤¥à¥¢ì¥¢ á n ¢¥àè¨ ¬¨. í⮩ § ¤ ç¥ âॡã¥âáï ¢ë¢¥á⨠ä®à¬ã«ã ¤«ï bn ¨ ®æ¥¨âì ᪮à®áâì à®áâ ç¨á« bn. ®ª ¦¨â¥, çâ® b0 = 1 ¨ çâ® bn = ¯à¨ n > 1. nX ;1 k=0 bk bn;1;k ¬¥ç ¨ï ª £« ¢¥ 13 259 ¡ ãáâì B (x) | ¯à®¨§¢®¤ïé ï äãªæ¨ï B(x) = 1 X n=0 bn xn (®¯à¥¤¥«¥¨¥ ¯à®¨§¢®¤ïé¨å äãªæ¨© ¤ ® ¢ § ¤ ç¥ 4-6). ®ª ¦¨â¥, çâ® B(x) = xB(x)2 + 1 ¨, â ª¨¬ ®¡à §®¬, p B(x) = 21x (1 ; 1 ; 4x): ï¤ ¥©«®à (Taylor expansion) äãªæ¨¨ f (x) ¢ â®çª¥ x = a ®¯à¥¤¥- «ï¥âáï ä®à¬ã«®© f (x) = 1 X f (k) (a) (x ; a)k k=0 k! £¤¥ f (k)(a) | k-ï ¯à®¨§¢®¤ ï f ¢ â®çª¥ a. ¢ ®ª ¦¨â¥, çâ® bn = n +1 1 C2nn p à §«®¦¨¢ ¢ àï¤ ¥©«®à äãªæ¨î 1 ; 4x ¢ â®çª¥ 0. (ï¤ ¤«ï p 1 + h = (1 + h)1=2 ¬®¦® ¯®«ãç¨âì â ª¦¥ ª ª ®¡®¡é¥¨¥ ¡¨®¬ ìîâ® , ¥á«¨ ¤«ï ¥æ¥«ëå n ¨ 楫ëå ¥®âà¨æ ⥫ìëå k ¯®«®¦¨âì Cnk = n(n ; 1) : : : (n ; k + 1)=k!.) ¨á«® bn §ë¢ ¥âáï n-¬ ç¨á«®¬ â « (Catalan number). £ ®ª ¦¨â¥, çâ® 4n (1 + O(1=n)): bn = pn 3 =2 ¬¥ç ¨ï ®¤à®¡®¥ ®¡á㦤¥¨¥ ¤¢®¨çëå ¤¥à¥¢ì¥¢ ¯®¨áª ¨ ¬®£¨å «®£¨çëå áâàãªâãà ¤ ëå ¬®¦® ©â¨ ã ãâ [123]. ¨¤¨¬®, ¤¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ¡ë«¨ ¥§ ¢¨á¨¬® ¯à¨¤ã¬ ë ¬®£¨¬¨ «î¤ì¬¨ ¥§ ¤®«£® ¤® 1960 £®¤ . 260 « ¢ 13 ¢®¨çë¥ ¤¥à¥¢ìï ¯®¨áª ª«îç¨ 21 9 4 25 7 12 3 10 19 29 17 6 26 18 G0j 21 25 19 29 21 19 Gj L0j 9 4 7 12 3 10 9 12 Lj (¡) ¨á㮪 13.5 ®¦¥á⢠Gj ¨ Lj , á®áâ ¢«ïî騥 ¬®¦¥á⢮ ª«î祩 ¯ã⨠ª ª«îçã kj = 17. ( ) ¥àë¥ ¢¥àè¨ë ᮤ¥à¦ â ª«îç¨ ¨§ Gj , ¡¥«ë¥ ¨§ Lj , ®áâ «ìë¥ ¢¥àè¨ë | á¥àë¥. 뤥«¥ ¯ãâì ª ª«îçã kj . «îç¨ «¥¢¥¥ ¯ãªâ¨à®© «¨¨¨ ¬¥ìè¥ kj , ª«îç¨ ¯à ¢¥¥ | ¡®«ìè¥. (¡) ®¦¥á⢮ G0j = f21; 25; 19; 29g á®á⮨⠨§ ª«î祩, ¤®¡ ¢«¥ëå à ìè¥ ª«îç 17 ¨ ¡®«ìè¨å 17. ®¦¥á⢮ Gj = f21; 19g ᮤ¥à¦¨â ª«îç¨, ¡ë¢è¨¥ ¡«¨¦ ©è¨¬¨ á¯à ¢ ª ª«îçã 17, â® ¥áâì 0j . «îç 21 ¡ë« ¤®¡ ¢«¥ ¡ë¢è¨¥ ¬¨¨¬ «ì묨 ¢ 㦥 ¯®ï¢¨¢è¥©áï ç á⨠G ¯¥à¢ë¬ ª G0j ¨ ¯®¯ « ¢ Gj ; ª«îç 25 ¥ ¯®¯ « (® ¡®«ìè¥ â¥ªã饣® ¬¨¨¬ã¬ , à ¢®£® 21). «îç 19 ¯®¯ ¤ ¥â ¢ Gj , ¯®â®¬ã çâ® ® ¬¥ìè¥ 21, 29 | ¥â, â ª ª ª 29 > 19. ®¦¥á⢠L0j ¨ Lj áâà®ïâáï «®£¨çë¬ ®¡à §®¬. ¬¥ç ¨ï ª £« ¢¥ 13 261 ¨á㮪 13.6 ¨ä஢®¥ ¤¥à¥¢® åà ¨â áâப¨ 1011, 10, 011, 100 ¨ 0. ¦¤®© ¢¥à訥 ᮮ⢥âáâ¢ã¥â ª«îç | áâப , ª®â®àãî ¬®¦® ¯à®ç¥áâì, ¨¤ï ¨§ ª®àï ¢ íâã ¢¥àè¨ã, ¯®í⮬ã í⨠ª«îç¨ ¥ ¤® åà ¨âì á¯¥æ¨ «ì® ( à¨á㪥 ®¨ ¯®ª § ë ¤«ï £«ï¤®áâ¨). ñ¬ë¥ ¢¥àè¨ë ¥ ᮮ⢥âáâ¢ãîâ ª«îç ¬, ïîâáï ¯à®¬¥¦ãâ®ç묨 ¤«ï ¤àã£¨å ¢¥àè¨. 14 à á®-çñàë¥ ¤¥à¥¢ìï £« ¢¥ 13 ¬ë ¯®ª § «¨, çâ® ®á®¢ë¥ ®¯¥à 樨 á ¤¢®¨çë¬ ¤¥à¥¢®¬ ¯®¨áª ¢ëá®âë h ¬®£ãâ ¡ëâì ¢ë¯®«¥ë § O(h) ¤¥©á⢨©. ¥à¥¢ìï íä䥪⨢ë, ¥á«¨ ¨å ¢ëá®â ¬ « | ® ¬ « ï ¢ëá®â ¥ £ à â¨àã¥âáï, ¨ ¢ åã¤è¥¬ á«ãç ¥ ¤¥à¥¢ìï ¥ ¡®«¥¥ íä䥪⨢ë, 祬 ᯨ᪨. à á®-çñàë¥ ¤¥à¥¢ìï | ®¤¨ ¨§ ⨯®¢ "á¡ « á¨à®¢ ëå" ¤¥à¥¢ì¥¢ ¯®¨áª , ¢ ª®â®àëå ¯à¥¤ãᬮâà¥ë ®¯¥à 樨 ¡ « á¨à®¢ª¨, £ à â¨àãî騥, çâ® ¢ëá®â ¤¥à¥¢ ¥ ¯à¥¢§®©¤ñâ O(lg n). 14.1 ¢®©á⢠ªà á®-çñàëå ¤¥à¥¢ì¥¢ à á®-çñ஥ ¤¥à¥¢® (red-black tree) | íâ® ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª , ¢¥àè¨ë ª®â®à®£® à §¤¥«¥ë ªà áë¥ (red) ¨ çñàë¥ (black). ª¨¬ ®¡à §®¬, ª ¦¤ ï ¢¥àè¨ åà ¨â ®¤¨ ¤®¯®«¨â¥«ìë© ¡¨â | ¥ñ 梥â. ਠí⮬ ¤®«¦ë ¢ë¯®«ïâìáï ®¯à¥¤¥«ñë¥ âॡ®¢ ¨ï, ª®â®àë¥ £ à â¨àãîâ, çâ® £«ã¡¨ë «î¡ëå ¤¢ãå «¨áâ쥢 ®â«¨ç îâáï ¥ ¡®«¥¥ 祬 ¢ ¤¢ à § , ¯®í⮬㠤¥à¥¢® ¬®¦® §¢ âì á¡ « á¨à®- ¢ ë¬ (balanced). ¦¤ ï ¢¥àè¨ ªà á®-çñண® ¤¥à¥¢ ¨¬¥¥â ¯®«ï color (梥â), key (ª«îç), left («¥¢ë© ॡñ®ª), right (¯à ¢ë© ॡñ®ª) ¨ p (த¨â¥«ì). ᫨ ã ¢¥àè¨ë ®âáãâáâ¢ã¥â ॡñ®ª ¨«¨ த¨â¥«ì, ᮮ⢥âáâ¢ãî饥 ¯®«¥ ᮤ¥à¦¨â nil. «ï 㤮¡á⢠¬ë ¡ã¤¥¬ áç¨â âì, çâ® § 票ï nil, åà ï騥áï ¢ ¯®«ïå left ¨ right, ïîâáï áá뫪 ¬¨ ¤®¯®«¨â¥«ìë¥ (䨪⨢ë¥) «¨áâìï ¤¥à¥¢ . â ª®¬ ¯®¯®«¥®¬ ¤¥à¥¢¥ ª ¦¤ ï áâ à ï ¢¥àè¨ (ᮤ¥à¦ é ï ª«îç) ¨¬¥¥â ¤¢ãå ¤¥â¥©. ¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª §ë¢ ¥âáï ªà á®-çñàë¬ ¤¥à¥¢®¬, ¥á«¨ ®® ®¡« ¤ ¥â á«¥¤ãî騬¨ ᢮©á⢠¬¨ (¡ã¤¥¬ §ë¢ âì ¨å RB᢮©á⢠¬¨, ¯®- £«¨©áª¨ red-black properties): 1. ¦¤ ï ¢¥àè¨ | «¨¡® ªà á ï, «¨¡® çñà ï. 2. ¦¤ë© «¨áâ (nil) | çñàë©. ¢®©á⢠ªà á®-çñàëå ¤¥à¥¢ì¥¢ 263 ¨á㮪 14.1 à á®-çñ஥ ¤¥à¥¢®. ñàë¥ ¢¥àè¨ë ¯®ª § ë ª ª âñ¬ë¥, ªà áë¥ | ª ª á¥àë¥. ¦¤ ï ¢¥àè¨ «¨¡® ªà á ï, «¨¡® ç¥à ï. ᥠnil«¨áâìï çñàë¥. ¥â¨ ªà ᮩ ¢¥àè¨ë | çñàë¥. «ï ª ¦¤®© ¢¥àè¨ë ¢á¥ ¯ã⨠®â ¥ñ ¢¨§ ª «¨áâìï¬ á®¤¥à¦¨â ®¤¨ ª®¢®¥ ª®«¨ç¥á⢮ çñàëå ¢¥àè¨. ª®«® ª ¦¤®© ¢¥àè¨ë (ªà®¬¥ «¨áâ쥢) § ¯¨á ¥ñ çñà ï ¢ëá®â . ñà ï ¢ëá®â «¨áâ쥢 à ¢ 0. 3. ᫨ ¢¥àè¨ ªà á ï, ®¡ ¥ñ ॡñª çñàë¥. 4. ᥠ¯ãâ¨, ¨¤ã騥 ¢¨§ ®â ª®àï ª «¨áâìï¬, ᮤ¥à¦ â ®¤¨ ª®¢®¥ ª®«¨ç¥á⢮ çñàëå ¢¥àè¨. ਬ¥à ªà á®-çñண® ¤¥à¥¢ ¯®ª § à¨á㪥 14.1. áᬮâਬ ¯à®¨§¢®«ìãî ¢¥àè¨ã x ªà á®-çñண® ¤¥à¥¢ ¨ ¯ãâ¨, ¢¥¤ã騥 ¢¨§ ®â ¥ñ ª «¨áâìï¬. ᥠ®¨ ᮤ¥à¦ â ®¤® ¨ â® ¦¥ ç¨á«® çñàëå ¢¥àè¨ (¤®¡ ¢¨¬ ª ¨¬ ¯ãâì ¨§ ª®àï ¢ x ¨ ¯à¨¬¥¨¬ ᢮©á⢮ 4). ¨á«® çñàëå ¢¥àè¨ ¢ «î¡®¬ ¨§ ¨å (á ¬ã ¢¥àè¨ã x ¬ë ¥ áç¨â ¥¬) ¡ã¤¥¬ §ë¢ âì çñன ¢ëá®â®© (blackheight) ¢¥àè¨ë x ¨ ®¡®§ ç âì bh(x). ñன ¢ëá®â®© ¤¥à¥¢ ¡ã¤¥¬ áç¨â âì çñàãî ¢ëá®âã ¥£® ª®àï. «¥¤ãîé ï «¥¬¬ ¯®ª §ë¢ ¥â, çâ® ªà á®-çñàë¥ ¤¥à¥¢ìï å®à®è¨ ª ª ¤¥à¥¢ìï ¯®¨áª . ¥¬¬ 14.1. à á®-çñ஥ ¤¥à¥¢® á n ¢ãâ२¬¨ ¢¥àè¨ ¬¨ (â. ¥. ¥ áç¨â ï nil-«¨áâ쥢) ¨¬¥¥â ¢ëá®âã ¥ ¡®«ìè¥ 2 lg(n +1). ®ª § ⥫ìá⢮. ç « ¯®ª ¦¥¬, çâ® ¯®¤¤¥à¥¢® á ª®à¥¬ ¢ x ᮤ¥à¦¨â ¯® ¬¥ì襩 ¬¥à¥ 2bh(x) ; 1 ¢ãâà¥¨å ¢¥àè¨. ®ª § ⥫ìá⢮ ¯à®¢¥¤ñ¬ ¨¤ãªæ¨¥© ®â «¨áâ쥢 ª ª®àî. «ï «¨áâ쥢 çñà ï ¢ëá®â à ¢ 0, ¨ ¯®¤¤¥à¥¢® ¢ á ¬®¬ ¤¥«¥ ᮤ¥à¦¨â ¥ ¬¥¥¥ 2bh(x) ; 1 = 20 ; 1 = 0 ¢ãâà¥¨å ¢¥àè¨. ãáâì ⥯¥àì ¢¥àè¨ x ¥ ï¥âáï «¨á⮬ ¨ ¨¬¥¥â çñàãî ¢ëá®âã k. ®£¤ ®¡ ¥ñ ॡñª ¨¬¥îâ çñàãî ¢ëá®âã ¥ ¬¥ìè¥ k ; 1 (ªà áë© à¥¡ñ®ª ¡ã¤¥â ¨¬¥âì ¢ëá®âã k, çñàë© | k ; 1). ® ¯à¥¤¯®«®¦¥¨î ¨¤ãªæ¨¨ «¥¢®¥ ¨ ¯à ¢®¥ ¯®¤¤¥à¥¢ìï ¢¥àè¨ë x ᮤ¥à¦ â ¥ ¬¥¥¥ 2k;1 ; 1 ¢¥àè¨, ¨ ¯®â®¬ã ¯®¤¤¥à¥¢® á ª®à¥¬ ¢ x ᮤ¥à¦¨â ¯® ¬¥ì襩 ¬¥à¥ 2k;1 ; 1 + 2k;1 ; 1 + 1 = 2k ; 1 ¢ãâà¥¨å ¢¥àè¨. â®¡ë § ¢¥àè¨âì ¤®ª § ⥫ìá⢮ «¥¬¬ë, ®¡®§ 稬 ¢ëá®âã ¤¥à¥¢ ç¥à¥§ h. ®£« ᮠ᢮©áâ¢ã 3, ¯® ¬¥ì襩 ¬¥à¥ ¯®«®¢¨ã 264 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï ¢á¥å ¢¥àè¨ ¯ã⨠®â ª®àï ª «¨áâã, ¥ áç¨â ï ª®à¥ì, á®áâ ¢«ïîâ çñàë¥ ¢¥àè¨ë. «¥¤®¢ ⥫ì®, çñà ï ¢ëá®â ¤¥à¥¢ ¥ ¬¥ìè¥ h=2. ®£¤ n > 2h=2 ; 1: ¥à¥®áï 1 «¥¢® ¨ ¯¥à¥©¤ï ª «®£ à¨ä¬ ¬, ¯®«ãç ¥¬ lg(n + 1) > h=2, ¨«¨ h 6 2 lg(n + 1). ¥¬¬ ¤®ª § . ¥¬ á ¬ë¬ ¤«ï ªà á®-çñàëå ¤¥à¥¢ì¥¢ ®¯¥à 樨 Search, Minimum, Maximum, Successor ¨ Predecessor ¢ë¯®«ïîâáï § ¢à¥¬ï O(lg n), â ª ª ª ¢à¥¬ï ¨å ¢ë¯®«¥¨ï ¥áâì O(h) ¤«ï ¤¥à¥¢ ¢ëá®âë h, ªà á®-çñ஥ ¤¥à¥¢® á n ¢¥àè¨ ¬¨ ¨¬¥¥â ¢ëá®âã O(lg n). «®¦¥¥ ®¡á⮨⠤¥«® á ¯à®æ¥¤ãà ¬¨ Tree-Insert ¨ TreeDelete ¨§ £« ¢ë 13: ¯à®¡«¥¬ ¢ ⮬, çâ® ®¨ ¬®£ã⠨ᯮàâ¨âì áâàãªâãàã ªà á®-çñண® ¤¥à¥¢ , àã訢 RB-᢮©á⢠. ®í⮬ã í⨠¯à®æ¥¤ãàë ¯à¨¤ñâáï ¬®¤¨ä¨æ¨à®¢ âì. ë 㢨¤¨¬ ¢ à §¤¥« å 14.3 ¨ 14.4, ª ª ¬®¦® ॠ«¨§®¢ âì ¤®¡ ¢«¥¨¥ ¨ 㤠«¥¨¥ í«¥¬¥â®¢ § ¢à¥¬ï O(lg n) á á®åà ¥¨¥¬ RB-᢮©áâ¢. ¯à ¦¥¨ï à¨áã©â¥ ¯®«®¥ ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª ¢ëá®âë 3 á ª«îç ¬¨ f1; 2; : : :; 15g. ®¡ ¢ì⥠nil-«¨áâìï ¨ ¯®ªà áì⥠¢¥àè¨ë â६ï ᯮᮡ ¬¨ â ª, çâ®¡ë ¯®«ã稢訥áï ªà á®-çñàë¥ ¤¥à¥¢ìï ¨¬¥«¨ çñàãî ¢ëá®âã 2, 3 ¨ 4. 14.1-2 ।¯®«®¦¨¬, çâ® ª®à¥ì ªà á®-çñண® ¤¥à¥¢ ªà áë©. ᫨ ¬ë ¯®ªà ᨬ ¥£® ¢ çñàë© æ¢¥â, ®áâ ¥âáï «¨ ¤¥à¥¢® ªà á®çñàë¬? 14.1-3 ®ª ¦¨â¥, çâ® á ¬ë© ¤«¨ë© ¯ãâì ¢¨§ ®â ¢¥àè¨ë x ª «¨áâã ¥ ¡®«¥¥ 祬 ¢¤¢®¥ ¤«¨¥¥ á ¬®£® ª®à®âª®£® â ª®£® ¯ãâ¨. 14.1-4 ª®¥ ¨¡®«ì襥 ¨ ¨¬¥ì襥 ª®«¨ç¥á⢮ ¢ãâà¥¨å ¢¥àè¨ ¬®¦¥â ¡ëâì ¢ ªà á®-çñ஬ ¤¥à¥¢¥ çñன ¢ëá®âë k? 14.1-5 ¯¨è¨â¥ ªà á®-çñ஥ ¤¥à¥¢®, ᮤ¥à¦ 饥 n ª«î祩, á ¨¡®«ì訬 ¢®§¬®¦ë¬ ®â®è¥¨¥¬ ç¨á« ªà áëå ¢ãâà¥¨å ¢¥àè¨ ª ç¨á«ã çñàëå ¢ãâà¥¨å ¢¥àè¨. ¥¬ã à ¢® íâ® ®â®è¥¨¥? «ï ª ª®£® ¤¥à¥¢ íâ® ®â®è¥¨¥ ¡ã¤¥â ¨¬¥ì訬, ¨ 祬ã à ¢® íâ® ®â®è¥¨¥? 14.1-1 à 饨ï 265 ¯¥à 樨 ¢à é¥¨ï ¤¢®¨ç®¬ ¤¥à¥¢¥ ¯®¨áª . ¯¥à æ¨ï «¥¢®¥ ¤¥à¥¢® ¢ ¯à ¢®¥, ¬¥ïï ¥áª®«ìª® 㪠§ ⥫¥©. à ¢®¥ ¤¥à¥¢® ¬®¦® ¯¥à¥¢¥á⨠¢ «¥¢®¥ ®¡à ⮩ ®¯¥à 樥© Left-Rotate. ¥àè¨ë x ¨ y ¬®£ãâ 室¨âìáï ¢ «î¡®¬ ¬¥á⥠¤¥à¥¢ . 㪢ë , ¨ ®¡®§ ç îâ ¯®¤¤¥à¥¢ìï. ®¡®¨å ¤¥à¥¢ìïå ¢ë¯®«¥® ®¤® ¨ â® ¦¥ ᢮©á⢮ 㯮à冷祮áâ¨: ª«îç¨ ¨§ ¯à¥¤è¥áâ¢ãîâ key[x], ª®â®àë© ¯à¥¤è¥áâ¢ã¥â ª«îç ¬ ¨§ , ª®â®àë¥ ¯à¥¤è¥áâ¢ãîâ key[y], ª®â®àë© ¯à¥¤è¥áâ¢ã¥â ª«îç ¬ ¨§ . ¨á㮪 14.2 Right-Rotate ¯à¥®¡à §ã¥â 14.2 à é¥¨ï ¯¥à 樨 Tree-Insert ¨ Tree-Delete ¢ë¯®«ïîâáï ªà á®çñ஬ ¤¥à¥¢¥ § ¢à¥¬ï O(lg n), ® ®¨ ¨§¬¥ïîâ ¤¥à¥¢®, ¨ १ã«ìâ â ¬®¦¥â ¥ ®¡« ¤ âì RB-᢮©á⢠¬¨, ®¯¨á 묨 ¢ à §¤¥«¥ 14.1. â®¡ë ¢®ááâ ®¢¨âì í⨠᢮©á⢠, ¤® ¯¥à¥ªà á¨âì ¥ª®â®àë¥ ¢¥àè¨ë ¨ ¨§¬¥¨âì áâàãªâãàã ¤¥à¥¢ . ë ¡ã¤¥¬ ¬¥ïâì áâàãªâãàã á ¯®¬®éìî ¢à 饨© (rotations). à 饨¥ ¯à¥¤áâ ¢«ï¥â ᮡ®© «®ª «ìãî ®¯¥à æ¨î (¬¥ï¥âáï ¥áª®«ìª® 㪠§ ⥫¥©) ¨ á®åà ï¥â ᢮©á⢮ 㯮à冷祮áâ¨. à¨á㪥 14.2 ¯®ª § ë ¤¢ ¢§ ¨¬® ®¡à âëå ¢à 饨ï: «¥¢®¥ ¨ ¯à ¢®¥. ¥¢®¥ ¢à 饨¥ ¢®§¬®¦® ¢ «î¡®© ¢¥à訥 x, ¯à ¢ë© ॡñ®ª ª®â®à®© ( §®¢ñ¬ ¥£® y) ¥ ï¥âáï «¨á⮬ (nil). ®á«¥ ¢à 饨ï y ®ª §ë¢ ¥âáï ª®à¥¬ ¯®¤¤¥à¥¢ , x | «¥¢ë¬ ॡñª®¬ y, ¡ë¢è¨© «¥¢ë© ॡñ®ª y | ¯à ¢ë¬ ॡñª®¬ x. ¯à®æ¥¤ãॠLeft-Rotate ¯à¥¤¯®« £ ¥âáï, çâ® right[x] = 6 nil. Left-Rotate(T; x) 1 y right[x] . 室¨¬ y . 2 right[x] left[y ] . ¥¢®¥ ¯®¤¤¥à¥¢® y áâ ®¢¨âáï ¯à ¢ë¬ ¯®¤¤¥à¥¢®¬ x. 3 if left[y ] = 6 nil 4 then p[left[y ]] x 5 p[y ] p[x] . ¥« ¥¬ த¨â¥«ï x த¨â¥«¥¬ y . 6 if p[x] = nil 7 then root[T ] y 8 else if x = left[p[x]] 9 then left[p[x]] y 10 else right[p[x]] y 11 left[y ] x . ¥« ¥¬ x «¥¢ë¬ ॡñª®¬ y . 12 p[x] y à¨á㪥 14.3 ¯®ª § ® ¤¥©á⢨¥ ¯à®æ¥¤ãàë Left-Rotate. à®- 266 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï ¨á㮪 14.3 ਬ¥à ¤¥©áâ¢¨ï ¯à®æ¥¤ãàë Left-Rotate. ®¯®«¨â¥«ìë¥ nil«¨áâìï ¥ ¯®ª § ë. ®à冷ª ª«î祩 ¢ ç «ì®¬ ¨ ª®¥ç®¬ ¤¥à¥¢ìïå ®¤¨ ¨ â®â ¦¥. 楤ãà Right-Rotate «®£¨ç . ¡¥ ®¨ à ¡®â îâ § ¢à¥¬ï O(1) ¨ ¬¥ïîâ ⮫쪮 㪠§ ⥫¨. áâ «ìë¥ ¯®«ï ¢¥àè¨ ®áâ îâáï ¥¨§¬¥ë¬¨. ¯à ¦¥¨ï à¨áã©â¥ ¤¥à¥¢®, ª®â®à®¥ ¯®«ãç¨âáï, ¥á«¨ á ¯®¬®éìî ¯à®æ¥¤ãàë Tree-Insert ¤®¡ ¢¨âì ª«îç 36 ª ¤¥à¥¢ã à¨á. 14.1. ᫨ ᤥ« âì ¤®¡ ¢«¥ãî ¢¥àè¨ã ªà ᮩ, ¡ã¤¥â «¨ ¯®«ã祮¥ ¤¥à¥¢® ®¡« ¤ âì RB-᢮©á⢠¬¨? ¥á«¨ ᤥ« âì ¥ñ çñன? 14.2-2 ¯¨è¨â¥ ¯à®æ¥¤ãàã Right-Rotate. 14.2-3 ¡¥¤¨â¥áì, çâ® ¢à 饨ï á®åà ïîâ ᢮©á⢮ 㯮à冷祮áâ¨. 14.2-4 ãáâì a, b ¨ c | ¯à®¨§¢®«ìë¥ ¢¥àè¨ë ¢ ¯®¤¤¥à¥¢ìïå , ¨ à¨á. 14.2 (á¯à ¢ ). ª ¨§¬¥¨âáï £«ã¡¨ a, b ¨ c ¯à¨ ¢ë¯®«¥¨¨ «¥¢®£® ¢à 饨ï? 14.2-5 ®ª ¦¨â¥, çâ® ¯à®¨§¢®«ì®¥ ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª á n ¢¥àè¨ ¬¨ ¬®¦¥â ¡ëâì ¯à¥®¡à §®¢ ® ¢ «î¡®¥ ¤à㣮¥ ¤¥à¥¢® á ⥬ ¦¥ ç¨á«®¬ ¢¥àè¨ (¨ ⥬¨ ¦¥ ª«îç ¬¨) á ¯®¬®éìî O(n) ¢à 饨©. (ª § ¨¥: ç « ¯®ª ¦¨â¥, çâ® n ; 1 ¯à ¢ëå ¢à 饨© ¤®áâ â®ç®, çâ®¡ë ¯à¥®¡à §®¢ âì «î¡®¥ ¤¥à¥¢® ¢ ¨¤ãéãî ¢¯à ¢® 楯®çªã.) 14.2-1 ®¡ ¢«¥¨¥ ¢¥àè¨ë 267 14.3 ®¡ ¢«¥¨¥ ¢¥àè¨ë ®¡ ¢«¥¨¥ ¢¥àè¨ë ¢ ªà á®-çñ஥ ¤¥à¥¢® ¯à®¢®¤¨âáï § ¢à¥¬ï O(lg n). ç « ¬ë ¯à¨¬¥ï¥¬ ¯à®æ¥¤ãàã Tree-Insert, ª ª ¤¥« «®áì ¤«ï ¤¢®¨çëå ¤¥à¥¢ì¥¢ ¯®¨áª , ¨ ªà ᨬ ®¢ãî ¢¥àè¨ã ¢ ªà áë© æ¢¥â. ®á«¥ í⮣® ¤® ¢®ááâ ®¢¨âì RB-᢮©á⢠, ¤«ï 祣® ¯à¨å®¤¨âáï ¯¥à¥ªà á¨âì ¥ª®â®àë¥ ¢¥àè¨ë ¨ ¯à®¨§¢¥á⨠¢à 饨ï. ਠí⮬ ¢®§¬®¦ë à §«¨çë¥ á¨âã 樨, á ª®â®à묨 ¤® ªªãà â® à §®¡à âìáï. RB-Insert (T; x) 1 Tree-Insert (T; x) 2 color[x] red 3 while x = 6 root[T ] ¨ color[p[x]] = red 4 do if p[x] = left[p[p[x]]] 5 then y right[p[p[x]]] 6 if color[y ] = red 7 then color[p[x]] black . «ãç © 1 8 color[y ] black . «ãç © 1 9 color[p[p[x]]] red . «ãç © 1 10 x p[p[x]] . «ãç © 1 11 else if x = right[p[x]] 12 then x p[x] . «ãç © 2 13 Left-Rotate(T; x) . «ãç © 2 14 color[p[x]] black . «ãç © 3 15 color[p[p[x]]] red . «ãç © 3 16 Right-Rotate(T; p[p[x]]) . «ãç © 3 17 else ( «®£¨çë© â¥ªáâ á § ¬¥®© left $ right) 18 color[root[T ]] black à¨á㪥 14.4 ¯®ª § ¯à¨¬¥à ¯à¨¬¥¥¨ï ¯à®æ¥¤ãàë RB-Insert. à®æ¥¤ãà RB-Insert ¯à®é¥, 祬 ª ¦¥âáï ¯¥à¢ë© ¢§£«ï¤. ®á«¥ ¢ë¯®«¥¨ï áâப 1{2 ¢ë¯®«ïîâáï ¢á¥ RB-᢮©á⢠, ªà®¬¥ ®¤®£®: ªà á ï ¢¥àè¨ x ¬®¦¥â ¨¬¥âì ªà ᮣ® த¨â¥«ï. (á¬. à¨á. 14.4 ). ®á⠫쮬 ¢áñ ¢ ¯®à浪¥ | ¤à㣨¥ ᢮©á⢠"¥ § ¬¥ç îâ" ¤®¡ ¢«¥¨ï ªà ᮩ ¢¥àè¨ë (®â¬¥â¨¬, çâ® ®¢ ï ªà á ï ¢¥àè¨ ¨¬¥¥â ¤¢ãå çñàëå nil-¤¥â¥©). ª ï á¨âã æ¨ï (¢ë¯®«¥ë ¢á¥ RB-᢮©á⢠, § ¨áª«î票¥¬ ⮣®, çâ® ªà á ï ¢¥àè¨ x ¬®¦¥â ¨¬¥âì ªà ᮣ® த¨â¥«ï) ¡ã¤¥â á®åà ïâìáï ¯®á«¥ «î¡®£® ç¨á« ¨â¥à 権 横« . ª ¦¤®¬ è £¥ ¢¥àè¨ x ¯®¤¨¬ ¥âáï ¢¢¥àå ¯® ¤¥à¥¢ã (¥á«¨ ⮫쪮 ¥ 㤠«®áì ãáâà ¨âì àãè¥¨ï ¯®«®áâìî; ¢ í⮬ á«ãç ¥ ¬ë ¢ë室¨¬ ¨§ 横« ). 268 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï ¨á㮪 14.4 ¡®â ¯à®æ¥¤ãàë RB-Insert. ( ) ®¡ ¢«¥ ¢¥àè¨ x; ¯à¨ í⮬ àã訫®áì ᢮©á⢮ 3: x ¨ ¥£® த¨â¥«ì ªà áë¥. ¥àè¨ y (ª®â®àãî ¬®¦® §¢ âì "¤ï¤¥©" ¢¥àè¨ë x) ªà á ï, ¯®í⮬㠨¬¥¥â ¬¥áâ® á«ãç © 1. ®á«¥ ¯¥à¥ªà 訢 ¨ï ¢¥àè¨ ¯®«ãç ¥âáï ¤¥à¥¢® (¡). ®¢ ï ¢¥àè¨ x ¨ ¥ñ த¨â¥«ì ªà áë¥, ® ¤ï¤ï y çñàë©. ª ª ª x | ¯à ¢ë© ॡñ®ª, ¨¬¥¥â ¬¥áâ® á«ãç © 2. ந§¢®¤¨âáï «¥¢®¥ ¢à 饨¥, ª®â®à®¥ ¤ ¥â ¤¥à¥¢® (¢). ¥¯¥àì 㦥 x ï¥âáï «¥¢ë¬ ॡñª®¬, ¨ íâ® | á«ãç © 3. ®á«¥ ¯à ¢®£® ¢à é¥¨ï ¯®«ãç ¥¬ ª®à४⮥ ªà á®-çñ஥ ¤¥à¥¢® (£). ®¡ ¢«¥¨¥ ¢¥àè¨ë 269 ¨á㮪 14.5 «ãç © 1. àã襮 ᢮©á⢮ 3: x ¨ ¥£® த¨â¥«ì | ªà áë¥. è¨ ¤¥©áâ¢¨ï ¥ § ¢¨áïâ ®â ⮣®, ï¥âáï «¨ x ¯à ¢ë¬ ( ) ¨«¨ «¥¢ë¬ (¡) á뮬. ᥠ¯®¤¤¥à¥¢ìï , , , ¨ " ¨¬¥îâ çñàë© ª®à¥ì ¨ ®¤¨ ª®¢ãî çñàãî ¢ëá®âã. à®æ¥¤ãà ¬¥ï¥â 梥⠢¥àè¨ë p[p[x]] ¨ ¥ñ ¤¥â¥©. ¨ª« ¯à®¤®«¦ ¥âáï ¯®á«¥ ¯à¨á¢ ¨¢ ¨ï x p[p[x]]; ᢮©á⢮ 3 ¬®¦¥â ¡ëâì àã襮 ⮫쪮 ¬¥¦¤ã ªà ᮩ ¢¥à訮© p[p[x]] ¨ ¥ñ த¨â¥«¥¬ (¥á«¨ ® ⮦¥ ªà áë©). ãâਠ横« à áᬠâਢ îâáï è¥áâì á«ãç ¥¢, ® âਠ¨§ ¨å ᨬ¬¥âà¨çë âàñ¬ ¤à㣨¬, à §«¨ç¨ï «¨èì ¢ ⮬, ï¥âáï «¨ த¨â¥«ì ¢¥àè¨ë x «¥¢ë¬ ¨«¨ ¯à ¢ë¬ ॡñª®¬ ᢮¥£® த¨â¥«ï. ⨠á«ãç ¨ à §¤¥«ïîâáï ¢ áâப¥ 4. ë ¢ë¯¨á «¨ äà £¬¥â ¯à®æ¥¤ãàë ¤«ï á«ãç ï, ª®£¤ p[x] | «¥¢ë© ॡñ®ª ᢮¥£® த¨â¥«ï. (¨¬¬¥âà¨çë¥ á«ãç ¨ ®â®áïâáï ª áâப¥ 17.) ë ¡ã¤¥¬ ¯à¥¤¯®« £ âì, çâ® ¢® ¢á¥å à áᬠâਢ ¥¬ëå ¬¨ ªà á®-çñàëå ¤¥à¥¢ìïå ª®à¥ì çñàë© (¨ ¯®¤¤¥à¦¨¢ âì í⮠᢮©á⢮ | ¤«ï í⮣® ¨á¯®«ì§ã¥âáï áâப 18). ®í⮬㠢 áâப¥ 4 ªà á ï ¢¥àè¨ p[x] ¥ ¬®¦¥â ¡ëâì ª®à¥¬ (p[p[x]] áãé¥áâ¢ã¥â). ¯¥à 樨 ¢ãâਠ横« ç¨ îâáï á 宦¤¥¨ï ¢¥àè¨ë y, ª®â®à ï ï¥âáï "¤ï¤¥©" ¢¥àè¨ë x (¨¬¥¥â ⮣® ¦¥ த¨â¥«ï, çâ® ¨ ¢¥àè¨ p[x]). ᫨ ¢¥àè¨ y ªà á ï, ¨¬¥¥â ¬¥áâ® á«ãç © 1, ¥á«¨ çñà ï | â® ®¤¨ ¨§ á«ãç ¥¢ 2 ¨ 3. ® ¢á¥å á«ãç ïå ¢¥àè¨ p[p[x]] çñà ï, â ª ª ª ¯ à x{p[x] ¡ë« ¥¤¨áâ¢¥ë¬ àã襨¥¬ RB-᢮©áâ¢. «ãç © 1 (áâப¨ 7{10) ¯®ª § à¨á. 14.5. â ç áâì ⥪á⠨ᯮ«ï¥âáï, ¥á«¨ ¨ p[x], ¨ y ªà áë¥. ਠí⮬ ¢¥àè¨ p[p[x]] | çñà ï. ¥à¥ªà ᨬ p[x] ¨ y ¢ çñàë© æ¢¥â, p[p[x]] | ¢ ªà áë©. ਠí⮬ ç¨á«® çñàëå ¢¥àè¨ «î¡®¬ ¯ã⨠¨§ ª®àï ª «¨áâìï¬ ®áâ ¥âáï ¯à¥¦¨¬. àã襨¥ RB-᢮©á⢠¢®§¬®¦® ¢ ¥¤¨á⢥®¬ ¬¥á⥠®¢®£® ¤¥à¥¢ : ã p[p[x]] ¬®¦¥â ¡ëâì ªà áë© à®¤¨â¥«ì. ®í⮬㠤® ¯à®¤®«¦¨âì ¢ë¯®«¥¨¥ 横« , ¯à¨á¢®¨¢ x § 票¥ p[p[x]]. á«ãç ïå 2 ¨ 3 ¢¥àè¨ y çñà ï. ⨠¤¢ á«ãç ï à §«¨ç îâáï ⥬, ª ª¨¬ ॡñª®¬ x ¯à¨å®¤¨âáï ᢮¥¬ã த¨â¥«î | «¥¢ë¬ ¨«¨ 270 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï ¨á㮪 14.6 «ãç ¨ 2 ¨ 3 ¢ ¯à®æ¥¤ãॠRB-Insert. ª ¨ ¤«ï á«ãç ï 1, àã襮 ᢮©á⢮ 3 ªà á®-çñàëå ¤¥à¥¢ì¥¢, â ª ª ª ¢¥àè¨ x ¨ ¥ñ த¨â¥«ì p[x] | ªà áë¥. ®à¨ ¤¥à¥¢ì¥¢ , , ¨ | çñàë¥; í⨠¤¥à¥¢ìï ¨¬¥îâ ®¤¨ ª®¢ãî çñàãî ¢ëá®âã. ¡ ¢à 饨ï, ¯®ª § ë¥ à¨á㪥, ¥ ¬¥ïîâ ç¨á«® çñàëå ¢¥àè¨ ¯ã⨠®â ª®àï ª «¨áâìï¬. ®á«¥ í⮣® ¬ë ¢ë室¨¬ ¨§ 横« : RB-᢮©á⢠¢ë¯®«¥ë ¢áî¤ã. ¯à ¢ë¬. ᫨ ¯à ¢ë¬, ¨á¯®«ïîâáï áâப¨ 12{13 (á«ãç © 2). í⮬ á«ãç ¥ ¢ë¯®«ï¥âáï «¥¢®¥ ¢à 饨¥, ª®â®à®¥ ᢮¤¨â á«ãç © 2 ª á«ãç î 3. ª®£¤ x ï¥âáï «¥¢ë¬ ॡñª®¬ (à¨á. 14.6), ª ª ª ¨ x, ¨ p[x] ªà áë¥, ¯®á«¥ ¢à é¥¨ï ª®«¨ç¥á⢠çñàëå ¢¥àè¨ ¯ãâïå ®áâ îâáï ¯à¥¦¨¬¨. â ª, ®áâ «®áì à áᬮâà¥âì á«ãç © 3: ªà á ï ¢¥àè¨ x ï¥âáï «¥¢ë¬ ॡñª®¬ ªà ᮩ ¢¥àè¨ë p[x], ª®â®à ï ï¥âáï «¥¢ë¬ ॡñª®¬ çñன ¢¥àè¨ë p[p[x]], ¯à ¢ë¬ ॡñª®¬ ª®â®à®© ï¥âáï çñà ï ¢¥àè¨ y. í⮬ á«ãç ¥ ¤®áâ â®ç® ¯à®¨§¢¥á⨠¯à ¢®¥ ¢à 饨¥ ¨ ¯¥à¥ªà á¨âì ¤¢¥ ¢¥àè¨ë, ç⮡ë ãáâà ¨âì àã襨¥ RB-᢮©áâ¢. ¨ª« ¡®«ìè¥ ¥ ¢ë¯®«ï¥âáï, â ª ª ª ¢¥àè¨ p[x] ⥯¥àì çñà ï. ª®¢® ¢à¥¬ï ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë RB-Insert? ëá®â ªà á®-çñண® ¤¥à¥¢ ¥áâì O(lg n), ¥á«¨ ¢ ¤¥à¥¢¥ n ¢¥àè¨, ¯®í⮬㠢맮¢ Tree-Insert âॡã¥â ¢à¥¬¥¨ O(lg n). ¨ª« ¯®¢â®àï¥âáï, ⮫쪮 ¥á«¨ ¬ë ¢áâà¥ç ¥¬ á«ãç © 1, ¨ ¯à¨ í⮬ x ᤢ¨£ ¥âáï ¢¢¥àå ¯® ¤¥à¥¢ã. ª¨¬ ®¡à §®¬, 横« ¯®¢â®àï¥âáï O(lg n) à §, ¨ ®¡é¥¥ ¢à¥¬ï à ¡®âë ¥áâì O(lg n). â¥à¥á®, çâ® ¯à¨ í⮬ ¢ë¯®«ï¥âáï ¥ ¡®«¥¥ ¤¢ãå ¢à 饨© (¯®á«¥ ª®â®àëå ¬ë ¢ë室¨¬ ¨§ 横« ). ¯à ¦¥¨ï áâப¥ 2 ¯à®æ¥¤ãàë RB-Insert ¬ë ªà ᨬ ®¢ãî ¢¥àè¨ã x ¢ ªà áë© æ¢¥â. ᫨ ¡ë ¬ë ¯®ªà ᨫ¨ ¥ñ ¢ ç¥àë© æ¢¥â, ᢮©á⢮ 3 ¥ ¡ë«® ¡ë àã襮. ®ç¥¬ã ¦¥ ¬ë í⮣® ¥ ᤥ« «¨? 14.3-2 áâப¥ 18 ¬ë ªà ᨬ ª®à¥ì ¤¥à¥¢ ¢ çñàë© æ¢¥â. 祬 íâ® ¤¥« ¥âáï? 14.3-3 à¨áã©â¥ ªà á®-çñàë¥ ¤¥à¥¢ìï, ª®â®à®¥ ¯®«ãç îâáï ¯à¨ ¯®á«¥¤®¢ ⥫쮬 ¤®¡ ¢«¥¨¨ ª ¯ãá⮬㠤¥à¥¢ã ª«î祩 14.3-1 ¤ «¥¨¥ 271 41; 38; 31; 12; 19; 8. ãáâì çñà ï ¢ëá®â ª ¦¤®£® ¨§ ¯®¤¤¥à¥¢ì¥¢ , , , , " à¨á㪠å 14.5 ¨ 14.6 à ¢ k. ©¤¨â¥ çñàë¥ ¢ëá®âë ¢á¥å ¢¥àè¨ íâ¨å à¨áãª å ¨ ¯à®¢¥àìâ¥, ç⮠᢮©á⢮ 4 ¤¥©áâ¢¨â¥«ì® ¥ àãè ¥âáï. 14.3-5 áᬮâਬ ªà á®-çñ஥ ¤¥à¥¢®, ¯®«ã祮¥ ¤®¡ ¢«¥¨¥¬ n ¢¥àè¨ ª ¯ãá⮬㠤¥à¥¢ã. ¡¥¤¨â¥áì, çâ® ¯à¨ n > 1 ¢ ¤¥à¥¢¥ ¥áâì å®âï ¡ë ®¤ ªà á ï ¢¥àè¨ . 14.3-6 ª íä䥪⨢® ॠ«¨§®¢ âì ¯à®æ¥¤ãàã RB-Insert, ¥á«¨ ¢ ¢¥àè¨ å ¥ åà ïâáï 㪠§ ⥫¨ த¨â¥«¥©? 14.3-4 14.4 ¤ «¥¨¥ ª ¨ ¤à㣨¥ ®¯¥à 樨, 㤠«¥¨¥ ¢¥àè¨ë ¨§ ªà á®-çñண® ¤¥à¥¢ âॡã¥â ¢à¥¬¥¨ O(lg n). ¤ «¥¨¥ ¢¥àè¨ë ¥áª®«ìª® á«®¦¥¥ ¢áâ ¢ª¨. ⮡ë ã¯à®áâ¨âì ®¡à ¡®âªã £à ¨çëå ãá«®¢¨©, ¬ë ¨á¯®«ì§ã¥¬ ä¨ªâ¨¢ë© í«¥¬¥â (¯®- £«¨©áª¨ §ë¢ ¥¬ë© sentinel) ¢¬¥áâ® nil (á¬. c. ??). «ï ªà á®-çñண® ¤¥à¥¢ T ä¨ªâ¨¢ë© í«¥¬¥â nil[T ] ¨¬¥¥â ⥠¦¥ ¯®«ï, çâ® ¨ ®¡ëç ï ¢¥àè¨ ¤¥à¥¢ . £® 梥â çñàë©, ®áâ «ìë¬ ¯®«ï¬ (p, left, right ¨ key ) ¬®£ãâ ¡ëâì ¯à¨á¢®¥ë «î¡ë¥ § 票ï. ë áç¨â ¥¬, çâ® ¢ ªà á®-çñ஬ ¤¥à¥¢¥ ¢á¥ 㪠§ ⥫¨ nil § ¬¥¥ë 㪠§ ⥫ﬨ nil[T ]. « £®¤ àï ä¨ªâ¨¢ë¬ í«¥¬¥â ¬ ¬ë ¬®¦¥¬ áç¨â âì nil-«¨áâ, ïî騩áï ॡñª®¬ ¢¥àè¨ë x, ®¡ë箩 ¢¥à訮©, த¨â¥«ì ª®â®à®© ¥áâì x. ¯à¨æ¨¯¥ ¬®¦® ¡ë«® ¡ë § ¢¥á⨠¯® ®¤®© 䨪⨢®© ¢¥à訥 ¤«ï ª ¦¤®£® «¨áâ , ® íâ® ¡ë«® ¡ë ¯à ᮩ ¯®â¥à¥© ¯ ¬ïâ¨. â®¡ë ¨§¡¥¦ âì í⮣®, ¬ë ¨á¯®«ì§ã¥¬ ®¤¨ í«¥¬¥â nil[T ], ¯à¥¤áâ ¢«ïî騩 ¢á¥ «¨áâë. ¤ ª®, ª®£¤ ¬ë å®â¨¬ à ¡®â âì á «¨á⮬ | ॡñª®¬ ¢¥àè¨ë x, ¤® ¥ § ¡ëâì ¢ë¯®«¨âì ¯à¨á¢ ¨¢ ¨¥ p[nil[T ]] x. à®æ¥¤ãà RB-Delete á«¥¤ã¥â á奬¥ ¯à®æ¥¤ãàë Tree-Delete ¨§ à §¤¥« 13.3. ë१ ¢ ¢¥àè¨ã, ® ¢ë§ë¢ ¥â ¢á¯®¬®£ ⥫ìãî ¯à®æ¥¤ãàã RB-Delete-Fixup, ª®â®à ï ¬¥ï¥â 梥⠨ ¯à®¨§¢®¤¨â ¢à 饨ï, çâ®¡ë ¢®ááâ ®¢¨âì RB-᢮©á⢠. 272 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï RB-Delete (T; z ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 if left[z ] = nil[T ] ¨«¨ right[z ] = nil[T ] then y z else y Tree-Successor(z ) if left[y ] 6= nil[T ] then x left[y ] else x right[y ] p[x] p[y] if p[y ] = nil[T ] then root[T ] x else if y = left[p[y ]] then left[p[y ]] x else right[p[y ]] x if y = 6 z then key[z ] key[y ] . ®¯¨à㥬 ¤®¯®«¨â¥«ìë¥ ¤ ë¥ ¨§ ¢¥àè¨ë y . if color[y ] = black then RB-Delete-Fixup (T; x) return y áâì âà¨ à §«¨ç¨ï ¬¥¦¤ã ¯à®æ¥¤ãà ¬¨ RB-Delete ¨ TreeDelete. ®-¯¥à¢ëå, ¢¬¥áâ® nil ¢áî¤ã á⮨â 㪠§ ⥫ì ä¨ªâ¨¢ë© í«¥¬¥â nil[T ]. ®-¢â®àëå, ¯à®¢¥àª x = 6 nil ¢ áâப¥ 7 ¯à®æ¥¤ãàë Tree-Delete 㤠«¥ , ¨ ¯à¨á¢ ¨¢ ¨¥ p[x] p[y] ¢ë¯®«ï¥âáï ¢ «î¡®¬ á«ãç ¥. ᫨ x ¥áâì ä¨ªâ¨¢ë© í«¥¬¥â nil[T ], â® ¥£® 㪠§ ⥫ì த¨â¥«ï áâ ®¢¨âáï à ¢ë¬ à®¤¨â¥«î 㤠«ï¥¬®£® í«¥¬¥â y. -âà¥âì¨å, ¢ áâப å 16{17 ¢ë§ë¢ ¥âáï ¯à®æ¥¤ãà RB-Delete-Fixup, ¥á«¨ 㤠«ï¥¬ ï ¢¥àè¨ y | çñà ï. ਠ㤠«¥¨¨ ªà ᮩ ¢¥àè¨ë RB-᢮©á⢠¥ àãè îâáï (çñàë¥ ¢ëá®âë ¥ ¬¥ïîâáï, ¨ ªà áë¥ ¢¥àè¨ë ¥ ¬®£ãâ áâ âì á®á¥¤¨¬¨). ¥à¥¤ ¢ ¥¬ ï ¯à®æ¥¤ãॠRB-Delete-Fixup ¢¥àè¨ x ï¢«ï« áì ¥¤¨áâ¢¥ë¬ à¥¡ñª®¬ ¢¥àè¨ë y, ¥á«¨ ã y ¡ë« ॡñ®ª (¥ ïî騩áï «¨á⮬), ¨«¨ ä¨ªâ¨¢ë¬ í«¥¬¥â®¬ nil[T ], ¥á«¨ ¢¥àè¨ y ¥ ¨¬¥« ¤¥â¥©. ¯®á«¥¤¥¬ á«ãç ¥ ¯à¨á¢ ¨¢ ¨¥ ¢ áâப¥ 7 £ à â¨àã¥â, çâ® p[x] 㪠§ë¢ ¥â ¡ë¢è¥£® த¨â¥«ï y | ¢¥ § ¢¨á¨¬®á⨠®â ⮣®, ï¥âáï «¨ x áâ®ï饩 ¢¥à訮© ¨«¨ ä¨ªâ¨¢ë¬ í«¥¬¥â®¬. ®á¬®âਬ, ª ª ¯à®æ¥¤ãà RB-Delete-Fixup ¢®ááâ ¢«¨¢ ¥â RB-᢮©á⢠¤¥à¥¢ . ¤ «¥¨¥ 273 RB-Delete-Fixup (T; x) 1 while x 6= root[T ] ¨ color[x] = black 2 do if x = left[p[x]] 3 then w right[p[x]] 4 if color[w] = red 5 then color[w] black 6 color[p[x]] red 7 Left-Rotate(T; p[x]) 8 w right[p[x]] 9 if color[left[w]] = black ¨ color[right[w]] = black 10 then color[w] red 11 x p[x] 12 else if color[right[w]] = black 13 then color[left[w]] black 14 color[w] red 15 Right-Rotate(T; w) 16 w right[p[x]] 17 color[w] color[p[x]] 18 color[p[x]] black 19 color[right[w]] black 20 Left-Rotate(T; p[x]) 21 x root[T ] 22 else (ᨬ¬¥âà¨çë© äà £¬¥â á § ¬¥®© left $ right) 23 color[x] black . «ãç © 1 . «ãç © 1 . «ãç © 1 . «ãç © 1 . «ãç © 2 . «ãç © 2 . «ãç © 3 . «ãç © 3 . «ãç © 3 . «ãç © 3 . «ãç © 4 . «ãç © 4 . «ãç © 4 . «ãç © 4 . «ãç © 4 ᫨ 㤠«ñ ï ¯à®æ¥¤ãன RB-Delete ¢¥àè¨ y ¡ë« çñன, â® «î¡®© ¯ãâì, ç¥à¥§ ¥ñ ¯à®å®¤¨¢è¨©, ⥯¥àì ᮤ¥à¦¨â ®¤ã çñàãî ¢¥àè¨ã ¬¥ìè¥. ª¨¬ ®¡à §®¬, ᢮©á⢮ 4 àã訫®áì. ë ¬®¦¥¬ ª®¬¯¥á¨à®¢ âì íâ® § áçñâ ¢¥àè¨ë x (§ ï¢è¥© ¬¥áâ® ¢¥àè¨ë y). ᫨ x | ªà á ï, ᤥ« ¥¬ ¥ñ çñன (§ ®¤® ¬ë ¨§¡¥£ ¥¬ ®¯ á®á⨠¯®«ãç¨âì ªà áãî ¢¥àè¨ã á ªà áë¬ à®¤¨â¥«¥¬). ᫨ x | çñà ï, ®¡ê¬ ¥ñ "¤¢ ¦¤ë çñன" ¨ ¡ã¤¥¬ áç¨â âì § ¤¢¥ ¯à¨ ¯®¤áçñ⥠ç¨á« çñàëå ¢¥àè¨ ¯ã⨠®â ª®àï ª «¨áâìï¬. ®¥ç®, â ª®© ¢ë室 ¬®¦¥â ¡ëâì «¨èì ¢à¥¬¥ë¬, ¯®áª®«ìªã ®¯à¥¤¥«¥¨¥ ªà á®-çñàëå ¤¥à¥¢ì¥¢ ¥ ¯à¥¤ãᬠâਢ ¥â ¤¢ ¦¤ë çñàëå ¢¥àè¨, ¨ ¬ë ¤®«¦ë ¯®á⥯¥® ®â â ª®© ¢¥àè¨ë ¨§¡ ¢¨âìáï. à®æ¥¤ãà RB-Delete-Fixup(T; x) ¯à¨¬¥ï¥âáï ª ¤¥à¥¢ã, ª®â®à®¥ ®¡« ¤ ¥â ᢮©á⢠¬¨ ªà á®-çñண® ¤¥à¥¢ , ¥á«¨ ãç¥áâì ¤®¯®«¨â¥«ìãî ¥¤¨¨æã ç¥à®âë ¢ ¢¥à訥 x, ¨ ¯à¥¢à é ¥â ¥£® ¢ áâ®ï饥 ªà á®-çñ஥ ¤¥à¥¢®. 横«¥ (áâப¨ 1{22) ¤¥à¥¢® ¬¥ï¥âáï, ¨ § 票¥ ¯¥à¥¬¥®© x ⮦¥ ¬¥ï¥âáï (¢ë¤¥«¥ ï ¢¥àè¨ ¬®¦¥â ᤢ¨£ âìáï ¢¢¥àå ¯® ¤¥à¥¢ã), ® áä®à¬ã«¨à®¢ ®¥ 274 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï ᢮©á⢮ ®áâ ñâáï ¢¥àë¬. ¨ª« § ¢¥àè ¥âáï, ¥á«¨ (1) x 㪠§ë¢ ¥â ªà áãî ¢¥àè¨ã (⮣¤ ¬ë ¢ áâப¥ 23 ªà ᨬ ¥ñ ¢ çñàë© æ¢¥â) ¨«¨ ¥á«¨ (2) x 㪠§ë¢ ¥â ª®à¥ì (⮣¤ «¨èïï ç¥à®â ¬®¦¥â ¡ëâì ¯à®á⮠㤠«¥ ¨§ ¤¥à¥¢ ). ®¦¥â ®ª § âìáï â ª¦¥, çâ® (3) ¢ãâਠ⥫ 横« 㤠ñâáï ¢ë¯®«¨âì ¥áª®«ìª® ¢à 饨© ¨ ¯¥à¥ªà á¨âì ¥áª®«ìª® ¢¥àè¨, ¯®á«¥ 祣® ¤¢ ¦¤ë çñà ï ¢¥àè¨ ¨á祧¥â. í⮬ á«ãç ¥ ¯à¨á¢ ¨¢ ¨¥ x root[T ] ¯®§¢®«ï¥â ¢ë©â¨ ¨§ 横« . ãâਠ横« x 㪠§ë¢ ¥â ¤¢ ¦¤ë çñàãî ¢¥àè¨ã, ¥ ïîéãîáï ª®à¥¬. áâப¥ 2 ¬ë ®¯à¥¤¥«ï¥¬, ª ª¨¬ ॡñª®¬ ï¥âáï x | «¥¢ë¬ ¨«¨ ¯à ¢ë¬. (®¤à®¡® ¢ë¯¨á ç áâì ¯à®æ¥¤ãàë ¤«ï ¯¥à¢®£® á«ãç ï, ¢â®à®© á«ãç © ᨬ¬¥âà¨ç¥ ¨ áªàëâ ¢ áâப¥ 22.) ¥à¥¬¥ ï w (áâப 3) 㪠§ë¢ ¥â ¢â®à®£® ॡñª ¢¥àè¨ë p[x] ("¡à â " ¢¥àè¨ë x). ª ª ª ¢¥àè¨ x | ¤¢ ¦¤ë çñà ï, w ¥ ¬®¦¥â ¡ëâì à ¢® nil[T ], ¯®áª®«ìªã ¢ í⮬ á«ãç ¥ ¢¤®«ì ®¤®£® ¯ã⨠®â p[x] ¢¨§ (ç¥à¥§ w) ¡ë«® ¡ë ¬¥ìè¥ ç¥àëå ¢¥àè¨, 祬 ¢¤®«ì ¤à㣮£® (ç¥à¥§ x). ¥âëॠ¢®§¬®¦ëå á«ãç ï ¯®ª § ë à¨á. 14.7. ०¤¥ 祬 à §¡¨à âìáï á ¨¬¨ ¤¥â «ì®, ¯®á¬®âਬ, ª ª ¯à®¢¥à¨âì, çâ® ¯à¥®¡à §®¢ ¨ï ¥ àãè îâ ᢮©á⢮ 4. ®áâ â®ç® ã¡¥¤¨âìáï, çâ® ª®«¨ç¥á⢮ çñàëå ¢¥àè¨ ®â ª®àï ¯®ª § ®£® ¯®¤¤¥à¥¢ ¤® ª ¦¤®£® ¨§ ¯®¤¤¥à¥¢ì¥¢ ; ; : : :; ¥ ¨§¬¥¨«®áì. ¯à¨¬¥à, à¨á. 14.7 , ¨««îáâà¨àãî饬 á«ãç © 1, ª®«¨ç¥á⢮ çñàëå ¢¥àè¨ ®â ª®àï ¤® ª ¦¤®£® ¨§ ¯®¤¤¥à¥¢ì¥¢ ¨ à ¢® 3 ª ª ¤®, â ª ¨ ¯®á«¥ ¯à¥®¡à §®¢ ¨ï. ( ¯®¬¨¬, çâ® ¢¥àè¨ x áç¨â ¥âáï § ¤¢¥.) «®£¨ç®, ª®«¨ç¥á⢮ çñàëå ¢¥àè¨ ®â ª®àï ¤® , , " ¨ , à ¢® 2 ¤® ¨ ¯®á«¥ ¯à¥®¡à §®¢ ¨ï. à¨á. 14.7¡ ¢¥àè¨ B ¬®¦¥â ¡ëâì ¨ çñன, ¨ ªà ᮩ. ᫨ ® ªà á ï, â® ç¨á«® çñàëå ¢¥àè¨ ®â ª®àï ¤® (¤® ¨ ¯®á«¥ ¯à¥®¡à §®¢ ¨ï) à ¢® 2, ¥á«¨ çñà ï | â® 3. áâ «ìë¥ á«ãç ¨ ¯à®¢¥àïîâáï «®£¨ç® (ã¯à. 14.4-5). â ª, à áᬮâਬ ¢á¥ á«ãç ¨ ¯® ¯®à浪ã. «ãç © 1 (áâப¨ 5{8 ¯à®æ¥¤ãàë RB-Delete-Fixup, à¨á. 14.7 ) ¨¬¥¥â ¬¥áâ®, ª®£¤ ¢¥àè¨ w, ¡à â x, ªà á ï (¢ í⮬ á«ãç ¥ ¨å த¨â¥«ì, p[x], çñàë©). ª ª ª ®¡ ॡñª ¢¥àè¨ë w çñàë¥, ¬ë ¬®¦¥¬ ¯®¬¥ïâì 梥â w ¨ p[x] ¨ ¯à®¨§¢¥á⨠«¥¢®¥ ¢à 饨¥ ¢®ªà㣠p[x], ¥ àãè ï RB᢮©áâ¢. ¥àè¨ x ®áâ ñâáï ¤¢ ¦¤ë çñன, ¥ñ ®¢ë© ¡à â | çñàë©, â ª çâ® ¬ë ᢥ«¨ ¤¥«® ª ®¤®¬ã ¨§ á«ãç ¥¢ 2, 3 ¨«¨ 4. ᫨ ¢¥àè¨ w çñà ï, ¨¬¥¥â ¬¥áâ® ®¤¨ ¨§ á«ãç ¥¢ 2{4. ¨ à §«¨ç îâáï ¬¥¦¤ã ᮡ®© 梥⮬ ¤¥â¥© ¢¥àè¨ë w. á«ãç ¥ 2 (áâப¨ 10{11, à¨á. 14.7¡) ®¡ ॡñª ¢¥àè¨ë w çñàë¥. ª ª ª ¢¥àè¨ w ⮦¥ çñà ï, ¬ë ¬®¦¥¬ áïâì çñàãî ®ªà áªã á x («¨èîî) ¨ á w (ᤥ« ¢ ¥ñ ªà ᮩ), ¨ ¤®¡ ¢¨âì ç¥à®âã த¨â¥«î, p[x]. ®á«¥ í⮣® ¯à®¤®«¦¨¬ ¢ë¯®«¥¨¥ 横« . ¬¥â¨¬, çâ® ¥á«¨ ¬ë ¯®¯ «¨ ¢ á«ãç © 2 ¨§ á«ãç ï 1, â® ¢¥àè¨ p[x] | ªà á ï, ¯®í⮬ã 横« áà §ã ¦¥ § ¢¥àè¨âáï (¤®¡ ¢¨¢ çñண® ª ªà ᮩ ¢¥à訥, ¬ë ªà ᨬ ¥ñ ¢ ®¡ëçë© çñàë© æ¢¥â). ¤ «¥¨¥ 275 á«ãç ¥ 3 (áâப¨ 13{16, à¨á. 14.7¢) ¢¥àè¨ w çñà ï, ¥ñ «¥¢ë© ॡñ®ª | ªà áë©, ¯à ¢ë© | çñàë©. ë ¬®¦¥¬ ¯®¬¥ïâì 梥â w ¨ ¥ñ «¥¢®£® ॡñª ¨ ¯®â®¬ ¯à¨¬¥¨âì ¯à ¢®¥ ¢à 饨¥ â ª, çâ® RB-᢮©á⢠¡ã¤ãâ á®åà ¥ë. ®¢ë¬ ¡à ⮬ ¢¥àè¨ë x ⥯¥àì ¡ã¤¥â çñà ï ¢¥àè¨ á ªà áë¬ ¯à ¢ë¬ ॡñª®¬, ¨ ¬ë ᢥ«¨ á«ãç © 3 ª á«ãç î 4. ª®¥æ, ¢ á«ãç ¥ 4 (áâப¨ 17{21, à¨á. 17.4£) ¢¥àè¨ w (¡à â ¢¥àè¨ë x) ï¥âáï çñன, ¥ñ ¯à ¢ë© ॡñ®ª | ªà áë©. ¥ïï ¥ª®â®àë¥ æ¢¥â ¨ ¯à®¨§¢®¤ï «¥¢®¥ ¢à 饨¥ ¢®ªà㣠p[x], ¬ë ¬®¦¥¬ 㤠«¨âì ¨§«¨èîî ç¥à®âã ã x, ¥ àãè ï RB-᢮©áâ¢. à¨á¢ ¨¢ ¨¥ x root[T ] ¢ë¢®¤¨â á ¨§ 横« . ª®¢® ¢à¥¬ï ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë RB-Delete? ëá®â ªà á®-çñண® ¤¥à¥¢ á n ¢¥àè¨ ¬¨ ¥áâì O(lg n), ¯®íâ®¬ã ¢à¥¬ï ¨á¯®«¥¨ï RB-Delete ¡¥§ ãçñâ RB-Delete-Fixup ¥áâì O(lg n). ª®«ìª® ¢à¥¬¥¨ âॡã¥â 横« ¢ ¯à®æ¥¤ãॠRB-Delete-Fixup? ª ⮫쪮 ®¡ à㦨¢ ¥âáï á«ãç © 1, 3 ¨«¨ 4, ¬ë ¢ë室¨¬ ¨§ 横« (¯à¨ í⮬ ¢ë¯®«ï¥âáï O(1) ®¯¥à 権 ¨ á ¬®¥ ¡®«ì襥 âਠ¢à 饨ï). ® í⮣® ¢®§¬®¦® ¥áª®«ìª® ¯®¢â®à¥¨© á«ãç ï 2, ® ¯à¨ ª ¦¤®¬ ¯®¢â®à¥¨¨ 㪠§ ⥫ì x ¯¥à¥¬¥é ¥âáï ¢¢¥àå ¯® ¤¥à¥¢ã ¨ ¨ª ª¨¥ ¢à é¥¨ï ¥ ¯à®¨§¢®¤ïâáï, â ª çâ® ç¨á«® â ª¨å è £®¢ ¥áâì O(lg n). ª¨¬ ®¡à §®¬, ¯à®æ¥¤ãà RB-Delete-Fixup âॡã¥â ¢à¥¬¥¨ O(lg n), ¨ ®¡é¥¥ ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë RB-Delete â ª¦¥ ¥áâì O(lg n) (®â¬¥â¨¬ ¥éñ à §, çâ® ¯à¨ í⮬ ¯à®¨§¢®¤¨âáï ¥ ¡®«¥¥ âàñå ¢à 饨©). ¯à ¦¥¨ï ¡¥¤¨â¥áì, çâ® ¯®á«¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë RB-Delete ª®à¥ì ¤¥à¥¢ ®áâ ñâáï çñàë¬, ¥á«¨ ® â ª®¢ë¬ ¡ë«. 14.4-2 ã¯à. 14.3-3 ¯®áâ஥® ªà á®-çñ஥ ¤¥à¥¢®, ª®â®à®¥ ¯®«ãç ¥âáï ¤®¡ ¢«¥¨¥¬ ª«î祩 41; 38; 31; 12; 19; 8 ¢ ¯ãá⮥ ¤¥à¥¢®. à¨áã©â¥ ¤¥à¥¢ìï, ª®â®àë¥ ¯®«ãç âáï ¨§ ¥£® ¯à¨ ¯®á«¥¤®¢ ⥫쮬 㤠«¥¨¨ ª«î祩 8; 12; 19; 31; 38; 41. 14.4-3 ª ª¨å áâப å ¯à®æ¥¤ãàë RB-Delete-Fixup ¬ë ¬®¦¥¬ ç¨â âì ¨«¨ ¨§¬¥ïâì ä¨ªâ¨¢ë© í«¥¬¥â nil[T ]? 14.4-4 ¯à®áâ¨â¥ ¯à®æ¥¤ãàã Left-Rotate, ¨á¯®«ì§ãï ä¨ªâ¨¢ë© í«¥¬¥â ¤«ï ¯à¥¤áâ ¢«¥¨ï nil ¨ ¥éñ ®¤¨ ä¨ªâ¨¢ë© í«¥¬¥â, ᮤ¥à¦ 騩 㪠§ â¥«ì ª®à¥ì ¤¥à¥¢ . 14.4-5 «ï ª ¦¤®£® ¨§ á«ãç ¥¢ à¨á㪥 14.7 ¯®¤áç¨â ©â¥ ª®«¨ç¥á⢮ çñàëå ¢¥àè¨ ®â ª®àï ¯®¤¤¥à¥¢ à¨á㪥 ¤® ª ¦¤®£® ¨§ ¯®¤¤¥à¥¢ì¥¢ ; ; : : :; ¨ ã¡¥¤¨â¥áì, çâ® ®® ¥ ¬¥ï¥âáï ¯à¨ ¯à¥®¡à §®¢ ¨ïå. ᯮ«ì§ã©â¥ ®¡®§ 票¥ count(c) ¤«ï "á⥯¥¨ ç¥à14.4-1 276 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï ¥âëॠá«ãç ï, ¢®§¬®¦ëå ¢ ®á®¢®¬ 横«¥ ¯à®æ¥¤ãàë RBñàë¥ ¢¥àè¨ë ¯®ª § ë ª ª çñàë¥, ªà áë¥ ¯®ª § ë âñ¬®-á¥à묨. ¢¥â«®-á¥àë¥ ¢¥àè¨ë 0 à¨á㪥 ¬®£ãâ ¡ëâì ¨ ªà á묨, ¨ çñà묨. (å 梥⠮¡®§ ç îâáï c ¨ c .) 㪢ë ; ;: : : ; ®¡®§ ç î⠯ந§¢®«ìë¥ ¯®¤¤¥à¥¢ìï. ª ¦¤®¬ á«ãç ¥ ª®ä¨£ãà æ¨ï á«¥¢ ¯à¥®¡à §ã¥âáï ¢ ª®ä¨£ãà æ¨î á¯à ¢ ¯¥à¥ªà 訢 ¨¥¬ ¢¥àè¨ ¨/¨«¨ ¢à 饨ﬨ. ¥àè¨ , ª®â®àãî 㪠§ë¢ ¥â x, ¤¢ ¦¤ë çñà ï. ¤¨áâ¢¥ë© á«ãç ©, ª®£¤ ¢ë¯®«¥¨¥ 横« ¯à®¤®«¦ ¥âáï | á«ãç © 2. ( ) «ãç © 1 ᢮¤¨âáï ª á«ãç î 2, 3 ¨«¨ 4, ¥á«¨ ¯®¬¥ïâì ¬¥áâ ¬¨ 梥⠢¥àè¨ B ¨ D ¨ ¯à®¨§¢¥á⨠«¥¢®¥ ¢à 饨¥. (¡) á«ãç ¥ 2 "¨§¡ë⮪ ç¥à®âë" ¢ ¢¥à訥 x ¯¥à¥¬¥é ¥âáï ¢¢¥àå ¯® ¤¥à¥¢ã, ª®£¤ ¬ë ¤¥« ¥¬ D ªà ᮩ ¨ ãáâ ¢«¨¢ ¥¬ 㪠§ ⥫ì x ¢ B . ᫨ ¬ë ¯®¯ «¨ ¢ á«ãç © 2 ¨§ á«ãç ï 1, ⮠横« § ¢¥àè ¥âáï, â ª ª ª ¢¥àè¨ B ¡ë« ªà ᮩ. (¢) «ãç © 3 ᢮¤¨âáï ª á«ãç î 4, ¥á«¨ ¯®¬¥ïâì ¬¥áâ ¬¨ 梥⠢¥àè¨ C ¨ D ¨ ¢ë¯®«¨âì ¯à ¢®¥ ¢à 饨¥. (£) á«ãç ¥ 4 ¬®¦® ¯¥à¥ªà á¨âì ¥ª®â®àë¥ ¢¥àè¨ë ¨ ¢ë¯®«¨âì «¥¢®¥ ¢à 饨¥ (¥ àã訢 RB-᢮©á⢠) â ª, çâ® «¨è¨© çñàë© æ¢¥â ¨á祧 ¥â, ¨ 横« ¬®¦® § ¢¥àè¨âì. ¨á㮪 14.7 Delete-Fixup. ¤ ç¨ ª £« ¢¥ 14 277 ®âë" ¢¥àè¨ë 梥â c, áç¨â ï count(c) à ¢ë¬ 0 ¤«ï ªà ᮩ ¢¥àè¨ë ¨ 1 ¤«ï çñன. 14.4-6 ।¯®«®¦¨¬, çâ® ¢¥àè¨ ¢áâ ¢«¥ ¢ ªà á®-çñ஥ ¤¥à¥¢®, ¯®â®¬ áà §ã ¦¥ 㤠«¥ . 㤥⠫¨ ¯®«ã稢襥áï ¤¥à¥¢® ᮢ¯ ¤ âì á ¨á室ë¬? ®ç¥¬ã? ¤ ç¨ 14-1 ¨ ¬¨ç¥áª¨¥ ¬®¦¥á⢠á á®åà ¥¨¥¬ ¯à¥¤ë¤ãé¨å ¢¥àᨩ ®£¤ ¯®«¥§® á®åà ïâì ¯à¥¤ë¤ã騥 ¢¥àᨨ ¬¥ïî饣®áï ¬®¦¥á⢠. ( ª¨¥ áâàãªâãàë ¤ ëå §ë¢ îâáï ¯®- £«¨©áª¨ persistent data structures.) ®¦®, ª®¥ç®, ª®¯¨à®¢ âì ¬®¦¥á⢮ ª ¦¤ë© à §, ª®£¤ ®® ¨§¬¥ï¥âáï. ® â ª®© ¯®¤å®¤ âॡã¥â ¬®£® ¯ ¬ï⨠¨ ¢à¥¬¥¨ | ¨ ¥áâì ᯮᮡë, ¯®§¢®«ïî騥 ᤥ« âì íâ® ¡®«¥¥ íä䥪⨢®. ë å®â¨¬ ¯à¥¤ãᬮâà¥âì ¢®§¬®¦®áâì åà ¥¨ï ¯à¥¤ë¤ãé¨å ¢¥àᨩ ¤«ï ¬®¦¥á⢠S á ®¯¥à æ¨ï¬¨ Insert, Delete ¨ Search. ë áç¨â ¥¬, çâ® ¬®¦¥á⢮ S ॠ«¨§®¢ ® á ¯®¬®éìî ¤¢®¨çëå ¤¥à¥¢ì¥¢ ¯®¨áª , ª ª ¯®ª § ® à¨á. 14.8 . «ï ª ¦¤®© ¢¥àᨨ ¬®¦¥á⢠¬ë åà ¨¬ ᢮© ®â¤¥«ìë© ª®à¥ì. â®¡ë ¤®¡ ¢¨âì ª«îç 5, ¬ë ᮧ¤ ñ¬ ®¢ãî ¢¥àè¨ã á í⨬ ª«î箬. â ¢¥àè¨ áâ ®¢¨âáï «¥¢ë¬ ॡñª®¬ ®¢®© ¢¥àè¨ë á ª«î箬 7, â ª ª ª áãé¥áâ¢ãîéãî ¢¥àè¨ã ¬¥ïâì ¥«ì§ï. ®¤®¡ë¬ ®¡à §®¬ ®¢ ï ¢¥àè¨ á ª«î箬 7 áâ ®¢¨âáï «¥¢ë¬ ॡñª®¬ ®¢®© ¢¥àè¨ë á ª«î箬 8, ¯à ¢ë© ॡñ®ª ª®â®à®© | áãé¥áâ¢ãîé ï ¢¥àè¨ á ª«î箬 10. á¢®î ®ç¥à¥¤ì, ®¢ ï ¢¥àè¨ á ª«î箬 8 áâ ®¢¨âáï ¯à ¢ë¬ à¥¡ñª®¬ ®¢®£® ª®àï r0 á ª«î箬 4, «¥¢ë© ॡñ®ª ª®â®à®£® | áãé¥áâ¢ãîé ï ¢¥àè¨ á ª«î箬 3. ª¨¬ ®¡à §®¬, ¬ë ª®¯¨à㥬 «¨èì ç áâì ¤¥à¥¢ , ¢ ®á⠫쮬 ¨á¯®«ì§ã¥¬ áâ ஥, ª ª íâ® ¯®ª § ® à¨á. 14.8¡. ë ¯à¥¤¯®« £ ¥¬, çâ® ¢¥àè¨ë ¤¥à¥¢ ᮤ¥à¦ â ¯®«ï key, left ¨ right, ® ¥ ᮤ¥à¦ â ¯®«ï p, 㪠§ë¢ î饣® த¨â¥«ï. (¬. â ª¦¥ ã¯à. 14.3-6.) ®ª ¦¨â¥, ª ª¨¥ ¢¥àè¨ë åà ¨¬®£® â ª¨¬ ®¡à §®¬ ¤¥à¥¢ ¤®«¦ë ¡ëâì ¨§¬¥¥ë (ᮧ¤ ë) ¢ ®¡é¥¬ á«ãç ¥ ¯à¨ ¤®¡ ¢«¥¨¨ ¨«¨ 㤠«¥¨¨ í«¥¬¥â . ¡ ¯¨è¨â¥ ¯à®æ¥¤ãàã Persistent-Tree-Insert, ª®â®à ï ¤®¡ ¢«ï¥â ª«îç k ¢ ¤¥à¥¢® T . ¢ ᫨ ¢ëá®â ¤¥à¥¢ à ¢ h, ᪮«ìª® ¢à¥¬¥¨ ¨ ¯ ¬ï⨠âॡã¥â ¯¨á ï ¢ ¬¨ ¯à®æ¥¤ãà ? (®«¨ç¥á⢮ ¯ ¬ï⨠¬®¦® ¨§¬¥àïâì ª®«¨ç¥á⢮¬ ®¢ëå ¢¥àè¨.) £ ãáâì ¬ë ¨á¯®«ì§ã¥¬ ¨ ¯®«ï p ¢ ¢¥àè¨ å ¤¥à¥¢ . í⮬ á«ãç ¥ ¯à®æ¥¤ãà Persistent-Tree-Insert ¤®«¦ ¡ã¤¥â ¢ë¯®«¨âì 278 « ¢ 14 à á®-çñàë¥ ¤¥à¥¢ìï ¨á㮪 14.8 ( ) ¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª á ª«îç ¬¨ 2; 3; 4; 7; 8; 10. (¡) ¥à¥¢® á á®åà ¥¨¥¬ ¯à¥¤ë¤ãé¨å ¢¥àᨩ ¯®á«¥ ¤®¡ ¢«¥¨ï ª«îç 5. ¥ªãé ï ¢¥àá¨ï á®á⮨⠨§ ¢¥àè¨, ¤®áâã¯ëå ¨§ ⥪ã饣® ª®àï r0 , ¯à¥¤ë¤ãé ï ¢¥àá¨ï ᮤ¥à¦¨â ¢¥àè¨ë, ¤®áâã¯ë¥ ¨§ áâ ண® ª®àï r. ñ¬®-á¥àë¥ ¢¥àè¨ë ¤®¡ ¢«¥ë ¯à¨ ¤®¡ ¢«¥¨¨ ª«îç 5. ¤®¯®«¨â¥«ìë¥ ¤¥©á⢨ï. ®ª ¦¨â¥, çâ® ¢ í⮬ á«ãç ¥ ¢à¥¬ï à ¡®âë ¨ ®¡êñ¬ ¥®¡å®¤¨¬®© ¯ ¬ï⨠¡ã¤ãâ (n), £¤¥ n | ª®«¨ç¥á⢮ ¢¥àè¨ ¢ ¤¥à¥¢¥. ¤ ®ª ¦¨â¥, ª ª ¬®¦® ¨á¯®«ì§®¢ âì ªà á®-çñàë¥ ¤¥à¥¢ìï, çâ®¡ë £ à â¨à®¢ âì, çâ® ¤®¡ ¢«¥¨¥ ¨ 㤠«¥¨¥ í«¥¬¥â ¤«ï ¬®¦¥á⢠á åà ¥¨¥¬ ¯à¥¤ë¤ãé¨å ¢¥àᨩ ¡ã¤ãâ âॡ®¢ âì ¢à¥¬¥¨ O(lg n) ¢ åã¤è¥¬ á«ãç ¥. 14-2 ¯¥à æ¨ï ®¡ê¥¤¨¥¨ï ªà á®-çñàëå ¤¥à¥¢ì¥¢ ¯¥à æ¨ï ®¡ê¥¤¨¥¨ï (join) ¯à¨¬¥ï¥âáï ª ¤¢ã¬ ¤¨ ¬¨ç¥áª¨¬ ¬®¦¥á⢠¬ S1 ¨ S2 ¨ í«¥¬¥âã x, ¯à¨çñ¬ § à ¥¥ ¨§¢¥áâ®, çâ® key[x1] 6 key[x] 6 key[x2 ] ¤«ï «î¡ëå x1 2 S1 ¨ x2 2 S2 . ñ १ã«ìâ ⮬ ï¥âáï ¬®¦¥á⢮ S = S1 [ fxg [ S2. í⮩ § ¤ ç¥ ¬ë ¯®ª ¦¥¬, ª ª ॠ«¨§®¢ âì ®¯¥à æ¨î ®¡ê¥¤¨¥¨ï ¤«ï ªà á®-çñàëå ¤¥à¥¢ì¥¢. ë ¡ã¤¥¬ åà ¨âì çñàãî ¢ëá®âã ªà á®-çñண® ¤¥à¥¢ T ¢ á¯¥æ¨ «ì®© ¯¥à¥¬¥®© bh[T ]. ¡¥¤¨â¥áì, çâ® íâ® § 票¥ ¬®¦® ¯®¤¤¥à¦¨¢ âì, ¥ à §¬¥é ï ¨ª ª®© ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樨 ¢ ¢¥àè¨ å ¤¥à¥¢ ¨ ¥ ãåã¤è ï ᨬ¯â®â¨ªã ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãà RB-Insert ¨ RB-Delete. ®ª ¦¨â¥, çâ®, á¯ã᪠ïáì ¯® ¤¥à¥¢ã, ¬®¦® ¢ëç¨á«¨âì çñàãî ¢ëá®âã ª ¦¤®© ¢¥àè¨ë § ¢à¥¬ï O(1) ¢ à áçñ⥠ª ¦¤ãî ¯à®á¬®âà¥ãî ¢¥àè¨ã. ë å®â¨¬ ॠ«¨§®¢ âì ®¯¥à æ¨î RB-Join(T1; x; T2), ª®â®à ï ¨§ ¤¢ãå ¤¥à¥¢ì¥¢ T1 ¨ T2 ä®à¬¨àã¥â ®¢®¥ ªà á®-çñ஥ ¤¥à¥¢® T = T1 [ fxg [ T2 (áâ àë¥ ¤¥à¥¢ìï ¯à¨ í⮬ à §àãè îâáï). ãáâì n | ®¡é¥¥ ª®«¨ç¥á⢮ ¢¥àè¨ ¢ T1 ¨ T2. ¬¥ç ¨ï ª £« ¢¥ 14 279 ¡ ç¨â ï, çâ® bh[T1] > bh[T2], ®¯¨è¨â¥ «£®à¨â¬ á® ¢à¥¬¥¥¬ à ¡®âë O(lg n), 室ï騩 á।¨ çñàëå ¢¥àè¨ ¤¥à¥¢ T1, ¨¬¥îé¨å çñàãî ¢ëá®âã bh[T2], ¢¥àè¨ã y á ¨¡®«ì訬 ª«î箬. ¢ ãáâì Ty | ¯®¤¤¥à¥¢® á ª®à¥¬ y . ®ª ¦¨â¥, ª ª § ¬¥¨âì Ty Ty [ fxg [ T2 § ¢à¥¬ï O(1) ¡¥§ ¯®â¥à¨ ᢮©á⢠㯮à冷祮áâ¨. £ ª ª®© 梥⠤® ¯®ªà á¨âì x, ç⮡ë á®åà ¨âì RB-᢮©á⢠1, 2 ¨ 4? ¡êïá¨â¥, ª ª ¢®ááâ ®¢¨âì ᢮©á⢮ 3 § ¢à¥¬ï O(lg n). ¤ ¡¥¤¨â¥áì, çâ® ¢à¥¬ï ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë RB-Join ¥áâì O(lg n). ¬¥ç ¨ï ¤¥ï ¡ « á¨à®¢ª¨ ¤¢®¨çëå ¤¥à¥¢ì¥¢ ¯®¨áª ¯à¨ ¤«¥¦¨â . . ¤¥«ìá®ã-¥«ì᪮¬ã ¨ . . ¤¨áã [2], ¯à¥¤«®¦¨¢è¨¬ ¢ 1962 £®¤ã ª« áá á¡ « á¨à®¢ ëå ¤¥à¥¢ì¥¢, §ë¢ ¥¬ëå ⥯¥àì -¤¥à¥¢ìﬨ. « á ¯®¤¤¥à¦¨¢ ¥âáï á ¯®¬®éìî ¢à 饨©; ¤«ï ¥£® ¢®ááâ ®¢«¥¨ï ¯®á«¥ ¤®¡ ¢«¥¨ï ¨«¨ 㤠«¥¨ï ¢¥àè¨ë ¬®¦¥â ¯®âॡ®¢ âìáï (lg n) ¢à 饨© (¤«ï ¤¥à¥¢ á n ¢¥àè¨ ¬¨). éñ ®¤¨ ª« áá ¤¥à¥¢ì¥¢ ¯®¨áª , §ë¢ ¥¬ëå 2-3-¤¥à¥¢ìﬨ, ¡ë« ¯à¥¤«®¦¥ ®¯ªà®ä⮬ (J. E. Hopcroft, ¥ ®¯ã¡«¨ª®¢ ®) ¢ 1970 £®¤ã. ¤¥áì ¡ « á ¯®¤¤¥à¦¨¢ ¥âáï § áçñâ ¨§¬¥¥¨ï á⥯¥¥© ¢¥àè¨. ¡®¡é¥¨¥ 2-3-¤¥à¥¢ì¥¢, §ë¢ ¥¬®¥ -¤¥à¥¢ìﬨ, ¯à¥¤«®¦¨«¨ ©¥à ¨ ªà¥©â [18]; -¤¥à¥¢ìï ®¡á㦤 îâáï ¢ £« ¢¥ 19. à á®-çñàë¥ ¤¥à¥¢ìï ¯à¥¤«®¦¨« ©¥à [17], §¢ ¢ ¨å "ᨬ¬¥âà¨ç묨 ¤¢®¨ç묨 -¤¥à¥¢ìﬨ". ¨¡ á ¨ ¥¤¦¢¨ª [93] ¯®¤à®¡® ¨§ã稫¨ ¨å ᢮©á⢠¨ ¯à¥¤«®¦¨«¨ ¨á¯®«ì§®¢ âì ¤«ï £«ï¤®á⨠ªà áë© ¨ çñàë© æ¢¥â . § ¬®£¨å ¤àã£¨å ¢ ਠ権 ⥬ã á¡ « á¨à®¢ ëå ¤¥à¥¢ì¥¢ ¨¡®«¥¥ «î¡®¯ëâë, ¢¨¤¨¬®, "à áè¨àïî騥áï ¤¥à¥¢ìï" (splay trees), ª®â®àë¥ ¯à¨¤ã¬ «¨ «¥ â®à ¨ àìï [177]. ⨠¤¥à¥¢ìï ïîâáï " á ¬®à¥£ã«¨àãî騬¨áï". (®à®è¥¥ ®¯¨á ¨¥ à áè¨àïîé¨åáï ¤¥à¥¢ì¥¢ ¤ « àìï [188].) áè¨àïî騥áï ¤¥à¥¢ìï ¯®¤¤¥à¦¨¢ îâ ¡ « á ¡¥§ ¨á¯®«ì§®¢ ¨ï ¤®¯®«¨â¥«ìëå ¯®«¥© (⨯ 梥â ). ¬¥áâ® í⮣® "à áè¨àïî騥 ®¯¥à 樨" (splay operations), ¢ª«îç î騥 ¢à 饨ï, ¢ë¯®«ïîâáï ¯à¨ ª ¦¤®¬ ®¡à 饨¨ ª ¤¥à¥¢ã. çñâ ï á⮨¬®áâì (amortized cost, £«. 18) ¢ à áçñ⥠®¤ã ®¯¥à æ¨î á ¤¥à¥¢®¬ ¤«ï à áè¨àïîé¨åáï ¤¥à¥¢ì¥¢ á®áâ ¢«ï¥â O(lg n). 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå «¥ª® ¥ ¢® ¢á¥å á¨âã æ¨ïå ¬®¦® ®¡®©â¨áì «¨èì ª« áá¨ç¥áª¨¬¨ áâàãªâãà ¬¨ ¤ ëå (¤¢®¨ç묨 ¤¥à¥¢ìﬨ ¯®¨áª , ¤¢ãáâ®à®¥ á¢ï§ 묨 ᯨ᪠¬¨, å¥è-â ¡«¨æ ¬¨ ¨ â. ¯.) ¤ ª® ।ª® âॡã¥âáï ¯à¨¤ã¬ âì çâ®-⮠ᮢᥬ ®¢®¥: ¢ ¡®«ìè¨á⢥ á«ãç ¥¢ ¤®áâ â®ç® à áè¨à¨âì ª ªãî-«¨¡® ¨§ ª« áá¨ç¥áª¨å áâàãªâãà ¤ ëå, åà ï ¢¬¥áâ¥ á ¥ñ ®¡ê¥ªâ ¬¨ ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î. ä䥪⨢®¥ ®¡®¢«¥¨¥ í⮩ ¨ä®à¬ 樨 ¯à¨ ¢ë¯®«¥¨¨ ®¯¥à 権 ¨®£¤ âॡã¥â ¥¬ «®© ¨§®¡à¥â ⥫ì®áâ¨. ª ç¥á⢥ ¯à¨¬¥à ¢ í⮬ à §¤¥«¥ à áᬠâਢ îâáï ªà á®çñàë¥ ¤¥à¥¢ìï. à ï ¢ ¢¥àè¨ å ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î, ¬ë ᬮ¦¥¬ ¡ëáâ஠室¨âì i-© ¯® ¯®à浪ã í«¥¬¥â, â ª¦¥ ¢ë¯®«ïâì ®¡à ⮥ ¤¥©á⢨¥: 室¨âì ¯®à浪®¢ë© ®¬¥à ¤ ®£® í«¥¬¥â ¬®¦¥á⢠(à §¤. 15.1). à §¤¥«¥ 15.2 ®¡á㦤 ¥âáï ®¡é ï á奬 à ¡®âë á ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樥© ¨ ¤®ª §ë¢ ¥âáï ⥮६ , ª®â®à ï ®¡«¥£ç ¥â ¯®¯®«¥¨¥ ¤«ï ªà á®-çñàëå ¤¥à¥¢ì¥¢. à §¤¥«¥ 15.3 íâ ¦¥ ⥮६ ¨á¯®«ì§ã¥âáï ¤«ï ¯®áâ஥¨ï áâàãªâãàë ¤ ëå, åà ï饩 ¤¨ ¬¨ç¥áª®¥ ¬®¦¥á⢮ ¯à®¬¥¦ã⪮¢ ( ç¨á«®¢®© ¯àאַ©) ¨ ¯®§¢®«ïî饩 ¡ëáâ஠室¨âì í«¥¬¥â ¬®¦¥á⢠, ¯¥à¥ªàë¢ î騩áï á § ¤ ë¬ ¯à®¬¥¦ã⪮¬. 15.1 ¨ ¬¨ç¥áª¨¥ ¯®à浪®¢ë¥ áâ â¨á⨪¨ ®à浪®¢ë¥ áâ â¨á⨪¨ 㦥 ®¡á㦤 «¨áì ¢ £« ¢¥ 10, £¤¥ ¬ë ¨áª «¨ i-© ¯® ¯®à浪ã í«¥¬¥â ¬®¦¥á⢠¨§ n í«¥¬¥â®¢, çâ® âॡ®¢ «® O(n) ®¯¥à 権 (¥á«¨ ¬®¦¥á⢮ ¯à¥¤¢ à¨â¥«ì® ¥ 㯮à冷祮). ¤ ®¬ à §¤¥«¥ ¬ë ¯®ª ¦¥¬, ª ª á ¯®¬®éìî ¯®¯®«¥ëå ªà á®-çñàëå ¤¥à¥¢ì¥¢ ©â¨ i-© í«¥¬¥â § O(log n) ®¯¥à 権. ஬¥ ⮣®, § â® ¦¥ ¢à¥¬ï ¬®¦® ¡ã¤¥â ©â¨ ¯®à浪®¢ë© ®¬¥à § ¤ ®£® í«¥¬¥â . ®¤å®¤ïé ï áâàãªâãà ¤ ëå ¯®ª § à¨á. 15.1. ®à浪®¢ë¬ ¤¥à¥¢®¬ (order-statistic tree) ¬ë §ë¢ ¥¬ ªà á®-çñ஥ ¤¥à¥¢® T , ª ¦¤ ï ¢¥àè¨ x ª®â®à®£®, ¯®¬¨¬® ®¡ëçëå ¯®«¥© key[x], color[x], p[x], left[x] ¨ right[x] ¨¬¥¥â ¯®«¥ size[x]. ñ¬ åà ¨âáï à §¬¥à (ª®- ¨ ¬¨ç¥áª¨¥ ¯®à浪®¢ë¥ áâ â¨á⨪¨ 281 «¨ç¥á⢮ ¢¥àè¨, ¥ áç¨â ï nil-«¨áâ쥢) ¯®¤¤¥à¥¢ á ª®à¥¬ ¢ x (áç¨â ï ¨ á ¬ã ¢¥àè¨ã x). ç¨â ï, çâ® ¢ ¯®«¥ size[nil] § ¯¨á 0, ¬®¦® ¯¨á âì â ª®¥ á®®â®è¥¨¥: size[x] = size[left[x]] + size[right[x]] + 1: (ਠॠ«¨§ 樨 ¬®¦® ¨á¯®«ì§®¢ âì ä¨ªâ¨¢ë© í«¥¬¥â nil[T ], ª ª ¢ à §¤¥«¥ 14.4, ¬®¦® ª ¦¤ë© à § ¯à®¢¥àïâì, ¥ à ¢¥ «¨ 㪠§ â¥«ì § 票î nil, ¨ ¯®¤áâ ¢«ïâì 0 ¢¬¥áâ® § ç¥¨ï ¯®«ï size.) ®¨áª i-£® ¯® ¢¥«¨ç¨¥ í«¥¬¥â ë ¤®«¦ë 㬥âì ®¡®¢«ïâì ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î (¯®«ï size ) ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â®¢. ® á ç « ®¡êïᨬ, ª ª ¥î ¯®«ì§®¢ âìáï. çñ¬ á ¯®¨áª i-£® í«¥¬¥â . ¥ªãàᨢ ï ¯à®æ¥¤ãà OS-Select(x; i) ¢®§¢à é ¥â 㪠§ ⥫ì i-© í«¥¬¥â ¯®¤¤¥à¥¢ á ª®à¥¬ x. ©â¨ i-© í«¥¬¥â ¢® ¢áñ¬ ¤¥à¥¢¥ T ¬®¦® á ¯®¬®éìî ¢ë§®¢ OS-Select(root[T ]; i). OS-Select(x; i) 1 r size[left[x]]+1 2 if i = r 3 then return x 4 elseif i < r 5 then return OS-Select(left[x]; i) 6 else return OS-Select(right[x]; i ; r) â®â «£®à¨â¬ ¨á¯®«ì§ã¥â âã ¦¥ ¨¤¥î, çâ® ¨ «£®à¨â¬ë ¯®¨áª £« ¢ë 10. ¯®¤¤¥à¥¢¥ á ª®à¥¬ x á ç « ¨¤ãâ size[left[x]] ¢¥àè¨ «¥¢®£® ¯®¤¤¥à¥¢ , ¬¥ìè¨å x, § ⥬ á ¬ ¢¥àè¨ x (ª®â®à ï ï¥âáï (size[left[x]] + 1)-© ¯® áçñâã), ¨ § ⥬ ¢¥àè¨ë ¯à ¢®£® ¯®¤¤¥à¥¢ x. à®æ¥¤ãà ç¨ ¥â á ¢ëç¨á«¥¨ï ¯®à浪®¢®£® ®¬¥à r ¢¥àè¨ë x (áâப 1). ᫨ i = r (áâப 2), â® x ¨ ¥áâì i-© í«¥¬¥â, ¨ ¬ë ¢®§¢à é ¥¬ ¥£® (áâப 3). ᫨ i < r, â® ¨áª®¬ë© í«¥¬¥â 室¨âáï ¢ «¥¢®¬ ¯®¤¤¥à¥¢¥ ¢¥àè¨ë x, ¨ ¯à®£à ¬¬ ४ãàᨢ® ¢ë§ë¢ ¥â ᥡï (áâப 5). ᫨ ¦¥ i > r, â® ¨áª®¬ë© í«¥¬¥â 室¨âáï ¢ ¯à ¢®¬ ¯®¤¤¥à¥¢¥ ¢¥àè¨ë x, ® ¥£® ¯®à浪®¢ë© ®¬¥à ¢ãâਠí⮣® ¯®¤¤¥à¥¢ ¡ã¤¥â 㦥 ¥ i, i ; r. â®â í«¥¬¥â ¢ë¤ ñâáï ¯à¨ à¥ªãàᨢ®¬ ¢ë§®¢¥ ¢ áâப¥ 6. ®ª ¦¥¬, ª ª ¯à®æ¥¤ãà OS-Select ¨é¥â 17-© í«¥¬¥â ¤¥à¥¢ , ¨§®¡à ¦ñ®£® à¨á. 15.1. ë ç¨ ¥¬ á ª®àï (á ª«î箬 26), ¯à¨ í⮬ i = 17. §¬¥à «¥¢®£® ¯®¤¤¥à¥¢ ª®àï à ¢¥ 12, ¯®í⮬㠯®à浪®¢ë© ®¬¥à ª®àï à ¢¥ 13, ¨ ¨áª®¬ ï ¢¥àè¨ å®¤¨âáï ¢ ¯à ¢®¬ ¯®¤¤¥à¥¢¥, ¨¬¥ï â ¬ ¯®à浪®¢ë© ®¬¥à 17 ; 13 = 4. 饬 4-© í«¥¬¥â ¯®¤¤¥à¥¢ á ª®à¥¬ 41. ¥¢®¥ ¯®¤¤¥à¥¢® ¢¥àè¨ë 41 ¨¬¥¥â à §¬¥à 5, â. ¥. ¯®à浪®¢ë© ®¬¥à ¢¥àè¨ë 41 à ¢¥ 6. 饬 282 « ¢ 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå ¨á㮪 15.1 ®à浪®¢®¥ ¤¥à¥¢®. à áë¥ ¢¥àè¨ë ¨§®¡à ¦¥ë ª ª ᢥ⫮á¥àë¥, çñàë¥ | ª ª âñ¬ë¥. ®¬¨¬® ®¡ëçëå ¯®«¥© ªà á®-çñண® ¤¥à¥¢ , ã ª ¦¤®© ¢¥àè¨ë x ¥áâì ¯®«¥ size[x], £¤¥ åà ¨âáï à §¬¥à ¯®¤¤¥à¥¢ á ª®à¥¬ ¢ x. 4-© í«¥¬¥â ¯®¤¤¥à¥¢ á ª®à¥¬ 30. í⮬ ¤¥à¥¢¥ ª®à¥ì ¨¬¥¥â ¯®à浪®¢ë© ®¬¥à 2, ¯®í⮬㠨饬 (4 ; 2) = 2-© í«¥¬¥â ¯à ¢®£® ¯®¤¤¥à¥¢ . í⮬ ¤¥à¥¢¥ ª®à¥ì 38 ®ª § «áï ¢â®àë¬ ¯® ¯®à浪ã (à §¬¥à «¥¢®£® ¯®¤¤¥à¥¢ à ¢¥ 1), ¯®íâ®¬ã ¬ë ¢®§¢à é ¥¬ 㪠§ â¥«ì ¢¥àè¨ã 38. ਠª ¦¤®¬ ४ãàᨢ®¬ ¢ë§®¢¥ ¯à®æ¥¤ãàë ¬ë á¯ã᪠¥¬áï ¯® ¤¥à¥¢ã ®¤¨ ã஢¥ì, ¯®í⮬㠢६ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ ¯à®¯®à樮 «ì® ¢ëá®â¥. ëá®â ªà á®-çñண® ¤¥à¥¢ á n ¢¥àè¨ ¬¨ à ¢ O(log n), â ª çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë OS-Select n-í«¥¬¥â®¬ ¬®¦¥á⢥ ¥áâì O(log n). ¯à¥¤¥«¥¨¥ ¯®à浪®¢®£® ®¬¥à í«¥¬¥â à®æ¥¤ãà OS-Rank ¯®«ãç ¥â 㪠§ ⥫ì í«¥¬¥â x ¯®à浪®¢®£® ¤¥à¥¢ T ¨ 室¨â ¯®à浪®¢ë© ®¬¥à (rank) í«¥¬¥â ¢ ¤¥à¥¢¥. OS-Rank(T; x) 1 r size[left[x]] + 1 2 y x 3 while y = 6 root[T ] 4 do if y = right[p[y ]] 5 then r r + size[left[p[y ]]] + 1 6 y p[y ] 7 return r ®à浪®¢ë© ®¬¥à í«¥¬¥â x ¥¤¨¨æã ¡®«ìè¥ ª®«¨ç¥áâ¢ í«¥¬¥â®¢, ¬¥ìè¨å x. ¨ª« ¢ áâப å 3{6 ¨¬¥¥â â ª®© ¨¢ ਠâ: r ¥áâì ¯®à浪®¢ë© ®¬¥à ¢¥àè¨ë x ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ y. ¥à¥¤ ¯¥à¢ë¬ ¢ë¯®«¥¨¥¬ 横« íâ® â ª: r ¥áâì ¯®à浪®¢ë© ®¬¥à x ¢ ¤¥à¥¢¥ á ª®à¥¬ ¢ x (áâப 1), y = x (áâப 2). ª ¤® ¨§¬¥¨âì r ¯à¨ ¯¥à¥å®¤¥ ®â ¢¥àè¨ë y ª ¥ñ த¨â¥«î p[y]? ᫨ y | «¥¢ë© ॡñ®ª ¢¥àè¨ë p[y], â® ¢¥àè¨ x ¨¬¥¥â ®¤¨ ¨ â®â ¦¥ ¨ ¬¨ç¥áª¨¥ ¯®à浪®¢ë¥ áâ â¨á⨪¨ 283 ¯®à浪®¢ë© ®¬¥à ¢ ¯®¤¤¥à¥¢ìïå á ª®àﬨ ¢ y ¨ p[y]. ᫨ ¦¥ y | ¯à ¢ë© ॡñ®ª, ¯à¨ ¯¥à¥å®¤¥ ®â y ª p[y ] ª ¯®à浪®¢®¬ã ®¬¥àã ¢¥àè¨ë x ¯à¨¡ ¢¨âáï size[left[p[y]]] í«¥¬¥â®¢ «¥¢®£® ¯®¤¤¥à¥¢ ¨ á ¬ ¢¥àè¨ p[y]. áâப¥ 5 ¬ë ã竨 íâã ¤®¡ ¢ªã. ਠ¢ë室¥ ¨§ 横« y = root[T ], r | ¯®à浪®¢ë© ®¬¥à x ¢® ¢áñ¬ ¤¥à¥¢¥. «ï ¯à¨¬¥à ¯®á¬®âਬ, ª ª íâ ¯à®æ¥¤ãà ®¯à¥¤¥«¨â ¯®à浪®¢ë© ®¬¥à ¢¥àè¨ë á ª«î箬 38 ¢ ¤¥à¥¢¥, ¨§®¡à ¦ñ®¬ à¨á. 15.1. â ¡«¨æ¥ ¯®ª § ª«îç ¢¥àè¨ë y ¨ ç¨á«® r ¢ ç «¥ ª ¦¤®£® 横« . £ key[x] r 1 38 2 2 30 4 3 41 4 4 26 17 ®§¢à é ¥âáï § 票¥ 17. ª ¦¤ë¬ è £®¬ £«ã¡¨ ¢¥àè¨ë y 㬥ìè ¥âáï ¥¤¨¨æã, ¨ ª ¦¤ë© è £ âॡã¥â ¢à¥¬¥¨ O(1), ¯®í⮬㠢६ï à ¡®âë ¯à®æ¥¤ãàë OS-Rank n-í«¥¬¥â®¬ ¬®¦¥á⢥ ¥áâì O(log n). ¡®¢«¥¨¥ ¨ä®à¬ 樨 ® à §¬¥à å ¯®¤¤¥à¥¢ì¥¢ ¯®¬®éìî ¯®«¥© size ¬ë ã稫¨áì ¡ëáâà® ¢ëç¨á«ïâì ¯®à浪®¢ë© ®¬¥à í«¥¬¥â , â ª¦¥ 室¨âì i-© í«¥¬¥â ¤¥à¥¢ . ¥¯¥àì ¤® ¯®ïâì, ª ª ®¡®¢«ïâì íâ® ¯®«¥ ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â ¨§ ªà á®-çñண® ¤¥à¥¢ . ª §ë¢ ¥âáï, íâ® ¬®¦® ᤥ« âì, ¥ ãåã¤è¨¢ ᨬ¯â®â¨ç¥áªãî ®æ¥ªã ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãà ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï í«¥¬¥â . ª ¬ë ¢¨¤¥«¨ ¢ à §¤¥«¥ 14.3, ¤®¡ ¢«¥¨¥ í«¥¬¥â ¢ ªà á®çñ஥ ¤¥à¥¢® á®á⮨⠨§ ¤¢ãå ç á⥩: á ç « ¬ë ¤®¡ ¢«ï¥¬ ®¢ãî ¢¥àè¨ã, ¤¥« ï ¥ñ ॡñª®¬ 㦥 áãé¥áâ¢ãî饩, § ⥬ ¯à®¨§¢®¤¨¬ ¥ª®â®àë¥ ¢à é¥¨ï ¨ ¯¥à¥ªà 訢 ¨ï (¥á«¨ íâ® ¥®¡å®¤¨¬®) ¯¥à¢®¬ íâ ¯¥ ¬ë ¤«ï ª ¦¤®© ¯à®©¤¥®© ¢¥àè¨ë x ( ¯ã⨠®â ª®àï ¤® ¬¥áâ ¤®¡ ¢«¥¨ï ¢¥àè¨ë) 㢥«¨ç¨¬ ¥¤¨¨æã § 票¥ size[x]. ¯®«¥ size ¤®¡ ¢«¥®© ¢¥àè¨ë § ¯¨è¥¬ ç¨á«® 1. ਠí⮬ ¬ë ¯à®å®¤¨¬ ¯ãâì ¤«¨®© O(log n) ¨ ¤®¯®«¨â¥«ì® âà ⨬ ¢à¥¬ï O(log n), ¯®á«¥ 祣® ¢á¥ ¯®«ï size ¯à ¢¨«ìë. ਠ¢à 饨¨ ¨§¬¥ïîâáï à §¬¥àë ⮫쪮 ¤¢ãå ¯®¤¤¥à¥¢ì¥¢: ¨å ¢¥àè¨ ¬¨ ïîâáï ª®æë ॡà , ¢®ªà㣠ª®â®à®£® ¯à®¨á室¨«® ¢à 饨¥. ®í⮬㠪 ⥪áâã ¯à®æ¥¤ãàë Left-Rotate(T; x) (à §¤¥« 14.2) ¤®áâ â®ç® ¤®¡ ¢¨âì áâப¨ 13 size[y ] size[x] 14 size[x] size[left[x]] + size[right[x]] + 1 284 « ¢ 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå 15.2 ¡®¢«¥¨¥ ¯®«ï size ¯à¨ ¢à 饨ïå ¢®ªà㣠ॡà (x; y ). â® ¯®«¥ ¥®¡å®¤¨¬® ®¡®¢¨âì ⮫쪮 ã ¢¥àè¨ x ¨ y. «ï ⮣®, ç⮡ë 㧠âì ®¢®¥ § 票¥, ¤®áâ â®ç® ®¡« ¤ âì ¨ä®à¬ 樥©, åà ï饩áï ¢ x, y ¨ ¢ ª®àïå ¯®¤¤¥à¥¢ì¥¢, ¨§®¡à ¦¥ëå ¢ ¢¨¤¥ âà¥ã£®«ì¨ª®¢. ¨á㮪 à¨á. 15.2 ¯®ª § ®, ª ª ¬¥ï¥âáï ¯®«¥ size. «®£¨çë¥ ¨§¬¥¥¨ï ¢¥áñ¬ ¨ ¢ ¯à®æ¥¤ãàã Right-Rotate. ª ª ª ¯à¨ ¤®¡ ¢«¥¨¨ í«¥¬¥â ¢ ªà á®-çñ஥ ¤¥à¥¢® ¢ë¯®«ï¥âáï ¥ ¡®«ìè¥ ¤¢ãå ¢à 饨©, â® ª®à४æ¨ï ¯®«ï size ¯®á«¥ ¢à 饨© âॡã¥â O(1) ®¯¥à 権 ( ¯¥à¥ªà 訢 ¨¥ ¢®®¡é¥ ¥ ¢«¨ï¥â à §¬¥àë). ª¨¬ ®¡à §®¬, ¤®¡ ¢«¥¨¥ í«¥¬¥â ¢ ¯®à浪®¢®¥ ¤¥à¥¢® ¨§ n ¢¥àè¨ âॡã¥â ¢à¥¬¥¨ O(log n), ª ª ¨ ¤«ï ®¡ë箣® ªà á®-çñண® ¤¥à¥¢ . ¤ «¥¨¥ í«¥¬¥â ¨§ ªà á®-çñண® ¤¥à¥¢ â ª¦¥ á®á⮨⠨§ ¤¢ãå ç á⥩ | á ç « ¬ë 㤠«ï¥¬ ¢¥àè¨ã y, § ⥬ ¤¥« ¥¬ (á ¬®¥ ¡®«ì襥) âਠ¢à 饨ï (á¬. à §¤. 14.4). ®á«¥ ¢ë¯®«¥¨ï ¯¥à¢®© ç áâ¨, ¬ë 㬥ì訬 ¥¤¨¨æã ¯®«ï size ã ¢á¥å ¢¥àè¨ ¯ã⨠¨§ y ª ª®àî. «¨ í⮣® ¯ã⨠O(log n), ¯®í⮬㠤®¯®«¨â¥«ì® ¬ ¯®âॡã¥âáï ¢à¥¬ï O(log n). â® ¯à®¨á室¨â á ¢à 饨ﬨ, ¬ë 㦥 ¢¨¤¥«¨. ª¨¬ ®¡à §®¬, ®¡®¢«¥¨¥ ¯®«ï size, ¥ ãåã¤è ¥â ( ᨬ¯â®â¨ç¥áª¨) ¢à¥¬ï, ¥®¡å®¤¨¬®¥ ¤«ï 㤠«¥¨ï ¨ ¤®¡ ¢«¥¨ï í«¥¬¥â . ¯à ¦¥¨ï ãáâì T | ¤¥à¥¢® à¨á. 15.1. ®ª ¦¨â¥, ª ª à ¡®â ¥â ¯à®æ¥¤ãà OS-Select(T; 10). 15.1-2 ãáâì T | ¤¥à¥¢® à¨á. 15.1. ®ª ¦¨â¥, ª ª à ¡®â ¥â ¯à®æ¥¤ãà OS-Rank(T; x), £¤¥ x | ¢¥àè¨ á ª«î箬 35. 15.1-3 ¥à¥¯¨è¨â¥ ¯à®æ¥¤ãàã OS-Select, ¥ ¨á¯®«ì§ãï ४ãàᨨ. 15.1-4 ¥ «¨§ã©â¥ ४ãàᨢãî ¯à®æ¥¤ãàã OS-Key-Rank(T; k), ª®â®à ï ¯®«ãç ¥â ¢å®¤¥ ¯®à浪®¢®¥ ¤¥à¥¢® T á ¯®¯ à® à §«¨ç묨 ª«îç ¬¨, â ª¦¥ ª«îç k, ¨ ¢®§¢à é ¥â ¯®à浪®¢ë© ®¬¥à ª«îç k ¢ í⮬ ¤¥à¥¢¥. 15.1-5 ¢¥àè¨ x ¯®à浪®¢®£® ¤¥à¥¢ ¨§ n ¢¥àè¨ ¨ âãà «ì®¥ ç¨á«® i. ª ©â¨ i-© ¯® ¯®à浪ã í«¥¬¥â, áç¨â ï ®â ¢¥à15.1-1 ¡é ï á奬 à ¡®âë á ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樥© 285 è¨ë x, § ¢à¥¬ï O(log n)? 15.1-6 ¬¥â¨¬, çâ® ¯à®æ¥¤ãàë OS-Select ¨ OS-Rank ¨á¯®«ì§ãîâ ¯®«¥ size ⮫쪮 ¤«ï ⮣®, ç⮡ë 㧠âì ¯®à浪®¢ë© ®¬¥à ¢¥àè¨ë x ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ x. ।¯®«®¦¨¬, çâ® ¬ë åà ¨¬ ¢ ¢¥à訥 ¢¬¥áâ® ¯®«ï size íâ®â ¯®à浪®¢ë© ®¬¥à. ª ®¡®¢«ïâì íâã ¨ä®à¬ æ¨î ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â ? ( ¯®¬¨¬, çâ® ¤®¡ ¢«¥¨¥ ¨ 㤠«¥¨¥ ᮯ஢®¦¤ îâáï ¢à 饨ﬨ.) 15.1-7 ª, ¨á¯®«ì§ãï ¯®à浪®¢ë¥ ¤¥à¥¢ìï, ¯®áç¨â âì ç¨á«® ¨¢¥àᨩ (á¬. § ¤ çã 1-3) ¢ ¬ áᨢ¥ à §¬¥à n § ¢à¥¬ï O(n log n)? 15.1-8? áᬮâਬ n å®à¤ ®ªà㦮áâ¨, § ¤ ëå ᢮¨¬¨ ª®æ ¬¨ (áç¨â ¥¬, çâ® ¢á¥ 2n ª®æ¥¢ëå â®ç¥ª à §«¨çë). ਤ㬠©â¥ «£®à¨â¬, ª®â®àë© § ¢à¥¬ï O(n lg n) ®¯à¥¤¥«ï¥â, ᪮«ìª® ¯ à å®à¤ ¯¥à¥á¥ª îâáï ¢ãâਠªà㣠. ( ¯à¨¬¥à, ¥á«¨ ¢á¥ å®à¤ë | ¤¨ ¬¥âàë, â® ®â¢¥â®¬ ¡ã¤¥â Cn2.) 15.2 ¡é ï á奬 à ¡®âë á ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樥© ¨âã æ¨ï, ª®£¤ âॡã¥âáï ¯®¯®«¨âì ª ªãî-«¨¡® áâ ¤ àâãî áâàãªâãàã ¤ ëå ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樥©, ¤®¢®«ì® ⨯¨ç . ë ¢áâà¥â¨¬áï á ¥© ᮢ ¢ á«¥¤ãî饬 à §¤¥«¥. ¢ í⮬ à §¤¥«¥ ¬ë ¤®ª ¦¥¬ ®¡éãî ⥮६ã, ®¡«¥£ç îéãî íâ®â ¯à®æ¥áá ¢ á«ãç ¥ ªà á®-çñàëå ¤¥à¥¢ì¥¢. ®¯®«¥¨¥ áâàãªâãàë ¤ ëå ¤¥«¨âáï ç¥âëà¥ è £ : 1. ¢ë¡¨à ¥¬ ¡ §®¢ãî áâàãªâãàã ¤ ëå; 2. à¥è ¥¬, ª ªãî ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î ¬ë ¡ã¤¥¬ åà ¨âì (¨ ®¡®¢«ïâì); 3. ¯à®¢¥à塞, çâ® íâã ¨ä®à¬ æ¨î 㤠ñâáï ®¡®¢«ïâì ¯à¨ ¢ë¯®«¥¨¨ ®¯¥à 権, ¤®¯ãá⨬ëå ¤«ï ¢ë¡à ®© áâàãªâãàë ¤ ëå; 4. ॠ«¨§ã¥¬ ®¢ë¥ ®¯¥à 樨. ®¥ç®, í⨠¯à ¢¨« | ¢á¥£® «¨èì ®¡é ï á奬 , ¨ ¢ ª®ªà¥â®© á¨âã 樨 ¤® ¯à®ï¢«ïâì à §ã¬ãî £¨¡ª®áâì, ® á奬 íâ ¬®¦¥â ¡ëâì ¯®«¥§®©. ¢ ©â¥ ¯®á¬®âਬ ª®áâàãªæ¨¨ à §¤¥« 15.1 á â®çª¨ §à¥¨ï íâ¨å ¯à ¢¨«. è £¥ 1 ¬ë ¢ë¡à «¨ ªà á®-çñàë¥ ¤¥à¥¢ìï ¢ ª ç¥á⢥ ¡ §®¢®© áâàãªâãàë. è £¥ 2 ¬ë à¥è¨«¨ ¤®¡ ¢¨âì ª ª ¦¤®© ¢¥à訥 ¯®«¥ size. ¬ëá« åà ¥¨ï ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樨 á®á⮨⠢ ⮬, çâ® ® ¯®§¢®«ï¥â ¢ë¯®«ïâì ¥ª®â®àë¥ ®¯¥à 樨 ¡ëáâ॥. ¥§ ¯®«ï size ¬ë ¥ ᬮ£«¨ ¡ë ¢ë¯®«¨âì ®¯¥à 樨 OS-Select ¨ OS-Rank § ¢à¥¬ï O(log n). (¥áª®«ìª® ¨®© ¢ à¨ â ¢ë¡®à ¤®¯®«¨â¥«ì®© 286 « ¢ 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå ¨ä®à¬ 樨 ¤ ¢ ã¯à. 15.2-1.) è £¥ 3 ¬ë ã¡¥¤¨«¨áì, çâ® ®¡®¢«¥¨¥ ¯®«¥© size ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â®¢ ¬®¦® ¢ë¯®«¨âì ¡¥§ ãåã¤è¥¨ï ᨬ¯â®â¨ª¨ ¤«ï ¢à¥¬¥¨ ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï. í⮬ á¬ëá«¥ è ¢ë¡®à 㤠ç¥: ¥á«¨ ¡ë, ᪠¦¥¬, ¬ë à¥è¨«¨ åà ¨âì ¤«ï ª ¦¤®© ¢¥àè¨ë ¥ñ ¯®à浪®¢ë© ®¬¥à, â® ¯à®æ¥¤ãàë OS-Select ¨ OSRank à ¡®â «¨ ¡ë ¡ëáâà®, ® ¤®¡ ¢«¥¨¥ ®¢®£® í«¥¬¥â ¯®¢«¥ª«® ¡ë § ᮡ®© ¨§¬¥¥¨¥ ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樨 ¢® ¬®£¨å ¢¥àè¨ å ¤¥à¥¢ (¢® ¢á¥å, ¥á«¨ ¤®¡ ¢«¥ë© í«¥¬¥â ¬¨¨¬ «¥). è ¢ë¡®à (¯®«¥ size ) ¤ ñâ 㤠çë© ª®¬¯à®¬¨áá ¬¥¦¤ã «ñ£ª®áâìî ¨á¯®«ì§®¢ ¨ï ¨ ®¡®¢«¥¨ï. è £¥ 4 ¬ë ॠ«¨§®¢ «¨ ¯à®æ¥¤ãàë OS-Select ¨ OS-Rank, ¨§-§ ª®â®àëå ¬ë, ᮡá⢥®, ¨ § ⥢ «¨ ¢áñ íâ® ¤¥«®. ¯à®ç¥¬, ¢ ¤à㣨å á¨âã æ¨ïå (ã¯à. 15.2-1) ¤®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï ¨á¯®«ì§ã¥âáï ¥ ¤«ï ॠ«¨§ 樨 ®¢ëå ®¯¥à 権, ¤«ï ã᪮२ï 㦥 ¨¬¥îé¨åáï. ®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï ¤«ï ªà á®-çñàëå ¤¥à¥¢ì¥¢ «¥¤ãîé ï ⥮६ ¯®ª §ë¢ ¥â, çâ® ¤«ï ªà á®-çñàëå ¤¥à¥¢ì¥¢ ¨ä®à¬ æ¨î ®¯à¥¤¥«ñ®£® ¢¨¤ ¬®¦® ®¡®¢«ïâì, ¥ § ¬¥¤«ïï ( ᨬ¯â®â¨ç¥áª¨) ®¯¥à 樨 ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï. ñ ¤®ª § ⥫ìá⢮ ¢® ¬®£®¬ ¯®¢â®àï¥â à áá㦤¥¨ï ¨§ à §¤¥« 15.1. ¥®à¥¬ 15.1 (®¯®«¥¨¥ ªà á®-çñண® ¤¥à¥¢ ). áᬮâਬ ¤®¯®«¨â¥«ìë© âਡãâ f , ®¯à¥¤¥«ñë© ¤«ï ¢¥àè¨ ªà á®çñàëå ¤¥à¥¢ì¥¢. ।¯®«®¦¨¬, çâ® ¤«ï ¢á类© ¢¥àè¨ë x § 票¥ f [x] ¯®«®áâìî § ¤ ñâáï ®á⠫쮩 ¨ä®à¬ 樥©, åà ï饩áï ¢ ¢¥àè¨ å x, left[x] ¨ right[x] (¢ ⮬ ç¨á«¥ § 票ﬨ f [left[x]] ¨ f [right[x]]), ¨ ¥£® ¢ëç¨á«¥¨¥ ¯® í⨬ ¤ ë¬ âॡã¥â ¢à¥¬¥¨ O(1). ®£¤ ¯®«ï f ¬®¦® ®¡®¢«ïâì ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â ¨§ ¤¥à¥¢ , ¥ ãåã¤è ï ( ᨬ¯â®â¨ç¥áª¨) ¢à¥¬ï ¢ë¯®«¥¨ï ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï. ®ª § ⥫ìá⢮. ¤¥ï ¤®ª § ⥫ìá⢠á®á⮨⠢ ⮬, çâ® ¨§¬¥¥¨¥ ¯®«ï f ¢ ¥ª®â®à®© ¢¥à訥 x ¯®¢«¥çñâ § ᮡ®© ¨§¬¥¥¨ï ¯®«ï f ⮫쪮 ¢ ¢¥àè¨ å, à ᯮ«®¦¥ëå ¯ã⨠¨§ ª®àï ¢ x. á ¬®¬ ¤¥«¥, ¨§¬¥¥¨¥ f [x] ¯®¢«¥çñâ § ᮡ®© ¨§¬¥¥¨¥ f [p[x]], çâ® ¢ á¢®î ®ç¥à¥¤ì ¨§¬¥¨â f [p[p[x]]] ¨ â. ¤., ® ¤à㣨¥ ¢¥àè¨ë ®áâ ãâáï ¥âà®ãâ묨. â f [root[T ]] ¥ § ¢¨á¨â § 票¥ ¯®«ï f ¢ ¤àã£¨å ¢¥àè¨ å, ¨ ¯à®æ¥áá ¨§¬¥¥¨© ®áâ ®¢¨âáï. ª ª ª ¢ëá®â ¤¥à¥¢ à ¢ O(log n), â® ¯®á«¥ ¨§¬¥¥¨ï ¯®«ï f [x] ¤«ï ª ª®©â® ®¤®© ¢¥àè¨ë x ¬ë ᬮ¦¥¬ ®¡®¢¨âì ¢á¥ ¥®¡å®¤¨¬ë¥ ¯®«ï § ¢à¥¬ï O(log n). ®¡ ¢«¥¨¥ í«¥¬¥â x ¢ ¤¥à¥¢® T ¤¥« ¥âáï ¢ ¤¢ íâ ¯ (á¬. à §¤. 14.3). ¯¥à¢®¬ íâ ¯¥ ¢¥àè¨ã x ¤®¡ ¢«ïîâ ¢ ª ç¥á⢥ ॡñª 㦥 áãé¥áâ¢ãî饩 ¢¥àè¨ë p[x]. 票¥ f [x] ¢ëç¨á«ï- ¡é ï á奬 à ¡®âë á ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樥© 287 ¥âáï § ¢à¥¬ï O(1), â ª ª ª ®¢ ï ¢¥àè¨ | «¨áâ (â®ç¥¥, ¥ñ ¤¥â¨ | nil-«¨áâìï). «¥¥ ¯à®¨á室¨â O(lg n) ¨§¬¥¥¨© ¯®«¥© ¯ã⨠ª ª®àî. â ª, ¯¥à¢ë© íâ ¯ § ¨¬ ¥â ¢à¥¬ï O(log n). ¢â®à®¬ íâ ¯¥ ¬ë ¢ë¯®«ï¥¬ ¢à 饨ï (á ¬®¥ ¡®«ì襥 ¤¢ ); ¯®á«¥ ª ¦¤®£® ¯®âॡã¥âáï O(lg n) ®¯¥à 権 ¤«ï à á¯à®áâà ¥¨ï ¨§¬¥¥¨© ¢¢¥àå ¯® ¤¥à¥¢ã. ¤ «¥¨¥ â ª¦¥ ¯à®¢®¤¨âáï ¢ ¤¢ íâ ¯ (á¬. à §¤. 14.4). ¯¥à¢®¬ íâ ¯¥ ¨§¬¥¥¨ï ¢®§¨ª îâ, ¥á«¨ 㤠«ï¥¬ ï ¢¥àè¨ § ¬¥ï¥âáï ¥ñ ¯®á«¥¤®¢ ⥫¥¬, â ª¦¥ ª®£¤ ¬ë ¢ë¡à áë¢ ¥¬ 㤠«ï¥¬ãî ¢¥àè¨ã ¨«¨ ¥ñ ¯®á«¥¤®¢ ⥫ï. ¢ ⮬ ¨ ¢ ¤à㣮¬ á«ãç ¥ ¬ë ¨§¬¥ï¥¬ ¯®«¥ f ã ®¤®© ¢¥àè¨ë, ¯®í⮬㠮¡®¢«¥¨¥ ¢á¥å ¯®«¥© § ©¬¥â ¢à¥¬ï O(log n). ¢â®à®¬ íâ ¯¥ ¬ë ¤¥« ¥¬ á ¬®¥ ¡®«ì襥 âਠ¢à 饨ï, ª ¦¤®¥ ¨§ ª®â®àëå âॡã¥â ¢à¥¬¥¨ O(log n) ¤«ï ®¡®¢«¥¨ï ¯®«¥© ¯ã⨠ª ª®àî. ® ¬®£¨å á«ãç ïå (¢ ç áâ®áâ¨, ¤«ï ¯®«ï size ) ¯à¨ ¢à 饨ïå ¢á¥ ¯®«ï ¬®¦® ®¡®¢¨âì § ¢à¥¬ï O(1), ¥ O(log n). ª ï á¨âã æ¨ï ¢®§¨ª ¥â ¢ ã¯à. 15.2-4. ¯à ¦¥¨ï ®¯®«¨âì ¯®à浪®¢®¥ ¤¥à¥¢® (¥ ãåã¤è¨¢ ᨬ¯â®â¨ç¥áª¨ ¢à¥¬ï ®¯¥à 権) â ª, çâ®¡ë ¬¨¨¬ «ìë© ¨ ¬ ªá¨¬ «ìë© í«¥¬¥âë, â ª¦¥ ¯à¥¤è¥á⢥¨ª ¨ ¯®á«¥¤®¢ â¥«ì ¤ ®£® í«¥¬¥â ®âë᪨¢ «¨áì ¡ë § ¢à¥¬ï O(1). 15.2-2 㤥¬ åà ¨âì ¢ ª ¦¤®© ¢¥à訥 ªà á®-çñண® ¤¥à¥¢ ¥ñ çñàãî ¢ëá®âã. ®§¬®¦® «¨ ®¡®¢«ïâì íâ® ¯®«¥ ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â ¨§ ¤¥à¥¢ , ¥ ãåã¤è¨¢ ( ᨬ¯â®â¨ç¥áª¨) ¢à¥¬ï à ¡®âë íâ¨å ®¯¥à 権? 15.2-3 㤥¬ åà ¨âì ¢ ¢¥à訥 ¥ñ £«ã¡¨ã. ®§¬®¦® «¨ ®¡®¢«ïâì íâ® ¯®«¥ ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â ¨§ ¤¥à¥¢ , ¥ ãåã¤è¨¢ ( ᨬ¯â®â¨ç¥áª¨) ¢à¥¬ï à ¡®âë íâ¨å ®¯¥à 権? 15.2-4? ãáâì | áá®æ¨ ⨢ ï ¡¨ à ï ®¯¥à æ¨ï ¥ª®â®à®¬ ¬®¦¥á⢥ M , ¨ ¯ãáâì ¢ ª ¦¤®© ¢¥à訥 ªà á®-çñண® ¤¥à¥¢ åà ¨âáï ¥ª®â®àë© í«¥¬¥â a ¬®¦¥á⢠M (᢮© ¢ ª ¦¤®© ¢¥à訥). ãáâì ⥯¥àì ¬ë å®â¨¬ åà ¨âì ¢ ª ¦¤®© ¢¥à訥 x ¯®«¥ f [x] = a[x1] a[x2] : : : a[xm ], £¤¥ x1; x2; : : :; xm | ¢á¥ ¢¥àè¨ë ¯®¤¤¥à¥¢ á ª®à¥¬ x (¢ ¯®à浪¥ ¢®§à áâ ¨ï ª«î祩). ®ª § âì, çâ® ¯®«¥ f ¯à¨ ¢à 饨ïå ¬®¦® ®¡®¢«ïâì § ¢à¥¬ï O(1). ஢¥á⨠«®£¨ç®¥ à áá㦤¥¨¥ ¤«ï ¯®«ï size. 15.2-5? ë å®â¨¬ ॠ«¨§®¢ âì ¤«ï ªà á®-çñàëå ¤¥à¥¢ì¥¢ ®¯¥à æ¨î RB-Enumerate(x; a; b), ª®â®à ï ¢ë¤ ñâ ᯨ᮪ ¢á¥å ¢¥àè¨ ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ x, ¤«ï ª®â®àëå ª«îç k 室¨âáï ¢ ¯à®¬¥15.2-1 288 « ¢ 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå ¦ã⪥ a 6 k 6 b. ª ᤥ« âì íâ® § ¢à¥¬ï (m + log n), £¤¥ n | ª®«¨ç¥á⢮ ¢¥àè¨ ¢ ¤¥à¥¢¥, m | ç¨á«® ¢ë¤ ¢ ¥¬ëå ª«î祩? (ª § ¨¥. ®áâ â®ç® ¯®«¥©, ¨¬¥îé¨åáï ¢ ªà á®-çñàëå ¤¥à¥¢ìïå; ®¢ë¥ ¯®«ï ¥ ã¦ë.) 15.3 ¥à¥¢ìï ¯à®¬¥¦ã⪮¢ í⮬ à §¤¥«¥ ¬ë ¨á¯®«ì§ã¥¬ ªà á®-çñàë¥ ¤¥à¥¢ìï ¤«ï åà ¥¨ï ¬¥ïî饣®áï ¬®¦¥á⢠¯à®¬¥¦ã⪮¢. â१ª®¬ (closed interval) [t1 ; t2] §ë¢ ¥âáï ¬®¦¥á⢮ ¢¥é¥á⢥ëå ç¨á¥« t, ¤«ï ª®â®àëå t1 6 t 6 t2 . (।¯®« £ ¥âáï, çâ® t1 6 t2 .) ®«ã¨â¥à¢ « (half-open interval) ¨ ¨â¥à¢ « (open interval) ¯®«ãç îâáï ¨§ ®â१ª ¢ëª¨¤ë¢ ¨¥¬ ®¤®£® ¨«¨ ¤¢ãå ª®æ®¢ ᮮ⢥âá⢥®. í⮬ à §¤¥«¥ ¬ë ¨¬¥¥¬ ¤¥«® ⮫쪮 á ®â१ª ¬¨, ® ¢á¥ १ã«ìâ âë «¥£ª® à á¯à®áâà ïîâáï ¨â¥à¢ «ë ¨ ¯®«ã¨â¥à¢ «ë. ।áâ ¢¨¬ ᥡ¥ ¡ §ã ¤ ëå, ¢ ª®â®à®© åà ¨âáï ¨ä®à¬ æ¨ï ® ¯à®âï¦ñëå ¯® ¢à¥¬¥¨ ᮡëâ¨ïå: ¤«ï ª ¦¤®£® ᮡëâ¨ï åà ¨âáï ¯à®¬¥¦ã⮪ ¢à¥¬¥¨, ª®â®à®¥ ®® § ¨¬ ¥â. áᬠâਢ ¥¬ ï ¢ í⮬ à §¤¥«¥ áâàãªâãà ¤ ëå ¯®§¢®«ï¥â ¯® «î¡®¬ã ¯à®¬¥¦ãâªã ©â¨ ¢á¥ ᮡëâ¨ï, ª®â®àë¥ ¯¥à¥á¥ª îâáï á í⨬ ¯à®¬¥¦ã⪮¬, ¯à¨çñ¬ ¤¥« ¥â íâ® ¤®áâ â®ç® ¡ëáâà®. ë áç¨â ¥¬, çâ® ®â१®ª [t1; t2] ¯à¥¤áâ ¢«ï¥â ᮡ®© § ¯¨áì i, á®áâ®ïéãî ¨§ ¤¢ãå ¯®«¥©: low[i] = t1 («¥¢ë© ª®¥æ (low endpoint)) ¨ high[i] = t2 (¯à ¢ë© ª®¥æ (high endpoint)). 㤥¬ £®¢®à¨âì, çâ® ®â१ª¨ i ¨ i0 ¯¥à¥ªàë¢ îâáï (overlap), ¥á«¨ low[i] 6 high[i0] ¨ low[i0] 6 high[i]; ¨ë¬¨ á«®¢ ¬¨, ¥á«¨ i \ i0 = 6 ;. (¡à â¨â¥ ¢¨¬ ¨¥, çâ® ®â१ª¨, ¨¬¥î騥 ®¡é¨© ª®¥æ, áç¨â îâáï ¯¥à¥ªàë¢ î騬¨áï.) ᥣ® ¢®§¬®¦® âਠ¢ ਠ⠢§ ¨¬®£® à ᯮ«®¦¥¨ï ®â१ª®¢ i ¨ i0 (à¨á. 15.3): 1. ®â१ª¨ i ¨ i0 ¯¥à¥ªàë¢ îâáï, 2. high[i] < low[i0], 3. high[i0] < low[i]. ¥à¥¢®¬ ¯à®¬¥¦ã⪮¢ (interval tree) §®¢ñ¬ ªà á®-çñ஥ ¤¥à¥¢®, ª ¦¤ ï ¢¥àè¨ x ª®â®à®£® åà ¨â ®â१®ª int[x]. ¥à¥¢® ¯à®¬¥¦ã⪮¢ ¯®§¢®«ï¥â ॠ«¨§®¢ âì á«¥¤ãî騥 ®¯¥à 樨: Interval-Insert (T; x) ¤®¡ ¢«ï¥â ª ¤¥à¥¢ã T í«¥¬¥â x (ᮤ¥à¦ 騩 ¥ª®â®àë© ®â१®ª int[x]); Interval-Delete (T; x) 㤠«ï¥â ¨§ ¤¥à¥¢ T í«¥¬¥â x; Interval-Search(T; i) ¢®§¢à é ¥â 㪠§ ⥫ì í«¥¬¥â x ¤¥à¥¢ T , ¤«ï ª®â®à®£® ®â१ª¨ i ¨ int[x] ¯¥à¥ªàë¢ îâáï (¨ ¢®§¢à é ¥â nil, ¥á«¨ â ª®£® í«¥¬¥â ¢ ¤¥à¥¢¥ ¥â). ਬ¥à ¤¥à¥¢ ¯à®¬¥¦ã⪮¢ ¯®ª § à¨á.15.4. «¥¤ãï á奬¥ à §¤¥« 15.2, ¬ë ॠ«¨§ã¥¬ â ªãî áâàãªâãàã ¤ ëå ¨ ®¯¥à 樨 ¥à¥¢ìï ¯à®¬¥¦ã⪮¢ 289 ¨á㮪 15.3 ਠ¢ ਠ⠢§ ¨¬®£® à ᯮ«®¦¥¨ï ®â१ª®¢ i ¨ i0 . ( ) â१ª¨ i ¨ i0 0 ¯¥à¥ªàë¢ îâáï . ®§¬®¦® ç¥âëॠ¢ ਠâ ; ¢® ¢á¥å ç¥âëàñå low[i] 6 high[i ] ¨ low[i0 ] 6 high[i]. (¡) high[i] < low[i0 ]. (¢) high[i0 ] < low[i]. ¥©. £ 1: §®¢ ï áâàãªâãà ¤ ëå ë 㦥 ¢ë¡à «¨ ¡ §®¢ãî áâàãªâãàã: ªà á®-çñ஥ ¤¥à¥¢®, ª ¦¤ ï ¢¥àè¨ x ª®â®à®£® ᮤ¥à¦¨â ®â१®ª int[x]. «î箬 ¢¥àè¨ë ï¥âáï «¥¢ë© ª®¥æ ®â१ª low[int[x]]; ®¡å®¤ ¤¥à¥¢ ¢ ¯®à浪¥ "«¥¢®¥ ¯®¤¤¥à¥¢® | ª®à¥ì | ¯à ¢®¥ ¯®¤¤¥à¥¢®" ¯¥à¥ç¨á«ï¥â ¢¥àè¨ë ¢ ¯®à浪¥ ¢®§à áâ ¨ï ª«î祩. £ 2: ®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï ¦¤ ï ¢¥àè¨ , ¯®¬¨¬® ®â१ª , ᮤ¥à¦¨â ¯®«¥ max[x], ¢ ª®â®à®¬ åà ¨âáï ¬ ªá¨¬ «ìë© ¨§ ¯à ¢ëå ª®æ®¢ ®â१ª®¢, ᮤ¥à¦ é¨åáï ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ x. £ 3: ¡®¢«¥¨¥ ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樨 ஢¥à¨¬, çâ® ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î ¬®¦® ®¡®¢«ïâì ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â ¡¥§ ( ᨬ¯â®â¨ç¥áª®£®) ãåã¤è¥¨ï ¢à¥¬¥¨ à ¡®âë íâ¨å ®¯¥à 権. á ¬®¬ ¤¥«¥, max[x] = max(high[int[x]]; max[left[x]]; max[right[x]]); ¨ ®áâ ñâáï «¨èì á®á« âìáï ⥮६ã 15.1. ®¦® ®â¬¥â¨âì â ª¦¥, çâ® ¯à¨ ¢à 饨ïå ¯®«¥ max ¬®¦® ®¡®¢«ïâì § ¢à¥¬ï O(1) (ã¯à. 15.2-4 ¨ 15.3-1). £ 4: ®¢ë¥ ®¯¥à 樨 à®æ¥¤ãà Interval-Search(T; i) 室¨â ¢ ¤¥à¥¢¥ T ®â१®ª, ¯¥à¥ªàë¢ î騩áï á i. ᫨ â ª®£® ®â१ª ¥â, ® ¢®§¢à é ¥â 290 « ¢ 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå ¨á㮪 15.4 ¥à¥¢® ¯à®¬¥¦ã⪮¢. ( ) ¡®à ¨§ 10 ®â१ª®¢ (¢ëè¥ â®â, ã ª®â®à®£® «¥¢ë© ª®¥æ ¡®«ìè¥). (¡) ¥à¥¢® ¯à®¬¥¦ã⪮¢, åà ï饥 í⨠®â१ª¨. ਠí⮬ ᢮©á⢮ 㯮à冷祮á⨠¤¥à¥¢ ¢ë¯®«ï¥âáï ¤«ï «¥¢ëå ª®æ®¢. § 票¥ nil. Interval-Search (T; i) 1 x root[T ] 2 while x 6= nil ¨ int[x] ¥ ¯¥à¥ªàë¢ ¥âáï á i 3 do if left[x] 6= nil ¨ max[left[x]] > low[i] 4 then x left[x] 5 else x right[x] 6 return x ë ¨é¥¬ ®â१®ª, ¯à®å®¤ï ¤¥à¥¢® ®â ª®àï ª «¨áâã. à®æ¥¤ãà ®áâ ¢«¨¢ ¥âáï, ¥á«¨ ®â१®ª ©¤¥ ¨«¨ ¥á«¨ § 票¥ ¯¥à¥¬¥®© x áâ «® à ¢ë¬ nil. ¦¤ ï ¨â¥à æ¨ï 横« âॡã¥â O(1) è £®¢, ¯®í⮬㠢६ï à ¡®âë ¯à®æ¥¤ãàë ¯à®¯®à樮 «ì® ¢ëá®â¥ ¤¥à¥¢ (¨ à ¢® O(log n) ¤«ï ¤¥à¥¢ ¨§ n ¢¥àè¨). «ï ¯à¨¬¥à ¯®á¬®âਬ, ª ª ¯à®æ¥¤ãà ¨é¥â ¢ ¤¥à¥¢¥ à¨á. 15.4 ®â१®ª, ¯¥à¥ªàë¢ î騩áï á ®â१ª®¬ i = [22; 25]. ë ç¨ ¥¬ á ª®àï (x = root[T ]), ª®â®àë© åà ¨â ®â१®ª [16; 21], ¥ ¯¥à¥ªàë¢ î騩áï á i. ª ª ª max[left[x]] = 23, çâ® ¡®«ìè¥, 祬 ¥à¥¢ìï ¯à®¬¥¦ã⪮¢ 291 low[i] = 22, â® ¬ë ¯¥à¥å®¤¨¬ ª «¥¢®¬ã ॡñªã ª®àï (x left[x]). â®â ॡñ®ª åà ¨â ®â१®ª [8; 9], â ª¦¥ ¥ ¯¥à¥ªàë¢ î騩áï á i. íâ®â à § max[left[x]] = 10 ¬¥ìè¥ low[i] = 22, ¯®íâ®¬ã ¬ë ¯¥à¥å®¤¨¬ ª ¯à ¢®¬ã ॡñªã ¢¥àè¨ë x. ¬ 室¨âáï ®â१®ª [15; 23], ¯¥à¥ªàë¢ î騩áï á i, ¨ ¯®¨áª § ¢¥àè ¥âáï. áᬮâਬ ¯à¨¬¥à ¡¥§à¥§ã«ìâ ⮣® ¯®¨áª ¢ ⮬ ¦¥ ¤¥à¥¢¥ | ¡ã¤¥¬ ¨áª âì ®â१®ª, ¯¥à¥ªàë¢ î騩áï á i = [11; 14]. ®¢ ç¨ ¥¬ á ª®àï. ®à¥ì åà ¨â ®â१®ª [16; 21], ¥ ¯¥à¥ªàë¢ î騩áï á i. ª ª ª max[left[x]] = 23 ¡®«ìè¥ low[i] = 11, ¯¥à¥å®¤¨¬ ª «¥¢®¬ã ॡñªã. ¥¯¥àì ¢ x åà ¨âáï ®â१®ª [8; 9]. ¥ ¯¥à¥ªàë¢ ¥âáï á i, ¨ max[left[x]] = 10 ¬¥ìè¥ low[i] = 11, ¯®í⮬㠨¤ñ¬ ¯à ¢®. («¥¢ ¨áª®¬®£® ®â१ª ¡ëâì ¥ ¬®¦¥â). x ⥯¥àì åà ¨âáï [15; 23], á i íâ®â ®â१®ª ¥ ¯¥à¥ªàë¢ ¥âáï, left[x] = nil, ¯®í⮬㠨¤ñ¬ ¯à ¢® ¨ ¢®§¢à é ¥¬ § 票¥ nil. ®à४â®áâì ¯à®æ¥¤ãàë Interval-Search ãáâ ¢«¨¢ ¥â ⥮६ 15.2, ª®â®à ï ã⢥ত ¥â, çâ® ¥á«¨ ®â१ª¨ int[x] ¨ i ¥ ¯¥à¥ªàë¢ îâáï, â® ¤ «ì¥©è¨© ¯®¨áª ¨¤ñâ ¢ ¯à ¢¨«ì®¬ ¯à ¢«¥¨¨ (¥á«¨ ã¦ë¥ ®â१ª¨ ¢®®¡é¥ ¥áâì ¢ ¤¥à¥¢¥, â® ®¨ ¥áâì ¨ ¢ ¢ë¡¨à ¥¬®© ç á⨠¤¥à¥¢ ). ®í⮬㠬 ¤®áâ â®ç® ¯à®á¬®âà¥âì ¢á¥£® ®¤¨ ¯ãâì. (¡à â¨â¥ ¢¨¬ ¨¥, çâ® á«®¢ "¯à ¢¨«ì®¥ ¯à ¢«¥¨¥" ¥ ®§ ç îâ, çâ® ¢ ¤à㣮¬ ¯à ¢«¥¨¨ ¨áª®¬ëå ®â१ª®¢ ¥â: ¬ë ã⢥ত ¥¬ «¨èì, çâ® ¥á«¨ ®¨ ¥áâì ¢®®¡é¥, â® ¥áâì ¨ ¢ "¯à ¢¨«ì®¬" ¯à ¢«¥¨¨!) ¥®à¥¬ 15.2. ãáâì x | ¯à®¨§¢®«ì ï ¢¥àè¨ ¤¥à¥¢ , i | ®â१®ª, ¥ ¯¥à¥ªàë¢ î騩áï á int[x], ¨ ¬ë ¢ë¯®«ï¥¬ áâப¨ 3{5 ¯à®æ¥¤ãàë Interval-Search(T; i). ®£¤ : 1. ᫨ ¢ë¯®«ï¥âáï áâப 4, â® «¨¡® ¯®¤¤¥à¥¢® á ª®à¥¬ left[x] («¥¢®¥ ¯®¤¤¥à¥¢®) ᮤ¥à¦¨â ®â१®ª, ¯¥à¥ªàë¢ î騩áï á i, «¨¡® ¯®¤¤¥à¥¢® á ª®à¥¬ right[x] (¯à ¢®¥ ¯®¤¤¥à¥¢®) ¥ ᮤ¥à¦¨â ®â१ª , ¯¥à¥ªàë¢ î饣®áï á i. 2. ᫨ ¢ë¯®«ï¥âáï áâப 5, â® «¥¢®¥ ¯®¤¤¥à¥¢® ¥ ᮤ¥à¦¨â ®â१ª , ¯¥à¥ªàë¢ î饣®áï á i. ®ª § ⥫ìá⢮. çñ¬ á ¡®«¥¥ ¯à®á⮣® á«ãç ï 2. âப 5 ¢ë¯®«ï¥âáï, ¥á«¨ ¥ ¢ë¯®«¥® ãá«®¢¨¥ ¢ áâப¥ 3, â® ¥áâì ¥á«¨ left[x] = nil ¨«¨ max[left[x]] < low[i]. ¯¥à¢®¬ á«ãç ¥ «¥¢®¥ ¯®¤¤¥à¥¢® ¯ãáâ®, ¯®í⮬㠥 ᮤ¥à¦¨â ®â१ª , ¯¥à¥ªàë¢ î饣®áï á i. ।¯®«®¦¨¬, çâ® left[x] = 6 nil ¨ max[left[x]] < low[i]. áᬮâਬ ¯à®¨§¢®«ìë© ®â१®ª i0 ¨§ «¥¢®£® ¯®¤¤¥à¥¢ (á¬. à¨á. 15.5 ). ª ª ª max[left[x]] | ¨¡®«ì訩 ¯à ¢ë© ª®¥æ â ª¨å ®â१ª®¢, â® high[i0] 6 max[left[i]] < low[i]; ¯®í⮬㠮â१®ª i0 楫¨ª®¬ «¥¦¨â «¥¢¥¥ ®â१ª i. «ãç © 2 à áᬮâà¥. 292 « ¢ 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå ¨á㮪 15.5 â१ª¨ ¢ ¤®ª § ⥫ìá⢥ ⥮६ë 15.2. ãªâ¨à®¬ ¯®ª § ® § 票¥ max[left[x]]. ( ) «ãç © 2: ¬ë ¨¤¥¬ ¯à ¢®. ¨ª ª®© ¨â¥à¢ « i0 ¥ ¯¥à¥ªàë¢ ¥âáï á i. (¡) «ãç © 01: ¬ë ¨¤¥¬ «¥¢®. 롥६ ¢ «¥¢®¬ ¯®¤¤¥à¥¢¥ ®â१®ª i0 , ¤«ï ª®â®à®£® high[i ] = max[left[x]] > low[i]. ®£¤ «¨¡® i0 ¯¥à¥ªàë¢ ¥âáï á i, «¨¡® i0 «¥¦¨â 楫¨ª®¬ á¯à ¢ ®â i, ¨ i ¥0 ¯¥à¥ªàë¢ ¥âáï ¨ á ª ª¨¬ 00 ®â१ª®¬ i ¨§ ¯à ¢®£® ¯®¤¤¥à¥¢ , ¯®â®¬ã çâ® low[i ] 6 low[i00 ]. áᬮâਬ ⥯¥àì á«ãç © 1. ।¯®«®¦¨¬, çâ® ¢ «¥¢®¬ ¯®¤¤¥à¥¢¥ ¥â ®â१ª®¢, ¯¥à¥ªàë¢ îé¨åáï á i. ®£¤ 㦮 ¤®ª § âì, çâ® â ª¨å ®â१ª®¢ ¥â ¨ ¢ ¯à ¢®¬. ª ª ª ¢ë¯®«ï¥âáï áâப 4, â® ãá«®¢¨¥ ¢ áâப¥ 3 ¢ë¯®«¥®, ¨ max[left[x]] > low[i]. ®í⮬㠢 «¥¢®¬ ¯®¤¤¥à¥¢¥ ©¤ñâáï ®â१®ª i0, ¤«ï ª®â®à®£® high[i0] = max[left[i0]] > low[i] (á¬. à¨á. 15.5¡). ® ®â१ª¨ i ¨ i0 ¥ ¯¥à¥ªàë¢ îâáï (¯® ¯à¥¤¯®«®¦¥¨î | ¬ë áç¨â ¥¬, çâ® ¢ «¥¢®¬ ¯®¤¤¥à¥¢¥ ¥â ®â१ª®¢, ¯¥à¥ªàë¢ îé¨åáï á i). â® ®§ ç ¥â, çâ® ®â१®ª i0 «¥¦¨â 楫¨ª®¬ á¯à ¢ ®â i (楫¨ª®¬ á«¥¢ ® «¥¦ âì ¥ ¬®¦¥â), â® ¥áâì high[i] < low[i0]. ¤¥à¥¢¥ T ¢ë¯®«¥® ᢮©á⢮ 㯮à冷祮á⨠«¥¢ëå ª®æ®¢, ¯®í⮬㠨 ¢á¥ ®â१ª¨ ¯à ¢®£® ¯®¤¤¥à¥¢ «¥¦ â 楫¨ª®¬ á¯à ¢ ®â i: ¤«ï ¯à®¨§¢®«ì®£® ®â१ª i00 ¨§ ¯à ¢®£® ¯®¤¤¥à¥¢ ¢ë¯®«¥® high[i] < low[i0] 6 low[i00 ]: ¯à ¦¥¨ï ¯¨è¨â¥ ¯à®æ¥¤ãàã Left-Rotate ¤«ï ¤¥à¥¢ ¯à®¬¥¦ã⪮¢, ª®â®à ï ®¡®¢«ï¥â ¯®«ï max § ¢à¥¬ï O(1). 15.3-2 ¥à¥¯¨è¨â¥ ¯à®æ¥¤ãàã Interval-Search ¤«ï á«ãç ï, ª®£¤ ¢ ¤¥à¥¢¥ ¯à®¬¥¦ã⪮¢ åà ïâáï ¥ ®â१ª¨, ¨â¥à¢ «ë (â® ¥áâì á ¨â¥à¥áãîâ ¯¥à¥ªàëâ¨ï ¥ã«¥¢®© ¤«¨ë). 15.3-3 ®áâன⥠«£®à¨â¬, ª®â®àë© ¯® § ¤ ®¬ã ®â१ªã ¢®§¢à é ¥â ¯¥à¥ªàë¢ î騩áï á ¨¬ ®â१®ª á ¬¨¨¬ «ìë¬ «¥¢ë¬ ª®æ®¬ (¨«¨ ª®áâ âã nil, ¥á«¨ â ª¨å ®â१ª®¢ ¥â). 15.3-4 ¯¨è¨â¥ ¯à®£à ¬¬ã, ª®â®à ï ¯® § ¤ ®¬ã ®â१ªã i ¨ ¤¥à¥¢ã ¯à®¬¥¦ã⪮¢ T ¢®§¢à é ¥â ᯨ᮪ ¢á¥å ®â१ª®¢ ¤¥15.3-1 ¤ ç¨ ª £« ¢¥ 15 293 ॢ T , ¯¥à¥ªàë¢ îé¨åáï á i. ६ï à ¡®âë ¤®«¦® ¡ëâì O(min(n; k log n)), £¤¥ k | ç¨á«® í«¥¬¥â®¢ ¢®§¢à é ¥¬®£® ᯨ᪠. (®¯®«¨â¥«ìë© ¢®¯à®á: ª ª ᤥ« âì íâ®, ¥ ¬¥ïï ¤¥à¥¢ ?) 15.3-5 ª¨¥ ¤® ¢¥á⨠¨§¬¥¥¨ï ¢ ®¯à¥¤¥«¥¨¥ ¤¥à¥¢ ¯à®¬¥¦ã⪮¢, çâ®¡ë ¤®¯®«¨â¥«ì® ॠ«¨§®¢ âì ¯à®æ¥¤ãàã Interval-Search-Exactly(T; i), ª®â®à ï «¨¡® ¢®§¢à é ¥â ¢¥àè¨ã x ¤¥à¥¢ T , ¤«ï ª®â®à®© low[int[x]] = low[i] ¨ high[int[x]] = high[i], «¨¡® ¢ë¤ ñâ ª®áâ âã nil, ¥á«¨ â ª¨å ¢¥àè¨ ¥â (¨é¥â ®â१®ª, à ¢ë© i, ¥ ¯à®áâ® ¯¥à¥ªàë¢ î騩áï á i.) ६ï à ¡®âë ¯à®æ¥¤ãàë Interval-Search-Exactly, â ª¦¥ ¢á¥å ¯à¥¦¨å ¯à®æ¥¤ãà ¯à®¬¥¦ã⪮¢ ¤®«¦® ®áâ ¢ âìáï à ¢ë¬ O(log n). 15.3-6 áᬮâਬ ¬®¦¥á⢮ Q âãà «ìëå ç¨á¥«. ¯à¥¤¥«¨¬ Min-Gap ª ª à ááâ®ï¨¥ ¬¥¦¤ã ¤¢ã¬ï ¡«¨¦ ©è¨¬¨ ç¨á« ¬¨ ¢ Q. ¯à¨¬¥à, ¥á«¨ Q = f1; 5; 9; 15; 18; 22g, â® Min-Gap(Q) à ¢® 18 ; 15 = 3. ¥ «¨§ã©â¥ áâàãªâãàã ¤ ëå, íä䥪⨢® ॠ«¨§ãîéãî ¤®¡ ¢«¥¨¥, 㤠«¥¨¥ ¨ ¯®¨áª í«¥¬¥â , â ª¦¥ ®¯¥à æ¨î MinGap. ª®¢® ¢à¥¬ï à ¡®âë íâ¨å ®¯¥à 権? 15.3-7? à¨ à §à ¡®âª¥ ¨â¥£à «ìëå á奬 ¨ä®à¬ æ¨ï ç áâ® ¯à¥¤áâ ¢«ï¥âáï ¢ ¢¨¤¥ ᯨ᪠¯àאַ㣮«ì¨ª®¢. ãáâì ¤ ë n ¯àאַ㣮«ì¨ª®¢ á® áâ®à® ¬¨, ¯ à ««¥«ì묨 ®áï¬ ª®®à¤¨ â. ¦¤ë© ¯àאַ㣮«ì¨ª § ¤ ñâáï ç¥âëàì¬ï ç¨á« ¬¨: ª®®à¤¨ â ¬¨ «¥¢®£® ¨¦¥£® ¨ ¯à ¢®£® ¢¥à奣® 㣫®¢. ¯¨á âì ¯à®£à ¬¬ã, ª®â®à ï § ¢à¥¬ï O(n log n) ¢ëïáï¥â, ¥áâì «¨ á।¨ íâ¨å ¯àאַ㣮«ì¨ª®¢ ¤¢ ¯¥à¥ªàë¢ îé¨åáï (® ¥ âॡã¥âáï ©â¨ ¢á¥ ¯¥à¥ªàë¢ î騥áï ¯àאַ㣮«ì¨ª¨). ¡à â¨â¥ ¢¨¬ ¨¥, çâ® £à ¨æë ¯¥à¥ªàë¢ îé¨åáï ¯àאַ㣮«ì¨ª®¢ ¬®£ãâ ¥ ¯¥à¥á¥ª âìáï, ¥á«¨ ®¤¨ «¥¦¨â ¢ãâਠ¤à㣮£®. (ª § ¨¥. ¢¨£ ¥¬ £®à¨§®â «ìãî ¯àï¬ãî ᨧ㠢¢¥àå ¨ ᬮâਬ, ª ª ¬¥ï¥âáï ¥ñ ¯¥à¥á¥ç¥¨¥ á ¯àאַ㣮«ì¨ª ¬¨.) ¤ ç¨ 15-1 ®çª ¬ ªá¨¬ «ì®© ªà â®á⨠ë å®â¨¬ á«¥¤¨âì § â®çª®© ¬ ªá¨¬ «ì®© ªà â®á⨠(point of maximum overlap) ¬®¦¥á⢠¯à®¬¥¦ã⪮¢ | â®çª®©, ª®â®à ï ¯à¨ ¤«¥¦¨â ¬ ªá¨¬ «ì®¬ã ç¨á«ã ¯à®¬¥¦ã⪮¢ ¨§ í⮣® ¬®¦¥á⢠. ª ¬ ®¡®¢«ïâì ¨ä®à¬ æ¨î ®¡ í⮩ â®çª¥ ¯à¨ ¤®¡ ¢«¥¨¨ ¨ 㤠«¥¨¨ í«¥¬¥â ? 294 « ¢ 15 ®¯®«¥¨¥ áâàãªâãà ¤ ëå 15-2 ¥â᪠ï áç¨â «ª ¤ ç ® ¤¥â᪮© áç¨â «ª¥ (Josephus problem) á®á⮨⠢ á«¥¤ãî- 饬. ¨ªá¨à㥬 ¤¢ ç¨á« m ¨ n (m 6 n). ç «¥ n ¤¥â¥© áâ®ïâ ¯® ªàã£ã. ç ¢ á ª®£®-â®, ¬ë áç¨â ¥¬ "¯¥à¢ë©, ¢â®à®©, âà¥_ ⮫쪮 ¤®å®¤¨¬ ¤® m-£®, ® ¢ë室¨â ¨§ ªà㣠, ¨ áçñâ ⨩..." ª ¯à®¤®«¦ ¥âáï ¤ «ìè¥ ¯® ªàã£ã 㦥 ¡¥§ ¥£® ( ç¨ ï á ¥¤¨¨æë). ª ¯à®¤®«¦ ¥âáï, ¯®ª ¥ ®áâ ¥âáï ஢® ®¤¨ 祫®¢¥ª. á ¡ã¤¥â ¨â¥à¥á®¢ âì § ¢¨áïé ï ®â n ¨ m ¯®á«¥¤®¢ ⥫ì®áâì ((n; m)Josephus permutation), ¢ ª®â®à®© ¤¥â¨ ¢ë室ïâ ¨§ ªà㣠. ¯à¨¬¥à, ¯à¨ n = 7 ¨ m = 3 ¨áª®¬ ï ¯®á«¥¤®¢ ⥫ì®áâì ¢ë£«ï¤¨â â ª: h3; 6; 2; 7; 5; 1; 4i. 䨪á¨à㥬 m. ¯¨è¨â¥ ¯à®£à ¬¬ã, ª®â®à ï ¯® ¤ ®¬ã n ¤ ñâ íâã ¯®á«¥¤®¢ ⥫ì®áâì § ¢à¥¬ï O(n). ¡ ¯¨è¨â¥ ¯à®£à ¬¬ã, ª®â®à ï ¯® ¯à®¨§¢®«ìë¬ n ¨ m ¤ ñ⠨᪮¬ãî ¯®á«¥¤®¢ ⥫ì®áâì § ¢à¥¬ï O(n log n). ¬¥ç ¨ï ¯¨á ¨ï ¥ª®â®àëå ¢¨¤®¢ ¤¥à¥¢ì¥¢ ¯à®¬¥¦ã⪮¢ ¬®¦® ©â¨ ¢ ९ à â ¨ ¬®á [160]. ¨¡®«ì訩 ⥮à¥â¨ç¥áª¨© ¨â¥à¥á ¯à¥¤áâ ¢«ï¥â §¤¥áì १ã«ìâ â, ª ª®â®à®¬ã ¥§ ¢¨á¨¬® ¯à¨è«¨ ¤¥«ìá¡àã¥à (H. Edelsbrunner, 1980) ¨ ªà¥©â (E. M. McCreight, 1981). §à ¡®â ï ¨¬¨ áâàãªâãà ¤ ëå åà ¨â n ®â१ª®¢ ¨ ¯®§¢®«ï¥â ¯¥à¥ç¨á«¨âì ⥠¨§ ¨å, ª®â®àë¥ ¯¥à¥ªàë¢ îâáï á § ¤ ë¬ ®â१ª®¬, § ¢à¥¬ï O(k + log n), £¤¥ k | ª®«¨ç¥á⢮ â ª¨å ®â१ª®¢. IV ¥â®¤ë ¯®áâ஥¨ï ¨ «¨§ «£®à¨â¬®¢ ¢¥¤¥¨¥ â ç áâì ¯®á¢ïé¥ âàñ¬ ¢ ¦ë¬ ¬¥â®¤ ¬ ¯®áâ஥¨ï ¨ «¨§ íä䥪⨢ëå «£®à¨â¬®¢: ¤¨ ¬¨ç¥áª®¬ã ¯à®£à ¬¬¨à®¢ ¨î (£« ¢ 16), ¦ ¤ë¬ «£®à¨â¬ ¬ (£« ¢ 17) ¨ ¬®à⨧ 樮®¬ã «¨§ã (£« ¢ 18). ⨠¬¥â®¤ë, ¢®§¬®¦®, çãâì á«®¦¥¥ à §®¡à ëå à ¥¥ ("à §¤¥«ï© ¨ ¢« áâ¢ã©", ¨á¯®«ì§®¢ ¨¥ á«ãç ©ëå ç¨á¥«, à¥è¥¨¥ ४ãàà¥âëå á®®â®è¥¨©), ® ¥ ¬¥¥¥ ¢ ¦ë. ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ®¡ëç® ¯à¨¬¥ï¥âáï ª § ¤ ç ¬, ¢ ª®â®àëå ¨áª®¬ë© ®â¢¥â á®á⮨⠨§ ç á⥩, ª ¦¤ ï ¨§ ª®â®àëå ¢ á¢®î ®ç¥à¥¤ì ¤ ñâ ®¯â¨¬ «ì®¥ à¥è¥¨¥ ¥ª®â®à®© ¯®¤§ ¤ ç¨. ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¯®«¥§®, ¥á«¨ à §ëå ¯ãâïå ¬®£®ªà â® ¢áâà¥ç îâáï ®¤¨ ¨ ⥠¦¥ ¯®¤§ ¤ ç¨; ®á®¢®© â¥å¨ç¥áª¨© ¯à¨ñ¬ | § ¯®¬¨ âì à¥è¥¨ï ¢áâà¥ç îé¨åáï ¯®¤§ ¤ ç á«ãç ©, ¥á«¨ â ¦¥ ¯®¤§ ¤ ç ¢áâà¥â¨âáï ¢®¢ì. ¤ë¥ «£®à¨â¬ë, ª ª ¨ ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥, ¯à¨¬¥ïîâáï ¢ â¥å á«ãç ïå, ª®£¤ ¨áª®¬ë© ®¡ê¥ªâ áâநâáï ¯® ç áâï¬. ¤ë© «£®à¨â¬ ¤¥« ¥â ª ¦¤®¬ è £¥ "«®ª «ì® ®¯â¨¬ «ìë©" ¢ë¡®à. à®á⮩ ¯à¨¬¥à: áâ à ïáì ¡à âì ¤ ãî á㬬㠤¥¥£ ¬¨¨¬ «ìë¬ ç¨á«®¬ ¬®¥â, ¬®¦® ¯®á«¥¤®¢ â¥«ì® ¡à âì ¬®¥âë ¨¡®«ì襣® ¢®§¬®¦®£® ¤®á⮨á⢠(¥ ¯à¥¢®á室ï饣® ⮩ á㬬ë, ª®â®àãî ®áâ «®áì ¡à âì). ¤ë© «£®à¨â¬ ®¡ëç® à ¡®â ¥â £®à §¤® ¡ëáâ॥, 祬 «£®à¨â¬, ®á®¢ ë© ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨. ¤ ª® ¦ ¤ë© «£®à¨â¬ ¢®¢á¥ ¥ ¢á¥£¤ ¤ ñâ ®¯â¨¬ «ì®¥ à¥è¥¨¥. ® ¬®£¨å § ¤ ç å ¯à¨¬¥¨¬®áâì ¦ ¤ëå «£®à¨â¬®¢ 㤠ñâáï ¤®ª § âì á ¯®¬®éìî â ª §ë¢ ¥¬ëå ¬ âந¤®¢, ® ª®â®àëå à á᪠§ ® ¢ £« ¢¥ 17. ¬®à⨧ æ¨®ë© «¨§ | íâ® á।á⢮ «¨§ «£®à¨â¬®¢, ¯à®¨§¢®¤ïé¨å ¯®á«¥¤®¢ ⥫ì®áâì ®¤®â¨¯ëå ®¯¥à 権. ¬¥á⮠⮣®, çâ®¡ë ®æ¥¨¢ âì ¢à¥¬ï à ¡®âë ¤«ï ª ¦¤®© ¨§ íâ¨å ®¯¥à 権 ¯® ®â¤¥«ì®áâ¨, ¬®à⨧ æ¨®ë© «¨§ ®æ¥¨¢ ¥â á।¥¥ 298 áâì IV ¥â®¤ë ¯®áâ஥¨ï ¨ «¨§ «£®à¨â¬®¢ ¢à¥¬ï à ¡®âë ¢ à áçñ⥠®¤ã ®¯¥à æ¨î. §¨æ ¬®¦¥â ®ª § âìáï áãé¥á⢥®©, ¥á«¨ ¤®«£® ¢ë¯®«ï¥¬ë¥ ®¯¥à 樨 ¥ ¬®£ãâ ¨¤â¨ ¯®¤àï¤. á ¬®¬ ¤¥«¥ ¬®à⨧ æ¨®ë© «¨§ | ¥ ⮫쪮 á।á⢮ «¨§ «£®à¨â¬®¢, ® ¥é¥ ¨ ¯®¤å®¤ ª à §à ¡®âª¥ «£®à¨â¬®¢: ¢¥¤ì à §à ¡®âª «£®à¨â¬ ¨ «¨§ ᪮à®á⨠¥£® à ¡®âë â¥á® á¢ï§ ë. £« ¢¥ 18 ¬ë à á᪠§ë¢ ¥¬ ® âàñå ¬¥â®¤ å ¬®à⨧ 樮®£® «¨§ «£®à¨â¬®¢. 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ®¤®¡® ¬¥â®¤ã "à §¤¥«ï© ¨ ¢« áâ¢ã©", ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ à¥è ¥â § ¤ çã, à §¡¨¢ ï ¥ñ ¯®¤§ ¤ ç¨ ¨ ®¡ê¥¤¨ïï ¨å à¥è¥¨ï. ª ¬ë ¢¨¤¥«¨ ¢ £« ¢¥ 1, «£®à¨â¬ë ⨯ "à §¤¥«ï© ¨ ¢« áâ¢ã©" ¤¥«ïâ § ¤ çã ¥§ ¢¨á¨¬ë¥ ¯®¤§ ¤ ç¨, í⨠¯®¤§ ¤ ç¨ | ¡®«¥¥ ¬¥«ª¨¥ ¯®¤§ ¤ ç¨ ¨ â ª ¤ «¥¥, § ⥬ ᮡ¨à îâ à¥è¥¨¥ ®á®¢®© § ¤ ç¨ "ᨧ㠢¢¥àå". ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¯à¨¬¥¨¬® ⮣¤ , ª®£¤ ¯®¤§ ¤ ç¨ ¥ ïîâáï ¥§ ¢¨á¨¬ë¬¨, ¨ë¬¨ á«®¢ ¬¨, ª®£¤ ã ¯®¤§ ¤ ç ¥áâì ®¡é¨¥ "¯®¤¯®¤§ ¤ ç¨". í⮬ á«ãç ¥ «£®à¨â¬ ⨯ "à §¤¥«ï© ¨ ¢« áâ¢ã©" ¡ã¤¥â ¤¥« âì «¨èîî à ¡®âã, à¥è ï ®¤¨ ¨ ⥠¦¥ ¯®¤¯®¤§ ¤ ç¨ ¯® ¥áª®«ìªã à §. «£®à¨â¬, ®á®¢ ë© ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨, à¥è ¥â ª ¦¤ãî ¨§ ¯®¤§ ¤ ç ¥¤¨®¦¤ë ¨ § ¯®¬¨ ¥â ®â¢¥âë ¢ á¯¥æ¨ «ì®© â ¡«¨æ¥. â® ¯®§¢®«ï¥â ¥ ¢ëç¨á«ïâì § ®¢® ®â¢¥â ª 㦥 ¢áâà¥ç ¢è¥©áï ¯®¤§ ¤ ç¥. ⨯¨ç®¬ á«ãç ¥ ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¯à¨¬¥ï¥âáï ª § ¤ ç ¬ ®¯â¨¬¨§ 樨 (optimization problems). â ª®© § ¤ ç¨ ¬®¦¥â ¡ëâì ¬®£® ¢®§¬®¦ëå à¥è¥¨©; ¨å "ª ç¥á⢮" ®¯à¥¤¥«ï¥âáï § 票¥¬ ª ª®£®-â® ¯ à ¬¥âà , ¨ âॡã¥âáï ¢ë¡à âì ®¯â¨¬ «ì®¥ à¥è¥¨¥, ¯à¨ ª®â®à®¬ § 票¥ ¯ à ¬¥âà ¡ã¤¥â ¬¨¨¬ «ìë¬ ¨«¨ ¬ ªá¨¬ «ìë¬ (¢ § ¢¨á¨¬®á⨠®â ¯®áâ ®¢ª¨ § ¤ ç¨). ®®¡é¥ £®¢®àï, ®¯â¨¬ã¬ ¬®¦¥â ¤®á⨣ âìáï ¤«ï ¥áª®«ìª¨å à §ëå à¥è¥¨©. ª áâநâáï «£®à¨â¬, ®á®¢ ë© ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨? ¤®: 1. ®¯¨á âì áâàãªâãàã ®¯â¨¬ «ìëå à¥è¥¨©, 2. ¢ë¯¨á âì ४ãàà¥â®¥ á®®â®è¥¨¥, á¢ï§ë¢ î饥 ®¯â¨¬ «ìë¥ § ç¥¨ï ¯ à ¬¥âà ¤«ï ¯®¤§ ¤ ç, 3. ¤¢¨£ ïáì ᨧ㠢¢¥àå, ¢ëç¨á«¨âì ®¯â¨¬ «ì®¥ § 票¥ ¯ à ¬¥âà , 4. ¯®«ì§ãïáì ¯®«ã祮© ¨ä®à¬ 樥©, ¯®áâநâì ®¯â¨¬ «ì®¥ à¥è¥¨¥. ᮢãî ç áâì à ¡®âë á®áâ ¢«ïîâ è £¨ 1{3. ᫨ á ¨â¥à¥áã¥â ⮫쪮 ®¯â¨¬ «ì®¥ § 票¥ ¯ à ¬¥âà , è £ 4 ¥ 㦥. ᫨ 300 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¦¥ è £ 4 ¥®¡å®¤¨¬, ¤«ï ¯®áâ஥¨ï ®¯â¨¬ «ì®£® à¥è¥¨ï ¨®£¤ ¯à¨å®¤¨âáï ¯®«ãç âì ¨ åà ¨âì ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î ¢ ¯à®æ¥áᥠ¢ë¯®«¥¨ï è £ 3. í⮩ £« ¢¥ ¬ë à¥è¨¬ ¥áª®«ìª® ®¯â¨¬¨§ 樮ëå § ¤ ç á ¯®¬®éìî ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï. à §¤¥«¥ 16.1 ¬ë ¢ëïᨬ, ª ª ©â¨ ¯à®¨§¢¥¤¥¨¥ ¥áª®«ìª¨å ¬ âà¨æ, ᤥ« ¢ ª ª ¬®¦® ¬¥ìè¥ ã¬®¦¥¨©. à §¤¥«¥ 16.2 ¬ë ®¡á㤨¬, ª ª¨¥ ᢮©á⢠§ ¤ ç¨ ¤¥« îâ ¢®§¬®¦ë¬ ¯à¨¬¥¥¨¥ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï. ®á«¥ í⮣® ¬ë à á᪠¦¥¬ (¢ à §¤¥«¥ 16.3), ª ª ©â¨ ¨¡®«ìèãî ®¡éãî ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¤¢ãå ¯®á«¥¤®¢ ⥫ì®á⥩. ª®¥æ, ¢ à §¤¥«¥ 16.4 ¬ë ¢®á¯®«ì§ã¥¬áï ¤¨ ¬¨ç¥áª¨¬ ¯à®£à ¬¬¨à®¢ ¨¥¬ ¤«ï 宦¤¥¨ï ®¯â¨¬ «ì®© âਠ£ã«ï樨 ¢ë¯ãª«®£® ¬®£®ã£®«ì¨ª . (¤¨¢¨â¥«ìë¬ ®¡à §®¬ íâ § ¤ ç ®ª §ë¢ ¥âáï ¯®å®¦¥© § ¤ çã ® ¯¥à¥¬®¦¥¨¨ ¥áª®«ìª¨å ¬ âà¨æ.) 16.1 ¥à¥¬®¦¥¨¥ ¥áª®«ìª¨å ¬ âà¨æ ë å®â¨¬ ©â¨ ¯à®¨§¢¥¤¥¨¥ A1A2 : : :An (16.1) ¯®á«¥¤®¢ ⥫ì®á⨠n ¬ âà¨æ hA1; A2; : : :; Ani. ë ¡ã¤¥¬ ¯®«ì§®¢ âìáï áâ ¤ àâë¬ «£®à¨â¬®¬ ¯¥à¥¬®¦¥¨ï ¤¢ãå ¬ âà¨æ ¢ ª ç¥á⢥ ¯®¤¯à®£à ¬¬ë. ® ¯à¥¦¤¥ ¤® à ááâ ¢¨âì ᪮¡ª¨ ¢ (16.1), ç⮡ë 㪠§ âì ¯®à冷ª 㬮¦¥¨©. 㤥¬ £®¢®à¨âì, çâ® ¢ ¯à®¨§¢¥¤¥¨¨ ¬ âà¨æ ¯®«®áâìî à ááâ ¢«¥ë ᪮¡ª¨ (product is fully parenthesized), ¥á«¨ íâ® ¯à®¨§¢¥¤¥¨¥ «¨¡® á®á⮨⠨§ ®¤®©¥¤¨á⢥®© ¬ âà¨æë, «¨¡® ï¥âáï § ª«îç¥ë¬ ¢ ᪮¡ª¨ ¯à®¨§¢¥¤¥¨¥¬ ¤¢ãå ¯à®¨§¢¥¤¥¨© á ¯®«®áâìî à ááâ ¢«¥ë¬¨ ᪮¡ª ¬¨. ®áª®«ìªã 㬮¦¥¨¥ ¬ âà¨æ áá®æ¨ ⨢®, ª®¥çë© à¥§ã«ìâ â ¢ëç¨á«¥¨© ¥ § ¢¨á¨â ®â à ááâ ®¢ª¨ ᪮¡®ª. ¯à¨¬¥à, ¢ ¯à®¨§¢¥¤¥¨¨ A1A2A3A4 ¬®¦® ¯®«®áâìî à ááâ ¢¨âì ᪮¡ª¨ ¯ïâìî à §ë¬¨ ᯮᮡ ¬¨: (A1(A2 (A3A4 ))); (A1((A2A3 )A4 )); ((A1A2 )(A3A4 )); ((A1(A2 A3 ))A4); (((A1A2 )A3)A4 ); ¢® ¢á¥å á«ãç ïå ®â¢¥â ¡ã¤¥â ®¤¨ ¨ â®â ¦¥. ¥ ¢«¨ïï ®â¢¥â, ᯮᮡ à ááâ ®¢ª¨ ᪮¡®ª ¬®¦¥â á¨«ì® ¯®¢«¨ïâì á⮨¬®áâì ¯¥à¥¬®¦¥¨ï ¬ âà¨æ. ®á¬®âਬ á ç « , ᪮«ìª® ®¯¥à 権 âॡã¥â ¯¥à¥¬®¦¥¨¥ ¤¢ãå ¬ âà¨æ. ®â áâ ¤ àâë© «£®à¨â¬ (rows ¨ columns ®¡®§ ç îâ ª®«¨ç¥á⢮ áâப ¨ á⮫¡æ®¢ ¬ âà¨æë ᮮ⢥âá⢥®): ¥à¥¬®¦¥¨¥ ¥áª®«ìª¨å ¬ âà¨æ 301 Matrix-Multiply(A; B ) 1 if columns[A] 6= rows[B ] 2 then error "㬮¦¨âì ¥«ì§ï" 3 else for i 1 to rows[A] 4 do for j 1 to columns[B ] 5 do C [i; j ] 0 6 for k 1 to columns[A] 7 do C [i; j ] C [i; j ] + A[i; k] B [k; j ] 8 return C âà¨æë A ¨ B ¬®¦® ¯¥à¥¬®¦ âì, ⮫쪮 ¥á«¨ ç¨á«® á⮫¡æ®¢ ã A à ¢® ç¨á«ã áâப ã B. ᫨ A | íâ® p q-¬ âà¨æ , B | íâ® q r-¬ âà¨æ , â® ¨å ¯à®¨§¢¥¤¥¨¥ C ï¥âáï p r-¬ âà¨æ¥©. ਠ¢ë¯®«¥¨¨ í⮣® «£®à¨â¬ ¤¥« ¥âáï pqr 㬮¦¥¨© (áâப 7) ¨ ¯à¨¬¥à® á⮫쪮 ¦¥ á«®¦¥¨©. «ï ¯à®áâ®âë ¬ë ¡ã¤¥¬ ãç¨âë¢ âì ⮫쪮 㬮¦¥¨ï. [ £« ¢¥ 31 ¯à¨¢¥¤ñ «£®à¨â¬ âà áᥠ, âॡãî騩 ¬¥ì襣® ç¨á« 㬮¦¥¨©. í⮩ £« ¢¥ ¬ë ¯à¨¨¬ ¥¬ ª ª ¤ ®áâì ¯à®á⥩訩 ᯮᮡ 㬮¦¥¨ï ¬ âà¨æ ¨ ¨é¥¬ ®¯â¨¬ã¬ § áçñâ à ááâ ®¢ª¨ ᪮¡®ª.] ⮡ë 㢨¤¥âì, ª ª à ááâ ®¢ª ᪮¡®ª ¬®¦¥â ¢«¨ïâì á⮨¬®áâì, à áᬮâਬ ¯®á«¥¤®¢ ⥫ì®áâì ¨§ âà¥å ¬ âà¨æ hA1; A2; A3i à §¬¥à®¢ 10 100, 100 5 ¨ 5 50 ᮮ⢥âá⢥®. ਠ¢ëç¨á«¥¨¨ ((A1A2)A3) 㦮 10 100 5 = 5000 㬮¦¥¨©, çâ®¡ë ©â¨ 10 5-¬ âà¨æã A1A2, § ⥬ 10 5 50 = 2500 㬮¦¥¨©, ç⮡ë 㬮¦¨âì íâã ¬ âà¨æã A3. ᥣ® 7500 㬮¦¥¨©. ਠà ááâ ®¢ª¥ ᪮¡®ª (A1(A2A3)) ¬ë ¤¥« ¥¬ 100 5 50 = 25 000 㬮¦¥¨© ¤«ï 宦¤¥¨ï 100 50-¬ âà¨æë A2A3, ¯«îá ¥éñ 10 100 50 = 50 000 㬮¦¥¨© (㬮¦¥¨¥ A1 A2 A3), ¨â®£® 75 000 㬮¦¥¨©. ¥¬ á ¬ë¬, ¯¥à¢ë© ᯮᮡ à ááâ ®¢ª¨ ᪮¡®ª ¢ 10 à § ¢ë£®¤¥¥. ¤ ç ®¡ 㬮¦¥¨¨ ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ (matrix-chain multiplication problem) ¬®¦¥â ¡ëâì áä®à¬ã«¨à®¢ á«¥¤ãî騬 ®¡à §®¬: ¤ ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n ¬ âà¨æ hA1; A2; : : :; Ani § ¤ ëå à §¬¥à®¢ (¬ âà¨æ Ai ¨¬¥¥â à §¬¥à pi;1 pi); âॡã¥âáï ©â¨ â ªãî (¯®«ãî) à ááâ ®¢ªã ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ A1A2 : : :An , çâ®¡ë ¢ëç¨á«¥¨¥ ¯à®¨§¢¥¤¥¨ï âॡ®¢ «® ¨¬¥ì襣® ç¨á« 㬮¦¥¨©. ®«¨ç¥á⢮ à ááâ ®¢®ª ᪮¡®ª ०¤¥ 祬 ¯à¨¬¥ïâì ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ª § ¤ ç¥ ®¡ 㬮¦¥¨¨ ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ, á⮨â ã¡¥¤¨âìáï, çâ® ¯à®á⮩ ¯¥à¥¡®à ¢á¥å ¢®§¬®¦ëå à ááâ ®¢®ª ᪮¡®ª ¥ ¤ áâ íä䥪⨢®£® «£®à¨â¬ . ¡®§ 稬 ᨬ¢®«®¬ P (n) ª®«¨ç¥á⢮ ¯®«ëå à ááâ ®¢®ª ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ n ¬ âà¨æ. ®á«¥¤¥¥ 302 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ 㬮¦¥¨¥ ¬®¦¥â ¯à®¨á室¨âì £à ¨æ¥ ¬¥¦¤ã k-© ¨ (k + 1)-© ¬ âà¨æ ¬¨. ® í⮣® ¬ë ®â¤¥«ì® ¢ëç¨á«ï¥¬ ¯à®¨§¢¥¤¥¨¥ ¯¥à¢ëå k ¨ ®áâ «ìëå n ; k ¬ âà¨æ. ®í⮬ã 8 < 1; ¥á«¨ n = 1, ;1 P (n) = : nP P (k)P (n ; k); ¥á«¨ n > 2. k=1 § ¤ ç¥ 13-4 ¬ë ¯à®á¨«¨ ¢ á ¤®ª § âì, çâ® íâ® á®®â®è¥¨¥ § ¤ ñâ ¯®á«¥¤®¢ ⥫ì®áâì ç¨á¥« â « P (n) = C (n ; 1); £¤¥ C (n) = n +1 1 C2nn = (4n=n3=2): â «® ¡ëâì, ç¨á«® à¥è¥¨© íªá¯®¥æ¨ «ì® § ¢¨á¨â ®â n, â ª çâ® ¯®«ë© ¯¥à¥¡®à ¥íä䥪⨢¥. [à㣮© ᯮᮡ ¯®ïâì, çâ® ç¨á«® ¢ ਠ⮢ íªá¯®¥æ¨ «ì®: à §®¡ìñ¬ ¬ âà¨æë £àã¯¯ë ¯® âà¨; ¯à®¨§¢¥¤¥¨¥ ¤«ï ª ¦¤®© £àã¯¯ë ¬®¦® ¢ëç¨á«¨âì ¤¢ã¬ï ᯮᮡ ¬¨, â ª çâ® ¤«ï 3n ¬ âà¨æ ¥áâì ¥ ¬¥¥¥ 2n ¢ ਠ⮢.] £ 1: áâ஥¨¥ ®¯â¨¬ «ì®© à ááâ ®¢ª¨ ᪮¡®ª ᫨ ¬ë ᮡ¨à ¥¬áï ¢®á¯®«ì§®¢ âìáï ¤¨ ¬¨ç¥áª¨¬ ¯à®£à ¬¬¨à®¢ ¨¥¬, â® ¤«ï ç « ¤®«¦ë ®¯¨á âì áâ஥¨¥ ®¯â¨¬ «ìëå à¥è¥¨©. «ï § ¤ ç¨ ®¡ 㬮¦¥¨¨ ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ íâ® ¢ë£«ï¤¨â á«¥¤ãî騬 ®¡à §®¬. ¡®§ 稬 ¤«ï 㤮¡á⢠ç¥à¥§ Ai::j ¬ âà¨æã, ïîéãîáï ¯à®¨§¢¥¤¥¨¥¬ AiAi+1 : : :Aj . ¯â¨¬ «ì ï à ááâ ®¢ª ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ A1A2 : : :An à §àë¢ ¥â ¯®á«¥¤®¢ ⥫ì®áâì ¬¥¦¤ã Ak ¨ Ak+1 ¤«ï ¥ª®â®à®£® k, 㤮¢«¥â¢®àïî饣® ¥à ¢¥áâ¢ã 1 6 k < n. 묨 á«®¢ ¬¨, ¯à¨ ¢ëç¨á«¥¨¨ ¯à®¨§¢¥¤¥¨ï, ¤¨ªâ㥬®¬ í⮩ à ááâ ®¢ª®© ᪮¡®ª, ¬ë á ç « ¢ëç¨á«ï¥¬ ¯à®¨§¢¥¤¥¨ï A1::k ¨ Ak+1::n , § ⥬ ¯¥à¥¬®¦ ¥¬ ¨å ¨ ¯®«ãç ¥¬ ®ª®ç ⥫ìë© ®â¢¥â A1::n. â «® ¡ëâì, á⮨¬®áâì í⮩ ®¯â¨¬ «ì®© à ááâ ®¢ª¨ à ¢ á⮨¬®á⨠¢ëç¨á«¥¨ï ¬ âà¨æë A1::k , ¯«îá á⮨¬®áâì ¢ëç¨á«¥¨ï ¬ âà¨æë Ak+1::n, ¯«îá á⮨¬®áâì ¯¥à¥¬®¦¥¨ï íâ¨å ¤¢ãå ¬ âà¨æ. ¥¬ ¬¥ìè¥ ã¬®¦¥¨© ¬ ¯®âॡã¥âáï ¤«ï ¢ëç¨á«¥¨ï A1::k ¨ Ak+1::n , ⥬ ¬¥ìè¥ ¡ã¤¥â ®¡é¥¥ ç¨á«® 㬮¦¥¨©. â «® ¡ëâì, ®¯â¨¬ «ì®¥ à¥è¥¨¥ § ¤ ç¨ ® ¯¥à¥¬®¦¥¨¨ ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ ᮤ¥à¦¨â ®¯â¨¬ «ìë¥ à¥è¥¨ï § ¤ ç ® ¯¥à¥¬®¦¥¨¨ ¥ñ ç á⥩. ª ¬ë 㢨¤¨¬ ¢ à §¤¥«¥ 16.2, íâ® ¨ ¯®§¢®«ï¥â ¯à¨¬¥¨âì ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥. ¥à¥¬®¦¥¨¥ ¥áª®«ìª¨å ¬ âà¨æ 303 £ 2: ४ãàà¥â®¥ á®®â®è¥¨¥ ¥¯¥àì ¤® ¢ëà §¨âì á⮨¬®áâì ®¯â¨¬ «ì®£® à¥è¥¨ï § ¤ ç¨ ç¥à¥§ á⮨¬®á⨠®¯â¨¬ «ìëå à¥è¥¨© ¥ñ ¯®¤§ ¤ ç. ª¨¬¨ ¯®¤§ ¤ ç ¬¨ ¡ã¤ãâ § ¤ ç¨ ®¡ ®¯â¨¬ «ì®© à ááâ ®¢ª¥ ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨ïå Ai::j = AiAi+1 : : :Aj ¤«ï 1 6 i 6 j 6 n. ¡®§ 稬 ç¥à¥§ m[i; j ] ¬¨¨¬ «ì®¥ ª®«¨ç¥á⢮ 㬮¦¥¨©, ¥®¡å®¤¨¬®¥ ¤«ï ¢ëç¨á«¥¨ï ¬ âà¨æë Ai::j ; ¢ ç áâ®áâ¨, á⮨¬®áâì ¢ëç¨á«¥¨ï ¢á¥£® ¯à®¨§¢¥¤¥¨ï A1::n ¥áâì m[1; n]. ¨á« m[i; j ] ¬®¦® ¢ëç¨á«¨âì â ª. ᫨ i = j , â® ¯®á«¥¤®¢ ⥫ì®áâì á®á⮨⠨§ ®¤®© ¬ âà¨æë Ai::i = Ai ¨ 㬮¦¥¨ï ¢®®¡é¥ ¥ ã¦ë. â «® ¡ëâì, m[i; i] = 0 ¤«ï i = 1; 2; : : :; n. â®¡ë ¯®áç¨â âì m[i; j ] ¤«ï i < j , ¬ë ¢®á¯®«ì§ã¥¬áï ¨ä®à¬ 樥© ® áâ஥¨¨ ®¯â¨¬ «ì®£® à¥è¥¨ï, ¯®«ã祮© è £¥ 1. ãáâì ¯à¨ ®¯â¨¬ «ì®© à ááâ ®¢ª¥ ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ AiAi+1 : : :Aj ¯®á«¥¤¨¬ ¨¤¥â 㬮¦¥¨¥ Ai : : :Ak Ak+1 : : :Aj , £¤¥ i 6 k < j . ®£¤ m[i; j ] à ¢® á㬬¥ ¬¨¨¬ «ìëå á⮨¬®á⥩ ¢ëç¨á«¥¨ï ¯à®¨§¢¥¤¥¨© Ai::k ¨ Ak+1::j ¯«îá á⮨¬®áâì ¯¥à¥¬®¦¥¨ï íâ¨å ¤¢ãå ¬ âà¨æ. ®áª®«ìªã ¤«ï ¢ëç¨á«¥¨ï ¯à®¨§¢¥¤¥¨ï Ai::k Ak+1::j âॡã¥âáï pi;1pk pj 㬮¦¥¨©, m[i; j ] = m[i; k] + m[k + 1; j ] + pi;1 pk pj : í⮬ á®®â®è¥¨¨ ¯®¤à §ã¬¥¢ ¥âáï, çâ® ®¯â¨¬ «ì®¥ § 票¥ k ¬ ¨§¢¥áâ®; ¤¥«¥ íâ® ¥ â ª. ¤ ª® ç¨á«® k ¬®¦¥â ¯à¨¨¬ âì ¢á¥£® «¨èì j ; i à §«¨çëå § 票©: i; i + 1; : : :; j ; 1. ®áª®«ìªã ®¤® ¨§ ¨å ®¯â¨¬ «ì®, ¤®áâ â®ç® ¯¥à¥¡à âì í⨠§ 票ï k ¨ ¢ë¡à âì ¨«ãç襥. ®«ãç ¥¬ ४ãàà¥âãî ä®à¬ã«ã: ( 0 ¯à¨ i = j , m[i; j ] = min fm[i; k] + m[k + 1; j ] + pi;1 pk pj g ¯à¨ i < j . i6k<j (16.2) ¨á« m[i; j ] | á⮨¬®á⨠®¯â¨¬ «ìëå à¥è¥¨© ¯®¤§ ¤ ç. â®¡ë ¯à®á«¥¤¨âì § ⥬, ª ª ¯®«ãç ¥âáï ®¯â¨¬ «ì®¥ à¥è¥¨¥, ®¡®§ 稬 ç¥à¥§ s[i; j ] ®¯â¨¬ «ì®¥ ¬¥áâ® ¯®á«¥¤¥£® 㬮¦¥¨ï, â® ¥áâì â ª®¥ k, çâ® ¯à¨ ®¯â¨¬ «ì®¬ ¢ëç¨á«¥¨¨ ¯à®¨§¢¥¤¥¨ï AiAi+1 : : :Aj ¯®á«¥¤¨¬ ¨¤¥â 㬮¦¥¨¥ Ai : : :Ak Ak+1 : : :Aj . 묨 á«®¢ ¬¨, s[i; j ] à ¢® ç¨á«ã k, ¤«ï ª®â®à®£® m[i; j ] = m[i; k]+ m[k + 1; j ] + pi;1pk pj . £ 3: ¢ëç¨á«¥¨¥ ®¯â¨¬ «ì®© á⮨¬®á⨠®«ì§ãïáì á®®â®è¥¨ï¬¨ (16.2), ⥯¥àì «¥£ª® ¯¨á âì ४ãàá¨¢ë© «£®à¨â¬, ®¯à¥¤¥«ïî騩 ¬¨¨¬ «ìãî á⮨¬®áâì ¢ëç¨á«¥¨ï ¯à®¨§¢¥¤¥¨ï A1A2 : : :An (â. ¥. ç¨á«® m[1; n]). ¤ ª® ¢à¥¬ï 304 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ à ¡®âë â ª®£® «£®à¨â¬ íªá¯®¥æ¨ «ì® § ¢¨á¨â ®â n, â ª çâ® íâ®â «£®à¨â¬ ¥ «ãçè¥ ¯®«®£® ¯¥à¥¡®à . áâ®ï騩 ¢ë¨£àëè ¢® ¢à¥¬¥¨ ¬ë ¯®«ã稬, ¥á«¨ ¢®á¯®«ì§ã¥¬áï ⥬, çâ® ¯®¤§ ¤ ç ®â®á¨â¥«ì® ¥¬®£®: ¯® ®¤®© § ¤ ç¥ ¤«ï ª ¦¤®© ¯ àë (i; j ), ¤«ï ª®â®à®© 1 6 i 6 j 6 n, ¢á¥£® Cn2 + n = (n2). ªá¯®¥æ¨ «ì®¥ ¢à¥¬ï à ¡®âë ¢®§¨ª ¥â ¯®â®¬ã, ç⮠४ãàá¨¢ë© «£®à¨â¬ à¥è ¥â ª ¦¤ãî ¨§ ¯®¤§ ¤ ç ¯® ¬®£ã à §, à §ëå ¢¥â¢ïå ¤¥à¥¢ ४ãàᨨ. ª®¥ "¯¥à¥ªàë⨥ ¯®¤§ ¤ ç" | å à ªâ¥àë© ¯à¨§ ª § ¤ ç, à¥è ¥¬ëå ¬¥â®¤®¬ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï. ¬¥á⮠४ãàᨨ ¬ë ¢ëç¨á«¨¬ ®¯â¨¬ «ìãî á⮨¬®áâì "ᨧ㠢¢¥àå". ¨¦¥á«¥¤ãî饩 ¯à®£à ¬¬¥ ¯à¥¤¯®« £ ¥âáï, çâ® ¬ âà¨æ Ai ¨¬¥¥â à §¬¥à pi;1 pi ¯à¨ i = 1; 2; : : :; n. ¢å®¤ ¯®¤ ñâáï ¯®á«¥¤®¢ ⥫ì®áâì p = hp0; p1; : : :; pni, £¤¥ length[p] = n + 1. à®£à ¬¬ ¨á¯®«ì§ã¥â ¢á¯®¬®£ ⥫ìë¥ â ¡«¨æë m[1 : :n; 1 : :n] (¤«ï åà ¥¨ï á⮨¬®á⥩ m[i; j ]) ¨ s[1 : :n; 1 : :n] (¢ ¥© ®â¬¥ç ¥âáï, ¯à¨ ª ª®¬ k ¤®á⨣ ¥âáï ®¯â¨¬ «ì ï á⮨¬®áâì ¯à¨ ¢ëç¨á«¥¨¨ m[i; j ]). Matrix-Chain-Order(p) 1 n length[p] ; 1 2 for i 1 to n 3 do m[i; i] 0 4 for l 2 to n 5 do for i 1 to n ; l + 1 6 do j i + l ; 1 7 m[i; j ] 1 8 for k i to j ; 1 9 do q m[i; k] + m[k + 1; j ] + pi;1 pk pj 10 if q < m[i; j ] 11 then m[i; j ] q 12 s[i; j ] k 13 return m, s ¯®«ïï â ¡«¨æã m, íâ®â «£®à¨â¬ ¯®á«¥¤®¢ â¥«ì® à¥è ¥â § ¤ ç¨ ®¡ ®¯â¨¬ «ì®© à ááâ ®¢ª¥ ᪮¡®ª ¤«ï ®¤®£®, ¤¢ãå, : : : , n ᮬ®¦¨â¥«¥©. á ¬®¬ ¤¥«¥, á®®â®è¥¨¥ (16.2) ¯®ª §ë¢ ¥â, çâ® ç¨á«® m[i; j ] | á⮨¬®áâì ¯¥à¥¬®¦¥¨ï j ; i + 1 ¬ âà¨æ | § ¢¨á¨â ⮫쪮 ®â á⮨¬®á⥩ ¬¥ì襣® (祬 j ; i + 1) ç¨á« ¬ âà¨æ. ¬¥®, ¤«ï k = i; i + 1; : : :; j ; 1 ¯®«ãç ¥âáï, çâ® Ai::k | ¯à®¨§¢¥¤¥¨¥ k ; i + 1 < j ; i + 1 ¬ âà¨æ, Ak+1::j | ¯à®¨§¢¥¤¥¨¥ j ; k < j ; i + 1 ¬ âà¨æ. ç « (¢ áâப å 2{3) «£®à¨â¬ ¢ë¯®«ï¥â ¯à¨á¢ ¨¢ ¨ï m[i; i] 0 ¤«ï i = 1; 2; : : :; n: á⮨¬®áâì ¯¥à¥¬®¦¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠¨§ ®¤®© ¬ âà¨æë à ¢ ã«î. ਠ¯¥à¢®¬ ¨á¯®«¥¨¨ 横« (áâப¨ 4{12) ¢ëç¨á«ïîâáï (á ¯®¬®éìî á®®â®è¥¨© (16.2)) § 票ï m[i; i + 1] ¤«ï i = 1; 2; : : :; n ; 1 | íâ® ¬¨¨¬ «ìë¥ á⮨¬®á⨠¤«ï ¯®á«¥¤®¢ ⥫ì®á⥩ ¤«¨ë 2. ਠ¢â®à®¬ ¯à®å®¤¥ ¢ëç¨- ¥à¥¬®¦¥¨¥ ¥áª®«ìª¨å ¬ âà¨æ 305 ¨á㮪 16.1 ¡«¨æë m ¨ s, ¢ëç¨á«ï¥¬ë¥ ¯à®æ¥¤ãன Matrix-Chain-Order ¤«ï n = 6 ¨ ¬ âà¨æ á«¥¤ãî饣® à §¬¥à : ¬ âà¨æ à §¬¥à A1 30 35 A2 35 15 A3 15 5 A4 5 10 A5 10 20 A6 20 25 ¡«¨æë ¯®¢ñàãâë â ª, çâ® £« ¢ ï ¤¨ £® «ì £®à¨§®â «ì . â ¡«¨æ¥ m ¨á¯®«ì§ãîâáï ⮫쪮 ª«¥âª¨, «¥¦ 騥 ¥ ¨¦¥ £« ¢®© ¤¨ £® «¨, ¢ â ¡«¨æ¥ s | ⮫쪮 ª«¥âª¨, «¥¦ 騥 áâண® ¢ëè¥. ¨¨¬ «ì®¥ ª®«¨ç¥á⢮ 㬮¦¥¨©, ¥®¡å®¤¨¬®¥ ¤«ï ¯¥à¥¬®¦¥¨ï ¢á¥å è¥á⨠¬ âà¨æ, à ¢® m[1; 6] = 15 125. àë ª«¥â®ç¥ª, § èâà¨å®¢ ëå ®¤¨ ª®¢®© ᢥ⫮© èâà¨å®¢ª®©, ᮢ¬¥áâ® ¢å®¤ïâ ¢ ¯à ¢ãî ç áâì ä®à¬ã«ë ¢ ¯à®æ¥áᥠ¢ëç¨á«¥¨ï m[2; 5] (áâப 9 ¯à®æ¥¤ãàë Matrix-Chain-Order 8 ): > < m[2; 2] + m[3; 5] + p1 p2 p5 = 0 + 2500 + 35 15 20 = 13000; m[2; 5] = min > m[2; 3] + m[4; 5] + p1 p3 p5 = 2625 + 1000 + 35 5 20 = 7125; : m[2; 4] + m[5; 5] + p1 p4 p5 = 4375 + 0 + 35 10 20 = 11375: á«ïîâáï m[i; i +2] ¤«ï i = 1; 2; : : :; n ; 2 | ¬¨¨¬ «ìë¥ á⮨¬®á⨠¯¥à¥¬®¦¥¨ï ¯®á«¥¤®¢ ⥫ì®á⥩ ¤«¨ë 3, ¨ â ª ¤ «¥¥. ª ¦¤®¬ è £¥ § 票¥ m[i; j ], ¢ëç¨á«ï¥¬®¥ ¢ áâப å 9{12, § ¢¨á¨â ⮫쪮 ®â ¢ëç¨á«¥ëå à ¥¥ § 票© m[i; k] ¨ m[k + 1; j ]. à¨á. 16.1 ¯®ª § ®, ª ª íâ® ¯à®¨á室¨â ¯à¨ n = 6. ®áª®«ìªã ¬ë ®¯à¥¤¥«ï¥¬ m[i; j ] ⮫쪮 ¤«ï i 6 j , ¨á¯®«ì§ã¥âáï ç áâì â ¡«¨æë, «¥¦ é ï ¤ £« ¢®© ¤¨ £® «ìî. à¨á㪥 â ¡«¨æë ¯®¢ñàãâë (£« ¢ ï ¤¨ £® «ì £®à¨§®â «ì ). ¨§ã ¢ë¯¨á ¯®á«¥¤®¢ ⥫ì®áâì ¬ âà¨æ. ¨á«® m[i; j ] | ¬¨¨¬ «ì ï á⮨¬®áâì ¯¥à¥¬®¦¥¨ï ¯®¤¯®á«¥¤®¢ ⥫ì®á⨠AiAi+1 : : :Aj | 室¨âáï ¯¥à¥á¥ç¥¨¨ ¤¨ £® «¥©, ¨¤ãé¨å ¢¯à ¢®-¢¢¥àå ®â ¬ âà¨æë Ai ¨ ¢«¥¢®-¢¢¥àå ®â ¬ âà¨æë Aj . ª ¦¤®¬ £®à¨§®â «ì®¬ àï¤ã ᮡà ë á⮨¬®á⨠¯¥à¥¬®¦¥¨ï ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ 䨪á¨à®¢ ®© ¤«¨ë. «ï § ¯®«¥¨ï ª«¥âª¨ m[i; j ] 㦮 § âì ¯à®¨§¢¥¤¥¨ï pi;1pk pj ¤«ï k = i; i + 1; : : :; j ; 1 ¨ ᮤ¥à¦¨¬®¥ ª«¥â®ª, «¥¦ é¨å á«¥¢ -¢¨§ã ¨ á¯à ¢ -¢¨§ã ®â m[i; j ]. 306 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ à®áâ ï ®æ¥ª ¯®ª §ë¢ ¥â, çâ® ¢à¥¬ï à ¡®âë «£®à¨â¬ Matrix-Chain-Order ¥áâì O(n3 ). á ¬®¬ ¤¥«¥, ç¨á«® ¢«®¦¥ëå 横«®¢ à ¢® âàñ¬, ¨ ª ¦¤ë© ¨§ ¨¤¥ªá®¢ l, i ¨ k ¯à¨¨¬ ¥â ¥ ¡®«¥¥ n § 票©. ã¯à ¦¥¨¨ 16.1-3 ¬ë ¯à¥¤«®¦¨¬ ¢ ¬ ¯®ª § âì, çâ® ¢à¥¬ï à ¡®âë í⮣® «£®à¨â¬ ¥áâì (n3). ¡êñ¬ ¯ ¬ïâ¨, ¥®¡å®¤¨¬ë© ¤«ï åà ¥¨ï â ¡«¨æ m ¨ s, ¥áâì (n2). ¥¬ á ¬ë¬ íâ®â «£®à¨â¬ § ç¨â¥«ì® íä䥪⨢¥¥, 祬 âॡãî騩 íªá¯®¥æ¨ «ì®£® ¢à¥¬¥¨ ¯¥à¥¡®à ¢á¥å à ááâ ®¢®ª. £ 4: ¯®áâ஥¨¥ ®¯â¨¬ «ì®£® à¥è¥¨ï «£®à¨â¬ Matrix-Chain-Order 室¨â ¬¨¨¬ «ì®¥ ç¨á«® 㬮¦¥¨©, ¥®¡å®¤¨¬®¥ ¤«ï ¯¥à¥¬®¦¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ. áâ «®áì ©â¨ à ááâ ®¢ªã ᪮¡®ª, ¯à¨¢®¤ïéãî ª â ª®¬ã ç¨á«ã 㬮¦¥¨©. «ï í⮣® ¬ë ¨á¯®«ì§ã¥¬ â ¡«¨æã s[1 : :n; 1 : :n]. ª«¥âª¥ s[i; j ] § ¯¨á ® ¬¥áâ® ¯®á«¥¤¥£® 㬮¦¥¨ï ¯à¨ ®¯â¨¬ «ì®© à ááâ ®¢ª¥ ᪮¡®ª; ¤à㣨¬¨ á«®¢ ¬¨, ¯à¨ ®¯â¨¬ «ì®¬ ᯮᮡ¥ ¢ëç¨á«¥¨ï A1::n ¯®á«¥¤¨¬ ¨¤ñâ 㬮¦¥¨¥ A1::s[1;n] As[1;n]+1::n. ।è¥áâ¢ãî騥 㬮¦¥¨ï ¬®¦® ©â¨ ४ãàᨢ®: § 票¥ s[1; s[1; n]] ®¯à¥¤¥«ï¥â ¯®á«¥¤¥¥ 㬮¦¥¨¥ ¯à¨ 宦¤¥¨¨ A1::s[1;n], s[s[1; n] + 1; n] ®¯à¥¤¥«ï¥â ¯®á«¥¤¥¥ 㬮¦¥¨¥ ¯à¨ ¢ëç¨á«¥¨¨ As[1;n]+1::n . ਢ¥¤ñ ï ¨¦¥ ४ãàᨢ ï ¯à®æ¥¤ãà ¢ëç¨á«ï¥â ¯à®¨§¢¥¤¥¨¥ Ai::j , ¨¬¥ï á«¥¤ãî騥 ¤ ë¥: ¯®á«¥¤®¢ ⥫ì®áâì ¬ âà¨æ A = hA1; A2; : : :; Ani, â ¡«¨æã s, ©¤¥ãî ¯à®æ¥¤ãன Matrix-Chain-Order, â ª¦¥ ¨¤¥ªáë i ¨ j . ந§¢¥¤¥¨¥ A1A2 : : :An à ¢® Matrix-Chain-Multiply(A; s; 1; n). Matrix-Chain-Multiply(A; s; i; j ) 1 if j > i 2 then X Matrix-Chain-Multiply(A; s; i; s[i; j ]) 3 Y Matrix-Chain-Multiply(A; s; s[i; j ] + 1; j ) 4 return Matrix-Multiply(X; Y ) 5 else return Ai ¯à¨¬¥à¥ à¨á. 16.1 ¢ë§®¢ Matrix-Chain-Multiply(A; s; 1; 6) ¢ëç¨á«¨â ¯à®¨§¢¥¤¥¨¥ è¥á⨠¬ âà¨æ ¢ ᮮ⢥âá⢨¨ á à ááâ ®¢ª®© ᪮¡®ª ((A1(A2 A3 ))((A4A5 )A6 )): (16.3) [¥å¨ç¥áª®¥ § ¬¥ç ¨¥: á«¥¤ã¥â ¯®§ ¡®â¨âìáï, çâ®¡ë ¯à¨ ¯¥à¥¤ ç¥ ¬ áᨢ s ¢ ¯à®æ¥¤ãàã ¥ ¯à®¨á室¨«® ª®¯¨à®¢ ¨ï.] ®£¤ ¯à¨¬¥¨¬® ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ 307 ¯à ¦¥¨ï ©¤¨â¥ ®¯â¨¬ «ìãî à ááâ ®¢ªã ¢ § ¤ ç¥ ® ¯¥à¥¬®¦¥¨¨ ¬ âà¨æ, ¥á«¨ p = h5; 10; 3; 12; 5; 50; 6i. 16.1-2 §à ¡®â ©â¥ «£®à¨â¬ Print-Optimal-Parens, ¯¥ç â î騩 ®¯â¨¬ «ìãî à ááâ ®¢ªã ᪮¡®ª. ( ¡«¨æ s 㦥 ¢ëç¨á«¥ «£®à¨â¬®¬ Matrix-Chain-Order.) 16.1-3 ãáâì R(i; j ) ®¡®§ ç ¥â ª®«¨ç¥á⢮ ®¡à 饨© «£®à¨â¬ Matrix-Chain-Order ª í«¥¬¥âã m[i; j ] â ¡«¨æë m á 楫ìî ¢ëç¨á«¥¨ï ¤à㣨å í«¥¬¥â®¢ â ¡«¨æë [áâப 9]. ®ª ¦¨â¥, çâ® ®¡é¥¥ ª®«¨ç¥á⢮ â ª¨å ®¡à 饨© à ¢® 16.1-1 n X n X i=1 j =1 3 R(i; j ) = n 3; n : P (ª § ¨¥. ¬ ¬®¦¥â ¯à¨£®¤¨âìáï ä®à¬ã« ni=1 i2 = n(n+1)(2n+ 1)=6.) ®ª ¦¨â¥, çâ® ¯®« ï à ááâ ®¢ª ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ n ¬®¦¨â¥«¥© ¨á¯®«ì§ã¥â ஢® n ; 1 ¯ à ᪮¡®ª. 16.1-4 16.2 ®£¤ ¯à¨¬¥¨¬® ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ í⮬ à §¤¥«¥ ¬ë 㪠¦¥¬ ¤¢ ¯à¨§ ª , å à ªâ¥àëå ¤«ï § ¤ ç, à¥è ¥¬ëå ¬¥â®¤®¬ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï. ¯â¨¬ «ì®áâì ¤«ï ¯®¤§ ¤ ç ਠà¥è¥¨¨ ®¯â¨¬¨§ 樮®© § ¤ ç¨ á ¯®¬®éìî ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï ¥®¡å®¤¨¬® á ç « ®¯¨á âì áâàãªâãàã ®¯â¨¬ «ì®£® à¥è¥¨ï. 㤥¬ £®¢®à¨âì, çâ® § ¤ ç ®¡« ¤ ¥â ᢮©á⢮¬ ®¯â¨¬ «ì®á⨠¤«ï § ¤ ç (has optimal substructure), ¥á«¨ ®¯â¨¬ «ì®¥ à¥è¥¨¥ § ¤ ç¨ á®¤¥à¦¨â ®¯â¨¬ «ìë¥ à¥è¥¨ï ¥ñ ¯®¤§ ¤ ç. ᫨ § ¤ ç ®¡« ¤ ¥â í⨬ ᢮©á⢮¬, â® ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¬®¦¥â ®ª § âìáï ¯®«¥§ë¬ ¤«ï ¥ñ à¥è¥¨ï (a ¢®§¬®¦®, ¯à¨¬¥¨¬ ¨ ¦ ¤ë© «£®à¨â¬ | á¬. £« ¢ã 17). à §¤¥«¥ 16.1 ¬ë ¢¨¤¥«¨, çâ® § ¤ ç ¯¥à¥¬®¦¥¨ï ¬ âà¨æ ®¡« ¤ ¥â ᢮©á⢮¬ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç: ª ¦¤ ï ᪮¡ª ¢ ®¯â¨¬ «ì®¬ ¯à®¨§¢¥¤¥¨¨ 㪠§ë¢ ¥â ®¯â¨¬ «ìë© á¯®á®¡ ¯¥à¥¬®¦¥¨ï ¢å®¤ïé¨å ¢ ¥ñ ¬ âà¨æ. ⮡ë ã¡¥¤¨âìáï, çâ® § ¤ ç ®¡« ¤ ¥â í⨬ ᢮©á⢮¬, ¤® (ª ª ¢ à §¤¥«¥ 16.1) ¯®ª § âì, çâ®, ã«ãçè ï à¥è¥¨¥ ¯®¤§ ¤ ç¨, ¬ë ã«ãç訬 ¨ à¥è¥¨¥ ¨á室®© § ¤ ç¨. 308 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ª ⮫쪮 ᢮©á⢮ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç ãáâ ®¢«¥®, ®¡ëç® áâ ®¢¨âáï ïá®, á ª ª¨¬ ¨¬¥® ¬®¦¥á⢮¬ ¯®¤§ ¤ ç ¡ã¤¥â ¨¬¥âì ¤¥«® «£®à¨â¬. ¯à¨¬¥à, ¤«ï § ¤ ç¨ ® ¯¥à¥¬®¦¥¨¨ ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ ¯®¤§ ¤ ç ¬¨ ¡ã¤ãâ § ¤ ç¨ ® ¯¥à¥¬®¦¥¨¨ ªã᪮¢ í⮩ ¯®á«¥¤®¢ ⥫ì®áâ¨. ¥à¥ªàë¢ î騥áï ¯®¤§ ¤ ç¨ â®à®© ᢮©á⢮ § ¤ ç, ¥®¡å®¤¨¬®¥ ¤«ï ¨á¯®«ì§®¢ ¨ï ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï, | ¬ «®áâì ¬®¦¥á⢠¯®¤§ ¤ ç. « £®¤ àï í⮬㠯ਠ४ãàᨢ®¬ à¥è¥¨¨ § ¤ ç¨ ¬ë ¢áñ ¢à¥¬ï ¢ë室¨¬ ®¤¨ ¨ ⥠¦¥ ¯®¤§ ¤ ç¨. â ª®¬ á«ãç ¥ £®¢®àïâ, çâ® ã ®¯â¨¬¨§ 樮®© § ¤ ç¨ ¨¬¥îâáï ¯¥à¥ªàë¢ î騥áï ¯®¤§ ¤ ç¨ (overlapping subproblems). ⨯¨çëå á«ãç ïå ª®«¨ç¥á⢮ ¯®¤§ ¤ ç ¯®«¨®¬¨ «ì® § ¢¨á¨â ®â à §¬¥à ¨á室ëå ¤ ëå. § ¤ ç å, à¥è ¥¬ëå ¬¥â®¤®¬ "à §¤¥«ï© ¨ ¢« áâ¢ã©", â ª ¥ ¡ë¢ ¥â: ¤«ï ¨å ४ãàá¨¢ë© «£®à¨â¬, ª ª ¯à ¢¨«®, ª ¦¤®¬ è £¥ ¯®à®¦¤ ¥â ᮢ¥à襮 ®¢ë¥ ¯®¤§ ¤ ç¨. «£®à¨â¬ë, ®á®¢ ë¥ ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨, ¨á¯®«ì§ãîâ ¯¥à¥ªàë⨥ ¯®¤§ ¤ ç á«¥¤ãî騬 ®¡à §®¬: ª ¦¤ ï ¨§ ¯®¤§ ¤ ç à¥è ¥âáï ⮫쪮 ®¤¨ à §, ¨ ®â¢¥â § ®á¨âáï ¢ á¯¥æ¨ «ìãî â ¡«¨æã; ª®£¤ íâ ¦¥ ¯®¤§ ¤ ç ¢áâà¥ç ¥âáï ᮢ , ¯à®£à ¬¬ ¥ âà â¨â ¢à¥¬ï ¥ñ à¥è¥¨¥, ¡¥àñâ £®â®¢ë© ®â¢¥â ¨§ â ¡«¨æë. ¥àñ¬áï ¤«ï ¯à¨¬¥à ª § ¤ ç¥ ® ¯¥à¥¬®¦¥¨¨ ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ. § à¨á㪠16.1 ¢¨¤®, çâ® à¥è¥¨¥ ª ¦¤®© ¨§ ¯®¤§ ¤ ç, § ¯¨á ®¥ ¢ ¤ ®© ª«¥â®çª¥ â ¡«¨æë, ¬®£®ªà â® ¨á¯®«ì§ã¥âáï ¯à®æ¥¤ãன Matrix-Chain-Order ¯à¨ à¥è¥¨¨ ¯®¤§ ¤ ç ¨§ à ᯮ«®¦¥ëå ¢ëè¥ ª«¥â®ç¥ª. ¯à¨¬¥à, m[3; 4] ¨á¯®«ì§ã¥âáï ç¥âë०¤ë: ¯à¨ ¢ëç¨á«¥¨¨ m[2; 4], m[1; 4], m[3; 5] ¨ m[3; 6]. ë«® ¡ë ªà ©¥ ¥íä䥪⨢® ¢ëç¨á«ïâì m[3; 4] ¢á直© à § § ®¢®. á ¬®¬ ¤¥«¥, à áᬮâਬ á«¥¤ãî騩 (¥íä䥪⨢ë©) ४ãàá¨¢ë© «£®à¨â¬, ®á®¢ ë© ¥¯®á।á⢥® á®®â®è¥¨ïå (16.2) ¨ ¢ëç¨á«ïî騩 m[i; j ] | ¬¨¨¬ «ì®¥ ª®«¨ç¥á⢮ 㬮¦¥¨©, ¥®¡å®¤¨¬®¥ ¤«ï ¢ëç¨á«¥¨ï Ai::j = Ai Ai+1 : : :Aj : Recursive-Matrix-Chain(p; i; j ) 1 if i = j 2 then return 0 3 m[i; j ] 1 4 for k i to j ; 1 5 do q Recursive-Matrix-Chain(p; i; k) + + Recursive-Matrix-Chain(p; k + 1; j ) + pi;1 pk pj 6 if q < m[i; j ] 7 then m[i; j ] q 8 return m[i; j ] ®£¤ ¯à¨¬¥¨¬® ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ 309 ¨á㮪 16.2 ¥à¥¢® ४ãàᨨ ¤«ï Recursive-Matrix-Chain (p; 1; 4). ª ¦¤®© ¢¥à訥 § ¯¨á ë § 票ï i ¨ j . èâà¨å®¢ ë "«¨è¨¥" ¢¥àè¨ë (¢ëç¨á«¥¨ï ¢ ª®â®àëå ¯®¢â®àïîâ 㦥 ¯à®¤¥« ë¥). à¨á. 16.2 ¨§®¡à ¦¥® ¤¥à¥¢® ४ãàᨨ ¤«ï Recursive-MatrixChain(p; 1; 4). ª ¦¤®© ¢¥à訥 § ¯¨á ë § 票ï i ¨ j . ¡à â¨â¥ ¢¨¬ ¨¥, çâ® ¥ª®â®àë¥ ¯ àë (i; j ) ¢áâà¥ç îâáï ¬®£®ªà â®. ¥£ª® ¢¨¤¥âì, çâ® ¢à¥¬ï à ¡®âë Recursive-Matrix-Chain(p; 1; n) § ¢¨á¨â ®â n ¯® ¬¥ì襩 ¬¥à¥ íªá¯®¥æ¨ «ì®. á ¬®¬ ¤¥«¥, ®¡®§ 稬 ¥£® T (n) ¨ ¯à¨¬¥¬, çâ® ¢à¥¬ï ¨á¯®«¥¨ï áâப 1{2, â ª¦¥ 6{7, à ¢® ¥¤¨¨æ¥. ®£¤ : T (1) > 1; T (n) > 1 + n;1 X k=1 (T (k) + T (n ; k) + 1); ¥á«¨ n > 1. á㬬¥ ¯® k ª ¦¤®¥ T (i) (¯à¨ i = 1; 2; : : :; n ; 1) ¢áâà¥ç ¥âáï ¤¢ ¦¤ë, ¨ ¥éñ ¥áâì n ; 1 ¥¤¨¨æ. â «® ¡ëâì, T (n) > 2 n;1 X i=1 T (i) + n: (16.4) ®ª ¦¥¬ ¯® ¨¤ãªæ¨¨, çâ® T (n) > 2n;1 ¤«ï ¢á¥å n > 1. ਠn = 1 ¥à ¢¥á⢮ ¢ë¯®«¥®, â ª ª ª T (1) > 1 = 20. £ ¨¤ãªæ¨¨: T (n) > 2 nX ;1 2i;1 + n = 2 n;2 X 2i + n = i=1 i=0 n ; 1 = 2(2 ; 1) + n = 2n ; 2 + n > 2n;1 : ë ¢¨¤¨¬, çâ® «£®à¨â¬ Recursive-Matrix-Chain âॡã¥â íªá¯®¥æ¨ «ì®£® ¢à¥¬¥¨. à¨ç¨ ¢ ⮬, çâ® íâ®â «£®à¨â¬ ¬®£®ªà â® ¢áâà¥ç ¥â ®¤¨ ª®¢ë¥ ¯®¤§ ¤ ç¨ ¨ ª ¦¤ë© à § à¥è ¥â ¨å § ®¢®. §«¨çëå ¯®¤§ ¤ ç ¢á¥£® «¨èì (n2), ¨ ¬ áá ¢à¥¬¥¨ â¥àï¥âáï «¨èîî à ¡®âã. ¥â®¤ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï ¯®§¢®«ï¥â í⮩ «¨è¥© à ¡®âë ¨§¡¥¦ âì. 310 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ "ᢥàåã ¢¨§" «£®à¨â¬ à §¤¥« 16.1 ¤¥©á⢮¢ « "ᨧ㠢¢¥àå". ® â®â ¦¥ ¯à¨ñ¬ (¨áª«î票¥ ¯®¢â®à®£® à¥è¥¨ï ¯®¤§ ¤ ç) ¬®¦® ॠ«¨§®¢ âì ¨ ¤«ï «£®à¨â¬®¢, à ¡®â îé¨å "ᢥàåã ¢¨§". «ï í⮣® 㦮 § ¯®¬¨ âì ®â¢¥âë ª 㦥 à¥èñë¬ ¯®¤§ ¤ ç ¬ ¢ á¯¥æ¨ «ì®© â ¡«¨æ¥. ç « ¢áï â ¡«¨æ ¯ãáâ (â. ¥. § ¯®«¥ á¯¥æ¨ «ì묨 § ¯¨áﬨ, 㪠§ë¢ î騬¨ â®, ç⮠ᮮ⢥âáâ¢ãî饥 § 票¥ ¥é¥ ¥ ¢ëç¨á«¥®). ®£¤ ¢ ¯à®æ¥áᥠ¢ë¯®«¥¨ï «£®à¨â¬ ¯®¤§ ¤ ç ¢áâà¥ç ¥âáï ¢ ¯¥à¢ë© à §, ¥ñ à¥è¥¨¥ § ®á¨âáï ¢ â ¡«¨æã. ¤ «ì¥©è¥¬ à¥è¥¨¥ í⮩ ¯®¤§ ¤ ç¨ ¡¥àñâáï ¯àאַ ¨§ â ¡«¨æë. ( 襬 ¯à¨¬¥à¥ â ¡«¨æ㠮⢥⮢ § ¢¥á⨠«¥£ª®, â ª ª ª ¯®¤§ ¤ ç¨ ã¬¥àãîâáï ¯ à ¬¨ (i; j ). ¡®«¥¥ á«®¦ëå á«ãç ïå ¬®¦® ¨á¯®«ì§®¢ âì å¥è¨à®¢ ¨¥.) ®- £«¨©áª¨ íâ®â ¯à¨¥¬ ã«ãç襨ï ४ãàᨢëå «£®à¨â¬®¢ §ë¢ ¥âáï memoization. ਬ¥¨¬ íâ® ãᮢ¥àè¥á⢮¢ ¨¥ ª «£®à¨â¬ã RecursiveMatrix-Chain: Memoized-Matrix-Chain(p) 1 n length[p] ; 1 2 for i 1 to n 3 do for j i to n 4 do m[i; j ] 1 5 return Lookup-Chain(p; 1; n) Lookup-Chain(p; i; j ) 1 if m[i; j ] < 1 2 then return m[i; j ] 3 if i = j 4 then m[i; j ] 0 5 else for k i to j ; 1 6 do q Lookup-Chain(p; i; k) + + Lookup-Chain(p; k + 1; j ) + pi;1 pk pj 7 if q < m[i; j ] 8 then m[i; j ] q 9 return m[i; j ] à®æ¥¤ãà Memoized-Matrix-Chain, ¯®¤®¡® Matrix-ChainOrder, § ¯®«ï¥â â ¡«¨æã m[1 : :n; 1 : :n], £¤¥ m[i; j ] | ¬¨¨¬ «ì®¥ ª®«¨ç¥á⢮ 㬮¦¥¨©, ¥®¡å®¤¨¬®¥ ¤«ï ¢ëç¨á«¥¨ï Ai::j . ¥à¢® ç «ì® m[i; j ] = 1 ¢ § ª ⮣®, ç⮠ᮮ⢥âáâ¢ãî饥 ¬¥áâ® ¢ â ¡«¨æ¥ ¥ § ¯®«¥®. ᫨ ¯à¨ ¨á¯®«¥¨¨ Lookup-Chain(p; i; j ) ®ª §ë¢ ¥âáï, çâ® m[i; j ] < 1, â® ¯à®æ¥¤ãà áà §ã ¢ë¤ ¥â íâ® § 票¥ m[i; j ]. ¯à®â¨¢®¬ á«ãç ¥ m[i; j ] ¢ëç¨á«ï¥âáï ª ª ¢ ¯à®æ¥¤ãॠRecursive-Matrix-Chain, § ¯¨áë¢ ¥âáï ¢ â ¡«¨æã ¨ ¢ë¤ ñâáï ¢ ª ç¥á⢥ ®â¢¥â . ¥¬ á ¬ë¬ ¢ë§®¢ Lookup-Chain(p; i; j ) ¢á¥£¤ ®£¤ ¯à¨¬¥¨¬® ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ 311 ¢®§¢à é ¥â m[i; j ], ® ¢ëç¨á«¥¨ï ¯à®¢®¤ïâáï ⮫쪮 ¯à¨ ¯¥à¢®¬ â ª®¬ ¢ë§®¢¥. ¨á. 16.2 ¨««îáâà¨àã¥â íª®®¬¨î, ¤®á⨣ ¥¬ãî § ¬¥®© Recursive-Matrix-Chain Memoized-Matrix-Chain. èâà¨å®¢ ë¥ ¢¥àè¨ë ¤¥à¥¢ ४ãàᨨ ᮮ⢥âáâ¢ãîâ ⥬ á«ãç ï¬, ª®£¤ § 票¥ m[i; j ] ¥ ¢ëç¨á«ï¥âáï, ¡¥àñâáï ¯àאַ ¨§ â ¡«¨æë. «£®à¨â¬ Memoized-Matrix-Chain âॡã¥â ¢à¥¬¥¨ O(n3), ª ª ¨ «£®à¨â¬ Matrix-Chain-Order. á ¬®¬ ¤¥«¥, ª ¦¤ ï ¨§ (n2) ¯®§¨æ¨© â ¡«¨æë ®¤¨ à § ¨¨æ¨ «¨§¨àã¥âáï (áâப 4 ¯à®æ¥¤ãàë Memoized-Matrix-Chain) ¨ ®¤¨-¥¤¨áâ¢¥ë© à § § ¯®«ï¥âáï | ¯à¨ ¯¥à¢®¬ ¢ë§®¢¥ Lookup-Chain(p; i; j ) ¤«ï ¤ ëå i ¨ j . ᥠ¢ë§®¢ë Lookup-Chain(p; i; j ) ¤¥«ïâáï ¯¥à¢ë¥ ¨ ¯®¢â®àë¥. ¦¤ë© ¨§ (n2) ¯¥à¢ëå ¢ë§®¢®¢ âॡã¥â ¢à¥¬¥¨ O(n) (¥ ¢ª«îç ï ¢à¥¬¥¨ à ¡®âë ४ãàᨢëå ¢ë§®¢®¢ Lookup-Chain ¤«ï ¬¥ìè¨å ãç á⪮¢); ®¡é¥¥ ¢à¥¬ï à ¡®âë ¥áâì O(n3). ¦¤ë© ¨§ ¯®¢â®àëå ¢ë§®¢®¢ âॡã¥â ¢à¥¬¥¨ O(1); ¨å ç¨á«® ¥áâì O(n3) (¢ëç¨á«¥¨ï ¤«ï ª ¦¤®© ¨§ O(n2) ª«¥â®ª â ¡«¨æë ¯®à®¦¤ îâ O(n) ¢ë§®¢®¢). ¥¬ á ¬ë¬ à¥ªãàá¨¢ë© «£®à¨â¬, âॡãî騩 ¢à¥¬¥¨ (2n), ¯à¥¢à ⨫áï ¢ ¯®«¨®¬¨ «ìë©, âॡãî騩 ¢à¥¬¥¨ O(n3). ®¤¢¥¤ñ¬ ¨â®£¨: § ¤ ç ®¡ ®¯â¨¬ «ì®¬ ¯®à浪¥ 㬮¦¥¨ï n ¬ âà¨æ ¬®¦¥â ¡ëâì à¥è¥ § ¢à¥¬ï O(n3) «¨¡® "ᢥàåã ¢¨§" (४ãàá¨¢ë© «£®à¨â¬ á § ¯®¬¨ ¨¥¬ ®â¢¥â®¢), «¨¡® "ᨧ㠢¢¥àå" (¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥). ¡ «£®à¨â¬ ®á®¢ ë ¯¥à¥ªàë⨨ ¯®¤§ ¤ ç; ç¨á«® ¯®¤§ ¤ ç ¥áâì (n2), ¨ ®¡ «£®à¨â¬ à¥è îâ ª ¦¤ãî ¨§ ¯®¤§ ¤ ç «¨èì ¥¤¨®¦¤ë. ®®¡é¥ £®¢®àï, ¥á«¨ ª ¦¤ ï ¨§ ¯®¤§ ¤ ç ¤®«¦ ¡ëâì à¥è¥ å®âì à §, ¬¥â®¤ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï ("ᨧ㠢¢¥àå") ®¡ëç® íä䥪⨢¥¥, 祬 ४ãàá¨ï á § ¯®¬¨ ¨¥¬ ®â¢¥â®¢, ¯®áª®«ìªã ॠ«¨§ æ¨ï ४ãàᨨ ( â ª¦¥ ¯à®¢¥àª , ¥áâì ®â¢¥â ¢ â ¡«¨æ¥ ¨«¨ ¥éñ ¥â) âॡã¥â ¤®¯®«¨â¥«ì®£® ¢à¥¬¥¨. ® ¥á«¨ ¤«ï 宦¤¥¨ï ®¯â¨¬ã¬ ¥ ®¡ï§ â¥«ì® à¥è âì ¢á¥ ¯®¤§ ¤ ç¨, ¯®¤å®¤ "ᢥàåã ¢¨§" ¨¬¥¥â â® ¯à¥¨¬ãé¥á⢮, çâ® à¥è îâáï «¨èì ⥠¯®¤§ ¤ ç¨, ª®â®àë¥ ¤¥©áâ¢¨â¥«ì® ã¦ë. ¯à ¦¥¨ï à ¢¨â¥ ¥à ¢¥á⢮ (16.4) á ä®à¬ã«®© (8.4), ¨á¯®«ì§®¢ ®© ¯à¨ ®æ¥ª¥ ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨. çñ¬ ¯à¨ç¨ ⮣®, çâ® ®æ¥ª¨, ¯®«ãç î騥áï ¨§ íâ¨å ¤¢ãå ४ãàà¥âëå á®®â®è¥¨©, á⮫ì à §«¨çë? 16.2-2 ª «ãçè¥ ¨áª âì ®¯â¨¬ «ìë© ¯®à冷ª ¯¥à¥¬®¦¥¨ï ¬ âà¨æ: ¯¥à¥¡¨à ï ¢á¥ à ááâ ®¢ª¨ ᪮¡®ª ¨ ¢ëç¨á«ïï ª®«¨ç¥á⢮ 㬮¦¥¨© ¤«ï ª ¦¤®© ¨§ ¨å, ¨«¨ ¦¥ á ¯®¬®éìî «£®à¨â¬ 16.2-1 312 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ Recursive-Matrix-Chain? 16.2-3 à¨áã©â¥ ¤¥à¥¢® ४ãàᨨ ¤«ï «£®à¨â¬ Merge-Sort (á®àâ¨à®¢ª ᫨逸¬) ¨§ à §¤¥« 1.3.1, ¯à¨¬¥ñ®£® ª ¬ áᨢ㠨§ 16 í«¥¬¥â®¢. ®ç¥¬ã §¤¥áì ¥â á¬ëá« § ¯®¬¨ âì ®â¢¥âë ª 㦥 à¥èñë¬ ¯®¤§ ¤ ç ¬? 16.3 ¨¡®«ìè ï ®¡é ï ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ®¤¯®á«¥¤®¢ ⥫ì®áâì ¯®«ãç ¥âáï ¨§ ¤ ®© ¯®á«¥¤®¢ ⥫ì®áâ¨, ¥á«¨ 㤠«¨âì ¥ª®â®àë¥ ¥ñ í«¥¬¥âë (á ¬ ¯®á«¥¤®¢ ⥫ì®áâì â ª¦¥ áç¨â ¥âáï ᢮¥© ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî). ®à¬ «ì®: ¯®á«¥¤®¢ ⥫ì®áâì Z = hz1; z2; : : :; zk i §ë¢ ¥âáï ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî (subsequence) ¯®á«¥¤®¢ ⥫ì®á⨠X = hx1; x2; : : :; xni, ¥á«¨ áãé¥áâ¢ã¥â áâண® ¢®§à áâ îé ï ¯®á«¥¤®¢ ⥫ì®áâì ¨¤¥ªá®¢ hi1; i2; : : :; iki, ¤«ï ª®â®à®© zj = xij ¯à¨ ¢á¥å j = 1; 2; : : :; k. ¯à¨¬¥à, Z = hB; C; D; Bi ï¥âáï ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî ¯®á«¥¤®¢ ⥫ì®á⨠X = hA; B; C; B; D; A; Bi; ᮮ⢥âáâ¢ãîé ï ¯®á«¥¤®¢ ⥫ì®áâì ¨¤¥ªá®¢ ¥áâì h2; 3; 5; 7i. (⬥⨬, çâ® £®¢®àï ® ¯®á«¥¤®¢ ⥫ì®áâïå, ¬ë | ¢ ®â«¨ç¨¥ ®â ªãàᮢ ¬ ⥬ â¨ç¥áª®£® «¨§ | ¨¬¥¥¬ ¢ ¢¨¤ã ª®¥çë¥ ¯®á«¥¤®¢ ⥫ì®áâ¨.) 㤥¬ £®¢®à¨âì, çâ® ¯®á«¥¤®¢ ⥫ì®áâì Z ï¥âáï ®¡é¥© ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî (common subsequence) ¯®á«¥¤®¢ ⥫ì®á⥩ X ¨ Y , ¥á«¨ Z ï¥âáï ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî ª ª X , â ª ¨ Y . ਬ¥à: X = hA; B; C; B; D; A; Bi, Y = hB; D; C; A; B; Ai, Z = hB; C; Ai. ®á«¥¤®¢ ⥫ì®áâì Z ¢ í⮬ ¯à¨¬¥à¥ | ¥ á ¬ ï ¤«¨ ï ¨§ ®¡é¨å ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ X ¨ Y (¯®á«¥¤®¢ ⥫ì®áâì hB; C; B; Ai ¤«¨¥¥). ®á«¥¤®¢ ⥫ì®áâì hB; C; B; Ai ¡ã¤¥â ¨¡®«ì襩 ®¡é¥© ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî ¤«ï X ¨ Y , ¯®áª®«ìªã ®¡é¨å ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ ¤«¨ë 5 ã ¨å ¥â. ¨¡®«ìè¨å ®¡é¨å ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ ¬®¦¥â ¡ëâì ¥áª®«ìª®. ¯à¨¬¥à, hB; D; A; Bi | ¤àã£ ï ¨¡®«ìè ï ®¡é ï ¯®¤¯®á«¥¤®¢ ⥫ì®áâì X ¨ Y. ¤ ç ® ¨¡®«ì襩 ®¡é¥© ¯®¤¯®á«¥¤®¢ ⥫ì®á⨠(᮪à 饮 ; ¯®- £«¨©áª¨ LCS = longest-common-subsequence) á®á⮨⠢ ⮬, çâ®¡ë ©â¨ ®¡éãî ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¨¡®«ì襩 ¤«¨ë ¤«ï ¤¢ãå ¤ ëå ¯®á«¥¤®¢ ⥫ì®á⥩ X ¨ Y . í⮬ à §¤¥«¥ ¬ë ¯®ª ¦¥¬, ª ª à¥è¨âì íâã § ¤ çã á ¯®¬®éìî ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï. â஥¨¥ ¨¡®«ì襩 ®¡é¥© ¯®¤¯®á«¥¤®¢ ⥫ì®á⨠᫨ à¥è âì § ¤ çã ® "¢ «®¡", ¯¥à¥¡¨à ï ¢á¥ ¯®¤¯®á«¥¤®¢ ⥫ì®á⨠¯®á«¥¤®¢ ⥫ì®á⨠X ¨ ¯à®¢¥àïï ¤«ï ª ¦¤®© ¨§ ¨å, ¥ ¨¡®«ìè ï ®¡é ï ¯®¤¯®á«¥¤®¢ ⥫ì®áâì 313 ¡ã¤¥â «¨ ® ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî ¯®á«¥¤®¢ ⥫ì®á⨠Y , â® «£®à¨â¬ ¡ã¤¥â à ¡®â âì íªá¯®¥æ¨ «ì®¥ ¢à¥¬ï, ¯®áª®«ìªã ¯®á«¥¤®¢ ⥫ì®áâì ¤«¨ë m ¨¬¥¥â 2m ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ (á⮫쪮 ¦¥, ᪮«ìª® ¯®¤¬®¦¥á⢠㠬®¦¥á⢠f1; 2; : : :; mg). ¤ ª® § ¤ ç ® ®¡« ¤ ¥â ᢮©á⢮¬ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç, ª ª ¯®ª §ë¢ ¥â ⥮६ 16.1 (á¬. ¨¦¥). ®¤å®¤ï饥 ¬®¦¥á⢮ ¯®¤§ ¤ ç | ¬®¦¥á⢮ ¯ à ¯à¥ä¨ªá®¢ ¤¢ãå ¤ ëå ¯®á«¥¤®¢ ⥫ì®á⥩. ãáâì X = hx1; x2; : : :; xmi | ¥ª®â®à ï ¯®á«¥¤®¢ ⥫ì®áâì. ñ ¯à¥ä¨ªá (prex) ¤«¨ë i | íâ® ¯®á«¥¤®¢ ⥫ì®áâì Xi = hx1; x2; : : :; xii (¯à¨ i ®â 0 ¤® m). ¯à¨¬¥à, ¥á«¨ X = hA; B; C; B; D; A; B i, â® X4 = hA; B; C; Bi, X0 | ¯ãáâ ï ¯®á«¥¤®¢ ⥫ì®áâì. ¥®à¥¬ 16.1 (® áâ஥¨¨ ). ãáâì Z = hz1 ; z2; : : :; zk i | ®¤ ¨§ ¨¡®«ìè¨å ®¡é¨å ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ ¤«ï X = hx1; x2; : : :; xmi ¨ Y = hy1; y2; : : :; yni. ®£¤ : 1. ¥á«¨ xm = yn , â® zk = xm = yn ¨ Zk;1 ï¥âáï ¤«ï Xm;1 ¨ Yn;1 ; 2. ¥á«¨ xm = 6 yn ¨ zk =6 xm, â® Z ï¥âáï ¤«ï Xm;1 ¨ Y ; 3. ¥á«¨ xm = 6 yn ¨ zk =6 yn , â® Z ï¥âáï ¤«ï Xm ¨ Yn;1 . ®ª § ⥫ìá⢮. (1) ᫨ zk = 6 xm, â® ¬ë ¬®¦¥¬ ¤®¯¨á âì xm = yn ¢ ª®¥æ ¯®á«¥¤®¢ ⥫ì®á⨠Z ¨ ¯®«ãç¨âì ®¡éãî ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¤«¨ë k + 1, çâ® ¯à®â¨¢®à¥ç¨â ãá«®¢¨î. â «® ¡ëâì, zk = xm = yn . ᫨ ã ¯®á«¥¤®¢ ⥫ì®á⥩ Xm;1 ¨ Yn;1 ¥áâì ¡®«¥¥ ¤«¨ ï (祬 Zk;1) ®¡é ï ¯®¤¯®á«¥¤®¢ ⥫ì®áâì, â® ¬ë ¬®¦¥¬ ¤®¯¨á âì ª ¥© xm = yn ¨ ¯®«ãç¨âì ®¡éãî ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¤«ï X ¨ Y , ¡®«¥¥ ¤«¨ãî, 祬 Z | ¯à®â¨¢®à¥ç¨¥. (2) ®«ì ᪮஠zk = 6 xm, ¯®á«¥¤®¢ ⥫ì®áâì Z ï¥âáï ®¡é¥© ¯®¤¯®á«¥¤®¢ ⥫ì®áâìî ¤«ï Xm;1 ¨ Y . ª ª ª Z | ¤«ï X ¨ Y , â® ® ⥬ ¡®«¥¥ ï¥âáï ¤«ï Xm;1 ¨ Y . (3) «®£¨ç® (2). ë ¢¨¤¨¬, çâ® ¤¢ãå ¯®á«¥¤®¢ ⥫ì®á⥩ ᮤ¥à¦¨â ¢ ᥡ¥ ¨¡®«ìèãî ®¡éãî ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¨å ¯à¥ä¨ªá®¢. â «® ¡ëâì, § ¤ ç ® ®¡« ¤ ¥â ᢮©á⢮¬ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç. ¥©ç á ¬ë ã¡¥¤¨¬áï, çâ® ¯¥à¥ªàë⨥ ¯®¤§ ¤ ç â ª¦¥ ¨¬¥¥â ¬¥áâ®. ¥ªãàà¥â ï ä®à¬ã« ¥®à¥¬ 16.1 ¯®ª §ë¢ ¥â, ç⮠宦¤¥¨¥ ¯®á«¥¤®¢ ⥫ì®á⥩ X = hx1; x2; : : :; xmi ¨ Y = hy1; y2; : : :; yni ᢮¤¨âáï ª à¥è¥¨î «¨¡® ®¤®©, «¨¡® ¤¢ãå ¯®¤§ ¤ ç. ᫨ xm = yn , â® ¤®áâ â®ç® ©â¨ ¯®á«¥¤®¢ ⥫ì®á⥩ Xm;1 ¨ Yn;1 ¨ ¤®¯¨á âì ª ¥© ¢ ª®æ¥ xm = yn . ᫨ ¦¥ xm = 6 yn, â® ¤® à¥è¨âì ¤¢¥ ¯®¤§ ¤ ç¨: ©â¨ 314 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¤«ï Xm;1 ¨ Y , § ⥬ ©â¨ ¤«ï X ¨ Yn;1 . ®«¥¥ ¤«¨ ï ¨§ ¨å ¨ ¡ã¤¥â á«ã¦¨âì ¤«ï X ¨ Y . ¥¯¥àì áà §ã ¢¨¤®, çâ® ¢®§¨ª ¥â ¯¥à¥ªàë⨥ ¯®¤§ ¤ ç. ¥©á⢨⥫ì®, çâ®¡ë ©â¨ X ¨ Y , ¬ ¬®¦¥â ¯® ¤®¡¨âìáï ©â¨ Xm;1 ¨ Y , â ª¦¥ X ¨ Yn;1 ; ª ¦¤ ï ¨§ íâ¨å § ¤ ç ᮤ¥à¦¨â ¯®¤§ ¤ çã 宦¤¥¨ï ¤«ï Xm;1 ¨ Yn;1 . «®£¨çë¥ ¯¥à¥ªàëâ¨ï ¡ã¤ãâ ¢áâà¥ç âìáï ¨ ¤ «¥¥. ª ¨ ¢ § ¤ ç¥ ¯¥à¥¬®¦¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ, ¬ë çñ¬ á ४ãàà¥â®£® á®®â®è¥¨ï ¤«ï á⮨¬®á⨠®¯â¨¬ «ì®£® à¥è¥¨ï. ãáâì c[i; j ] ®¡®§ ç ¥â ¤«¨ã ¤«ï ¯®á«¥¤®¢ ⥫ì®á⥩ Xi ¨ Yj . ᫨ i ¨«¨ j à ¢® ã«î, â® ®¤ ¨§ ¤¢ãå ¯®á«¥¤®¢ ⥫ì®á⥩ ¯ãáâ , â ª çâ® c[i; j ] = 0. ª § ®¥ ¢ëè¥ ¬®¦® § ¯¨á âì â ª: 8 > ¥á«¨ i = 0 ¨«¨ j = 0, < 0 c[i; j ] = > c[i ; 1; j ; 1] + 1 ¥á«¨ i; j > 0 ¨ xi = yj , : max(c[i; j ; 1]; c[i ; 1; j ]); ¥á«¨ i; j > 0 ¨ xi = 6 yj . (16.5) ëç¨á«¥¨¥ ¤«¨ë áå®¤ï ¨§ á®®â®è¥¨ï (16.5), «¥£ª® ¯¨á âì ४ãàá¨¢ë© «£®à¨â¬, à ¡®â î騩 íªá¯®¥æ¨ «ì®¥ ¢à¥¬ï ¨ ¢ëç¨á«ïî騩 ¤«¨ã ¤¢ãå ¤ ëå ¯®á«¥¤®¢ ⥫ì®á⥩. ® ¯®áª®«ìªã à §«¨çëå ¯®¤§ ¤ ç ¢á¥£® (mn), «ãçè¥ ¢®á¯®«ì§®¢ âìáï ¤¨ ¬¨ç¥áª¨¬ ¯à®£à ¬¬¨à®¢ ¨¥¬. á室묨 ¤ 묨 ¤«ï «£®à¨â¬ LCS-Length á«ã¦ â ¯®á«¥¤®¢ ⥫ì®á⨠X = hx1; x2; : : :; xmi ¨ Y = hy1; y2; : : :; yni. ¨á« c[i; j ] § ¯¨áë¢ îâáï ¢ â ¡«¨æã c[0 : :m; 0 : :n] ¢ â ª®¬ ¯®à浪¥: á ç « § ¯®«ï¥âáï á«¥¢ ¯à ¢® ¯¥à¢ ï áâப , § ⥬ ¢â®à ï, ¨ â. ¤. ஬¥ ⮣®, «£®à¨â¬ § ¯®¬¨ ¥â ¢ â ¡«¨æ¥ b[1 : :m; 1 : :n] "¯à®¨á宦¤¥¨¥" c[i; j ]: ¢ ª«¥âªã b[i; j ] § ®á¨âáï áâ५ª , 㪠§ë¢ îé ï ª«¥âªã á ª®®à¤¨ â ¬¨ (i ; 1; j ; 1), (i ; 1; j ) ¨«¨ (i; j ; 1), ¢ § ¢¨á¨¬®á⨠®â ⮣®, à ¢® «¨ c[i; j ] ç¨á«ã c[i ; 1; j ; 1]+1, c[i ; 1; j ] ¨«¨ c[i; j ; 1] (á¬. (16.5)). ¥§ã«ìâ â ¬¨ à ¡®âë «£®à¨â¬ ïîâáï â ¡«¨æë c ¨ b. ¨¡®«ìè ï ®¡é ï ¯®¤¯®á«¥¤®¢ ⥫ì®áâì 315 16.3 ¡«¨æë c ¨ b, ᮧ¤ ë¥ «£®à¨â¬®¬ LCS-Length ¯à¨ X = hA; B; C; B; D; A;B i ¨ Y = hB; D; C; A; B; Ai. ª«¥âª¥ á ª®®à¤¨ â ¬¨ (i; j ) § ¯¨á ë ç¨á«® c[i;j ] ¨ áâ५ª b[i; j ]. ¨á«® 4 ¢ ¯à ¢®© ¨¦¥© ª«¥âª¥ ¥áâì ¤«¨ . ਠi; j > 0 § 票¥ c[i;j ] ®¯à¥¤¥«ï¥âáï ⥬, à ¢ë «¨ xi ¨ yj , ¨ ¢ëç¨á«¥ë¬¨ à ¥¥ § 票ﬨ c[i ; 1;j ], c[i; j ; 1] ¨ c[i ; 1;j ; 1]. ãâì ¯® áâ५ª ¬, ¢¥¤ã騩 ¨§ c[7; 6], § èâà¨å®¢ . ¦¤ ï ª®á ï áâ५ª í⮬ ¯ã⨠ᮮ⢥âáâ¢ã¥â í«¥¬¥âã (íâ¨ í«¥¬¥âë ¢ë¤¥«¥ë). ¨á㮪 LCS-Length(X; Y ) m length[X ] n length[Y ] for i 1 to m do c[i; 0] 0 for j 0 to n do c[0; j ] 0 for i 1 to m do for j 1 to n do if xi = yj then c[i; j ] c[i ; 1; j ; 1] + 1 b[i; j ] "-" else if c[i ; 1; j ] > c[i; j ; 1] then c[i; j ] c[i ; 1; j ] b[i; j ] """ else c[i; j ] c[i; j ; 1] b[i; j ] " " return c, b à¨á. 16.3 ¯®ª § à ¡®â LCS-Length ¤«ï X = hA; B; C; B; D; A; Bi ¨ Y = hB; D; C; A; B; Ai. «£®à¨â¬ LCS-Length âॡã¥â ¢à¥¬¥¨ O(mn): ª ¦¤ãî ª«¥âªã âॡã¥âáï O(1) è £®¢. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 316 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ®áâ஥¨¥ ¡«¨æ b, ᮧ¤ ï ¯à®æ¥¤ãன LCS-Length, ¯®§¢®«ï¥â ¡ëáâà® ©â¨ ¯®á«¥¤®¢ ⥫ì®á⥩ X = hx1; x2; : : :; xmi ¨ Y = hy1; y2; : : :; yni. «ï í⮣® ¤® ¯à®©â¨ ¯® ¯ãâ¨, 㪠§ ®¬ã áâ५ª ¬¨, ç¨ ï á b[m; n]. ன¤¥ ï áâ५ª - ¢ ª«¥âª¥ (i; j ) ®§ ç ¥â, çâ® xi = yj ¢å®¤¨â ¢ ¨¡®«ìèãî ®¡éãî ¯®¤¯®á«¥¤®¢ ⥫ì®áâì. ®â ª ª í⮠ॠ«¨§®¢ ® ¢ ४ãàᨢ®© ¯à®æ¥¤ãॠPrint-LCS ( ¤«ï X ¨ Y ¯¥ç â ¥âáï ¯à¨ ¢ë§®¢¥ Print-LCS(b; X; length[X ]; length[Y ])): Print-LCS(b; X; i; j ) 1 if i = 0 ¨«¨ j = 0 2 then return 3 if b[i; j ] = "-" 4 then Print-LCS(b; X; i ; 1; j ; 1) 5 ¯¥ç â âì xi 6 elseif b[i; j ] = """ 7 then Print-LCS(b; X; i ; 1; j ) 8 else Print-LCS(b; X; i; j ; 1) ã¤ãç¨ ¯à¨¬¥ñ®© ª â ¡«¨æ¥ à¨á. 16.3, íâ ¯à®æ¥¤ãà ¯¥ç â ¥â BCBA. ६ï à ¡®âë ¯à®æ¥¤ãàë ¥áâì O(m + n), ¯®áª®«ìªã ª ¦¤®¬ è £¥ å®âï ¡ë ®¤® ¨§ ç¨á¥« m ¨ n 㬥ìè ¥âáï. «ãç襨¥ «£®à¨â¬ ®á«¥ ⮣®, ª ª «£®à¨â¬ à §à ¡®â , ¥à¥¤ª® 㤠ñâáï ᤥ« âì ¥£® ¡®«¥¥ íª®®¬ë¬. 襬 ¯à¨¬¥à¥ ¬®¦® ®¡®©â¨áì ¡¥§ â ¡«¨æë b. á ¬®¬ ¤¥«¥, ª ¦¤®¥ ¨§ ç¨á¥« c[i; j ] § ¢¨á¨â ®â c[i ; 1; j ], c[i; j ; 1] ¨ c[i ; 1; j ; 1]. ï c[i; j ], ¬ë ¬®¦¥¬ § ¢à¥¬ï O(1) ¢ëïá¨âì, ª ª ï ¨§ íâ¨å âàñå § ¯¨á¥© ¨á¯®«ì§®¢ « áì. ¥¬ á ¬ë¬ ¬®¦® ©â¨ § ¢à¥¬ï O(m+n) á ¯®¬®éìî ®¤®© ⮫쪮 â ¡«¨æë c (¢ ã¯à ¦¥¨¨ 16.3-2 ¬ë ¯®¯à®á¨¬ ¢ á í⮠ᤥ« âì). ਠí⮬ ¬ë íª®®¬¨¬ (mn) ¯ ¬ïâ¨. (¯à®ç¥¬, ᨬ¯â®â¨ª ¥ ¬¥ï¥âáï: ®¡êñ¬ â ¡«¨æë c ¥áâì â ª¦¥ (mn).) ᫨ á ¨â¥à¥áã¥â ⮫쪮 ¤«¨ ¨¡®«ì襩 ®¡é¥© ¯®¤¯®á«¥¤®¢ ⥫ì®áâ¨, â® á⮫쪮 ¯ ¬ï⨠¥ 㦮: ¢ëç¨á«¥¨¥ c[i; j ] § âà £¨¢ ¥â ⮫쪮 ¤¢¥ áâப¨ á ®¬¥à ¬¨ i ¨ i ; 1 (íâ® ¥ ¯à¥¤¥« íª®®¬¨¨: ¬®¦® ®¡®©â¨áì ¯ ¬ïâìî ®¤ã áâபã â ¡«¨æë c ¯«îá ¥éñ çãâì-çãâì, á¬. ã¯à ¦¥¨¥ 16.3-4). ਠí⮬, ®¤ ª®, á ¬ã ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ©â¨ (§ ¢à¥¬ï O(m + n)) ¥ 㤠ñâáï. ¯â¨¬ «ì ï âਠ£ã«ïæ¨ï ¬®£®ã£®«ì¨ª 317 ¯à ¦¥¨ï ©¤¨â¥ ¯®á«¥¤®¢ ⥫ì®á⥩ h1; 0; 0; 1; 0; 1; 0; 1i ¨ h0; 1; 0; 1; 1; 0; 1; 1; 0i. 16.3-2 §à ¡®â ©â¥ «£®à¨â¬, áâà®ï騩 ¤«ï X = hx1; x2; : : :; xmi ¨ Y = hy1; y2; : : :; yni § ¢à¥¬ï O(m + n), ¨á室ï ⮫쪮 ¨§ â ¡«¨æë c. 16.3-3 §à ¡®â ©â¥ ४ãàá¨¢ë© ¢ ਠ⠫£®à¨â¬ LCSLength á § ¯®¬¨ ¨¥¬ ®â¢¥â®¢, âॡãî騩 ¢à¥¬¥¨ O(mn). 16.3-4 ®ª ¦¨â¥, ª ª ¬®¦® ¢ëç¨á«¨âì ¤«¨ã , ¨á¯®«ì§ãï ¯ ¬ïâì à §¬¥à 2 min(m; n) + O(1) ¨ åà ï «¨èì ç áâì â ¡«¨æë c. ª ª í⮠ᤥ« âì, ¨á¯®«ì§ãï ¯ ¬ïâì min(m; n) + O(1)? 16.3-5 §à ¡®â ©â¥ «£®à¨â¬, 室ï騩 ¨¡®«ìèãî ¢®§à áâ îéãî ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¤ ®© ¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ç¨á¥« ¨ à ¡®â î騩 § ¢à¥¬ï O(n2). 16.3-6? §à ¡®â ©â¥ «£®à¨â¬, à¥è î騩 ¯à¥¤ë¤ãéãî § ¤ çã § ¢à¥¬ï O(n log n). (ª § ¨¥. à ¨¬ ¤«ï ª ¦¤®£® i ¨¬¥ì訩 ¨§ ¯®á«¥¤¨å í«¥¬¥â®¢ ¢®§à áâ îé¨å ¯®¤¯®á«¥¤®¢ ⥫ì®á⥩ ¤«¨ë i. ª ¬¥ïîâáï í⨠ç¨á« ¯à¨ ¤®¡ ¢«¥¨¨ ®¢®£® í«¥¬¥â ?) 16.3-1 16.4 ¯â¨¬ «ì ï âਠ£ã«ïæ¨ï ¬®£®ã£®«ì¨ª ¥á¬®âàï á¢®î £¥®¬¥âà¨ç¥áªãî ä®à¬ã«¨à®¢ªã, íâ § ¤ ç ®ç¥ì ¡«¨§ª ª § ¤ ç¥ ® ¯¥à¥¬®¦¥¨¨ ¬ âà¨æ. ®£®ã£®«ì¨ª (polygon) | íâ® § ¬ªãâ ï ªà¨¢ ï ¯«®áª®áâ¨, á®áâ ¢«¥ ï ¨§ ®â१ª®¢, §ë¢ ¥¬ëå áâ®à® ¬¨ (sides) ¬®£®ã£®«ì¨ª . ®çª , ¢ ª®â®à®© á室ïâáï ¤¢¥ á®á¥¤¨¥ áâ®à®ë, §ë¢ ¥âáï ¢¥à訮© (vertex). ¥á ¬®¯¥à¥á¥ª î騩áï ¬®£®ã£®«ì¨ª (⮫쪮 â ª¨¥ ¬ë ¨ ¡ã¤¥¬, ª ª ¯à ¢¨«®, à áᬠâਢ âì) §ë¢ ¥âáï ¯à®áâë¬ (simple). ®¦¥á⢮ â®ç¥ª ¯«®áª®áâ¨, «¥¦ é¨å ¢ãâਠ¯à®á⮣® ¬®£®ã£®«ì¨ª , §ë¢ ¥âáï ¢ãâ८áâìî (interior) ¬®£®ã£®«ì¨ª , ®¡ê¥¤¨¥¨¥ ¥£® áâ®à® §ë¢ ¥âáï ¥£® £à ¨æ¥© (boundary), ¬®¦¥á⢮ ¢á¥å ®áâ «ìëå â®ç¥ª ¯«®áª®á⨠§ë¢ ¥âáï ¥£® ¢¥è®áâìî (exterior). à®á⮩ ¬®£®ã£®«ì¨ª §ë¢ ¥âáï ¢ë¯ãª«ë¬ (convex), ¥á«¨ ¤«ï «î¡ëå ¤¢ãå â®ç¥ª, «¥¦ é¨å ¢ãâਠ¨«¨ £à ¨æ¥ ¬®£®ã£®«ì¨ª , ᮥ¤¨ïî騩 ¨å ®â१®ª 楫¨ª®¬ «¥¦¨â ¢ãâਠ¨«¨ £à ¨æ¥ ¬®£®ã£®«ì¨ª . ë¯ãª«ë© ¬®£®ã£®«ì¨ª ¬®¦® § ¤ âì, ¯¥à¥ç¨á«¨¢ ¥£® ¢¥àè¨ë ¯à®â¨¢ ç ᮢ®© áâ५ª¨: ¬®£®ã£®«ì¨ª P = hv0; v1; : : :; vn;1i 318 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¨á㮪 16.4 ¢¥ âਠ£ã«ï樨 ¢ë¯ãª«®£® ᥬ¨ã£®«ì¨ª . ¦¤ ï ¤¥«¨â ᥬ¨ã£®«ì¨ª 7 ; 2 = 5 âà¥ã£®«ì¨ª®¢ á ¯®¬®éìî 7 ; 3 = 4 ¤¨ £® «¥©. ¨¬¥¥â n áâ®à® v0v1, v1v2; : : :; vn;1vn. ¤¥áì vn | â® ¦¥ á ¬®¥, çâ® v0 (㤮¡® 㬥஢ âì ¢¥àè¨ë n-㣮«ì¨ª ¢ëç¥â ¬¨ ¯® ¬®¤ã«î n). ᫨ vi ¨ vj | ¤¢¥ ¢¥àè¨ë, ¥ ïî騥áï á®á¥¤¨¬¨, ®â१®ª vivj §ë¢ ¥âáï ¤¨ £® «ìî (chord) ¬®£®ã£®«ì¨ª . ¨ £® «ì vi vj à §¡¨¢ ¥â ¬®£®ã£®«ì¨ª ¤¢ : hvi; vi+1; : : :; vj i ¨ hvj ; vj+1; : : :; vii. ਠ£ã«ïæ¨ï (triangulation) ¬®£®ã£®«ì¨ª | íâ® ¡®à ¤¨ £® «¥©, à §à¥§ îé¨å ¬®£®ã£®«ì¨ª âà¥ã£®«ì¨ª¨; áâ®à® ¬¨ íâ¨å âà¥ã£®«ì¨ª®¢ ïîâáï áâ®à®ë ¨á室®£® ¬®£®ã£®«ì¨ª ¨ ¤¨ £® «¨ âਠ£ã«ï樨. à¨á. 16.4 ¨§®¡à ¦¥ë ¤¢¥ âਠ£ã«ï樨 ᥬ¨ã£®«ì¨ª . (ਠ£ã«ïæ¨î ¬®¦® â ª¦¥ ®¯à¥¤¥«¨âì ª ª ¬ ªá¨¬ «ì®¥ ¬®¦¥á⢮ ¤¨ £® «¥©, ¥ ¯¥à¥á¥ª îé¨å ¤à㣠¤à㣠.) ® ¢á¥å âਠ£ã«ïæ¨ïå n-㣮«ì¨ª ®¤® ¨ â® ¦¥ ç¨á«® âà¥ã£®«ì¨ª®¢ (á㬬 ¢á¥å 㣫®¢ ¬®£®ã£®«ì¨ª à ¢ ¯à®¨§¢¥¤¥¨î 180 ¨ ç¨á« âà¥ã£®«ì¨ª®¢ ¢ âਠ£ã«ï樨), ¨¬¥® n ; 2. ਠí⮬ ¨á¯®«ì§ãîâáï n ; 3 ¤¨ £® «¨ (¯à®¢®¤ï ¤¨ £® «ì, ¬ë 㢥«¨ç¨¢ ¥¬ ç¨á«® ç á⥩ 1). ¤ ç ®¡ ®¯â¨¬ «ì®© âਠ£ã«ï樨 (optimal triangulation problem) á®á⮨⠢ á«¥¤ãî饬. ¢ë¯ãª«ë© ¬®£®ã£®«ì¨ª P = hv0; v1; : : :; vn;1i ¨ ¢¥á®¢ ï äãªæ¨ï w, ®¯à¥¤¥«ñ ï ¬®¦¥á⢥ âà¥ã£®«ì¨ª®¢ á ¢¥àè¨ ¬¨ ¢ ¢¥àè¨ å P . ॡã¥âáï ©â¨ âਠ£ã«ïæ¨î, ¤«ï ª®â®à®© á㬬 ¢¥á®¢ âà¥ã£®«ì¨ª®¢ ¡ã¤¥â ¨¬¥ì襩. áâ¥áâ¢¥ë© ¯à¨¬¥à ¢¥á®¢®© äãªæ¨¨ | äãªæ¨ï w(4vivj vk ) = jvi vj j + jvj vk j + jvk vi j; £¤¥ jvivj j ®¡®§ ç ¥â (¥¢ª«¨¤®¢®) à ááâ®ï¨¥ ¬¥¦¤ã vi ¨ vj . ë ¯®áâந¬ «£®à¨â¬ à¥è¥¨ï í⮩ § ¤ ç¨, ª®â®àë© ¯à¨¬¥¨¬ ¤«ï «î¡®© ¢¥á®¢®© äãªæ¨¨. ¯â¨¬ «ì ï âਠ£ã«ïæ¨ï ¬®£®ã£®«ì¨ª 319 ਠ£ã«ï樨 ¨ à ááâ ®¢ª¨ ᪮¡®ª ãé¥áâ¢ã¥â 㤨¢¨â¥«ì ï á¢ï§ì ¬¥¦¤ã âਠ£ã«ïæ¨ï¬¨ ¬®£®ã£®«ì¨ª ¨ à ááâ ®¢ª ¬¨ ᪮¡®ª (᪠¦¥¬, ¢ ¯à®¨§¢¥¤¥¨¨ ¯®á«¥¤®¢ ⥫ì®á⨠¬ âà¨æ). à®é¥ ¢á¥£® ®¡êïá¨âì íâã á¢ï§ì á ¯®¬®éìî ¤¥à¥¢ì¥¢. ®«®© à ááâ ®¢ª¥ ᪮¡®ª ᮮ⢥âáâ¢ã¥â â ª §ë¢ ¥¬®¥ ¤¥à¥¢® à §¡®à (parse tree) ¢ëà ¦¥¨ï. à¨á. 16.5 ¨§®¡à ¦¥® ¤¥à¥¢® à §¡®à ¤«ï ((A1(A2 A3 ))(A4(A5A6 ))): (16.6) ¥£® «¨áâìïå áâ®ïâ ¬ âà¨æë-ᮬ®¦¨â¥«¨, ¢ ¢¥àè¨ å | ¨å ¯à®¨§¢¥¤¥¨ï: ¢ ª ¦¤®© ¢¥à訥 á⮨⠯ந§¢¥¤¥¨¥ ¤¢ãå ¢ëà ¦¥¨©, áâ®ïé¨å ¢ ¥ñ ¤¥âïå. ਠ£ã«ïæ¨î ¢ë¯ãª«®£® ¬®£®ã£®«ì¨ª hv0; v1; : : :; vn;1i â ª¦¥ ¬®¦® ¨§®¡à §¨âì ¢ ¢¨¤¥ ¤¥à¥¢ . ¨áâìﬨ ¥£® ¡ã¤ãâ áâ®à®ë ¬®£®ã£®«ì¨ª (ªà®¬¥ v0vn;1). áâ «ìë¥ ¢¥àè¨ë | íâ® ¤¨ £® «¨ âਠ£ã«ï樨 ¯«îá áâ®à® v0vn;1; íâã ¯®á«¥¤îî ®¡ê¬ ª®à¥¬. ®áâ஥¨¥ ¤¥à¥¢ ( ¯à¨¬¥à¥ âਠ£ã«ï樨 à¨á. 16.5a) ¯®ª § ® à¨á. 16.5¡. «ï ç « ¬ë ᬮâਬ, ¢ ª ª®© âà¥ã£®«ì¨ª ¯®¯ « ª®à¥ì v0vn;1. 襬 á«ãç ¥ íâ® 4v0v3v6. ¥â쬨 ª®àï ¡ã¤¥¬ áç¨â âì ¤¢¥ ¤à㣨¥ áâ®à®ë í⮣® âà¥ã£®«ì¨ª . ਠ£ã«ïæ¨ï á®á⮨⠨§ í⮣® âà¥ã£®«ì¨ª ¨ ¤¢ãå âਠ£ã«ï権 ®áâ ¢è¨åáï ç á⥩ (hv0; v1; v2; v3i ¨ hv3; v4; v5; v6i, à¨á. 16.5¡), ¯à¨çñ¬ ¤¨ £® «¨, ïî騥áï ¤¥â쬨 ª®àï, ïîâáï áâ®à® ¬¨ íâ¨å ¬®£®ã£®«ì¨ª®¢ (v0v3 ¨ v3v6 à¨á. 16.5¡). ®¢â®à¨¬ ¤«ï ª ¦¤®© ¨§ ¨å âã ¦¥ ª®áâàãªæ¨î: à áᬮâਬ âà¥ã£®«ì¨ª âਠ£ã«ï樨 ®¢®£® ¬®£®ã£®«ì¨ª , ᮤ¥à¦ 騩 ¢ë¤¥«¥ãî áâ®à®ã, ¤¢¥ ¤à㣨¥ áâ®à®ë í⮣® âà¥ã£®«ì¨ª ®¡ê¬ ¥ñ ¤¥â쬨 ¨ â. ¤. ª®æ¥ ª®æ®¢ ¬ë ¯à¨¤ñ¬ ª ¡¨ ஬㠤¥à¥¢ã á n ; 1 «¨á⮬. ¥©áâ¢ãï ¢ ®¡à ⮬ ¯®à浪¥, ¬®¦® ¯® ¡¨ ஬㠤¥à¥¢ã ¯®áâநâì âਠ£ã«ïæ¨î. ®áâ஥®¥ ᮮ⢥âá⢨¥ ¬¥¦¤ã âਠ£ã«ïæ¨ï¬¨ ¨ ¡¨ à묨 ¤¥à¥¢ìﬨ ï¥âáï ¢§ ¨¬® ®¤®§ çë¬. ᯮ¬¨ ï, çâ® ¯®«ë¥ à ááâ ®¢ª¨ ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ n ᮬ®¦¨â¥«¥© 室ïâáï ¢® ¢§ ¨¬® ®¤®§ 箬 ᮮ⢥âá⢨¨ á ¡¨ à묨 ¤¥à¥¢ìﬨ á n «¨áâìﬨ, ¯®«ãç ¥¬ ¢§ ¨¬® ®¤®§ 箥 ᮮ⢥âá⢨¥ ¬¥¦¤ã ¯®«ë¬¨ à ááâ ®¢ª ¬¨ ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ n ¬ âà¨æ ¨ âਠ£ã«ïæ¨ï¬¨ (n + 1)-㣮«ì¨ª . ਠí⮬ ¬ âà¨æ Ai ¢ ¯à®¨§¢¥¤¥¨¨ A1A2 : : :An ᮮ⢥âáâ¢ã¥â áâ®à®¥ vi;1vi, ¤¨ £® «ì vi;1vj (1 6 i < j 6 n) ᮮ⢥âáâ¢ã¥â ¯à®¨§¢¥¤¥¨î Ai::j . ⮠ᮮ⢥âá⢨¥ ¬®¦® ¯®ïâì ¨ ¡¥§ ¤¥à¥¢ì¥¢. ¯¨è¥¬ ¢á¥å áâ®à® å âਠ£ã«¨à®¢ ®£® ¬®£®ã£®«ì¨ª , ªà®¬¥ ®¤®©, ¯® ᮬ®¦¨â¥«î. «¥¥ ¯®áâ㯠¥¬ â ª: ¥á«¨ ¢ âà¥ã£®«ì¨ª¥ ¤¢¥ áâ®à®ë 㦥 ¯®¬¥ç¥ë, â® âà¥â쥩 ¬ë ¯¨è¥¬ ¨å ¯à®¨§¢¥¤¥¨¥. ¯â¨¬ «ì ï âਠ£ã«ïæ¨ï ¬®£®ã£®«ì¨ª 321 ¡¨âì ¤«ï à¥è¥¨ï § ¤ ç¨ ® âਠ£ã«ï樨. ¤® ⮫쪮 ¢ ¥£® § £®«®¢ª¥ § ¬¥¨âì p v ¨ áâபã 9 § ¬¥¨âì â ªãî: 9 do q m[i; k] + m[k + 1; j ] + w(4vi;1vk vj ) १ã«ìâ â¥ à ¡®âë «£®à¨â¬ m[1; n] áâ ¥â à ¢ë¬ ¢¥áã ®¯â¨¬ «ì®© âਠ£ã«ï樨. â஥¨¥ ®¯â¨¬ «ì®© âਠ£ã«ï樨 ®ª ¦¥¬ ¯®á«¥¤¥¥ ã⢥ত¥¨¥. ãáâì T | ®¯â¨¬ «ì ï âਠ£ã«ïæ¨ï (n + 1)-㣮«ì¨ª P = hv0; v1; : : :; vni. ¥¡à® v0vn ¢å®¤¨â ¢ ®¤¨ ¨§ âà¥ã£®«ì¨ª®¢ âਠ£ã«ï樨. ãáâì íâ® âà¥ã£®«ì¨ª 4v0vk vn, £¤¥ 1 6 k 6 n ; 1. ®£¤ ¢¥á âਠ£ã«ï樨 T à ¢¥ ¢¥áã 4v0vk vn ¯«îá á㬬 ¢¥á®¢ âਠ£ã«ï権 ¬®£®ã£®«ì¨ª®¢ hv0; v1; : : :; vki ¨ hvk ; vk+1; : : :; vni. «¥¤®¢ ⥫ì®, âਠ£ã«ï樨 㪠§ ëå ¬®£®ã£®«ì¨ª®¢ ®¡ï§ ë ¡ëâì ®¯â¨¬ «ì묨, ¨ ¥á«¨ ®¯â¨¬ «ìë¥ á⮨¬®á⨠¤«ï â ª¨å ¬®£®ã£®«ì¨ª®¢ (¯à¨ à §ëå k) 㦥 ¢ëç¨á«¥ë, â® ®áâ ñâáï ¢ë¡à âì ®¯â¨¬ «ì®¥ § 票¥ k. ¥ªãàà¥â ï ä®à¬ã« à㣨¬¨ á«®¢ ¬¨, ¨¬¥¥â ¬¥áâ® á«¥¤ãîé ï ४ãàà¥â ï ä®à¬ã« . ãáâì m[i; j ] | ¢¥á ®¯â¨¬ «ì®© âਠ£ã«ï樨 ¬®£®ã£®«ì¨ª hvi;1; vi; : : :; vj i, £¤¥ 1 6 i < j 6 n. ¥á ®¯â¨¬ «ì®© âਠ£ã«ï樨 ¢á¥£® ¬®£®ã£®«ì¨ª à ¢¥ m[1; n]. 㤥¬ áç¨â âì, çâ® "¤¢ã㣮«ì¨ª¨" hvi;1 ; vii ¨¬¥îâ ¢¥á 0. ®£¤ m[i; i] = 0 ¤«ï i = 1; 2; : : :; n. ᫨ j ; i > 1, â® ã ¬®£®ã£®«ì¨ª hvi;1; vi ; : : :; vj i ¨¬¥¥âáï ¥ ¬¥¥¥ âàñå ¢¥àè¨, ¨ ¬ ¥®¡å®¤¨¬® ©â¨ ¬¨¨¬ã¬ (¯® ¢á¥¬ k ¨§ ¯à®¬¥¦ã⪠i 6 k 6 j ; 1) â ª®© á㬬ë: ¢¥á 4vi;1vk vj , ¯«îá ¢¥á ®¯â¨¬ «ì®© âਠ£ã«ï樨 hvi;1; vi; : : :; vki, ¯«îá ¢¥á ®¯â¨¬ «ì®© âਠ£ã«ï樨 hvk ; vk+1; : : :; vj i. ®í⮬ã m[i; j ] = ( 0 ¯à¨ i = j , min fm[i; k] + m[k + 1; j ] + w(4vi;1vk vj )g ¯à¨ i < j . i6k<j (16.7) ¤¨á⢥®¥ ®â«¨ç¨¥ í⮩ ä®à¬ã«ë ®â ä®à¬ã«ë (16.2) | ¡®«¥¥ ®¡é¨© ¢¨¤ ¢¥á®¢®© äãªæ¨¨. â «® ¡ëâì, «£®à¨â¬ Matrix-ChainOrder á 㪠§ 묨 ¢ëè¥ ¨§¬¥¥¨ï¬¨ ¢ëç¨á«ï¥â ¢¥á ®¯â¨¬ «ì®© âਠ£ã«ï樨; ¢à¥¬ï à ¡®âë (n3), ®¡êñ¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ï⨠(n2). 322 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¯à ¦¥¨ï 16.4-1 ®ª ¦¨â¥, çâ® ¢áïª ï âਠ£ã«ïæ¨ï ¢ë¯ãª«®£® n-㣮«ì¨ª à §¡¨¢ ¥â ¥£® n ; 2 âà¥ã£®«ì¨ª á ¯®¬®éìî n ; 3 ¤¨ £® «¥©. 16.4-2 à®ä¥áá®à ¯à¥¤¯®« £ ¥â, çâ® ¤«ï á«ãç ï, ª®£¤ ¢¥á âà¥ã£®«ì¨ª à ¢¥ ¥£® ¯«®é ¤¨, «£®à¨â¬ 宦¤¥¨ï ®¯â¨¬ «ì®© âਠ£ã«ï樨 ¬®¦® ã¯à®áâ¨âì. ¥ ®¡¬ ë¢ ¥â «¨ ¥£® ¨âã¨æ¨ï? 16.4-3 ãáâì ¢¥á®¢ ï äãªæ¨ï ®¯à¥¤¥«¥ ¬®¦¥á⢥ ¤¨ £® «¥© ¬®£®ã£®«ì¨ª , ¨ âਠ£ã«ïæ¨ï áç¨â ¥âáï ®¯â¨¬ «ì®©, ¥á«¨ á㬬 ¢¥á®¢ ¢å®¤ïé¨å ¢ ¥ñ ¤¨ £® «¥© ¬¨¨¬ «ì . ª ᢥá⨠íâã § ¤ çã ª à §®¡à ®© ¬¨ (¢ ª®â®à®© ¢¥á ¯à¨¯¨áë¢ «¨áì ¥ ¤¨ £® «ï¬, âà¥ã£®«ì¨ª ¬)? 16.4-4 ©¤¨â¥ ®¯â¨¬ «ìãî âਠ£ã«ïæ¨î ¯à ¢¨«ì®£® ¢®á쬨㣮«ì¨ª ¥¢ª«¨¤®¢®© ¯«®áª®á⨠¤«ï á«ãç ï, ¥á«¨ ¢¥á®¬ âà¥ã£®«ì¨ª áç¨â ¥âáï ¥£® ¯¥à¨¬¥âà. ¤ ç¨ 16-1 ¨â®¨ç¥áª ï ¥¢ª«¨¤®¢ § ¤ ç ª®¬¬¨¢®ï¦ñà ¢ª«¨¤®¢ § ¤ ç ª®¬¬¨¢®ï¦ñà (euclidean traveling-salesman prob- lem) á®á⮨⠢ 宦¤¥¨¨ ªà âç ©è¥£® § ¬ªã⮣® ¯ãâ¨, ᮥ¤¨ïî饣® ¤ ë¥ n â®ç¥ª ¯«®áª®á⨠(á¬. ¯à¨¬¥à à¨á. 16.6 , £¤¥ n = 7). â § ¤ ç ï¥âáï NP-¯®«®©, â ª çâ® ¢àï¤ «¨ ¥ñ ¬®¦® à¥è¨âì § ¯®«¨®¬¨ «ì®¥ ¢à¥¬ï (á¬. £« ¢ã 36). ¦. ¥â«¨ ¯à¥¤«®¦¨« ã¯à®áâ¨âì § ¤ çã, à áᬠâਢ ï ⮫쪮 ¡¨â®¨ç¥áª¨¥ ¯ã⨠(bitonic tours), â. ¥. ¯ãâ¨, ç¨ î騥áï ¢ ªà ©¥© «¥¢®© â®çª¥, § ⥬ ¨¤ã騥 á«¥¢ ¯à ¢® ¤® ªà ©¥© ¯à ¢®© â®çª¨, § ⥬ ¢®§¢à é î騥áï á¯à ¢ «¥¢® ¢ ¨á室ãî â®çªã. ( à¨á. 16.6¡ ¨§®¡à ¦ñ ªà âç ©è¨© ¡¨â®¨ç¥áª¨© ¯ãâì ç¥à¥§ ⥠¦¥ ᥬì â®ç¥ª). â § ¤ ç ¯à®é¥: ¯®áâன⥠«£®à¨â¬ à¥è¥¨ï í⮩ § ¤ ç¨, âॡãî騩 ¢à¥¬¥¨ O(n2). ë ¬®¦¥â¥ áç¨â âì, çâ® ¡áæ¨ááë ¢á¥å â®ç¥ª à §«¨çë. (ª § ¨¥: ¯à®á¬ âਢ ï â®çª¨ á«¥¢ ¯à ¢®, åà ¨â¥ ¤«ï ⥪ã饩 â®çª¨ X ¨ ¤«ï ¢á¥å ¯à¥¤ë¤ãé¨å â®ç¥ª Y ¤«¨ã ªà âç ©è¥£® ¯ãâ¨, ¡¨â®¨ç¥áª¨ ᮥ¤¨ïî饣® X á Y á ¯à®å®¤®¬ ç¥à¥§ ªà ©îî «¥¢ãî â®çªã.) 16-2 §¡¨¥¨¥ ¡§ æ áâப¨ ¡§ æ ⥪áâ á®á⮨⠨§ n á«®¢ ¤«¨®© l1; l2; : : :; ln (¤«¨ á«®¢ | ç¨á«® ᨬ¢®«®¢ ¢ ñ¬). ç¨â ï, çâ® ¢á¥ ᨬ¢®«ë ¨¬¥îâ à ¢ãî è¨à¨ã (ª ª ¯¨èã饩 ¬ 訪¥), ¬ë å®â¨¬ ®¯â¨- ¤ ç¨ ª £« ¢¥ 16 323 ¨á㮪 16.6 ¥¬ì â®ç¥ª ¯«®áª®á⨠¢ 㧫 å ¥¤¨¨ç®© à¥èñ⪨. ( ) à âç ©è¨© § ¬ªãâë© ¯ãâì (¤«¨ë 24;88), ®¡å®¤ï騩 í⨠â®çª¨. â®â ¯ãâì ¥ ï¥âáï ¡¨â®¨ç¥áª¨¬. (¡) à âç ©è¨© ¡¨â®¨ç¥áª¨© ¯ãâì, ®¡å®¤ï騩 ⥠¦¥ â®çª¨, ¤«¨ 25;58. ¬ «ìë¬ ®¡à §®¬ à §¡¨âì ¥£® áâப¨ ¤«¨®© ¥ ¡®«¥¥ M ᨬ¢®«®¢. ¯â¨¬ «ì®áâì ¯à¨ í⮬ ®¯à¥¤¥«ï¥âáï â ª: ¯®áç¨â ¥¬ ç¨á«® "«¨è¨å" ¯à®¡¥«®¢ ¢ ª ¦¤®© áâப¥ (â® ¥áâì ¯®á¬®âਬ, ᪮«ìª® ¤«¨ áâப¨ ¬¥ìè¥ M , ¥á«¨ ¬¥¦¤ã á«®¢ ¬¨ áâ ¢¨âì ¯® ®¤®¬ã ¯à®¡¥«ã) ¨ á«®¦¨¬ ªã¡ë íâ¨å ç¨á¥« ¤«ï ¢á¥å áâப, ªà®¬¥ ¯®á«¥¤¥©: 祬 ¡®«ìè¥ íâ á㬬 , ⥬ å㦥 ¡§ æ. ᯮ«ì§ãï ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥, à §à ¡®â ©â¥ «£®à¨â¬ ®¯â¨¬ «ì®£® à §¡¨¥¨ï ¡§ æ áâப¨; ®æ¥¨â¥ ¢à¥¬ï ¥£® à ¡®âë ¨ âà¥¡ã¥¬ë© ®¡êñ¬ ¯ ¬ïâ¨. 16-3 ⮨¬®áâì । ªâ¨à®¢ ¨ï ë å®â¨¬ ¯à¥®¡à §®¢ âì áâபã ᨬ¢®«®¢ x[1 : :m] ¢ ®¢ãî áâபã y[1 : :n] á ¯®¬®éìî á«¥¤ãîé¨å ®¯¥à 権: ¯¥à¥®á ᨬ¢®« ¨§ ¨á室®© áâப¨ ¢ ®¢ãî, ¯¥à¥®á ¤¢ãå á®á¥¤¨å ᨬ¢®«®¢ ¨§ ¨á室®© áâப¨ ¢ ®¢ãî á ®¤®¢à¥¬¥®© ¨å ¯¥à¥áâ ®¢ª®© ("âà ᯮ§¨æ¨ï"), ¤®¡ ¢«¥¨¥ ᨬ¢®« (á¯à ¢ ) ª ®¢®© áâப¥, 㤠«¥¨¥ ¯¥à¢®£® ᨬ¢®« ¨§ áâ ன áâப¨, § ¬¥ (㤠«¥¨¥ ᨬ¢®« ¨§ ¨á室®© áâப¨ ¨ ¤®¡ ¢«¥¨¥ ¤à㣮£® ᨬ¢®« ¢ ®¢ãî áâபã), ª®¥æ, 㤠«¥¨¥ ®áâ ⪠áâ ன áâப¨. ®â, ¯à¨¬¥à, ª ª á ¯®¬®éìî íâ¨å ®¯¥à 権 ¯à¥®¡à §®¢ âì áâபã algorithm ¢ áâபã altruistic: 324 « ¢ 16 ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¯¥à æ¨ï ®¢ ï áâப â à ï áâப ¯¥à¥®á a a lgorithm ¯¥à¥®á l al gorithm § ¬¥ g t alt orithm 㤠«¥¨¥ o alt rithm ¯¥à¥®á r altr ithm ¤®¡ ¢«¥¨¥ u altru ithm ¤®¡ ¢«¥¨¥ i altrui ithm ¤®¡ ¢«¥¨¥ s altruis ithm âà ᯮ§¨æ¨ï it ¢ ti altruisti hm ¤®¡ ¢«¥¨¥ c altruistic hm 㤠«¥¨¥ ®áâ ⪠altruistic ¦¤®© ¨§ ®¯¥à 権 ("¯¥à¥®á", "âà ᯮ§¨æ¨ï", "¤®¡ ¢«¥¨¥", "㤠«¥¨¥", "§ ¬¥ " ¨ "㤠«¥¨¥ ®áâ ⪠") ¯à¨¯¨á á⮨¬®áâì (¬ë ¯à¥¤¯®« £ ¥¬, çâ® á⮨¬®áâì § ¬¥ë ¬¥ìè¥, 祬 á㬬 à ï á⮨¬®áâì ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï, ¨ ç¥ § ¬¥ ¡ë« ¡ë «¨è¥©). 襬 ¯à¨¬¥à¥ á⮨¬®áâì ¯à¥®¡à §®¢ ¨ï à ¢ 3 á⮨¬®áâì ¯¥à¥®á + á⮨¬®áâì § ¬¥ë + + á⮨¬®áâì 㤠«¥¨ï + 4 á⮨¬®áâì ¤®¡ ¢«¥¨ï + + á⮨¬®áâì âà ᯮ§¨æ¨¨ + á⮨¬®áâì 㤠«¥¨ï ®áâ ⪠: ãáâì ¤ ë ¯®á«¥¤®¢ ⥫ì®á⨠x[1 : :m] ¨ y[1 : :n]. ®£¤ á⮨¬®áâì । ªâ¨à®¢ ¨ï (edit distance) ¥áâì ¨¬¥ìè ï á⮨¬®áâì 楯®çª¨ ¯à¥®¡à §®¢ ¨©, ¯¥à¥¢®¤ï饩 x ¢ y. §à ¡®â ©â¥ «£®à¨â¬, ®á®¢ ë© ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨, ª®â®àë© ¢ëç¨á«ï¥â á⮨¬®áâì । ªâ¨à®¢ ¨ï ¨ 室¨â ®¯â¨¬ «ìãî 楯®çªã ¯à¥®¡à §®¢ ¨©. 楨⥠¢à¥¬ï à ¡®âë ¨ ®¡êñ¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨. 16-4 ¥ç¥à¨ª ¢ ä¨à¬¥ à®ä¥áá®àã ¯®àã祮 ãáâநâì ¢¥ç¥à¨ªã ¢ ä¨à¬¥ " ". âàãªâãà ä¨à¬ë ¨¥à àå¨ç : ®â®è¥¨¥ ¯®¤ç¨ñ®á⨠§ ¤ ® ¤¥à¥¢®¬, ª®à¥ì ª®â®à®£® | ¤¨à¥ªâ®à. ⤥« ª ¤à®¢ § ¥â ३⨣ ª ¦¤®£® á®âà㤨ª (¤¥©á⢨⥫쮥 ç¨á«®). â®¡ë ¢á¥¬ ¡ë«® ¢¥á¥«®, ¤¨à¥ªâ®à à ᯮà廊«áï, çâ®¡ë ¨ªâ® ¥ ®ª § «áï ¢¥ç¥à¨ª¥ ¢¬¥á⥠ᮠ᢮¨¬ ¥¯®á।áâ¢¥ë¬ ç «ì¨ª®¬. . §à ¡®â ©â¥ «£®à¨â¬, á®áâ ¢«ïî騩 ᯨ᮪ ¯à¨£« èñëå á ¨¡®«ì訬 á㬬 àë¬ à¥©â¨£®¬. ¡. ¦¥ § ¤ ç á ¤®¯®«¨â¥«ìë¬ ®£à ¨ç¥¨¥¬: ¤¨à¥ªâ®à ¤®«¦¥ ¡ëâì ¢ ᯨ᪥ ¯à¨£« èñëå. 16-5 «£®à¨â¬ ¨â¥à¡¨ ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¬®¦¥â ¡ëâì ¯à¨¬¥¥® ª § ¤ ç¥ à ᯮ§ ¢ ¨ï à¥ç¨. ª ç¥á⢥ ¬®¤¥«¨ à áᬮâਬ ®à¨¥â¨à®¢ ë© £à ä G = (V; E ) ¨ ®â®¡à ¦¥¨¥ , ᮯ®áâ ¢«ïî饥 á ª - ¬¥ç ¨ï ª £« ¢¥ 16 325 ¦¤ë¬ ॡ஬ (u; v) §¢ãª (u; v) ¨§ ¬®¦¥á⢠¢®§¬®¦ëå §¢ãª®¢ . £à ä¥ ¢ë¤¥«¥ ¥ª®â®à ï ¢¥àè¨ v0. ¦¤®¬ã ¯ãâ¨, ç¨ î饬ãáï ¢ v0, ᮮ⢥âáâ¢ã¥â ¯®á«¥¤®¢ ⥫ì®áâì §¢ãª®¢ (í«¥¬¥â®¢ ). §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, ¢®ááâ ¢«¨¢ î騩 ¯ãâì ¢ £à ä¥ ¯® ¯®á«¥¤®¢ ⥫ì®á⨠s = h1; 2; : : :; ni í«¥¬¥â®¢ (¥á«¨ âॡ㥬®£® ¯ã⨠¥ áãé¥áâ¢ã¥â, «£®à¨â¬ ¤®«¦¥ ¢ë¤ âì ᮮ⢥âáâ¢ãî饥 á®®¡é¥¨¥). 楨⥠¢à¥¬ï à ¡®âë «£®à¨â¬ . (ª § ¨¥: ¢ ¬ ¬®£ã⠯ਣ®¤¨âìáï ¥ª®â®àë¥ ¨¤¥¨ ¨§ £« ¢ë 23). ãáâì ⥯¥àì ¤«ï ª ¦¤®£® ॡà (u; v) 2 E ¨§¢¥áâ ¢¥à®ïâ®áâì ¯à®©â¨ ¯® ॡàã ¨§ u ¢ v (¨§¤ âì ᮮ⢥âáâ¢ãî騩 §¢ãª); ®¡®§ 稬 íâã ¢¥à®ïâ®áâì p(u; v). ë ¯à¥¤¯®« £ ¥¬, çâ® ¤«ï «î¡®© ¢¥àè¨ë u á㬬 ¢¥à®ïâ®á⥩ p(u; v) ¯® ¢á¥¬ àñ¡à ¬, ¢ë室ï騬 ¨§ í⮩ ¢¥àè¨ë, à ¢ ¥¤¨¨æ¥. ¥à®ïâ®áâìî ¯ã⨠áç¨â ¥¬ ¯à®¨§¢¥¤¥¨¥ ¢¥à®ïâ®á⥩, ᮮ⢥âáâ¢ãîé¨å ¥£® àñ¡à ¬ (â. ¥. ¯®á«¥¤®¢ ⥫ìë¥ ¢ë¡®àë áç¨â ¥¬ ¥§ ¢¨á¨¬ë¬¨). ¡. ®¤¨ä¨æ¨àã©â¥ ¯®áâà®¥ë© ¢ ( ) «£®à¨â¬ â ª, çâ®¡ë ® 室¨« ¨¡®«¥¥ ¢¥à®ïâë© ¯ãâì, ᮮ⢥âáâ¢ãî騩 ¤ ®© ¯®á«¥¤®¢ ⥫ì®á⨠§¢ãª®¢. 楨⥠¢à¥¬ï à ¡®âë ¬®¤¨ä¨æ¨à®¢ ®£® «£®à¨â¬ . ¬¥ç ¨ï ¨á⥬ â¨ç¥áª®¥ ¨§ã票¥ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï ¡ë«® ç â® . ¥««¬ ®¬ ¢ 1955 £®¤ã [21], å®âï ¥ª®â®àë¥ ¯à¨ñ¬ë â ª®£® த ¡ë«¨ ¨§¢¥áâë ¨ à ¥¥. áâ â¨, á«®¢® "¯à®£à ¬¬¨à®¢ ¨¥" (programming) ¢ á«®¢®á®ç¥â ¨ïå "¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥" (dynamic programming), â ª¦¥ "«¨¥©®¥ ¯à®£à ¬¬¨à®¢ ¨¥" (linear programming) ¥ ®§ ç ¥â á®áâ ¢«¥¨¥ ¯à®£à ¬¬ ¤«ï ª®¬¯ìîâ¥à . ã ¨ ¨£ [106a, 106b] ¯à¨¤ã¬ «¨ à ¡®â î騩 § ¢à¥¬ï O(n log n) «£®à¨â¬ ¤«ï § ¤ ç¨ ® ¯®à浪¥ ¯¥à¥¬®¦¥¨ï ¬ âà¨æ; ®¨ ¦¥ 㪠§ «¨ ᮮ⢥âá⢨¥ ¬¥¦¤ã í⮩ § ¤ 祩 ¨ § ¤ 祩 ®¡ ®¯â¨¬ «ì®© âਠ£ã«ï樨. «£®à¨â¬ ¤«ï 宦¤¥¨ï ¨¡®«ì襩 ®¡é¥© ¯®¤¯®á«¥¤®¢ ⥫ì®á⨠§ ¢à¥¬ï O(mn) ®â®á¨âáï, ¢¨¤¨¬®, ª 䮫쪫®àã. à ¡®â¥ [43] ãâ ¯®áâ ¢¨« ¢®¯à®á, ¢®§¬®¦¥ «¨ ¤«ï í⮩ § ¤ ç¨ á㡪¢ ¤à â¨çë© «£®à¨â¬. ᥪ ¨ â¥àá® [143] ¯®ª § «¨, çâ® ¢®§¬®¦¥, ©¤ï «£®à¨â¬, à ¡®â î騩 § ¢à¥¬ï O(mn= log n) ¯à¨ n 6 m ¨ 䨪á¨à®¢ ®¬ à §¬¥à¥ ¬®¦¥á⢠, ¨§ ª®â®à®£® ¡¥àãâáï ç«¥ë ¯®á«¥¤®¢ ⥫ì®á⥩. «ï á«ãç ï, ª®£¤ ¢ ¯®á«¥¤®¢ ⥫ì®áâïå ¥â ¯®¢â®à¥¨©, «£®à¨â¬ á ®æ¥ª®© O((n + m) log(n + m)) ¯®áâ஥ ¢ áâ âì¥ ¨¬ ᪨ [184]. ®£¨¥ ¨§ íâ¨å १ã«ìâ ⮢ ®¡®¡é îâáï § ¤ çã ® á⮨¬®á⨠। ªâ¨à®¢ ¨ï (§ ¤ ç 16-3). 17 ¤ë¥ «£®à¨â¬ë «ï ¬®£¨å ®¯â¨¬¨§ 樮ëå § ¤ ç ¥áâì ¡®«¥¥ ¯à®áâë¥ ¨ ¡ëáâàë¥ «£®à¨â¬ë, 祬 ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥. í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ § ¤ ç¨, ª®â®àë¥ ¬®¦® à¥è âì á ¯®¬®éìî ¦ ¤ëå «£®à¨â¬®¢ (greedy algorithms). ª®© «£®à¨â¬ ¤¥« ¥â ª ¦¤®¬ è £¥ «®ª «ì® ®¯â¨¬ «ìë© ¢ë¡®à, | ¢ ¤¥¦¤¥, çâ® ¨â®£®¢®¥ à¥è¥¨¥ â ª¦¥ ®ª ¦¥âáï ®¯â¨¬ «ìë¬. â® ¥ ¢á¥£¤ â ª | ® ¤«ï ¬®£¨å § ¤ ç â ª¨¥ «£®à¨â¬ë ¤¥©áâ¢¨â¥«ì® ¤ îâ ®¯â¨¬ã¬. è ¯¥à¢ë© ¯à¨¬¥à | ¯à®áâ ï, ® ¥ ¢¯®«¥ âਢ¨ «ì ï § ¤ ç ® ¢ë¡®à¥ § ª (à §¤¥« 17.1). «¥¥ (à §¤¥« 17.2) ¬ë ®¡á㦤 ¥¬, ¤«ï ª ª¨å § ¤ ç £®¤ïâáï ¦ ¤ë¥ «£®à¨â¬ë. à §¤¥«¥ 17.3 à á᪠§ë¢ ¥âáï ® ᦠ⨨ ¨ä®à¬ 樨 á ¯®¬®éìî ª®¤®¢ ä䬥 , ª®â®àë¥ áâà®ïâáï ¦ ¤ë¬ «£®à¨â¬®¬. §¤¥« 17.4 ¯®á¢ïéñ â ª §ë¢ ¥¬ë¬ ¬ âந¤ ¬ | ª®¬¡¨ â®àë¬ ®¡ê¥ªâ ¬, á¢ï§ ë¬ á ¦ ¤ë¬¨ «£®à¨â¬ ¬¨. ª®¥æ, ¢ à §¤¥«¥ 17.5 ¬ë ¯à¨¬¥ï¥¬ ¬ âந¤ë ª § ¤ ç¥ ® à á¯¨á ¨¨ ¤«ï § ª §®¢ à ¢®© ¤«¨â¥«ì®á⨠ᮠáப ¬¨ ¨ èâà ä ¬¨. á«¥¤ãîé¨å £« ¢ å ¬ë ¥ à § ¢áâà¥â¨¬áï á ¦ ¤ë¬¨ «£®à¨â¬ ¬¨ (§ ¤ ç ® ¬¨¨¬ «ì®¬ ¯®ªàë¢ î饬 ¤¥à¥¢¥, «£®à¨â¬ ¥©ªáâàë ¯®¨áª ªà âç ©è¨å ¯ã⥩ ¨§ ¤ ®© ¢¥àè¨ë, ¦ ¤ ï í¢à¨á⨪ ¢ â « ¤«ï § ¤ ç¨ ® ¯®ªàë⨨ ¬®¦¥á⢠¨ ¤à㣨¥). ¨¨¬ «ìë¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï | ª« áá¨ç¥áª¨© ¯à¨¬¥à ¨á¯®«ì§®¢ ¨ï ¦ ¤®£® «£®à¨â¬ , â ª çâ® ¯ à ««¥«ì® á í⮩ £« ¢®© ¬®¦® ç¨â âì £« ¢ã 24. 17.1 ¤ ç ® ¢ë¡®à¥ § ª ãáâì ¤ ë n § ª ¯à®¢¥¤¥¨¥ § ï⨩ ¢ ®¤®© ¨ ⮩ ¦¥ 㤨â®à¨¨. ¢ à §ëå § ïâ¨ï ¥ ¬®£ãâ ¯¥à¥ªàë¢ âìáï ¯® ¢à¥¬¥¨. ª ¦¤®© § ¥ 㪠§ ë ç «® ¨ ª®¥æ § ïâ¨ï (si ¨ fi ¤«ï i-© § ¨). §ë¥ § ¨ ¬®£ãâ ¯¥à¥á¥ª âìáï, ¨ ⮣¤ ¬®¦® 㤮¢«¥â¢®à¨âì ⮫쪮 ®¤ã ¨§ ¨å. ë ®â®¦¤¥á⢫塞 ª ¦¤ãî § ã á ¯à®¬¥¦ã⪮¬ [si; fi), â ª çâ® ª®¥æ ®¤®£® § ïâ¨ï ¬®¦¥â ᮢ¯ ¤ âì á ç «®¬ ¤à㣮£®, ¨ íâ® ¥ áç¨â ¥âáï ¯¥à¥á¥ç¥¨¥¬. ¤ ç ® ¢ë¡®à¥ § ª 327 ®à¬ «ì® £®¢®àï, § ¨ á ®¬¥à ¬¨ i ¨ j ᮢ¬¥áâë (compatible), ¥á«¨ ¨â¥à¢ «ë [si; fi) ¨ [sj ; fj ) ¥ ¯¥à¥á¥ª îâáï (¨ë¬¨ á«®¢ ¬¨, ¥á«¨ fi 6 sj ¨«¨ fj 6 si). ¤ ç ® ¢ë¡®à¥ § ª (activity-selection problem) á®á⮨⠢ ⮬, çâ®¡ë ¡à âì ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ ᮢ¬¥áâëå ¤àã£ á ¤à㣮¬ § ª. ¤ë© «£®à¨â¬ à ¡®â ¥â á«¥¤ãî騬 ®¡à §®¬. ë ¯à¥¤¯®« £ ¥¬, çâ® § ¨ 㯮à冷ç¥ë ¢ ¯®à浪¥ ¢®§à áâ ¨ï ¢à¥¬¥¨ ®ª®ç ¨ï: f1 6 f2 6 : : : 6 fn: (17.1) ᫨ íâ® ¥ â ª, â® ¬®¦® ®âá®àâ¨à®¢ âì ¨å § ¢à¥¬ï O(n log n); § ¨ á ®¤¨ ª®¢ë¬ ¢à¥¬¥¥¬ ª®æ à ᯮ« £ ¥¬ ¢ ¯à®¨§¢®«ì®¬ ¯®à浪¥. ®£¤ «£®à¨â¬ ¢ë£«ï¤¨â â ª (f ¨ s | ¬ áᨢë): Greedy-Activity-Selector(s; f ) 1 n length[s] 2 A f1g 3 j 1 4 for i 2 to n 5 do if si > fj 6 then A A [ fig 7 j i 8 return A ¡®â í⮣® «£®à¨â¬ ¯®ª § à¨á. 17.1. ®¦¥á⢮ A á®á⮨⠨§ ®¬¥à®¢ ¢ë¡à ëå § ª, j | ®¬¥à ¯®á«¥¤¥© ¨§ ¨å; ¯à¨ í⮬ fj = maxf fk : k 2 A g; (17.2) ¯®áª®«ìªã § ¨ ®âá®àâ¨à®¢ ë ¯® ¢à¥¬¥ ¬ ®ª®ç ¨ï. ç «¥ A ᮤ¥à¦¨â § 㠮¬¥à 1, ¨ j = 1 (áâப¨ 2{3). «¥¥ (横« ¢ áâப å 4{7) ¨é¥âáï §  , ç¨ îé ïáï ¥ à ìè¥ ®ª®ç ¨ï § ¨ ®¬¥à j . ᫨ â ª®¢ ï ©¤¥ , ® ¢ª«îç ¥âáï ¢ ¬®¦¥á⢮ A ¨ ¯¥à¥¬¥®© j ¯à¨á¢ ¨¢ ¥âáï ¥ñ ®¬¥à (áâப¨ 6{7). «£®à¨â¬ Greedy-Activity-Selector âॡã¥â ¢á¥£® «¨èì (n) è £®¢ (¥ áç¨â ï ¯à¥¤¢ à¨â¥«ì®© á®àâ¨à®¢ª¨). ª ¨ ¯®¤®¡ ¥â ¦ ¤®¬ã «£®à¨â¬ã, ª ¦¤®¬ è £¥ ® ¤¥« ¥â ¢ë¡®à â ª, çâ®¡ë ®áâ î饥áï ᢮¡®¤ë¬ ¢à¥¬ï ¡ë«® ¬ ªá¨¬ «ì®. à ¢¨«ì®áâì «£®à¨â¬ ¥ ¤«ï ¢á¥å § ¤ ç ¦ ¤ë© «£®à¨â¬ ¤ ñâ ®¯â¨¬ «ì®¥ à¥è¥¨¥, ® ¤«ï 襩 ¤ ñâ. ¡¥¤¨¬áï ¢ í⮬. ¥®à¥¬ 17.1. «£®à¨â¬ Greedy-Activity-Selector ¤ ñâ ¡®à ¨§ ¨¡®«ì襣® ¢®§¬®¦®£® ª®«¨ç¥á⢠ᮢ¬¥áâëå § ª. « ¢ 17 ¤ë¥ «£®à¨â¬ë 328 i si fi 1 1 4 2 3 5 3 0 6 4 5 7 5 3 8 6 5 9 7 6 10 8 8 11 9 8 12 10 2 13 11 12 14 ¨á㮪 17.1 ¡®â «£®à¨â¬ Greedy-Activity-Selector ¤«ï 11 § ª (â ¡«¨æ á«¥¢ ). ¦¤ ï áâப à¨á㪥 ᮮ⢥âáâ¢ã¥â ®¤®¬ã ¯à®å®¤ã 横« ¢ áâப å 4{7. ¥àë¥ § ¨ 㦥 ¢ª«îç¥ë ¢ A, ¡¥« ï ᥩç á à áᬠâਢ ¥âáï. ᫨ «¥¢ë© ª®¥æ ¡¥«®£® ¯àאַ㣮«ì¨ª «¥¢¥¥ ¯à ¢®£® ª®æ ¯à ¢®£® á¥à®£® (áâ५ª ¨¤ñâ ¢«¥¢®), â® §  ®â¢¥à£ ¥âáï. ¯à®â¨¢®¬ á«ãç ¥ ® ¤®¡ ¢«ï¥âáï ª A. ¤ ç ® ¢ë¡®à¥ § ª 329 ®ª § ⥫ìá⢮. ¯®¬¨¬, çâ® § ¨ ®âá®àâ¨à®¢ ë ¯® ¢®§à áâ ¨î ¢à¥¬¥¨ ®ª®ç ¨ï. ०¤¥ ¢á¥£® ¤®ª ¦¥¬, çâ® áãé¥áâ¢ã¥â ®¯â¨¬ «ì®¥ à¥è¥¨¥ § ¤ ç¨ ® ¢ë¡®à¥ § ª, ᮤ¥à¦ 饥 § 㠮¬¥à 1 (á á ¬ë¬ à ¨¬ ¢à¥¬¥¥¬ ®ª®ç ¨ï). á ¬®¬ ¤¥«¥, ¥á«¨ ¢ ª ª®¬-â® ®¯â¨¬ «ì®¬ ¬®¦¥á⢥ § ª §  ®¬¥à 1 ¥ ᮤ¥à¦¨âáï, â® ¬®¦® § ¬¥¨âì ¢ ñ¬ § ã á á ¬ë¬ à ¨¬ ¢à¥¬¥¥¬ ®ª®ç ¨ï § 㠮¬¥à 1, çâ® ¥ ¯®¢à¥¤¨â ᮢ¬¥áâ®á⨠§ ª (¨¡® §  ®¬¥à 1 ª®ç ¥âáï ¥éñ à ìè¥, 祬 ¯à¥¦ïï, ¨ ¨ á 祬 ¯¥à¥á¥çìáï ¥ ¬®¦¥â) ¨ ¥ ¨§¬¥¨â ¨å ®¡é¥£® ª®«¨ç¥á⢠. â «® ¡ëâì, ¬®¦® ¨áª âì ®¯â¨¬ «ì®¥ ¬®¦¥á⢮ § ª A á।¨ ᮤ¥à¦ é¨å § 㠮¬¥à 1: áãé¥áâ¢ã¥â ®¯â¨¬ «ì®¥ à¥è¥¨¥, ç¨ î饥áï á ¦ ¤®£® ¢ë¡®à . ®á«¥ ⮣® ª ª ¬ë ¤®£®¢®à¨«¨áì à áᬠâਢ âì ⮫쪮 ¡®àë, ᮤ¥à¦ 騥 § 㠮¬¥à 1, ¢á¥ ¥á®¢¬¥áâë¥ á ¥© § ¨ ¬®¦® ¢ëª¨ãâì, ¨ § ¤ ç ᢮¤¨âáï ª ¢ë¡®àã ®¯â¨¬ «ì®£® ¡®à § ª ¨§ ¬®¦¥á⢠®áâ ¢è¨åáï § ª (ᮢ¬¥áâëå á § ®© ®¬¥à 1). à㣨¬¨ á«®¢ ¬¨, ¬ë ᢥ«¨ § ¤ çã ª «®£¨ç®© § ¤ ç¥ á ¬¥ì訬 ç¨á«®¬ § ª. áá㦤 ï ¯® ¨¤ãªæ¨¨, ¯®«ãç ¥¬, çâ®, ¤¥« ï ª ¦¤®¬ è £¥ ¦ ¤ë© ¢ë¡®à, ¬ë ¯à¨¤ñ¬ ª ®¯â¨¬ «ì®¬ã à¥è¥¨î. ¯à ¦¥¨ï 17.1-1 ¤ çã ® ¢ë¡®à¥ § ª ¬®¦® à¥è âì á ¯®¬®éìî ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï, ¢ëç¨á«ïï ¯®á«¥¤®¢ â¥«ì® (¤«ï i = 1; 2; : : :; n) ç¨á«® mi | ¬ ªá¨¬ «ì® ¢®§¬®¦®¥ ç¨á«® ᮢ¬¥áâëå § ª á।¨ § ª á ®¬¥à ¬¨ 1; 2; : : :; i (áç¨â ï, çâ® ¥à ¢¥á⢮ (17.1) ¢ë¯®«¥®). à ¢¨â¥ ¢à¥¬ï à ¡®âë â ª®£® «£®à¨â¬ ¨ «£®à¨â¬ Greedy-Activity-Selector. 17.1-2 ãáâì ¯®-¯à¥¦¥¬ã ¨¬¥¥âáï ¬®¦¥á⢮ § ª ¯à®¢¥¤¥¨¥ § ï⨩ (ª ¦¤ ï §  㪠§ë¢ ¥â ç «® ¨ ª®¥æ), ® 㤨â®à¨© ᪮«ìª® 㣮¤®. 㦮 à á¯à¥¤¥«¨âì § ¨ ¯® 㤨â®à¨ï¬, ¨á¯®«ì§ãï ª ª ¬®¦® ¬¥ìè¥ ã¤¨â®à¨©. §à ¡®â ©â¥ íää¥ªâ¨¢ë© ¦ ¤ë© «£®à¨â¬, à¥è î騩 íâã § ¤ çã. â § ¤ ç ¨§¢¥áâ â ª¦¥ ª ª § ¤ ç ® à áªà ᪥ ¨â¥à¢ «ì®£® £à ä (interval-graph coloring problem). áᬮâਬ £à ä, ¢¥àè¨ ¬¨ ª®â®à®£® ïîâáï § ¨, ¯à¨çñ¬ ¢¥àè¨ë ᮥ¤¨¥ë ॡ஬ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ᮮ⢥âáâ¢ãî騥 § ¨ ¥á®¢¬¥áâë. ¨¬¥ì襥 ª®«¨ç¥á⢮ 梥⮢, ¥®¡å®¤¨¬®¥ ¤«ï à áªà ᪨ ¢¥àè¨ £à ä â ª¨¬ ®¡à §®¬, çâ®¡ë ¢¥àè¨ë ®¤®£® 梥⠥ ¡ë«¨ ᮥ¤¨¥ë, ¨ ¥áâì ¨¬¥ì襥 ª®«¨ç¥á⢮ 㤨â®à¨©, ¥®¡å®¤¨¬®¥ ¤«ï ¢ë¯®«¥¨ï ¢á¥å § ª. 17.1-3 «ï § ¤ ç¨ ® ¢ë¡®à¥ § ª ¢®§¬®¦® ¥áª®«ìª® ᯮᮡ®¢ ¦ ¤®£® ¢ë¡®à , ¨ ¥ ¢á¥ ®¨ £®¤ïâáï. ®ª ¦¨â¥ ¯à¨¬¥à¥, çâ® 330 « ¢ 17 ¤ë¥ «£®à¨â¬ë ¯à ¢¨« " ª ¦¤®¬ è £¥ ¢ë¡¨à âì § 㠨¬¥ì襩 ¤«¨â¥«ì®áâ¨, ᮢ¬¥áâãî á 㦥 ¢ë¡à 묨", â ª¦¥ " ª ¦¤®¬ è £¥ ¢ë¡¨à âì § ã, ᮢ¬¥áâãî á ¨¡®«ì訬 ª®«¨ç¥á⢮¬ ®áâ îé¨åáï", ¥ £®¤ïâáï. 17.2 ®£¤ ¯à¨¬¥¨¬ ¦ ¤ë© «£®à¨â¬? ª 㧠âì, ¤ áâ «¨ ¦ ¤ë© «£®à¨â¬ ®¯â¨¬ã¬ ¯à¨¬¥¨â¥«ì® ª ¤ ®© § ¤ ç¥? ¡é¨å à¥æ¥¯â®¢ âãâ ¥â, ® áãé¥áâ¢ãîâ ¤¢¥ ®á®¡¥®áâ¨, å à ªâ¥àë¥ ¤«ï § ¤ ç, à¥è ¥¬ëå ¦ ¤ë¬¨ «£®à¨â¬ ¬¨. â® ¯à¨æ¨¯ ¦ ¤®£® ¢ë¡®à ¨ ᢮©á⢮ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç. à¨æ¨¯ ¦ ¤®£® ¢ë¡®à ®¢®àïâ, çâ® ª ®¯â¨¬¨§ 樮®© § ¤ ç¥ ¯à¨¬¥¨¬ ¯à¨æ¨¯ ¦ ¤®£® ¢ë¡®à (greedy-choice property), ¥á«¨ ¯®á«¥¤®¢ ⥫ì®áâì «®ª «ì® ®¯â¨¬ «ìëå (¦ ¤ëå) ¢ë¡®à®¢ ¤ ¥â £«®¡ «ì® ®¯â¨¬ «ì®¥ à¥è¥¨¥. §«¨ç¨¥ ¬¥¦¤¥ ¦ ¤ë¬¨ «£®à¨â¬ ¬¨ ¨ ¤¨ ¬¨ç¥áª¨¬ ¯à®£à ¬¬¨à®¢ ¨¥¬ ¬®¦® ¯®ïá¨âì â ª: ª ¦¤®¬ è £¥ ¦ ¤ë© «£®à¨â¬ ¡¥àñâ "á ¬ë© ¦¨àë© ªã᮪", ¯®â®¬ 㦥 ¯ëâ ¥âáï ᤥ« âì ¨«ãç訩 ¢ë¡®à á।¨ ®áâ ¢è¨åáï, ª ª®¢ë ¡ë ®¨ ¨ ¡ë«¨; «£®à¨â¬ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï ¯à¨¨¬ ¥â à¥è¥¨¥, ¯à®áç¨â ¢ § à ¥¥ ¯®á«¥¤áâ¢¨ï ¤«ï ¢á¥å ¢ ਠ⮢. ª ¤®ª § âì, çâ® ¦ ¤ë© «£®à¨â¬ ¤ ñâ ®¯â¨¬ «ì®¥ à¥è¥¨¥? â® ¥ ¢á¥£¤ âਢ¨ «ì®, ® ¢ ⨯¨ç®¬ á«ãç ¥ â ª®¥ ¤®ª § ⥫ìá⢮ á«¥¤ã¥â á奬¥, ¨á¯®«ì§®¢ ®© ¢ ¤®ª § ⥫ìá⢥ ⥮६ë 17.1. ç « ¬ë ¤®ª §ë¢ ¥¬, çâ® ¦ ¤ë© ¢ë¡®à ¯¥à¢®¬ è £¥ ¥ § ªàë¢ ¥â ¯ã⨠ª ®¯â¨¬ «ì®¬ã à¥è¥¨î: ¤«ï ¢á类£® à¥è¥¨ï ¥áâì ¤à㣮¥, ᮣ« ᮢ ®¥ á ¦ ¤ë¬ ¢ë¡®à®¬ ¨ ¥ åã¤è¥¥ ¯¥à¢®£®. ⥬ ¯®ª §ë¢ ¥âáï, çâ® ¯®¤§ ¤ ç , ¢®§¨ª îé ï ¯®á«¥ ¦ ¤®£® ¢ë¡®à ¯¥à¢®¬ è £¥, «®£¨ç ¨á室®©, ¨ à áá㦤¥¨¥ § ¢¥àè ¥âáï ¯® ¨¤ãªæ¨¨. ¯â¨¬ «ì®áâì ¤«ï ¯®¤§ ¤ ç ®¢®àï ¨ë¬¨ á«®¢ ¬¨, à¥è ¥¬ë¥ á ¯®¬®éìî ¦ ¤ëå «£®à¨â¬®¢ § ¤ ç¨ ®¡« ¤ îâ ᢮©á⢮¬ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç (have optimal substructure): ®¯â¨¬ «ì®¥ à¥è¥¨¥ ¢á¥© § ¤ ç¨ á®¤¥à¦¨â ¢ ᥡ¥ ®¯â¨¬ «ìë¥ à¥è¥¨ï ¯®¤§ ¤ ç. ( í⨬ ᢮©á⢮¬ ¬ë 㦥 ¢áâà¥ç «¨áì, £®¢®àï ® ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨.) ¯à¨¬¥à, ¯à¨ ¤®ª § ⥫ìá⢥ ⥮६ë 17.1 ¬ë ¢¨¤¥«¨, çâ® ¥á«¨ A | ®¯â¨¬ «ìë© ¡®à § ª, ᮤ¥à¦ 騩 § 㠮¬¥à 1, â® A0 = A n f1g | ®¯â¨¬ «ìë© ¡®à § ª ¤«ï ¬¥ì襣® ¬®¦¥- ®£¤ ¯à¨¬¥¨¬ ¦ ¤ë© «£®à¨â¬? 331 á⢠§ ª S 0, á®áâ®ï饣® ¨§ â¥å § ª, ¤«ï ª®â®àëå si > f1. ¤ë© «£®à¨â¬ ¨«¨ ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥? ¦ ¤ë¥ «£®à¨â¬ë, ¨ ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ®á®¢ë¢ îâáï ᢮©á⢥ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç, ¯®í⮬㠬®¦¥â ¢®§¨ªãâì ¨áªã襨¥ ¯à¨¬¥¨âì ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¢ á¨âã 樨, £¤¥ å¢ â¨«® ¡ë ¦ ¤®£® «£®à¨â¬ , ¨«¨, ¯à®â¨¢, ¯à¨¬¥¨âì ¦ ¤ë© «£®à¨â¬ ª § ¤ ç¥, ¢ ª®â®à®© ® ¥ ¤ áâ ®¯â¨¬ã¬ . ë ¯à®¨««îáâà¨à㥬 ¢®§¬®¦ë¥ «®¢ã誨 ¯à¨¬¥à¥ ¤¢ãå ¢ ਠ⮢ ª« áá¨ç¥áª®© ®¯â¨¬¨§ 樮®© § ¤ ç¨. ¨áªà¥â ï § ¤ ç ® à ª¥ (0-1 knapsack problem) á®á⮨⠢ á«¥¤ãî饬. ãáâì ¢®à ¯à®¡à «áï ᪫ ¤, ª®â®à®¬ åà ¨âáï n ¢¥é¥©. ¥éì ®¬¥à i á⮨â vi ¤®«« ஢ ¨ ¢¥á¨â wi ª¨«®£à ¬¬®¢ (vi ¨ wi | æ¥«ë¥ ç¨á« ). ®à å®ç¥â ãªà áâì ⮢ à ¬ ªá¨¬ «ìãî á㬬ã, ¯à¨çñ¬ ¬ ªá¨¬ «ìë© ¢¥á, ª®â®àë© ® ¬®¦¥â ã¥á⨠¢ à ª¥, à ¢¥ W (ç¨á«® W ⮦¥ 楫®¥). â® ® ¤®«¦¥ ¯®«®¦¨âì ¢ à ª? ¥¯à¥àë¢ ï § ¤ ç ® à ª¥ (fractional knapsack problem) ®â«¨ç ¥âáï ®â ¤¨áªà¥â®© ⥬, çâ® ¢®à ¬®¦¥â ¤à®¡¨âì ªà ¤¥ë¥ ⮢ àë ç á⨠¨ 㪫 ¤ë¢ âì ¢ à ª í⨠ç áâ¨, ¥ ®¡ï§ â¥«ì® ¢¥é¨ 楫¨ª®¬ (¥á«¨ ¢ ¤¨áªà¥â®© § ¤ ç¥ ¢®à ¨¬¥¥â ¤¥«® á §®«®â묨 ᫨⪠¬¨, â® ¢ ¥¯à¥à뢮© | á §®«®âë¬ ¯¥áª®¬). ¡¥ § ¤ ç¨ ® à ª¥ ®¡« ¤ îâ ᢮©á⢮¬ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç. á ¬®¬ ¤¥«¥, à áᬮâਬ ¤¨áªà¥âãî § ¤ çã. ë㢠¢¥éì ®¬¥à j ¨§ ®¯â¨¬ «ì® § £à㦥®£® à ª , ¯®«ã稬 à¥è¥¨¥ § ¤ ç¨ ® à ª¥ á ¬ ªá¨¬ «ìë¬ ¢¥á®¬ W ; wj ¨ ¡®à®¬ ¨§ n ; 1 ¢¥é¨ (¢á¥ ¢¥é¨, ªà®¬¥ j -©). «®£¨ç®¥ à áá㦤¥¨¥ ¯à®å®¤¨â ¨ ¤«ï ¥¯à¥à뢮© § ¤ ç¨: ¢ë㢠¨§ ®¯â¨¬ «ì® § £à㦥®£® à ª , ¢ ª®â®à®¬ «¥¦¨â w ª¨«®£à ¬¬®¢ ⮢ à ®¬¥à j , ¢¥áì íâ®â ⮢ à, ¯®«ã稬 ®¯â¨¬ «ì®¥ à¥è¥¨¥ ¥¯à¥à뢮© § ¤ ç¨, ¢ ª®â®à®© ¬ ªá¨¬ «ìë© ¢¥á à ¢¥ W ; w (¢¬¥áâ® W ), ª®«¨ç¥á⢮ j -£® ⮢ à à ¢® wj ; w (¢¬¥áâ® wj ). ®âï ¤¢¥ § ¤ ç¨ ® à ª¥ ¨ ¯®å®¦¨, ¦ ¤ë© «£®à¨â¬ ¤ ñâ ®¯â¨¬ã¬ ¢ ¥¯à¥à뢮© § ¤ ç¥ ® à ª¥ ¨ ¥ ¤ ñâ ¢ ¤¨áªà¥â®©. á ¬®¬ ¤¥«¥, à¥è¥¨¥ ¥¯à¥à뢮© § ¤ ç¨ ® à ª¥ á ¯®¬®éìî ¦ ¤®£® «£®à¨â¬ ¢ë£«ï¤¨â â ª. ëç¨á«¨¬ æ¥ë (¢ à áçñ⥠ª¨«®£à ¬¬) ¢á¥å ⮢ ஢ (æ¥ â®¢ à ®¬¥à i à ¢ vi =wi). ç « ¢®à ¡¥àñâ ¯® ¬ ªá¨¬ã¬ã á ¬®£® ¤®à®£®£® ⮢ à ; ¥á«¨ ¢¥áì íâ®â ⮢ à ª®ç¨«áï, à ª ¥ § ¯®«¥, ¢®à ¡¥àñâ á«¥¤ãî騩 ¯® 楥 ⮢ à, § ⥬ á«¥¤ãî騩, ¨ â ª ¤ «¥¥, ¯®ª ¥ ¡¥àñâ ¢¥á W . ®áª®«ìªã ⮢ àë ¤® ¯à¥¤¢ à¨â¥«ì® ®âá®àâ¨à®¢ âì ¯® æ¥ ¬, ç⮠㩤ñ⠢६ï O(n log n), ¢à¥¬ï à ¡®âë ®¯¨á ®£® «£®à¨â¬ ¡ã¤¥â O(n log n). ã¯à ¦¥¨¨ 17.2-1 ¬ë ¯®¯à®á¨¬ ¢ á ¤®ª § âì, çâ® ®¯¨á ë© «£®à¨â¬ ¤¥©áâ¢¨â¥«ì® ¤ ¥â ®¯â¨¬ã¬. 332 « ¢ 17 ¤ë¥ «£®à¨â¬ë ¨á㮪 17.2 ¤¨áªà¥â®© § ¤ ç¥ ® à ª¥ ¦ ¤ ï áâà ⥣¨ï ¬®¦¥â ¥ áà ¡®â âì. ( ) ®à ¤®«¦¥ ¢ë¡à âì ¤¢¥ ¢¥é¨ ¨§ âàñå á ⥬, çâ®¡ë ¨å á㬬 àë© ¢¥á ¥ ¯à¥¢ëᨫ 50 ª£. (¡) ¯â¨¬ «ìë© ¢ë¡®à | ¢â®à ï ¨ âà¥âìï ¢¥é¨; ¥á«¨ ¯®«®¦¨âì ¢ à ª ¯¥à¢ãî, â® ¢ë¡®à ®¯â¨¬ «ìë¬ ¥ ¡ã¤¥â, å®âï ¨¬¥® ® ¤®à®¦¥ ¢á¥å ¢ à áçñ⥠¥¤¨¨æã ¢¥á . (¢) «ï ¥¯à¥à뢮© § ¤ ç¨ ® à ª¥ á ⥬¨ ¦¥ ¨á室묨 ¤ 묨 ¢ë¡®à ⮢ ஢ ¢ ¯®à浪¥ ã¡ë¢ ¨ï æ¥ë ¥¤¨¨æã ¢¥á ¡ã¤¥â ®¯â¨¬ «¥. ⮡ë ã¡¥¤¨âìáï ¢ ⮬, çâ® «®£¨çë© ¦ ¤ë© «£®à¨â¬ ¥ ®¡ï§ ¤ ¢ âì ®¯â¨¬ã¬ ¢ ¤¨áªà¥â®© § ¤ ç¥ ® à ª¥, ¢§£«ï¨â¥ à¨á. 17.2 . à㧮¯®¤êñ¬®áâì à ª 50 ª£, ᪫ ¤¥ ¨¬¥îâáï âਠ¢¥é¨, ¢¥áï騥 10, 20 ¨ 30 ª£ ¨ áâ®ï騥 60, 100 ¨ 120 ¤®«« ஢ ᮮ⢥âá⢥®. ¥ ¨å ¢ à áçñ⥠¥¤¨¨æã ¢¥á à ¢ 6, 5 ¨ 4. ¤ë© «£®à¨â¬ ¤«ï ç « ¯®«®¦¨â ¢ à ª ¢¥éì ®¬¥à 1; ®¤ ª® ®¯â¨¬ «ì®¥ à¥è¥¨¥ ¢ª«îç ¥â ¯à¥¤¬¥âë ®¬¥à 2 ¨ 3. «ï ¥¯à¥à뢮© § ¤ ç¨ á ⥬¨ ¦¥ ¨á室묨 ¤ 묨 ¦ ¤ë© «£®à¨â¬, ¯à¥¤¯¨áë¢ î騩 ç âì á ⮢ à ®¬¥à 1, ¤ ñâ ®¯â¨¬ «ì®¥ à¥è¥¨¥ (à¨á. 17.2¢). ¤¨áªà¥â®© § ¤ ç¥ â ª ï áâà ⥣¨ï ¥ áà ¡ âë¢ ¥â: ¯®«®¦¨¢ ¢ à ª ¯à¥¤¬¥â ®¬¥à 1, ¢®à «¨è ¥âáï ¢®§¬®¦®á⨠§ ¯®«¨âì à ª "¯®¤ § ¢ï§ªã", ¯ãá⮥ ¬¥áâ® ¢ à ª¥ ᨦ ¥â æ¥ã ¢®à®¢ ®£® ¢ à áçñ⥠¥¤¨¨æã ¢¥á . ਠà¥è¥¨¨ ¤¨áªà¥â®© § ¤ ç¨ ® à ª¥, ç⮡ë à¥è¨âì, ª« áâì «¨ ¤ ãî ¢¥éì ¢ à ª, ¤® áà ¢¨âì à¥è¥¨¥ ¯®¤§ ¤ ç¨, ¢®§¨ª î饩, ¥á«¨ ¤ ï ¢¥éì § ¢¥¤®¬® «¥¦¨â ¢ à ª¥, á ¯®¤§ ¤ 祩, ¢®§¨ª î饩, ¥á«¨ í⮩ ¢¥é¨ ¢ à ª¥ § ¢¥¤®¬® ¥â. ¥¬ á ¬ë¬ ¤¨áªà¥â ï § ¤ ç ® à ª¥ ¯®à®¦¤ ¥â ¬®¦¥á⢮ ¯¥à¥ªàë¢ îé¨åáï ¯®¤§ ¤ ç | ⨯¨çë© ¯à¨§ ª ⮣®, çâ® ¬®¦¥â ¯à¨£®¤¨âìáï ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥. ¤¥©á⢨⥫ì®, ª ¤¨áªà¥â®© § ¤ ç¥ ® à ª¥ ®® ¯à¨¬¥¨¬® (á¬. ã¯à ¦¥¨¥ 17.2-2). ¯à ¦¥¨ï 17.2-1 ®ª ¦¨â¥, çâ® ¤«ï ¥¯à¥à뢮© § ¤ ç¨ ® à ª¥ ¢ë¯®«¥ ¯à¨æ¨¯ ¦ ¤®£® ¢ë¡®à . ®¤ë ä䬥 333 §à ¡®â ©â¥ ®á®¢ ë© ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨ «£®à¨â¬ ¤«ï à¥è¥¨ï ¤¨áªà¥â®© § ¤ ç¨ ® à ª¥. «£®à¨â¬ ¤®«¦¥ à ¡®â âì § ¢à¥¬ï O(nW ) (n | ª®«¨ç¥á⢮ ¢¥é¥©, W | ¬ ªá¨¬ «ìë© ¢¥á à ª ). 17.2-3 ãáâì ¢ ¤¨áªà¥â®© § ¤ ç¥ ® à ª¥ ¢¥é¨ ¬®¦® 㯮à冷ç¨âì â ª¨¬ ®¡à §®¬, çâ®¡ë ®¤®¢à¥¬¥® ¢ë¯®«ï«¨áì ¥à ¢¥á⢠w1 6 w2 6 6 wn ¨ v1 > v2 > > vn. §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¤«ï 宦¤¥¨ï ®¯â¨¬ «ì®£® ¡®à ¨ ¤®ª ¦¨â¥, çâ® ® ¯à ¢¨«¥. 17.2-4 à®ä¥áá®à ¥¤¥â ¯® è®áᥠ¨§ ¥â¥à¡ã࣠¢ ®áª¢ã, ¨¬¥ï ¯à¨ ᥡ¥ ª àâã á 㪠§ ¨¥¬ ¢á¥å áâ®ïé¨å è®áᥠ¡¥§®ª®«®®ª ¨ à ááâ®ï¨© ¬¥¦¤ã ¨¬¨. §¢¥áâ® à ááâ®ï¨¥, ª®â®à®¥ ¬®¦¥â ¯à®¥å âì ¬ è¨ á ¯®«®áâìî § ¯à ¢«¥ë¬ ¡ ª®¬. §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, ¯®§¢®«ïî騩 ¢ëïá¨âì, ª ª¨å ¡¥§®ª®«®ª å ¤® § ¯à ¢«ïâìáï, çâ®¡ë ª®«¨ç¥á⢮ § ¯à ¢®ª ¡ë«® ¬¨¨¬ «ì®. ( ç «¥ ¯ã⨠¡ ª ¯®«®.) 17.2-5 ® n â®ç¥ª x1 ; x2; : : :; xn ª®®à¤¨ ⮩ ¯àאַ©; âॡã¥âáï ¯®ªàëâì ¢á¥ í⨠â®çª¨ ¨¬¥ì訬 ç¨á«®¬ ®â१ª®¢ ¤«¨ë 1. §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, à¥è î騩 íâã ®¯â¨¬¨§ 樮ãî § ¤ çã. 17.2-6? ।¯®« £ ï ¨§¢¥áâë¬ à¥è¥¨¥ § ¤ ç¨ 10-2, ©¤¨â¥ à¥è¥¨¥ ¥¯à¥à뢮© § ¤ ç¨ ® à ª¥ § ¢à¥¬ï O(n). 17.2-2 17.3 ®¤ë ä䬥 ®¤ë ä䬥 è¨à®ª® ¨á¯®«ì§ãîâáï ¯à¨ á¦ â¨ï ¨ä®à¬ 樨 (¢ ⨯¨ç®© á¨âã 樨 ¢ë¨£àëè ¬®¦¥â á®áâ ¢¨âì ®â 20% ¤® 90% ¢ § ¢¨á¨¬®á⨠®â ⨯ ä ©« ). «£®à¨â¬ ä䬥 室¨â ®¯â¨¬ «ìë¥ ª®¤ë ᨬ¢®«®¢ (¨áå®¤ï ¨§ ç áâ®âë ¨á¯®«ì§®¢ ¨ï íâ¨å ᨬ¢®«®¢ ¢ ᦨ¬ ¥¬®¬ ⥪áâ¥) á ¯®¬®éìî ¦ ¤®£® ¢ë¡®à . ãáâì ¢ ä ©«¥ ¤«¨ë 100 000 ¨§¢¥áâë ç áâ®âë ᨬ¢®«®¢ (à¨á. 17.3). ë å®â¨¬ ¯®áâநâì ¤¢®¨çë© ª®¤ (binary character code), ¢ ª®â®à®¬ ª ¦¤ë© ᨬ¢®« ¯à¥¤áâ ¢«ï¥âáï ¢ ¢¨¤¥ ª®¥ç®© ¯®á«¥¤®¢ ⥫ì®á⨠¡¨â®¢, §ë¢ ¥¬®© ª®¤®¢ë¬ á«®¢®¬ (codeword). ਠ¨á¯®«ì§®¢ ¨¨ à ¢®¬¥à®£® ª®¤ (xed-length code), ¢ ª®â®à®¬ ¢á¥ ª®¤®¢ë¥ á«®¢ ¨¬¥îâ ®¤¨ ª®¢ãî ¤«¨ã, ª ¦¤ë© ᨬ¢®« (¨§ è¥á⨠¨¬¥îé¨åáï) ¤® ¯®âà â¨âì ª ª ¬¨¨¬ã¬ âਠ¡¨â , ¯à¨¬¥à, a = 000; b = 001; : : :; f = 101. ¢¥áì ä ©« 㩤¥â 300 000 ¡¨â®¢ | ¥«ì§ï «¨ 㬥ìè¨âì íâ® ç¨á«®? ¥à ¢®¬¥àë© ª®¤ (variable-length code) ¡ã¤¥â íª®®¬¥¥, ¥á«¨ ç áâ® ¢áâà¥ç î騥áï ᨬ¢®«ë § ª®¤¨à®¢ âì ª®à®âª¨¬¨ ¯®á«¥¤®- 334 « ¢ 17 ¤ë¥ «£®à¨â¬ë a b c d e f ®«¨ç¥á⢮ (¢ âëáïç å) 45 13 12 16 9 5 ¢®¬¥àë© ª®¤ 000 001 010 011 100 101 ¥à ¢®¬¥àë© ª®¤ 0 101 100 111 1101 1100 ¨á㮪 17.3 ¤ ç ® ¢ë¡®à¥ ª®¤ . ä ©«¥ ¤«¨®© 100 000 ᨬ¢®«®¢ ¢áâà¥ç îâáï ⮫쪮 « â¨áª¨¥ ¡ãª¢ë ®â a ¤® f (¢ â ¡«¨æ¥ 㪠§ ®, ¯® ᪮«ìªã à § ª ¦¤ ï). ᫨ ª ¦¤ãî ¡ãª¢ã § ª®¤¨à®¢ âì âà¥¬ï ¡¨â ¬¨, â® ¢á¥£® ¡ã¤¥â 300 000 ¡¨â®¢. ᫨ ¨á¯®«ì§®¢ âì ¥à ¢®¬¥àë© ª®¤ (¨¦ïï áâப ), â® ¤®áâ â®ç® 224 000 ¡¨â®¢. ¢ ⥫ì®áâﬨ ¡¨â®¢, ।ª® ¢áâà¥ç î騥áï | ¤«¨ë¬¨. ¤¨ â ª®© ª®¤ ¯®ª § à¨á. 17.3: ¡ãª¢ a ¨§®¡à ¦ ¥âáï ®¤®¡¨â®¢®© ¯®á«¥¤®¢ ⥫ì®áâìî 0, ¡ãª¢ f | ç¥âëàñ塨⮢®© ¯®á«¥¤®¢ ⥫ì®áâìî 1100. ਠ⠪®© ª®¤¨à®¢ª¥ ¢¥áì ä ©« 㩤ñâ (45 1 + 13 3 + 12 3 + 16 3 + 9 4 + 5 4) 1000 = 224 000 ¡¨â®¢, çâ® ¤ ñâ ®ª®«® 25% íª®®¬¨¨. ( «¥¥ ¬ë 㢨¤¨¬, çâ® íâ®â ª®¤ ¡ã¤¥â ®¯â¨¬ «ìë¬.) à¥ä¨ªáë¥ ª®¤ë ë ¡ã¤¥¬ à áᬠâਢ âì ⮫쪮 ª®¤ë, ¢ ª®â®àëå ¨§ ¤¢ãå ¯®á«¥¤®¢ ⥫ì®á⥩ ¡¨â®¢, ¯à¥¤áâ ¢«ïîé¨å à §«¨çë¥ á¨¬¢®«ë, ¨ ®¤ ¥ ï¥âáï ¯à¥ä¨ªá®¬ ¤à㣮©. ª¨¥ ª®¤ë §ë¢ îâáï ¯à¥ä¨ªá묨 ª®¤ ¬¨ (prex codes; â ª®¢ ®¡é¥¯à¨ïâë© â¥à¬¨, å®âï «®£¨ç¥¥ ¡ë«® ¡ë §ë¢ âì ¨å " ¡¥á¯à¥ä¨ªá묨" ª®¤ ¬¨). ®¦® ¯®ª § âì (¬ë í⮣® ¤¥« âì ¥ ¡ã¤¥¬), çâ® ¤«ï «î¡®£® ª®¤ , ®¡¥á¯¥ç¨¢ î饣® ®¤®§ 箥 ¢®ááâ ®¢«¥¨¥ ¨ä®à¬ 樨, áãé¥áâ¢ã¥â ¥ åã¤è¨© ¥£® ¯à¥ä¨ªáë© ª®¤, â ª çâ® ¬ë ¨ç¥£® ¥ â¥à塞. ਠª®¤¨à®¢ ¨¨ ª ¦¤ë© ᨬ¢®« § ¬¥ï¥âáï ᢮© ª®¤. ¯à¨¬¥à, ¤«ï ¥à ¢®¬¥à®£® ª®¤ à¨á. 17.3 áâப abc § ¯¨è¥âáï ª ª 0101100. «ï ¯à¥ä¨ªá®£® ª®¤ ¤¥ª®¤¨à®¢ ¨¥ ®¤®§ ç® ¨ ¢ë¯®«ï¥âáï á«¥¢ ¯à ¢®. ¥à¢ë© ᨬ¢®« ⥪áâ , § ª®¤¨à®¢ ®£® ¯à¥ä¨ªáë¬ ª®¤®¬, ®¯à¥¤¥«ï¥âáï ®¤®§ ç®, â ª ª ª ª®¤¨àãîé ï ¥£® ¯®á«¥¤®¢ ⥫ì®áâì ¥ ¬®¦¥â ¡ëâì ç «®¬ ª®¤ ª ª®£®â® ¨®£® ᨬ¢®« . ©¤ï íâ®â ¯¥à¢ë© ᨬ¢®« ¨ ®â¡à®á¨¢ ª®¤¨à®¢ ¢èãî ¥£® ¯®á«¥¤®¢ ⥫ì®áâì ¡¨â®¢, ¬ë ¯®¢â®à塞 ¯à®æ¥áá ¤«ï ®áâ ¢è¨åáï ¡¨â®¢, ¨ â ª ¤ «¥¥. ¯à¨¬¥à, áâப 001011101 (¯à¨ ¨á¯®«ì§®¢ ¨¨ ¥à ¢®¬¥à®£® ª®¤ à¨á. 17.3) à §¡¨¢ ¥âáï ç á⨠0 0 101 1101 ¨ ¤¥ª®¤¨àã¥âáï ª ª aabe. «ï íä䥪⨢®© ॠ«¨§ 樨 ¤¥ª®¤¨à®¢ ¨ï ¤® åà ¨âì ¨ä®à¬ æ¨î ® ª®¤¥ ¢ 㤮¡®© ä®à¬¥. ¤ ¨§ ¢®§¬®¦®á⥩ | ¯à¥¤áâ ¢¨âì ª®¤ ¢ ¢¨¤¥ ¤¢®¨ç®£® ¤¥à¥¢ , «¨áâìï ª®â®à®£® ᮮ⢥âáâ¢ãîâ ª®¤¨àã¥¬ë¬ á¨¬¢®« ¬. ਠí⮬ ¯ãâì ®â ¢¥àè¨ë ¤¥à¥¢ ¤® ª®¤¨à㥬®£® ᨬ¢®« ®¯à¥¤¥«ï¥â ª®¤¨àãîéãî ¯®á«¥¤®¢ ⥫ì®áâì ¡¨â®¢: ¯®¢®à®â «¥¢® ¤ ñâ 0, ¯®¢®à®â ¯à ¢® | 1. ®¤ë ä䬥 335 ¨á㮪 17.4 ¥à¥¢ìï, ᮮ⢥âáâ¢ãî騥 ¤¢ã¬ ª®¤ ¬ à¨á. 17.3. ª ¦¤®¬ «¨á⥠㪠§ ᮮ⢥âáâ¢ãî騩 ᨬ¢®« ¨ ç áâ®â ¥£® ¨á¯®«ì§®¢ ¨ï ¢ ⥪áâ¥. ® ¢ãâ२å 㧫 å 㪠§ á㬬 ç áâ®â ¤«ï «¨áâ쥢 ᮮ⢥âáâ¢ãî饣® ¯®¤¤¥à¥¢ . ( ) ¥à¥¢®, ᮮ⢥âáâ¢ãî饥 à ¢®¬¥à®¬ã ª®¤ã a = 000; : : : ; f = 100. (¡) ¥à¥¢®, ᮮ⢥âáâ¢ãî饥 ®¯â¨¬ «ì®¬ã ¯à¥ä¨ªá®¬ã ª®¤ã a = 0; b = 101; : : : ; f = 1100. à¨á. 17.4 ¨§®¡à ¦¥ë ¤¥à¥¢ìï, ᮮ⢥âáâ¢ãî騥 ¤¢ã¬ ª®¤ ¬ à¨á. 17.3. ¯â¨¬ «ì®¬ã (¤«ï ¤ ®£® ä ©« ) ª®¤ã ¢á¥£¤ ᮮ⢥âáâ¢ã¥â ¤¢®¨ç®¥ ¤¥à¥¢®, ¢ ª®â®à®¬ ¢áïª ï ¢¥àè¨ , ¥ ïîé ïáï «¨á⮬, ¨¬¥¥â ¤¢®¨å ¤¥â¥© (á¬. ã¯à ¦¥¨¥ 17.3-1). ç áâ®áâ¨, à ¢®¬¥àë© ª®¤ ¨§ 襣® ¯à¨¬¥à ®¯â¨¬ «ìë¬ ¡ëâì ¥ ¬®¦¥â, â ª ª ª ¢ ᮮ⢥âáâ¢ãî饬 ¤¥à¥¢¥ (à¨á. 17.4 ) ¥áâì ¢¥àè¨ á ®¤¨¬ ॡñª®¬ (ª®¤ë ¥ª®â®àëå ᨬ¢®«®¢ ç¨ îâáï á 10 : : : , ® ¨ ®¤¨ ª®¤ ᨬ¢®« ¥ ç¨ ¥âáï á 11 : : : ). ª®¥ ᢮©á⢮ ®¯â¨¬ «ì®£® ª®¤ ¯®§¢®«ï¥â «¥£ª® ¤®ª § âì, çâ® ¤¥à¥¢® ®¯â¨¬ «ì®£® ¯à¥ä¨ªá®£® ª®¤ ¤«ï ä ©« , ¢ ª®â®à®¬ ¨á¯®«ì§ãîâáï ¢á¥ á¨¬¢®«ë ¨§ ¥ª®â®à®£® ¬®¦¥á⢠C ¨ ⮫쪮 ®¨, ᮤ¥à¦¨â ஢® jC j «¨áâ쥢, ¯® ®¤®¬ã ª ¦¤ë© ᨬ¢®«, ¨ ஢® jC j ; 1 㧫®¢, ¥ ïîé¨åáï «¨áâìﬨ. ï ¤¥à¥¢® T , ᮮ⢥âáâ¢ãî饥 ¯à¥ä¨ªá®¬ã ª®¤ã, «¥£ª® ©â¨ ª®«¨ç¥á⢮ ¡¨â®¢, ¥®¡å®¤¨¬®¥ ¤«ï ª®¤¨à®¢ ¨ï ä ©« . ¬¥®, ¤«ï ª ¦¤®£® ᨬ¢®« c ¨§ «ä ¢¨â C ¯ãáâì f [c] ®¡®§ ç ¥â ç¨á«® ¥£® ¢å®¦¤¥¨© ¢ ä ©«, dT (c) | £«ã¡¨ã ᮮ⢥âáâ¢ãî饣® «¨áâ ¢ ¤¥à¥¢¥ ¨«¨, çâ® â® ¦¥ á ¬®¥, ¤«¨ã ¯®á«¥¤®¢ ⥫ì®á⨠¡¨â®¢, ª®¤¨àãî饩 c. ®£¤ ¤«ï ª®¤¨à®¢ ¨ï ä ©« ¯®âॡã¥âáï B (T ) = X c2C f [c]dT (c) ¡¨â®¢. §®¢¥¬ íâ® ç¨á«® á⮨¬®áâìî (cost) ¤¥à¥¢ T . (17.3) 336 « ¢ 17 ¤ë¥ «£®à¨â¬ë ®áâ஥¨¥ ª®¤ ä䬥 ä䬥 ¯®áâந« ¦ ¤ë© «£®à¨â¬, ª®â®àë© áâந⠮¯â¨¬ «ìë© ¯à¥ä¨ªáë© ª®¤. â®â ª®¤ §ë¢ ¥âáï ª®¤®¬ ä䬥 (Human code). «£®à¨â¬ áâந⠤¥à¥¢® T , ᮮ⢥âáâ¢ãî饥 ®¯â¨¬ «ì®¬ã ª®¤ã, ᨧ㠢¢¥àå, ç¨ ï á ¬®¦¥á⢠¨§ jC j «¨áâ쥢 ¨ ¤¥« ï jC j;1 "᫨﨩". ë ¯à¥¤¯®« £ ¥¬, çâ® ¤«ï ª ¦¤®£® ᨬ¢®« c 2 C § ¤ ¥£® ç áâ®â f [c]. «ï 宦¤¥¨ï ¤¢ãå ®¡ê¥ªâ®¢, ¯®¤«¥¦ é¨å ᫨ï¨î, ¨á¯®«ì§ã¥âáï ®ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨ Q, ¨á¯®«ì§ãîé ï ç áâ®âë f ¢ ª ç¥á⢥ à £®¢ | ᫨¢ îâáï ¤¢ ®¡ê¥ªâ á ¨¬¥ì訬¨ ç áâ®â ¬¨. १ã«ìâ ⥠᫨ï¨ï ¯®«ãç ¥âáï ®¢ë© ®¡ê¥ªâ (¢ãâà¥ïï ¢¥àè¨ ), ç áâ®â ª®â®à®£® áç¨â ¥âáï à ¢®© á㬬¥ ç áâ®â ¤¢ãå ᫨¢ ¥¬ëå ®¡ê¥ªâ®¢. Huffman(C ) 1 n jC j 2 Q C 3 for i 1 to n ; 1 4 do z Allocate-Node() 5 x left[z] Extract-Min(Q) 6 y right[z] Extract-Min(Q) 7 f [z] f [x] + f [y ] 8 Insert(Q; z ) 9 return Extract-Min(Q) ¡®â í⮣® «£®à¨â¬ ¤«ï 襣® ¯à¨¬¥à ¯®ª § à¨á. 17.5. ®áª®«ìªã ¨¬¥¥âáï ¢á¥£® 6 ¡ãª¢, ¯¥à¢® ç «ì® ®ç¥à¥¤ì ¨¬¥¥â à §¬¥à n = 6, ¨ ¤«ï ¯®áâ஥¨ï ¤¥à¥¢ 㦮 ᤥ« âì 5 ᫨﨩. à¥ä¨ªáë© ª®¤ ᮮ⢥âáâ¢ã¥â ¤¥à¥¢ã, ¯®«ã祮¬ã ¢ १ã«ìâ ⥠¢á¥å íâ¨å ᫨﨩. áâப¥ 2 «£®à¨â¬ ¢ ®ç¥à¥¤ì Q ¯®¬¥é îâáï ᨬ¢®«ë ¨§ «ä ¢¨â C (á ᮮ⢥âáâ¢ãî騬¨ ç áâ®â ¬¨). 横«¥ (áâப¨ 3{8) ¯®¢â®àï¥âáï n ; 1 à § á«¥¤ãîé ï ®¯¥à æ¨ï: ¨§ ®ç¥à¥¤¨ ¨§ë¬ îâáï ¤¢¥ ¢¥àè¨ë x ¨ y á ¨¬¥ì訬¨ ç áâ®â ¬¨ f [x] ¨ f [y], ª®â®àë¥ § ¬¥ïîâáï ®¤ã ¢¥àè¨ã z á ç áâ®â®© f [x] + f [y] ¨ ¤¥â쬨 x ¨ y (ª®£® ¨§ ¨å áç¨â âì «¥¢ë¬ ॡñª®¬, ª®£® ¯à ¢ë¬ | ¥¢ ¦®: ª®¤ ¯®«ãç¨âáï ¤à㣮©, ® ¥£® á⮨¬®áâì ¡ã¤¥â â ¦¥). ª®æ¥ ¢ ®ç¥à¥¤¨ ®áâ ñâáï ®¤¨ 㧥« | ª®à¥ì ¯®áâ஥®£® ¤¢®¨ç®£® ¤¥à¥¢ . á뫪 ¥£® ¢®§¢à é ¥âáï ¢ áâப¥ 9. 楨¬ ¢à¥¬ï à ¡®âë «£®à¨â¬ , áç¨â ï, çâ® ®ç¥à¥¤ì Q ॠ«¨§®¢ ¢ ¢¨¤¥ ¤¢®¨ç®© ªãç¨ (á¬. £« ¢ã 7). ¨æ¨ «¨§ æ¨î Q ¢ áâப¥ 2 ¬®¦® ¯à®¢¥á⨠§ O(n) ®¯¥à 権 á ¯®¬®éìî ¯à®æ¥¤ãàë Build-Heap ¨§ à §¤¥« 7.3. ¨ª« ¢ áâப å 3{8 ¨á¯®«ï¥âáï ஢® n ; 1 à §; ¯®áª®«ìªã ª ¦¤ ï ®¯¥à æ¨ï á ªã祩 âॡã¥â ¢à¥¬¥¨ O(log n), ®¡é¥¥ ¢à¥¬ï ¡ã¤¥â O(n log n). â «® ¡ëâì, ¢à¥¬ï à ¡®âë «£®à¨â¬ Huffman ¤«ï «ä ¢¨â ¨§ n ᨬ¢®«®¢ ¡ã¤¥â O(n log n). ®¤ë ä䬥 337 ¨á㮪 17.5 ਬ¥¥¨¥ «£®à¨â¬ ä䬥 ª â ¡«¨æ¥ ç áâ®â à¨á. 17.3. ®ª § ë ¯®á«¥¤®¢ ⥫ìë¥ á®áâ®ï¨ï ®ç¥à¥¤¨ (¢ ¯®à浪¥ ¢®§à áâ ¨ï ç áâ®â). ª ¦¤®¬ è £¥ ᫨¢ îâáï ¤¢ ¯®¤¤¥à¥¢ á ¨¬¥ì訬¨ ç áâ®â ¬¨. ¨áâìï | ¯àאַ㣮«ì¨ª¨, ¢ ª®â®àëå ᨬ¢®« ¨ ¥£® ç áâ®â à §¤¥«¥ë ¤¢®¥â®ç¨¥¬. ãâ२¥ ¢¥àè¨ë ¨§®¡à ¦¥ë ªà㦪 ¬¨, ¢ ª®â®àëå 㪠§ ë á㬬ë ç áâ®â ¨å ¤¥â¥©. ¥¡à®, ¨¤ã饥 ª «¥¢®¬ã ॡñªã, ¯®¬¥ç¥® ã«¥¬, ª ¯à ¢®¬ã | ¥¤¨¨æ¥©. १ã«ìâ¨àãî饬 ¤¥à¥¢¥ ª®¤ «î¡®£® ᨬ¢®« ¯¨á ¯ãâ¨, ¢¥¤ã饬 ¨§ ª®àï ª í⮬ã ᨬ¢®«ã. ( ) ç «ì ï áâ ¤¨ï: n = 6 «¨áâ쥢, ¯® ®¤®¬ã ᨬ¢®«. (¡){(¤) ஬¥¦ãâ®çë¥ áâ ¤¨¨. (¥) ®â®¢®¥ ¤¥à¥¢®. à ¢¨«ì®áâì «£®à¨â¬ ä䬥 â®¡ë ¤®ª § âì, çâ® ¦ ¤ë© «£®à¨â¬ Huffman ¤¥©áâ¢¨â¥«ì® ¤ ñâ ®¯â¨¬ã¬, ¬ë ¯®ª ¦¥¬, çâ® ¤«ï § ¤ ç¨ ®¡ ®¯â¨¬ «ì®¬ ¯à¥ä¨ªá®¬ ª®¤¥ ¢ë¯®«¥ë ¯à¨æ¨¯ ¦ ¤®£® ¢ë¡®à ¨ ᢮©á⢮ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç. çñ¬ á ¯à¨æ¨¯ ¦ ¤®£® ¢ë¡®à . ¥¬¬ 17.2. ãáâì ¢ «ä ¢¨â¥ C ª ¦¤ë© ᨬ¢®« c 2 C ¨¬¥¥â ç áâ®âã f [c]. ãáâì x; y 2 C | ¤¢ ᨬ¢®« á ¨¬¥ì訬¨ ç áâ®â ¬¨. ®£¤ ¤«ï C áãé¥áâ¢ã¥â ®¯â¨¬ «ìë© ¯à¥ä¨ªáë© ª®¤, ¢ ª®â®à®¬ ¯®á«¥¤®¢ ⥫ì®á⨠¡¨â®¢, ª®¤¨àãî騥 x ¨ y, ¨¬¥îâ ®¤¨ ª®¢ãî ¤«¨ã ¨ à §«¨ç îâáï ⮫쪮 ¢ ¯®á«¥¤¥¬ ¡¨â¥. ®ª § ⥫ìá⢮. ⢥ত¥¨¥ «¥¬¬ë ¡ã¤¥â ¢ë¯®«¥®, ¥á«¨ «¨áâìï, ᮮ⢥âáâ¢ãî騥 x ¨ y, ¡ã¤ãâ ¡à âìﬨ. áᬮâਬ ¤¥à¥¢® T , ᮮ⢥âáâ¢ãî饥 ¯à®¨§¢®«ì®¬ã ®¯â¨¬ «ì®¬ã ¯à¥ä¨ªá- 338 « ¢ 17 ¤ë¥ «£®à¨â¬ë ¨á㮪 17.6 ®ª § ⥫ìá⢮ «¥¬¬ë 17.2. ¤¥áì b ¨ c | ¨¡®«¥¥ 㤠«ñë¥ ®â ª®àï «¨áâìï-¡à âìï, x ¨0 y | «¨áâìï á ¨¬¥ì訬¨ ç áâ®â ¬¨ . ¡¬¥ x ¨ b ¯à¥¢à é ¥â ¤¥à¥¢® T ¢ T , ®¡¬¥ y ¨ c ¯à¥¢à é ¥â T 0 ¢ T 00 . ਠª ¦¤®© ¨§ ¯¥à¥áâ ®¢®ª á⮨¬®áâì ¤¥à¥¢ ¥ ¢®§à áâ ¥â. ®¬ã ª®¤ã, ¨ ¯®ª ¦¥¬, çâ® ¥£® ¬®¦® ¬®¤¨ä¨æ¨à®¢ âì, ¥ àãè ï ®¯â¨¬ «ì®áâ¨, â ª, çâ®¡ë ¢ëè¥ãª § ®¥ ãá«®¢¨¥ ¢ë¯®«ï«®áì. á ¬®¬ ¤¥«¥, à áᬮâਬ ¯ àã á®á¥¤¨å (¨¬¥îé¨å ®¡é¥£® த¨â¥«ï) «¨áâ쥢 ¢ ¤¥à¥¢¥ T , 室ïéãîáï ¬ ªá¨¬ «ì®¬ à ááâ®ï¨¨ ®â ª®àï. ( ª¨¥ áãé¥áâ¢ãîâ: ¢ ®¯â¨¬ «ì®¬ ¤¥à¥¢¥ ¢á¥ ¢ãâ२¥ ¢¥àè¨ë ¨¬¥îâ á⥯¥ì 2, ¨ ¯®â®¬ã «¨áâ ¨¡®«ì襩 £«ã¡¨ë ¨¬¥¥â ¡à â .) ¨¬¢®«ë, áâ®ï騥 ¢ íâ¨å «¨áâìïå ( §®¢ñ¬ ¨å b ¨ c) | ¥ ®¡ï§ â¥«ì® x ¨ y, ® § ¢¥¤®¬® ¨¬¥îâ ¥ ¬¥ì訥 ç áâ®âë (¯®áª®«ìªã x ¨ y ¡ë«¨ ¤¢ã¬ï ¨¡®«¥¥ ।ª¨¬¨ ᨬ¢®« ¬¨). ¥ ®£à ¨ç¨¢ ï ®¡é®áâ¨, ¬®¦® áç¨â âì, çâ® f [x] 6 f [b] ¨ f [y] 6 f [c]. ¥¯¥àì ¯®¬¥ï¥¬ ¬¥áâ ¬¨ ¢ ¤¥à¥¢¥ T ᨬ¢®«ë b ¨ x (¯®«ã祮¥ ¤¥à¥¢® §®¢ñ¬ T 0), § ⥬ ᨬ¢®«ë c ¨ y (¯®«ã祮¥ ¤¥à¥¢® §®¢ñ¬ T 00). ®á«¥ â ª¨å ®¡¬¥®¢ x ¨ y (á¬. ¯à¨¬¥à à¨á. 17.6) áâ ãâ ¡à âìﬨ, 室ï騬¨áï ¬ ªá¨¬ «ì®© £«ã¡¨¥. áâ «®áì ã¡¥¤¨âìáï, çâ® ¯à¨ ®¡¬¥ å á⮨¬®áâì ¤¥à¥¢ ¥ ¢®§à á⠥⠨, á«¥¤®¢ ⥫ì®, ¤¥à¥¢® T 00 â ª¦¥ ï¥âáï ®¯â¨¬ «ìë¬. à㣨¬¨ á«®¢ ¬¨, ¬ë ¤®«¦ë ¯à®¢¥à¨âì, çâ® B(T ) > B(T 0) > B(T 00), £¤¥ B | äãªæ¨ï á⮨¬®áâ¨. á ¬®¬ ¤¥«¥, á⮨¬®áâì ®¯à¥¤¥«ï¥âáï ª ª á㬬 ¯® ¢á¥¬ «¨áâìï¬ ¯à®¨§¢¥¤¥¨© ç áâ®âë £«ã¡¨ã (17.3). ਠ¯¥à¥å®¤¥ ®â T ª T 0 ¢ í⮩ á㬬¥ ¬¥ïîâáï ⮫쪮 ¤¢ á« £ ¥¬ëå: f [b]dT (b) + f [x]dT (x) § ¬¥ï¥âáï f [b]dT 0(b) + f [x]dT 0 (x), â. ¥. f [b]dT (x) + f [x]dT (b). ª¨¬ ®¡à §®¬, B (T ) ; B (T 0) = f [b]dT (b) + f [x]dT (x) ; f [b]dT (x) ; f [x]dT (b) = = (f [b] ; f [x])(dT (b) ; dT (x)) > 0: ¡¥ ᪮¡ª¨ ¥®âà¨æ ⥫ìë: ¢á¯®¬¨¬, çâ® f [x] 6 f [b] ¨ çâ® dT (b) > dT (x), â ª ª ª «¨áâ b ¡ë« ®¤¨¬ ¨§ ¨¡®«¥¥ 㤠«ñëå ®â ª®àï. «®£¨çë¬ ®¡à §®¬ B(T 0) > B(T 00), â ª çâ® B(T ) > B (T 00), ¨ ¯®í⮬ã T 00 â ª¦¥ ®¯â¨¬ «ì® ( ¢á¥ è¨ ¥à ¢¥á⢠ïîâáï à ¢¥á⢠¬¨). ¥¬¬ ¤®ª § . ®ª § ï «¥¬¬ ¯®ª §ë¢ ¥â, çâ® ¯®áâ஥¨¥ ®¯â¨¬ «ì®£® ¤¥à¥¢ ¢á¥£¤ ¬®¦® ç âì ᮠ᫨ï¨ï ¤¢ãå ᨬ¢®«®¢ á ¨¬¥ì襩 ç áâ®â®©. «¥¤ãî饥 ¡«î¤¥¨¥ ®¯à ¢¤ë¢ ¥â §¢ ¨¥ "¦ ¤ë©" ¤«ï â ª®£® «£®à¨â¬ . §®¢ñ¬ á⮨¬®áâìî ᫨ï¨ï á㬬ã ç áâ®â ®¤ë ä䬥 339 ᫨¢ ¥¬ëå 㧫®¢. ã¯à ¦¥¨¨ 17.3-3 ¬ë ¯à¥¤«®¦¨¬ ¢ ¬ ¤®ª § âì, çâ® á⮨¬®áâì ¤¥à¥¢ à ¢ á㬬¥ á⮨¬®á⥩ ¢á¥å ᫨﨩, ¥®¡å®¤¨¬ëå ¤«ï ¥£® ¯®áâ஥¨ï. â «® ¡ëâì, «£®à¨â¬ Huffman ª ¦¤®¬ è £¥ ¢ë¡¨à ¥â ᫨逸, ¨¬¥¥¥ 㢥«¨ç¨¢ î饥 á⮨¬®áâì. ¥¯¥àì ãáâ ®¢¨¬ ᢮©á⢮ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç. ãáâì 䨪á¨à®¢ «ä ¢¨â C ¨ ¤¢ ᨬ¢®« x, y í⮣® «ä ¢¨â , C 0 | «ä ¢¨â, ª®â®àë© ¯®«ãç¨âáï ¨§ C , ¥á«¨ ¢ëª¨ãâì x ¨ y ¨ ¤®¡ ¢¨âì ®¢ë© ᨬ¢®« z. áᬮâਬ ª®¤®¢ë¥ ¤¥à¥¢ìï ¤«ï C , ¢ ª®â®àëå x ¨ y (â®ç¥¥, ᮮ⢥âáâ¢ãî騥 ¨¬ «¨áâìï) ïîâáï ¡à âìﬨ. ¦¤®¬ã â ª®¬ã ¤¥à¥¢ã ᮮ⢥âáâ¢ã¥â ª®¤®¢®¥ ¤¥à¥¢® ¤«ï C 0, ª®â®à®¥ ¯®«ãç¨âáï, ¥á«¨ ¢ë¡à®á¨âì ¢¥àè¨ë x ¨ y, ¨å ®¡é¥£® த¨â¥«ï áç¨â âì ª®¤®¬ ᨬ¢®« z. ਠí⮬ ᮮ⢥âá⢨¨ ª ¦¤®¬ã ª®¤®¢®¬ã ¤¥à¥¢ã ¤«ï C 0 ᮮ⢥âáâ¢ã¥â ஢® ¤¢ ª®¤®¢ëå ¤¥à¥¢ ¤«ï C (¢ ®¤®¬ ¨§ ¨å x ¡ã¤¥â «¥¢ë¬ ॡñª®¬, ¢ ¤à㣮¬ | ¯à ¢ë¬). ãáâì ¤«ï ª ¦¤®£® ᨬ¢®« c ¨§ C 䨪á¨à®¢ ¥£® ç áâ®â f [c]. ¯à¥¤¥«¨¬ ç áâ®âë ¤«ï ᨬ¢®«®¢ ¨§ C 0, áç¨â ï ç áâ®â®© ᨬ¢®« z á㬬ã f [x] + f [y]; ¤«ï ®áâ «ìëå ᨬ¢®«®¢ ç áâ®âë ®áâ îâáï ⥬¨ ¦¥, çâ® ¨ ¢ C . ®£¤ ¤«ï ª®¤®¢ëå ¤¥à¥¢ì¥¢ (¤«ï ®¡®¨å «ä ¢¨â®¢) ®¯à¥¤¥«¥ë á⮨¬®áâ¨. ¥¬¬ 17.3. ⮨¬®á⨠ᮮ⢥âáâ¢ãîé¨å ¤à㣠¤àã£ã ¤¥à¥¢ì¥¢ T ¨ T 0 (¯à¨ ®¯¨á ®¬ ᮮ⢥âá⢨¨) ®â«¨ç îâáï ¢¥«¨ç¨ã f [x] + f [y]. ®ª § ⥫ìá⢮. ¥£ª® ¢¨¤¥âì, çâ® dT (c) = dT 0 (c) ¤«ï ¢á¥å c 2 C n fx; yg, â ª¦¥ çâ® dT (x) = dT (y ) = dT 0 (z ) + 1. «¥¤®¢ ⥫ì®, f [x]dT (x) + f [y ]dT (y ) = (f [x] + f [y ])(dT 0(z) + 1) = = f [z ]dT 0 (z ) + (f [x] + f [y ]); ®âªã¤ B(T ) = B(T 0) + f [x] + f [y]. â «¥¬¬ ¯®ª §ë¢ ¥â, çâ® ¢ë¯®«¥® ᢮©á⢮ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç (®¯â¨¬ «ì®¥ ¤¥à¥¢® T ᮮ⢥âáâ¢ã¥â ®¯â¨¬ «ì®¬ã ¤¥à¥¢ã T 0 ¤«ï ¬¥ì襩 § ¤ ç¨). § ¤¢ãå ¤®ª § ëå «¥¬¬ «¥£ª® á«¥¤ã¥â ¥®à¥¬ 17.4. «£®à¨â¬ Huffman áâந⠮¯â¨¬ «ìë© ¯à¥ä¨ªáë© ª®¤. ®ª § ⥫ìá⢮. ¥¬¬ 17.2 ¯®ª §ë¢ ¥â, çâ® ®¯â¨¬ «ìë¥ ª®¤®¢ë¥ ¤¥à¥¢ìï ¬®¦® ¨áª âì á।¨ â ª¨å, ã ª®â®àëå ¤¢ ¨¡®«¥¥ ।ª¨å ᨬ¢®« ( §®¢ñ¬ ¨§ x ¨ y) ïîâáï ¡à âìﬨ. ¬ ᮮ⢥âáâ¢ãîâ ¤¥à¥¢ìï ¤«ï «ä ¢¨â C 0, ¢ ª®â®à®¬ ᨬ¢®«ë x ¨ y ᫨âë ¢ ®¤¨ ᨬ¢®« z. ç¨â ï ç áâ®âã ᨬ¢®« z à ¢®© á㬬¥ ç áâ®â x ¨ 340 « ¢ 17 ¤ë¥ «£®à¨â¬ë y, ¬®¦® ¯à¨¬¥¨âì «¥¬¬ã 17.3 ¨ 㢨¤¥âì, çâ® ¬ ®áâ ñâáï ©â¨ ®¯â¨¬ «ì®¥ ª®¤®¢®¥ ¤¥à¥¢® ¤«ï «ä ¢¨â C 0 ¨ § ⥬ ¤®¡ ¢¨âì ª ¢¥à訥 z ¤¢ãå ¤¥â¥©, ¯®¬¥ç¥ëå ᨬ¢®« ¬¨ x ¨ y. â® ¨ ¤¥« ¥â «£®à¨â¬ Huffman. ¯à ¦¥¨ï 17.3-1 ®ª ¦¨â¥, çâ® ¢ ¡¨ ஬ ¤¥à¥¢¥, ᮮ⢥âáâ¢ãî饬 ®¯â¨¬ «ì®¬ã ¯à¥ä¨ªá®¬ã ª®¤ã, ¢áïª ï ¢¥àè¨ «¨¡® ï¥âáï «¨á⮬, «¨¡® ¨¬¥¥â ¤¢ãå ¤¥â¥©. 17.3-2 ©¤¨â¥ ª®¤ ä䬥 ¤«ï «ä ¢¨â , ¢ ª®â®à®¬ ç áâ®âë ᨬ¢®«®¢ ᮢ¯ ¤ îâ á ¯¥à¢ë¬¨ ¢®á¥¬ìî ç¨á« ¬¨ ¨¡® çç¨: a : 1 b : 1 c : 2 d : 3 e : 5 f : 8 g : 13 h : 21: â® ¡ã¤¥â, ¥á«¨ ¢ «ä ¢¨â¥ n ᨬ¢®«®¢, ç áâ®âë ª®â®àëå ᮢ¯ ¤ îâ á ¯¥à¢ë¬¨ n ç¨á« ¬¨ ¨¡® çç¨? 17.3-3 ®ª ¦¨â¥, çâ® á⮨¬®áâì ¤¢®¨ç®£® ¤¥à¥¢ , ᮮ⢥âáâ¢ãî饣® ¯à¥ä¨ªá®¬ã ª®¤ã, ¬®¦® ¢ëç¨á«¨âì á«¥¤ãî騬 ®¡à §®¬: ¤«ï ª ¦¤®© ¢¥àè¨ë, ¥ ïî饩áï «¨á⮬, ©â¨ á㬬ã ç áâ®â ¥¥ ¤¥â¥©, ¨ á«®¦¨âì ¢á¥ ¯®«ãç¥ë¥ ç¨á« . 17.3-4 ᯮ«®¦¨¬ ᨬ¢®«ë «ä ¢¨â ¢ ¯®à浪¥ ã¡ë¢ ¨ï (¥¢®§à áâ ¨ï) ç áâ®â. ®ª ¦¨â¥, çâ® ¢ ®¯â¨¬ «ì®¬ ¯à¥ä¨ªá®¬ ª®¤¥ ¤«¨ë ª®¤¨àãîé¨å í⨠ᨬ¢®«ë ¯®á«¥¤®¢ ⥫ì®á⥩ ¡¨â®¢ ¡ã¤ãâ ¨¤â¨ ¢ ¥ã¡ë¢ î饬 ¯®à浪¥. 17.3-5 ®ª ¦¨â¥, çâ® ®¯â¨¬ «ìë© ¯à¥ä¨ªáë© ª®¤ ¤«ï «ä ¢¨â ¨§ n ᨬ¢®«®¢ ¬®¦¥â ¡ëâì ¯à¥¤áâ ¢«¥ ¯®á«¥¤®¢ ⥫ì®áâìî ¨§ 2n ; 1 + ndlog2 ne ¡¨â®¢. (ª § ¨¥: ¤«ï § ¤ ¨ï áâàãªâãàë ¤¥à¥¢ ¤®áâ â®ç® 2n ; 1 ¡¨â®¢.) 17.3-6 ¡®¡é¨â¥ «£®à¨â¬ ä䬥 â¥à àë¥ ª®¤ë (ª ¦¤ë© ᨬ¢®« ª®¤¨àã¥âáï ¯®á«¥¤®¢ ⥫ì®áâìî ¨§ æ¨äà 0, 1 ¨ 2). ®¤ë, ¯®à®¦¤ ¥¬ë¥ ¢ 訬 «£®à¨â¬®¬, ¤®«¦ë ¡ëâì ®¯â¨¬ «ìë. 17.3-7 ãáâì «ä ¢¨â ᮤ¥à¦¨â 28 = 256 ᨬ¢®«®¢, ¯à¨çñ¬ ¬ ªá¨¬ «ì ï ç áâ®â ¯à¥¢®á室¨â ¬¨¨¬ «ìãî ¥ ¡®«¥¥ 祬 ¢¤¢®¥. ®ª ¦¨â¥, çâ® ¤«ï «ä ¢¨â á â ª¨¬¨ ç áâ®â ¬¨ ª®¤ ä䬥 ¥ ¡®«¥¥ íä䥪⨢¥, 祬 à ¢®¬¥àë© ¢®á쬨¡¨â®¢ë© ª®¤. 17.3-8 à®ä¥áá®à ã⢥ত ¥â, çâ® ¯¨á ï ¨¬ ¯à®£à ¬¬ ᦠâ¨ï ¨ä®à¬ 樨 ¯®§¢®«ï¥â ᦠâì «î¡®© ä ©« ¤«¨ë 1000 (¯®á«¥¤®¢ ⥫ì®áâì ¨§ âëáïç¨ 8-¡¨â®¢ëå ¡ ©â®¢) å®âï ¡ë ®¤¨ ¡¨â, ¯®á«¥ 祣® ¯¨á ï ¨¬ ¯à®£à ¬¬ ¢®ááâ ®¢«¥¨ï ᬮ¦¥â ¢®á- 17.4 ¥®à¥â¨ç¥áª¨¥ ®á®¢ë ¦ ¤ëå «£®à¨â¬®¢ 341 áâ ®¢¨âì ¨áå®¤ë© ä ©«. ®ç¥¬ã ® ¥¯à ¢? (ª § ¨¥: áà ¢¨â¥ ª®«¨ç¥á⢮ ¢®§¬®¦ëå ä ©«®¢ á ª®«¨ç¥á⢮¬ ᦠâëå ä ©«®¢). ? 17.4 ¥®à¥â¨ç¥áª¨¥ ®á®¢ë ¦ ¤ëå «£®à¨â¬®¢ í⮬ à §¤¥«¥ ¬ë ¢ªà âæ¥ à á᪠¦¥¬ ® ªà ᨢ®¬ à §¤¥«¥ ª®¬¡¨ â®à¨ª¨, á¢ï§ ®¬ á ¦ ¤ë¬¨ «£®à¨â¬ ¬¨, | ⥮ਨ ¬ âந¤®¢. ¯®¬®éìî í⮩ ⥮ਨ ç áâ® (å®âï ¨ ¥ ¢á¥£¤ : § ¤ ç¨ ¨§ à §¤¥«®¢ 17.1 ¨ 17.3 ⥮ਥ© ¬ âந¤®¢ ¥ ¯®ªàë¢ îâáï) 㤠ñâáï ãáâ ®¢¨âì, çâ® ¤ ë© ¦ ¤ë© «£®à¨â¬ ¤ ñâ ®¯â¨¬ã¬. ¥®à¨ï ¬ âந¤®¢ ¡ëáâà® à §¢¨¢ ¥âáï (á¬. áá뫪¨ ¢ ª®æ¥ £« ¢ë). 17.4.1 âந¤ë âந¤®¬ (matroid) §ë¢ ¥âáï ¯ à M = (S; I ), 㤮¢«¥â¢®àïîé ï á«¥¤ãî騬 ãá«®¢¨ï¬. 1. S | ª®¥ç®¥ ¥¯ãá⮥ ¬®¦¥á⢮. 2. I | ¥¯ãá⮥ ᥬ¥©á⢮ ¯®¤¬®¦¥á⢠S ; ¢å®¤ï騥 ¢ I ¯®¤¬®¦¥á⢠§ë¢ îâ ¥§ ¢¨á¨¬ë¬¨ (independent). ਠí⮬ ¤®«¦® ¢ë¯®«ïâìáï â ª®¥ ᢮©á⢮: ¨§ B 2 I ¨ A B á«¥¤ã¥â A 2 I (¢ ç áâ®áâ¨, ¢á¥£¤ ; 2 I ). ¥¬¥©á⢮ I , 㤮¢«¥â¢®àïî饥 í⮬ã ãá«®¢¨î, §ë¢ ¥âáï á«¥¤áâ¢¥ë¬ (hereditary). 3. ᫨ A 2 I , B 2 I ¨ jAj < jB j, â® áãé¥áâ¢ã¥â â ª®© í«¥¬¥â x 2 B n A, çâ® A [ fxg 2 I . ⮠᢮©á⢮ ᥬ¥©á⢠I §ë¢ îâ ᢮©á⢮¬ § ¬¥ë (exchange property). ¥à¬¨ "¬ âந¤" ¯à¨ ¤«¥¦¨â áá«¥à㠨⨠(Hassler Whitney). § ¨¬ «áï ¬ âà¨ç묨 ¬ âந¤ ¬¨ (matric matroids), ã ª®â®àëå S | ¬®¦¥á⢮ ¢á¥å áâப ¥ª®â®à®© ¬ âà¨æë, ¨ ¬®¦¥á⢮ áâப áç¨â ¥âáï ¥§ ¢¨á¨¬ë¬, ¥á«¨ í⨠áâப¨ «¨¥©® ¥§ ¢¨á¨¬ë ¢ ®¡ë箬 á¬ëá«¥. (¥£ª® ¯®ª § âì, çâ® ¤¥©áâ¢¨â¥«ì® ¯®«ãç ¥âáï ¬ âந¤, á¬. ã¯à. 17.4-2.) à㣨¬ ¯à¨¬¥à®¬ ï¥âáï £à ä®¢ë© ¬ âந¤ (graphic matroid) (SG ; IG ), áâà®ï騩áï ¯® ¥®à¨¥â¨à®¢ ®¬ã £à äã G á«¥¤ãî騬 ®¡à §®¬: SG ᮢ¯ ¤ ¥â á® ¬®¦¥á⢮¬ àñ¡¥à £à ä , IG á®á⮨⠨§ ¢á¥å 横«¨çëå (â. ¥. ïîé¨åáï «¥á ¬¨) ¬®¦¥á⢠àñ¡¥à. à ä®¢ë¥ ¬ âந¤ë â¥á® á¢ï§ ë á § ¤ 祩 ® ¬¨¨¬ «ì®¬ ¯®ªàë¢ î饬 ¤¥à¥¢¥, ª®â®àãî ¬ë à áᬮâਬ ¢ £« ¢¥ 24. ¥®à¥¬ 17.5. ᫨ G = (V; E ) | ¥®à¨¥â¨à®¢ ë© £à ä, â® MG = (SG ; IG ) ï¥âáï ¬ âந¤®¬. ®ª § ⥫ìá⢮. ª ª ª ¯®¤£à ä 横«¨ç®£® £à ä 横«¨ç¥, ¬®¦¥á⢮ IG á«¥¤á⢥®, ¨ ®áâ ñâáï ¯à®¢¥à¨âì ᢮©á⢮ § ¬¥ë. á ¬®¬ ¤¥«¥, ¯ãáâì A ¨ B | 横«¨çë¥ ¯®¤£à äë G, 342 « ¢ 17 ¤ë¥ «£®à¨â¬ë ¯à¨çñ¬ jBj > jAj. § ⥮६ë 5.2 á«¥¤ã¥â, çâ® «¥á á k àñ¡à ¬¨ ï¥âáï ¥á¢ï§ë¬ ®¡ê¥¤¨¥¨¥¬ jV j;k ¤¥à¥¢ì¥¢, £¤¥ jV j | ª®«¨ç¥á⢮ ¢¥àè¨ (¥§ ¢¨á¨¬®¥ ¤®ª § ⥫ìá⢮: çñ¬ á «¥á , á®áâ®ï饣® ¨§ jV j ¢¥àè¨ ¨ ¥ ¨¬¥î饣® ॡñà, ¨ ¡ã¤¥¬ ¯® ®¤®¬ã ¤®¡ ¢«ïâì àñ¡à , ¥ àãè ï 横«¨ç®áâ¨; ⮣¤ ¤®¡ ¢«¥¨¥ ª ¦¤®£® ॡà 㬥ìè ¥â ª®«¨ç¥á⢮ á¢ï§ëå ª®¬¯®¥â ¥¤¨¨æã). «¥¤®¢ ⥫ì®, «¥á A á®á⮨⠨§ jV j ; jAj ¤¥à¥¢ì¥¢, «¥á B | ¨§ jV j ; jBj ¤¥à¥¢ì¥¢. ®áª®«ìªã jV j ; jBj < jV j ; jAj, «¥á B ᮤ¥à¦¨â â ª®¥ ¤¥à¥¢® T , çâ® ¤¢¥ ¥£® ¢¥àè¨ë ¯à¨ ¤«¥¦ â à §ë¬ á¢ï§ë¬ ª®¬¯®¥â ¬ «¥á A. ®«¥¥ ⮣®, ¯®áª®«ìªã T á¢ï§®, ®® ¤®«¦® ᮤ¥à¦ âì â ª®¥ ॡ஠(u; v), çâ® u ¨ v ¯à¨ ¤«¥¦ â à §ë¬ á¢ï§ë¬ ª®¬¯®¥â ¬ «¥á A. «¥¤®¢ ⥫ì®, ¤®¡ ¢«¥¨¥ í⮣® à¥¡à ª «¥áã A ¥ ¬®¦¥â ᮧ¤ âì 横« , ¨ ¥£® ¬®¦® ¢§ïâì ¢ ª ç¥á⢥ í«¥¬¥â x ¨§ ®¯à¥¤¥«¥¨ï ¬ âந¤ . (à ä®¢ë¥ ¬ âந¤ë ïîâáï ç áâë¬ á«ãç ¥¬ ¬ âà¨çëå, ¥á«¨ ॡ஠£à ä à áᬠâਢ âì ª ª ä®à¬ «ìãî á㬬㠥£® ¢¥àè¨ á ª®íää¨æ¨¥â ¬¨ ¢ ¯®«¥ ¢ëç¥â®¢ ¯® ¬®¤ã«î 2, á¬. § ¤ çã 17-2¡.) ᫨ M = (S; I ) | ¬ âந¤, â® í«¥¬¥â x 2= A 2 I §ë¢ ¥âáï ¥§ ¢¨á¨¬ë¬ ®â A (extension of A), ¥á«¨ ¬®¦¥á⢮ A [ fxg ¥§ ¢¨á¨¬®. ¯à¨¬¥à, ¢ £à 䮢®¬ ¬ âந¤¥ ॡ஠e ¥§ ¢¨á¨¬® ®â «¥á A ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ¥£® ¤®¡ ¢«¥¨¥ ª A ¥ ᮧ¤ ñâ 横« . ¥§ ¢¨á¨¬®¥ ¯®¤¬®¦¥á⢮ ¢ ¬ âந¤¥ §ë¢ ¥âáï ¬ ªá¨¬ «ìë¬ (maximal), ¥á«¨ ®® ¥ ᮤ¥à¦¨âáï ¨ ¢ ª ª®¬ ¡®«ì襬 ¥§ ¢¨á¨¬®¬ ¯®¤¬®¦¥á⢥. áâ® ¡ë¢ ¥â ¯®«¥§ á«¥¤ãîé ï ¥®à¥¬ 17.6. ᥠ¬ ªá¨¬ «ìë¥ ¥§ ¢¨á¨¬ë¥ ¯®¤¬®¦¥á⢠¤ ®£® ¬ âந¤ á®áâ®ïâ ¨§ ®¤¨ ª®¢®£® ç¨á« í«¥¬¥â®¢. ®ª § ⥫ìá⢮. ãáâì A ¨ B | ¬ ªá¨¬ «ìë¥ ¥§ ¢¨á¨¬ë¥ ¯®¤¬®¦¥á⢠. ᫨, ᪠¦¥¬, jAj < jBj, â® ¨§ ᢮©á⢠§ ¬¥ë ¢ë⥪ ¥â áãé¥á⢮¢ ¨¥ â ª®£® x 2= A, çâ® A [ fxg ¥§ ¢¨á¨¬® | ¢ ¯à®â¨¢®à¥ç¨¥ á ¬ ªá¨¬ «ì®áâìî. ª ç¥á⢥ ¯à¨¬¥à à áᬮâਬ £à ä®¢ë© ¬ âந¤ MG , ᮮ⢥âáâ¢ãî騩 á¢ï§®¬ã £à äã G. á类¥ ¬ ªá¨¬ «ì®¥ ¥§ ¢¨á¨¬®¥ ¯®¤¬®¦¥á⢮ MG ¤®«¦® ¡ëâì ¤¥à¥¢®¬ á jV j ; 1 ॡ஬, ᮥ¤¨ïî騬 ¢á¥ ¢¥àè¨ë G. ª®¥ ¤¥à¥¢® §ë¢ ¥âáï ¯®ªàë¢ î騬 (®á⮢ë¬) ¤¥à¥¢®¬ £à ä G (¯®- £«¨©áª¨ spanning tree). 㤥¬ §ë¢ âì ¬ âந¤ M = (S; I ) ¢§¢¥è¥ë¬ (weighted), ¥á«¨ ¬®¦¥á⢥ S § ¤ ¢¥á®¢ ï äãªæ¨ï w á® § 票ﬨ ¢® ¬®¦¥á⢥ ¯®«®¦¨â¥«ìëå ç¨á¥«. ãªæ¨ï w à á¯à®áâà ï¥âáï ¯® ¤¤¨â¨¢®á⨠¢á¥ ¯®¤¬®¦¥á⢠¬®¦¥á⢠S ; ¢¥á ¯®¤¬®¦¥á⢠®¯à¥¤¥«ï¥âáï ª ª á㬬 ¢¥á®¢ ¥£® í«¥¬¥â®¢: w(A) = Px2A w(x). ਬ¥à: ¥á«¨ MG | £à ä®¢ë© ¬ âந¤, w(e) | ¤«¨ ॡà e, â® w(A) | á㬬 ¤«¨ àñ¡¥à ¯®¤£à ä A. 17.4 ¥®à¥â¨ç¥áª¨¥ ®á®¢ë ¦ ¤ëå «£®à¨â¬®¢ 343 17.4.2 ¤ë¥ «£®à¨â¬ë ¤«ï ¢§¢¥è¥®£® ¬ âந¤ ®£¨¥ ®¯â¨¬¨§ æ¨®ë¥ § ¤ ç¨, à¥è ¥¬ë¥ ¦ ¤ë¬¨ «£®à¨â¬ ¬¨, ᢮¤ïâáï ª § ¤ ç¥ ® 宦¤¥¨¨ ¢ ¤ ®¬ ¢§¢¥è¥®¬ ¬ âந¤¥ M = (S; I ) ¥§ ¢¨á¨¬®£® ¯®¤¬®¦¥á⢠A M ¬ ªá¨¬ «ì®£® ¢¥á . ¥§ ¢¨á¨¬®¥ ¯®¤¬®¦¥á⢮ ¬ ªá¨¬ «ì®£® ¢¥á §ë¢ ¥âáï ®¯â¨¬ «ìë¬ (optimal) ¯®¤¬®¦¥á⢮¬ ¢§¢¥è¥®£® ¬ âந¤ . ®áª®«ìªã ¢¥á ¢á¥å í«¥¬¥â®¢ ¯®«®¦¨â¥«ìë, ®¯â¨¬ «ì®¥ ¯®¤¬®¦¥á⢮ ¢â®¬ â¨ç¥áª¨ ¡ã¤¥â ¬ ªá¨¬ «ìë¬ ¥§ ¢¨á¨¬ë¬ ¯®¤¬®¦¥á⢮¬. ¯à¨¬¥à, § ¤ ç ® ¨¬¥ì襬 ¯®ªàë¢ î饬 ¤¥à¥¢¥ (minimumspanning-tree problem) á®á⮨⠢ á«¥¤ãî饬. á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä G = (V; E ) ¨ äãªæ¨ï w ¨§ ¬®¦¥á⢠¥£® àñ¡¥à ¢® ¬®¦¥á⢮ ¯®«®¦¨â¥«ìëå ç¨á¥« (w(e) ¡ã¤¥¬ §ë¢ âì ¤«¨®© ॡà e). ॡã¥âáï ©â¨ ¬®¦¥á⢮ àñ¡¥à, ᮥ¤¨ïîé¨å ¢á¥ ¢¥àè¨ë ¨ ¨¬¥îé¨å ¨¬¥ìèãî á㬬 àãî ¤«¨ã. âã § ¤ çã ¬®¦® à áᬠâਢ âì ª ª ç áâë© á«ãç © § ¤ ç¨ ®¡ ®¯â¨¬ «ì®¬ ¯®¤¬®¦¥á⢥ ¢§¢¥è¥®£® ¬ âந¤ . á ¬®¬ ¤¥«¥, ¢ë¡¥à¥¬ ç¨á«® w0, áâண® ¡®«ì襥 ¤«¨ ¢á¥å àñ¡¥à, ¨ ¢¢¥¤¥¬ £à 䮢®¬ ¬ âந¤¥ MG ¢¥á ¯® ¯à ¢¨«ã w0(e) = w0 ; w(e). «ï ¢á类£® ¬ ªá¨¬ «ì®£® ¥§ ¢¨á¨¬®£® ¯®¤¬®¦¥á⢠(â. ¥. ¯®ªàë¢ î饣® ¤¥à¥¢ ) A ¨¬¥¥¬ w0(A) = (jV j ; 1)w0 ; w(A); £¤¥ V | ¬®¦¥á⢮ ¢¥àè¨ £à ä . â «® ¡ëâì, ¨¬¥ì訥 ¯®ªàë¢ î騥 ¤¥à¥¢ìï ¤«ï £à ä G | â® ¦¥ á ¬®¥, çâ® ®¯â¨¬ «ìë¥ ¯®¤¬®¦¥á⢠¢ ¬ âந¤¥ MG á ¢¥á®¢®© äãªæ¨¥© w0. ¤ ç ® ¨¬¥ì襬 ¯®ªàë¢ î饬 ¤¥à¥¢¥ ¯®¤à®¡® à áᬠâਢ ¥âáï ¢ £« ¢¥ 24; ᥩç á ¬ë ¯à¨¢¥¤ñ¬ ¦ ¤ë© «£®à¨â¬, 室ï騩 ®¯â¨¬ «ì®¥ ¯®¤¬®¦¥á⢮ A ¢ «î¡®¬ ¢§¢¥è¥®¬ ¬ âந¤¥ M . ᫨ M = (S; I ), â® ¬ë ¯¨è¥¬ S = S [M ] ¨ I = I [M ]; ¢¥á®¢ ï äãªæ¨ï ®¡®§ ç ¥âáï w. Greedy (M; w) 1 A ; 2 ®âá®àâ¨à®¢ âì S [M ] ¢ ¯®à浪¥ ¥¢®§à áâ ¨ï ¢¥á®¢ 3 for x 2 S [M ] (¯¥à¥¡¨à ¥¬ ¢á¥ x ¢ 㪠§ ®¬ ¯®à浪¥) 4 do if A [ fxg 2 I [M ] 5 then A A [ fxg 6 return A «£®à¨â¬ à ¡®â ¥â á«¥¤ãî騬 ®¡à §®¬. ®« £ ¥¬ A = ; (áâப 1; ¯ãá⮥ ¬®¦¥á⢮, ª ª ¬ë ¯®¬¨¬, ¢á¥£¤ ¥§ ¢¨á¨¬®) ¨ ¯¥à¥¡¨à ¥¬ í«¥¬¥âë S [M ] ¢ ¯®à浪¥ ã¡ë¢ ¨ï ¢¥á ; ¥á«¨ ®ç¥à¥¤®© í«¥¬¥â ¬®¦®, ¥ àãè ï ¥§ ¢¨á¨¬®áâ¨, ¤®¡ ¢¨âì ª ¬®¦¥áâ¢ã A, â® ¬ë íâ® ¤¥« ¥¬. á®, çâ® ¯®«ã祮¥ ¢ १ã«ìâ ⥠¬®¦¥á⢮ ¡ã¤¥â ¥§ ¢¨á¨¬ë¬. ¨¦¥ ¬ë ¯®ª ¦¥¬, çâ® ®® 344 « ¢ 17 ¤ë¥ «£®à¨â¬ë ¤¥©áâ¢¨â¥«ì® ¡ã¤¥â ¨¬¥âì ¬ ªá¨¬ «ìë© ¢¥á á।¨ ¥§ ¢¨á¨¬ëå ¯®¤¬®¦¥áâ¢, ¯®ª çâ® ®æ¥¨¬ ¢à¥¬ï à ¡®âë «£®à¨â¬ Greedy. ®àâ¨à®¢ª (áâப 2) § ¨¬ ¥â ¢à¥¬ï O(n log n), £¤¥ n = jS j. ஢¥àª ¥§ ¢¨á¨¬®á⨠¬®¦¥á⢠(áâப 4) ¯à®¢®¤¨âáï n à §; ¥á«¨ ª ¦¤ ï â ª ï ¯à®¢¥àª § ¨¬ ¥â ¢à¥¬ï f (n), â® ®¡é¥¥ ¢à¥¬ï à ¡®âë ¡ã¤¥â O(n log n + nf (n)). ¥¯¥àì ¯®ª ¦¥¬, çâ® «£®à¨â¬ Greedy ¤¥©áâ¢¨â¥«ì® ¤ ñâ ®¯â¨¬ «ì®¥ ¯®¤¬®¦¥á⢮. ¥¬¬ 17.7 (᢮©á⢮ ¦ ¤®£® ¢ë¡®à ¤«ï ¬ âந¤®¢). ãáâì M = (S; I ) | ¢§¢¥è¥ë© ¬ âந¤ á ¢¥á®¢®© äãªæ¨¥© w. ãáâì x 2 S | í«¥¬¥â ¨¡®«ì襣® ¢¥á ¢® ¬®¦¥á⢥ f y 2 S : fyg ¥§ ¢¨á¨¬® g. ®£¤ x ᮤ¥à¦¨âáï ¢ ¥ª®â®à®¬ ®¯â¨¬ «ì®¬ ¯®¤¬®¦¥á⢥ A S . ®ª § ⥫ìá⢮. ãáâì B | ª ª®¥-â® ®¯â¨¬ «ì®¥ ¯®¤¬®¦¥á⢮. 㤥¬ áç¨â âì, çâ® x 2= B, ¨ ç¥ ¤®ª §ë¢ âì ¥ç¥£®. ®«®¦¨¬ A0 = fxg. â® ¬®¦¥á⢮ ¥§ ¢¨á¨¬® ¯® ¢ë¡®àã x. ਬ¥ïï jBj ; 1 à § ᢮©á⢮ § ¬¥ë, ¬ë à áè¨à塞 A0 í«¥¬¥â ¬¨ ¨§ B ¨ ¢ ª®æ¥ ª®æ®¢ ¯®áâந¬ ¥§ ¢¨á¨¬®¥ ¬®¦¥á⢮ A, á®áâ®ï饥 ¨§ x ¨ jBj ; 1 í«¥¬¥â ¬®¦¥á⢠B. ¬¥¥¬ jAj = jBj (â ª çâ® A ¬ ªá¨¬ «ì®) ¨ w(A) = w(B) ; w(y) + w(x), £¤¥ y | ¥¤¨áâ¢¥ë© í«¥¬¥â B, ¥ ¢å®¤ï騩 ¢ A. â® ¦¥ ¢à¥¬ï ¤«ï ¢á类£® y 2 B ¬®¦¥á⢮ fy g ¥§ ¢¨á¨¬® ¢ ᨫã ᢮©á⢠᫥¤á⢥®áâ¨, â ª çâ® w(x) > w(y) ¯® ¢ë¡®àã x. â «® ¡ëâì, w(A) > w(B), ¨ ¬®¦¥á⢮ A â ª¦¥ ®¯â¨¬ «ì®. áñ ¤®ª § ®. «¥¥, ¨¬¥¥â ¬¥áâ® á«¥¤ãîé ï ®ç¥¢¨¤ ï ¥¬¬ 17.8. ᫨ M = (S; I ) | ¬ âந¤, x 2 S ¨ fxg 2= I , â® A [ fxg 2= I ¤«ï ¢á¥å A S . è ¯®á«¥¤ïï «¥¬¬ â ª®¢ : ¥¬¬ 17.9 (᢮©á⢮ ®¯â¨¬ «ì®á⨠¯®¤§ ¤ ç ¤«ï ¬ âந¤®¢). ãáâì M = (S; I ) | ¢§¢¥è¥ë© ¬ âந¤, ¨ ¯ãáâì x 2 S | ¥ª®â®àë© ¥£® í«¥¬¥â, ¯à¨çñ¬ ¬®¦¥á⢮ fxg ¥§ ¢¨á¨¬®. ®£¤ ¥§ ¢¨á¨¬®¥ ¬®¦¥á⢮ ¨¡®«ì襣® ¢¥á , ᮤ¥à¦ 饥 x, ï¥âáï ®¡ê¥¤¨¥¨¥¬ fxg ¨ ¥§ ¢¨á¨¬®£® ¬®¦¥á⢠¨¡®«ì襣® ¢¥á ¢ ¬ âந¤¥ M 0 = (S 0; I 0), £¤¥, ¯® ®¯à¥¤¥«¥¨î, S 0 = f y 2 S : fx; y g 2 I g ; I 0 = f B S n fxg : B [ fxg 2 I g ; ¢¥á®¢ ï äãªæ¨ï ï¥âáï ®£à ¨ç¥¨¥¬ S 0 ¢¥á®¢®© äãªæ¨¨ ¤«ï ¬ âந¤ M (¢ â ª¨å á«ãç ïå £®¢®àïâ, çâ® ¬ âந¤ M 0 ¯®«ãç¥ ¨§ M áâ¢ ¨¥¬ (contraction) í«¥¬¥â x). 17.4 ¥®à¥â¨ç¥áª¨¥ ®á®¢ë ¦ ¤ëå «£®à¨â¬®¢ 345 ®ª § ⥫ìá⢮. ¥§ ¢¨á¨¬ë¥ ¢ S ¬®¦¥á⢠, ᮤ¥à¦ 騥 x, ¯®«ãç îâáï ¤®¡ ¢«¥¨¥¬ í«¥¬¥â x ª ¥§ ¢¨á¨¬ë¬ ¢ S 0 ¯®¤¬®¦¥á⢠¬. ਠí⮬ ¨å ¢¥á ®â«¨ç îâáï ஢® w(x), â ª çâ® ®¯â¨¬ «ìë¥ ¬®¦¥á⢠ᮮ⢥âáâ¢ãîâ ®¯â¨¬ «ìë¬. ¥®à¥¬ 17.10 (¯à ¢¨«ì®áâì ¦ ¤®£® «£®à¨â¬ ¤«ï ¬ âந¤®¢). १ã«ìâ â¥ à ¡®âë «£®à¨â¬ Greedy, ¯à¨¬¥ñ®£® ª ¢§¢¥è¥®¬ã ¬ âந¤ã, ¯®«ãç ¥âáï ®¯â¨¬ «ì®¥ ¯®¤¬®¦¥á⢮. ®ª § ⥫ìá⢮. ãáâì M = (S; I ) | ¬ âந¤ á ¢¥á®¢®© äãªæ¨¥© w. ᨫ㠫¥¬¬ë 17.8 ¬ë ¬®¦¥¬ ¥ ¯à¨¨¬ âì ¢® ¢¨¬ ¨¥ í«¥¬¥âë x 2 S , ¤«ï ª®â®àëå ¬®¦¥á⢮ fxg ¥ ¥§ ¢¨á¨¬®. ᫨ x 2 S | ¯¥à¢ë© ¨§ ¢ë¡à ëå «£®à¨â¬®¬ í«¥¬¥â®¢, â® «¥¬¬ 17.7 ¯®ª §ë¢ ¥â, çâ® áãé¥áâ¢ã¥â ®¯â¨¬ «ì®¥ ¯®¤¬®¦¥á⢮ A S , ᮤ¥à¦ 饥 x. ¥¯¥àì, ᮣ« á® «¥¬¬¥ 17.9, ¤®áâ â®ç® ©â¨ ®¯â¨¬ «ì®¥ ¯®¤¬®¦¥á⢮ ¢ ¬ âந¤¥ M 0, ¯®«ã祮¬ ¨§ M áâ¢ ¨¥¬ í«¥¬¥â x (¨ ¤®¡ ¢¨âì ª ¥¬ã x). «ì¥©è ï à ¡®â «£®à¨â¬ ¢ áãé®á⨠¨ ¯à¥¤áâ ¢«ï¥â ᮡ®© ®¡à ¡®âªã ¬ âந¤ M 0. [®«¥¥ ä®à¬ «ì®¥ à áá㦤¥¨¥ ¬®¦¥â ¡ëâì â ª¨¬. ®á«¥ «î¡®£® ç¨á« ¨â¥à 権 ¢ë¯®«¥ á«¥¤ãî騩 ¨¢ ਠâ 横« : (1) ¬®¦¥á⢮ A ¥§ ¢¨á¨¬®; (2) ®¯â¨¬ «ì®¥ ¬®¦¥á⢮ ¬®¦® ¨áª âì á।¨ ¬®¦¥áâ¢, ïîé¨åáï ®¡ê¥¤¨¥¨¥¬ A á ¥ª®â®à묨 ¨§ ¥éñ ¥ ¯à®á¬®âà¥ëå í«¥¬¥â®¢.] ¯à ¦¥¨ï ãáâì S | ª®¥ç®¥ ¬®¦¥á⢮, k | âãà «ì®¥ ç¨á«®, Ik | ᥬ¥©á⢮ ¢á¥å ¯®¤¬®¦¥á⢠S , ᮤ¥à¦ é¨å ¥ ¡®«¥¥ k í«¥¬¥â®¢. ®ª ¦¨â¥, çâ® (S; Ik) | ¬ âந¤. 17.4-2? ãáâì T | ¢¥é¥á⢥ ï ¬ âà¨æ , S | ¬®¦¥á⢮ ¥ñ á⮫¡æ®¢, ¨ ¯®¤¬®¦¥á⢮ A S §ë¢ ¥âáï ¥§ ¢¨á¨¬ë¬, ¥á«¨ ®® «¨¥©® ¥§ ¢¨á¨¬® ¢ ®¡ë箬 á¬ëá«¥. ®ª ¦¨â¥, çâ® ¯®«ãç ¥âáï ¬ âந¤ ( §ë¢ ¥¬ë© ¬ âà¨çë¬, ª ª ¬ë 㦥 £®¢®à¨«¨). 17.4-3? ãáâì (S; I ) | ¬ âந¤. ãáâì I 0 | ᥬ¥©á⢮ ¢á¥å â ª¨å ¯®¤¬®¦¥á⢠A0 S , ¤«ï ª®â®àëå S n A0 ᮤ¥à¦¨â ¥ª®â®à®¥ ¬ ªá¨¬ «ì®¥ ¥§ ¢¨á¨¬®¥ ¯®¤¬®¦¥á⢮ A S . ®ª ¦¨â¥, çâ® ¯ à (S; I 0) ï¥âáï ¬ âந¤®¬. ¬¥â¨¬, çâ® ¬ ªá¨¬ «ìë¥ ¥§ ¢¨á¨¬ë¥ ¯®¤¬®¦¥á⢠(S; I 0) áãâì ¤®¯®«¥¨ï ¬ ªá¨¬ «ìëå ¥§ ¢¨á¨¬ëå ¯®¤¬®¦¥á⢠(S; I ). 17.4-4? ãáâì S = S1 [ S2 [ [ Sk | à §¡¨¥¨¥ ª®¥ç®£® ¬®¦¥á⢠S ¥¯¥à¥á¥ª î騥áï ¥¯ãáâë¥ ç áâ¨. ®«®¦¨¬ I = f A S : jA \ Sij 6 1 ¤«ï i = 1; 2; : : :; k g. ®ª ¦¨â¥, çâ® ¯ à (S; I ) ï¥âáï ¬ âந¤®¬. 17.4-1 346 « ¢ 17 ¤ë¥ «£®à¨â¬ë 17.4-5 ãáâì ¬ ¤ ¢§¢¥è¥ë© ¬ âந¤. ¡êïá¨â¥, ª ª ¤® ¬®¤¨ä¨æ¨à®¢ âì ¢¥á®¢ãî äãªæ¨î, ç⮡ë ᢥá⨠§ ¤ çã 宦¤¥¨ï ¬ ªá¨¬ «ì®£® ¥§ ¢¨á¨¬®£® ¯®¤¬®¦¥áâ¢ á ¨¬¥ì訬 ¢¥á®¬ ª § ¤ ç¥ å®¦¤¥¨ï ¥§ ¢¨á¨¬®£® ¯®¤¬®¦¥áâ¢ á ¨¡®«ì訬 ¢¥á®¬. ? 17.5 ¤ ç ® à á¯¨á ¨¨ â¥à¥áë¬ ¯à¨¬¥à®¬ ®¯â¨¬¨§ 樮®© § ¤ ç¨, à¥è ¥¬®© á ¯®¬®éìî ¬ âந¤®¢, ï¥âáï § ¤ ç ® à á¯¨á ¨¨ ¤«ï § ª §®¢ à ¢®© ¤«¨â¥«ì®áâ¨ á ¥¤¨áâ¢¥ë¬ ¨á¯®«¨â¥«¥¬, áப ¬¨ ¨ èâà ä ¬¨. ¯¥à¢ë© ¢§£«ï¤ íâ § ¤ ç ª ¦¥âáï ¢¥áì¬ § ¯ãâ ®©, ® ¦ ¤ë© «£®à¨â¬ ¤ ¥â ¥®¦¨¤ ® ¯à®á⮥ à¥è¥¨¥. â ª, ¯à¥¤¯®«®¦¨¬, çâ® ¨¬¥¥âáï ª®¥ç®¥ ¬®¦¥á⢮ S , á®áâ®ï饥 ¨§ § ª §®¢ (tasks), ª ¦¤ë© ¨§ ª®â®àëå âॡã¥â ஢® ®¤ã ¥¤¨¨æ㠢६¥¨ ¤«ï ᢮¥£® ¢ë¯®«¥¨ï. á¯¨á ¨¥¬ (schedule) ¤«ï S §ë¢ ¥âáï ¯¥à¥áâ ®¢ª ¬®¦¥á⢠S , § ¤ îé ï ¯®à冷ª ¢ë¯®«¥¨ï § ª §®¢: ¢ë¯®«¥¨¥ ¯¥à¢®£® § ª § ç¨ ¥âáï ¢ ¬®¬¥â ¢à¥¬¥¨ 0 ¨ § ª 稢 ¥âáï ¢ ¬®¬¥â 1, ¢ë¯®«¥¨¥ ¢â®à®£® § ª § ç¨ ¥âáï ¢ ¬®¬¥â ¢à¥¬¥¨ 1 ¨ § ª 稢 ¥âáï ¢ ¬®¬¥â 2, ¨ â. ¤. § ¤ ç¥ ® à á¯¨á ¨¨ ¤«ï § ª §®¢ à ¢®© ¤«¨â¥«ì®áâ¨ á ¥¤¨á⢥- ë¬ ¨á¯®«¨â¥«¥¬, áப ¬¨ ¨ èâà ä ¬¨ (scheduling unit-time tasks with deadlines and penalties for a single processor) ¨á室묨 ¤ 묨 ïîâáï: ¬®¦¥á⢮ S = f 1; 2; : : :; n g, í«¥¬¥âë ª®â®à®£® ¬ë §ë¢ ¥¬ § ª § ¬¨; ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n 楫ëå ç¨á¥« d1; d2; : : :; dn, §ë¢ ¥¬ëå áப ¬¨ (deadlines) (1 6 di 6 n ¤«ï ¢á¥å i, áப di ®â®á¨âáï ª § ª §ã ®¬¥à i); ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n ¥®âà¨æ ⥫ìëå ç¨á¥« w1; w2; : : :; wn, §ë¢ ¥¬ëå èâà ä ¬¨ (penalties) (¥á«¨ § ª § ®¬¥à i ¥ ¢ë¯®«¥ ª® ¢à¥¬¥¨ di, ¢§¨¬ ¥âáï èâà ä wi). ॡã¥âáï ©â¨ à á¯¨á ¨¥ ¤«ï S , ¯à¨ ª®â®à®¬ á㬬 èâà 䮢 ¡ã¤¥â ¨¬¥ì襩. ª § ®¬¥à i ¯à®áà®ç¥ (late) ¤«ï ¤ ®£® à á¯¨á ¨ï, ¥á«¨ ¥£® ¢ë¯®«¥¨¥ § ¢¥àè ¥âáï ¯®§¦¥ ¬®¬¥â di, ¢ ¯à®â¨¢®¬ á«ãç ¥ § ª § áç¨â ¥âáï ¢ë¯®«¥ë¬ ¢ áப (early). á类¥ à á¯¨á ¨¥ ¬®¦®, ¥ ¬¥ïï á㬬ë èâà 䮢, ¬®¤¨ä¨æ¨à®¢ âì â ª¨¬ ®¡à §®¬, çâ®¡ë ¢á¥ ¯à®áà®ç¥ë¥ § ª §ë áâ®ï«¨ ¢ ñ¬ ¯®á«¥ ¢ë¯®«¥ëå ¢ áப. á ¬®¬ ¤¥«¥, ¥á«¨ ¯à®áà®ç¥ë© § ª § y ¨¤ñâ à ìè¥ ¢ë¯®«¥®£® ¢ áப § ª § x, â® ¬®¦® ¯®¬¥ïâì ¨å ¬¥áâ ¬¨ ¢ à á¯¨á ¨¨, ¨ áâ âãá ®¡®¨å § ª §®¢ ¯à¨ í⮬ ¥ ¨§¬¥¨âáï. ®«¥¥ ⮣®, ª ¦¤®¥ à á¯¨á ¨¥ ¬®¦®, ¥ ¬¥ïï á㬬ë èâà - 17.5 ¤ ç ® à á¯¨á ¨¨ 347 䮢, ¯à¥¤áâ ¢¨âì ¢ ª ®¨ç¥áª®¬ ¢¨¤¥ (canonical form), ¨¬¥®, â ª, çâ®¡ë ¢á¥ ¯à®áà®ç¥ë¥ § ª §ë áâ®ï«¨ ¯®á«¥ ¢ë¯®«¥ëå ¢ áப, áப¨ ¤«ï ¢ë¯®«¥ëå ¢ áப § ª §®¢ 諨 ¢ ¥ã¡ë¢ î饬 ¯®à浪¥. á ¬®¬ ¤¥«¥, ª ª ¬ë ¢¨¤¥«¨, ¬®¦® áç¨â âì, çâ® ¢á¥ ¯à®áà®ç¥ë¥ § ª §ë áâ®ïâ ¯®á«¥ ¢ë¯®«¥ëå ¢ áப. ᫨ ⥯¥àì ¢ë¯®«¥¨¥ ¥¯à®áà®ç¥ëå § ª §®¢ ®¬¥à i ¨ j § ¢¥àè ¥âáï ¢ ¬®¬¥âë ¢à¥¬¥¨ k ¨ k + 1 ᮮ⢥âá⢥®, ® ¯à¨ í⮬ dj < di, â® ¬®¦® ¯®¬¥ïâì § ª §ë ¬¥áâ ¬¨, ¨ ®¡ ¯®-¯à¥¦¥¬ã ¥ ¡ã¤ãâ ¯à®áà®ç¥ë (ª®«ì ᪮஠dj > k + 1, â® ¨ ¯®¤ ¢® di > dj > k + 1; § ª §ã ¦¥ ®¬¥à j ¢®®¡é¥ ¨ç¥£® ¥ £à®§¨â, ¯®áª®«ìªã ¯® ®¢®¬ã à á¯¨á ¨î ¥£® ¡ã¤ã⠢믮«ïâì à ìè¥, 祬 ¯® áâ ஬ã). ®¥ç®¥ ç¨á«® â ª¨å ®¡¬¥®¢ ¯à¨¢¥¤ñâ à á¯¨á ¨¥ ª ª ®¨ç¥áª®¬ã ¢¨¤ã. ª¨¬ ®¡à §®¬, § ¤ ç ® à á¯¨á ¨¨ ᢮¤¨âáï ª 宦¤¥¨î ¬®¦¥á⢠A, á®áâ®ï饣® ¨§ § ª §®¢, ª®â®àë¥ ¥ ¡ã¤ãâ ¯à®áà®ç¥ë: ª ª ⮫쪮 íâ® ¬®¦¥á⢮ ©¤¥®, ¤«ï á®áâ ¢«¥¨ï à á¯¨á ¨ï ¤®áâ â®ç® à ᯮ«®¦¨âì § ª §ë ¨§ ¬®¦¥á⢠A ¢ ¯®à浪¥ ¢®§à áâ ¨ï áப®¢, ¯®á«¥ ¨å ¢ ¯à®¨§¢®«ì®¬ ¯®à浪¥ ¯®áâ ¢¨âì ®áâ «ìë¥ § ª §ë. 㤥¬ £®¢®à¨âì, çâ® ¯®¤¬®¦¥á⢮ A S ï¥âáï ¥§ ¢¨á¨¬ë¬ (independent), ¥á«¨ ¤«ï í⮣® ¬®¦¥á⢠§ ª §®¢ ¬®¦® á®áâ ¢¨âì à á¯¨á ¨¥, ¯® ª®â®à®¬ã ¢á¥ § ª §ë ¡ã¤ã⠢믮«¥ë ¢ áப. ¡®§ 稬 ç¥à¥§ I ᥬ¥©á⢮ ¢á¥å ¥§ ¢¨á¨¬ëå ¯®¤¬®¦¥á⢠¬®¦¥á⢠S . ª ¢ëïá¨âì, ¡ã¤¥â «¨ ¤ ®¥ ¯®¤¬®¦¥á⢮ A S ¥§ ¢¨á¨¬ë¬? «ï ª ¦¤®£® t = 1; 2; : : :; n ®¡®§ 稬 ç¥à¥§ Nt(A) ª®«¨ç¥á⢮ § ª §®¢ ¨§ ¬®¦¥á⢠A, ¤«ï ª®â®àëå áப ¥ ¯à¥¢®á室¨â t. ¥¬¬ 17.11. «ï ¢á类£® ¯®¤¬®¦¥á⢠A S á«¥¤ãî騥 âਠãá«®¢¨ï íª¢¨¢ «¥âë: 1. ¬®¦¥á⢮ A ¥§ ¢¨á¨¬®, 2. ¤«ï ¢á¥å t = 1; 2; : : :; n ¨¬¥¥¬ Nt (A) 6 t, 3. ¥á«¨ à ᯮ«®¦¨âì § ª §ë ¨§ ¬®¦¥á⢠A ¢ ¯®à浪¥ ¥ã¡ë¢ ¨ï áப®¢, â® ¢á¥ § ª §ë ¡ã¤ã⠢믮«¥ë ¢ áப. ®ª § ⥫ìá⢮. ᫨ Nt(A) > t ¤«ï ¥ª®â®à®£® t, â® § ª §®¢, ª®â®àë¥ ¤®«¦ë ¡ëâì ¢ë¯®«¥ë § ¯¥à¢ë¥ t ¥¤¨¨æ ¢à¥¬¥¨, ¡®«ìè¥ t ¨ ®¤¨ ¨§ ¨å ¥¯à¥¬¥® ¡ã¤¥â ¯à®áà®ç¥. ª¨¬ ®¡à §®¬, (1) ¢«¥çñâ (2). ᫨ ¢ë¯®«¥® (2), â® i-© ¯® ¯®à浪ã áப ®ª®ç ¨ï § ª § ¥ ¬¥ìè¥ i, ¨ ¯à¨ à ááâ ®¢ª¥ § ª §®¢ ¢ í⮬ ¯®à浪¥ ¢á¥ áப¨ ¡ã¤ãâ ᮡ«î¤¥ë. «¥¤®¢ ⥫ì®, (2) ¢«¥çñâ (3). ¬¯«¨ª æ¨ï (3) ) (1) ®ç¥¢¨¤ . á«®¢¨¥ (2) ï¥âáï 㤮¡ë¬ ªà¨â¥à¨¥¬ ¥§ ¢¨á¨¬®á⨠¬®¦¥á⢠§ ª §®¢ (á¬. ã¯à ¦¥¨¥ 17.5-2). ¨¨¬¨§¨à®¢ âì á㬬ã èâà 䮢 § ¯à®áà®ç¥ë¥ § ª §ë | ¢áñ à ¢®, çâ® ¬ ªá¨¬¨§¨à®¢ âì á㬬㠥¢ë¯« ç¥ëå èâà 䮢, â® 348 « ¢ 17 ¤ë¥ «£®à¨â¬ë di wi 1 4 70 2 2 60 3 4 50 ª § 4 3 40 5 1 30 6 4 20 7 6 10 ¨á㮪 17.7 ਬ¥à § ¤ ç¨ ® à á¯¨á ¨¨ ¤«ï § ª §®¢ à ¢®© ¤«¨â¥«ì®áâ¨ á ¥¤¨áâ¢¥ë¬ ¨á¯®«¨â¥«¥¬, áப ¬¨ ¨ èâà ä ¬¨. ¥áâì èâà 䮢, áá®æ¨¨à®¢ ëå á ¢ë¯®«¥ë¬¨ ¢ áப § ª § ¬¨. «¥¤ãîé ï ⥮६ ¯®ª §ë¢ ¥â, çâ® íâã ®¯â¨¬¨§ 樮ãî § ¤ çã ¬®¦® à¥è¨âì á ¯®¬®éìî ¦ ¤®£® «£®à¨â¬ : ¥®à¥¬ 17.12. ãáâì S | ¬®¦¥á⢮ § ª §®¢ à ¢®© ¤«¨â¥«ì®á⨠ᮠáப ¬¨, I | ᥬ¥©á⢮ ¥§ ¢¨á¨¬ëå ¬®¦¥á⢠§ ª §®¢. ®£¤ ¯ à (S; I ) ï¥âáï ¬ âந¤®¬. ®ª § ⥫ìá⢮. 祢¨¤®, ª ¦¤®¥ ¯®¤¬®¦¥á⢮ ¥§ ¢¨á¨¬®£® ¬®¦¥á⢠⠪¦¥ ¥§ ¢¨á¨¬®, ¨ ®áâ ñâáï ¯à®¢¥à¨âì ¢ë¯®«¥¨¥ ᢮©á⢠§ ¬¥ë. ãáâì A ¨ B | ¥§ ¢¨á¨¬ë¥ ¬®¦¥á⢠, ¯à¨çñ¬ jBj > jAj. 㤥¬ áà ¢¨¢ âì ç¨á« Nt(B) ¨ Nt(A) ¯à¨ à §«¨çëå t. ਠt = n ¯¥à¢®¥ ç¨á«® ¡®«ìè¥; 㬥ìè ï t, ¤®¦¤ñ¬áï ¬®¬¥â , ª®£¤ ®¨ áà ¢ïîâáï, ¨ §®¢ñ¬ ¥£® k (¥á«¨ í⮣® ¥ ¯à®¨§®©¤¥â ¤® á ¬®£® ª®æ , áç¨â ¥¬ k = 0). ਠí⮬ Nk (A) = Nk (B) (¥á«¨ k > 0) ¨ Nk+1(B) > Nk+1 (A). «¥¤®¢ ⥫ì®, ¥áâì å®âï ¡ë ®¤¨ § ª § x 2 B n A á® áப®¬ k + 1. ®«®¦¨¬ A0 = A [ fxg. ᫨ t 6 k, â® Nt(A0) = Nt(A) 6 t ¢ ᨫ㠥§ ¢¨á¨¬®á⨠¬®¦¥á⢠A; ¥á«¨ t > k, â® Nt(A0) = Nt(A)+1 6 Nt(B) 6 t ¢ ᨫ㠥§ ¢¨á¨¬®á⨠¬®¦¥á⢠B; áâ «® ¡ëâì, ¬®¦¥á⢮ A0 ¥§ ¢¨á¨¬® ¯® «¥¬¬¥ 17.11, ¨ ¤«ï ¯ àë (S; I ) ¢ë¯®«¥® ᢮©á⢮ § ¬¥ë. áñ ¤®ª § ®. § ¤®ª § ®© ⥮६ë á«¥¤ã¥â, çâ® ¤«ï 宦¤¥¨ï ®¯â¨¬ «ì®£® ¬®¦¥á⢠A ¥§ ¢¨á¨¬ëå § ª §®¢ ¬®¦® ¢®á¯®«ì§®¢ âìáï ¦ ¤ë¬ «£®à¨â¬®¬, § ⥬ á®áâ ¢¨âì à á¯¨á ¨¥, ç¨ î饥áï á § ª §®¢ ¨§ ¬®¦¥á⢠A, à ááâ ¢«¥ëå ¢ ¯®à浪¥ ¢®§à áâ ¨ï áப®¢ | íâ® ¨ ¡ã¤¥â à¥è¥¨¥¬ § ¤ ç¨ ® à á¯¨á ¨¨. ᫨ ¯®«ì§®¢ âìáï «£®à¨â¬®¬ Greedy, â® ¢à¥¬ï à ¡®âë ¡ã¤¥â O(n2), â ª ª ª ¢ ¯à®æ¥áá¥ à ¡®âë í⮣® «£®à¨â¬ ¤® ᤥ« âì n ¯à®¢¥à®ª ¥§ ¢¨á¨¬®á⨠¬®¦¥á⢠, ¨ ª ¦¤ ï â ª ï ¯à®¢¥àª âॡã¥â O(n) ®¯¥à 権 (ã¯à. 17.5-2). ®«¥¥ ¡ëáâàë© «£®à¨â¬ ¯à¨¢¥¤ñ ¢ § ¤ ç¥ 17-3. à¨á. 17.7 ¯à¨¢¥¤ñ ¯à¨¬¥à § ¤ ç¨ ® à á¯¨á ¨¨. ¤ë© «£®à¨â¬ ®â¡¨à ¥â § ª §ë 1, 2, 3 ¨ 4, § ⥬ ®â¢¥à£ ¥â § ª §ë 5 ¨ 6 ¨ ®â¡¨à ¥â § ª § 7. ¯â¨¬ «ì®¥ à á¯¨á ¨¥: (2; 4; 1; 3; 7; 5; 6): 㬬 èâà 䮢 à ¢ w5 + w6 = 50. ¤ ç¨ ª £« ¢¥ 17 349 ¯à ¦¥¨ï ¥è¨â¥ § ¤ çã ® à á¯¨á ¨¨ ¤«ï ᥬ¨ § ª §®¢, ¢ ª®â®à®© áப¨ ⥠¦¥, çâ® à¨á. 17.7, ® ª ¦¤ë© èâà ä wi § ¬¥ñ 80 ; wi . 17.5-2 ª, ¨á¯®«ì§ãï ãá«®¢¨¥ (2) ¨§ «¥¬¬ë 17.11, ¢ëïá¨âì § ¢à¥¬ï O(jAj), ¡ã¤¥â «¨ ¤ ®¥ ¬®¦¥á⢮ § ª §®¢ A ¥§ ¢¨á¨¬ë¬? 17.5-1 ¤ ç¨ 17-1 ¤ ç á ¤®«« à ãáâì âॡã¥âáï ¡à âì á㬬㠢 n æ¥â®¢, ¨á¯®«ì§ãï ¨¬¥ì襥 ª®«¨ç¥á⢮ ¬®¥â. ¯¨è¨â¥ ¦ ¤ë© «£®à¨â¬, ¡¨à î騩 n æ¥â®¢ á ¯®¬®éìî ¬®¥â ¤®á⮨á⢮¬ ¢ 25, 10, 5 ¨ 1 æ¥â. [¬¥® â ª¨¥ ¬®¥âë ¨á¯®«ì§ãîâáï ¢ .] ®ª ¦¨â¥, çâ® «£®à¨â¬ 室¨â ®¯â¨¬ «ì®¥ à¥è¥¨¥. ¡ ãáâì ¢ 襬 à ᯮà殮¨¨ ¨¬¥îâáï ¬®¥âë ¤®á⮨á⢮¬ c0; c1; : : :; ck æ¥â®¢, £¤¥ c > 1 ¨ k > 1 | æ¥«ë¥ ç¨á« . ®ª ¦¨â¥, çâ® ¦ ¤ë© «£®à¨â¬ ¤ áâ ¢ í⮬ á«ãç ¥ ®¯â¨¬ «ì®¥ à¥è¥¨¥. ¢ ਢ¥¤¨â¥ ¯à¨¬¥à ¡®à ⨯®¢ ¬®¥â, ¤«ï ª®â®à®£® ¦ ¤ë© «£®à¨â¬ ®¯â¨¬ã¬ ¥ ¤ áâ. 17-2 横«¨çë¥ ¯®¤£à äë ãáâì G = (V; E ) | ¥®à¨¥â¨à®¢ ë© £à ä. ®ª ¦¨â¥, çâ® ¯ à (E; I ), £¤¥ A 2 I ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ¬®¦¥á⢮ A 横«¨ç®, ï¥âáï ¬ âந¤®¬. ¡ âà¨æ¥© ¨æ¨¤¥â®á⨠(incidence matrix) ¥®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) §ë¢ ¥âáï jV j jE j-¬ âà¨æ M , ¢ ª®â®à®© Mve à ¢® ¥¤¨¨æ¥, ¥á«¨ ¢¥àè¨ v ¨æ¨¤¥â ॡàã e, ¨ ã«î ¢ ¯à®â¨¢®¬ á«ãç ¥. (⮫¡¥æ, ᮮ⢥âáâ¢ãî騩 ॡàã, ᮤ¥à¦¨â ஢® ¤¢¥ ¥¤¨¨æë, ᮮ⢥âáâ¢ãî騥 ª®æ ¬ í⮣® ॡà .) ®ª ¦¨â¥, çâ® ¡®à á⮫¡æ®¢ í⮩ ¬ âà¨æë «¨¥©® ¥§ ¢¨á¨¬ [ ¤ ¯®«¥¬ ¢ëç¥â®¢ ¨§ ¤¢ãå í«¥¬¥â®¢] ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ᮮ⢥âáâ¢ãî騩 ¡®à ॡ¥à 横«¨ç¥. ®«ì§ãïáì १ã«ìâ ⮬ ã¯à ¦¥¨ï 17.4-2, ¤®ª ¦¨â¥ ⥯¥àì ¤à㣨¬ ᯮᮡ®¬, çâ® ¯ à (E; I ) ï¥âáï ¬ âந¤®¬. ¢ ãáâì ¢ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ¤«ï ª ¦¤®£® ॡà e 2 E § ¤ ¥®âà¨æ ⥫ìë© ¢¥á w(e). §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¤«ï 宦¤¥¨ï 横«¨ç®£® ¯®¤¬®¦¥á⢠¬®¦¥á⢠E á ¨¡®«ì襩 á㬬®© ¢¥á®¢ àñ¡¥à. 350 « ¢ 17 ¤ë¥ «£®à¨â¬ë £ ãáâì G = (V; E ) | ®à¨¥â¨à®¢ ë© £à ä, ¨ ¯ãáâì I | ᥬ¥©á⢮ ¢á¥å 横«¨çëå ¯®¤¬®¦¥á⢠¬®¦¥á⢠àñ¡¥à (¢ ¤ ®¬ á«ãç ¥ á«®¢® " 横«¨çë©" ®§ ç ¥â "¥ ᮤ¥à¦ 騩 ®à¨¥â¨à®¢ ëå 横«®¢"). ਢ¥¤¨â¥ ¯à¨¬¥à, ª®£¤ ¯ à (E; I ) ¥ ¡ã¤¥â ¬ âந¤®¬. ª®¥ ¨§ ãá«®¢¨© ¢ ®¯à¥¤¥«¥¨¨ ¬ âந¤ ¡ã¤¥â àã襮? ¤ âà¨æ ¨æ¨¤¥â®á⨠¤«ï ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) | íâ® jV j jE j-¬ âà¨æ M , ¢ ª®â®à®© Mve à ¢® ;1, ¥á«¨ ¢¥àè¨ v ï¥âáï ç «®¬ ॡà e, à ¢® 1, ¥á«¨ ¢¥àè¨ v ï¥âáï ª®æ®¬ ॡà e, ¨ à ¢® ã«î ¢ ®áâ «ìëå á«ãç ïå. ®ª ¦¨â¥, çâ® ¬®¦¥á⢮ àñ¡¥à £à ä , ᮮ⢥âáâ¢ãî饥 «¨¥©® ¥§ ¢¨á¨¬®¬ã ( ¤ R) ¡®àã á⮫¡æ®¢ ¬ âà¨æë ¨æ¨¤¥â®áâ¨, ¥ ᮤ¥à¦¨â ®à¨¥â¨à®¢ ®£® 横« . ¥ ã¯à ¦¥¨¨ 17.4-2 ¬ë ¤®ª § «¨, çâ® «¨¥©® ¥§ ¢¨á¨¬ë¥ ¡®àë á⮫¡æ®¢ ¤ ®© ¬ âà¨æë ®¡à §ãîâ ¬ âந¤. ᢥ⥠í⮣® १ã«ìâ â , ¥â «¨ ¯à®â¨¢®à¥ç¨ï ¬¥¦¤ã ã⢥ত¥¨ï¬¨ ¯ãªâ®¢ (£) ¨ (¤) ã¯à ¦¥¨ï? 17-3 éñ ® à á¯¨á ¨ïå áᬮâਬ á«¥¤ãî騩 «£®à¨â¬ ¤«ï à¥è¥¨ï § ¤ ç¨ ¨§ à §¤¥« 17.5 (®¯â¨¬ «ì®¥ à á¯¨á ¨¥ ¤«ï § ª §®¢ à ¢®© ¤«¨â¥«ì®áâ¨ á ¥¤¨áâ¢¥ë¬ ¨á¯®«¨â¥«¥¬, áப ¬¨ ¨ èâà ä ¬¨). 㤥¬ ¯¥à¥¡¨à âì § ª §ë ¢ ¯®à浪¥ ã¡ë¢ ¨ï èâà 䮢 ¨ § ¯®«ïâì à á¯¨á ¨¥ â ª: ¥á«¨ ¤«ï § ª § ®¬¥à j áãé¥áâ¢ã¥â å®âï ¡ë ®¤® ᢮¡®¤®¥ ¬¥áâ® ¢ à á¯¨á ¨¨, ¯®§¢®«ïî饥 ¢ë¯®«¨âì ¥£® ¥ ¯®§¤¥¥ âॡ㥬®£® áப dj , â® ¯®áâ ¢¨¬ ¥£® á ¬®¥ ¯®§¤¥¥ ¨§ â ª¨å ¬¥áâ; ¢ ¯à®â¨¢®¬ á«ãç ¥ ¯®áâ ¢¨¬ ¥£® á ¬®¥ ¯®§¤¥¥ ¨§ ᢮¡®¤ëå ¬¥áâ. ®ª ¦¨â¥, çâ® íâ®â «£®à¨â¬ ¤ ñâ ®¯â¨¬ã¬. ¡ ®á¯®«ì§ã©â¥áì ¯à¥¤áâ ¢«¥¨¥¬ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢ á ¯®¬®éìî «¥á , ®¯¨á ë¬ ¢ à §¤¥«¥ 22.3, ¤«ï íä䥪⨢®© ॠ«¨§ 樨 ¢ë襮¯¨á ®£® «£®à¨â¬ (¬®¦¥â¥ áç¨â âì, çâ® § ª §ë 㦥 à ᯮ«®¦¥ë ¢ ¯®à浪¥ ã¡ë¢ ¨ï èâà 䮢). 楨⥠¢à¥¬ï à ¡®âë «£®à¨â¬ . ¬¥ç ¨ï ®¯®«¨â¥«ìë¥ á¢¥¤¥¨ï ® ¦ ¤ëå «£®à¨â¬ å ¨ ¬ âந¤ å ¬®¦® ©â¨ 㠮㫥à [132] ¨«¨ ¯ ¤¨¬¨âà¨ã ¨ â ©£«¨æ [154]. ¥à¢®© à ¡®â®© ¯® ª®¬¡¨ â®à®© ®¯â¨¬¨§ 樨, ᮤ¥à¦ 饩 ¦ ¤ë© «£®à¨â¬, ¡ë« à ¡®â ¤¬®¤á [62], ¤ â¨à®¢ ï 1971 £®¤®¬, å®âï á ¬® ¯®ï⨥ ¬ âந¤ ¡ë«® ¢¢¥¤¥® ¢ 1935 £®¤ã ¢ áâ âì¥ ¨â¨ [200]. ¬¥ç ¨ï ª £« ¢¥ 17 351 ¤ ç ¬¨ í⮩ £« ¢ë § ¨¬ «¨áì ¬®£¨¥ ¢â®àë | ¢à¨« [80] (§ ¤ ç ® ¢ë¡®à¥ § ª), ®ã«¥à [132], ®à®¢¨æ ¨ å¨ [105], à áá à ¨ à ⫨ [33] (§ ¤ ç ® à á¯¨á ¨¨). ®¤ë ä䬥 ¡ë«¨ ¨§®¡à¥â¥ë ¢ 1952 £®¤ã [107]. ¡§®à ¬¥â®¤®¢ ᦠâ¨ï ¨ä®à¬ 樨 (¯® á®áâ®ï¨î 1987 £®¤) ¤ «¨ ¥«¥¢¥à ¨ ¨à补࣠[136]. ®à⥠¨ ®¢ á [127, 128, 129, 130] ᮧ¤ «¨ ⥮à¨î £à¨¤®¨¤®¢ (greedoids), ïîéãîáï ®¡®¡é¥¨¥¬ ⥮ਨ, ¨§«®¦¥®© ¢ à §¤¥«¥ 17.4. 18 ¬®à⨧ æ¨®ë© «¨§ ¬®à⨧ æ¨®ë© «¨§ ¯à¨¬¥ï¥âáï ¤«ï ®æ¥ª¨ ¢à¥¬¥¨ ¢ë¯®«¥¨ï ¥áª®«ìª¨å ®¯¥à 権 á ª ª®©-«¨¡® áâàãªâãன ¤ ëå ( ¯à¨¬¥à, á⥪®¬). â®¡ë ®æ¥¨âì ¢à¥¬ï ¢ë¯®«¥¨ï ª ª®©-«¨¡® ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権, ¤®áâ â®ç® 㬮¦¨âì ¬ ªá¨¬ «ìãî ¤«¨â¥«ì®áâì ®¯¥à 樨 ®¡é¥¥ ç¨á«® ®¯¥à 権. ®£¤ , ®¤ ª®, 㤠¥âáï ¯®«ãç¨âì ¡®«¥¥ â®çãî ®æ¥ªã ¢à¥¬¥¨ à ¡®âë (¨«¨, çâ® à ¢®á¨«ì®, á।¥£® ¢à¥¬¥¨ ¢ë¯®«¥¨ï ®¤®© ®¯¥à 樨), ¨á¯®«ì§ãï â®â ä ªâ, çâ® ¢® ¬®£¨å á«ãç ïå ¯®á«¥ ¤«¨â¥«ìëå ®¯¥à 権 ¥áª®«ìª® á«¥¤ãîé¨å ®¯¥à 権 ¢ë¯®«ïîâáï ¡ëáâà®. 楪¨ â ª®£® த §ë¢ îâáï ¬®à⨧ æ¨®ë¬ «¨§®¬ (amortized analysis) «£®à¨â¬ . ®¤ç¥àª¥¬, çâ® ®æ¥ª , ¤ ¢ ¥¬ ï ¬®à⨧ æ¨®ë¬ «¨§®¬, ¥ ï¥âáï ¢¥à®ïâ®á⮩: íâ® ®æ¥ª á।¥£® ¢à¥¬¥¨ ¢ë¯®«¥¨ï ®¤®© ®¯¥à 樨 ¤«ï åã¤è¥£® á«ãç ï. [ਠ¬®à⨧ 樮®¬ «¨§¥ ª ¦¤®© ®¯¥à 樨 ¯à¨á¢ ¨¢ ¥âáï ¥ª®â®à ï ãçñâ ï á⮨¬®áâì (amortized cost), ª®â®à ï ¬®¦¥â ¡ëâì ¡®«ìè¥ ¨«¨ ¬¥ìè¥ à¥ «ì®© ¤«¨â¥«ì®á⨠®¯¥à 樨. ਠí⮬ ¤®«¦® ¢ë¯®«ïâìáï á«¥¤ãî饥 ãá«®¢¨¥: ¤«ï «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 ä ªâ¨ç¥áª ï á㬬 à ï ¤«¨â¥«ì®áâì ¢á¥å ®¯¥à 権 (¯à¥¤¯®« £ ¥âáï, çâ® ¤® ¢ë¯®«¥¨ï ®¯¥à 権 áâàãªâãà ¤ ëå 室¨âáï ¢ ç «ì®¬ á®áâ®ï¨¨ | ¯à¨¬¥à, á⥪ ¯ãáâ) ¥ ¯à¥¢®á室¨â áã¬¬ë ¨å ãçñâëå á⮨¬®á⥩. ᫨ íâ® ãá«®¢¨¥ ¢ë¯®«¥®, â® £®¢®àïâ, çâ® ãçñâë¥ á⮨¬®á⨠¯à¨á¢®¥ë ª®à४â®. ¬¥â¨¬, çâ® ¤«ï ®¤®© ¨ ⮩ ¦¥ áâàãªâãàë ¤ ëå ¨ ®¤¨å ¨ â¥å ¦¥ «£®à¨â¬®¢ ¢ë¯®«¥¨ï ®¯¥à 権 ¬®¦® ª®à४⮠§ ç¨âì ãçñâë¥ á⮨¬®á⨠¥áª®«ìª¨¬¨ à §«¨ç묨 ᯮᮡ ¬¨.] ¯¥à¢ëå âàñå à §¤¥« å í⮩ £« ¢ë à á᪠§ë¢ ¥âáï ® âàñå ®á®¢ëå ¬¥â®¤ å ¬®à⨧ 樮®£® «¨§ . à §¤¥«¥ 18.1 à¥çì ¨¤¥â ® ¬¥â®¤¥ £à㯯¨à®¢ª¨: ¬ë ¬®¦¥¬ ®æ¥¨âì á⮨¬®áâì n ®¯¥à 権 ¢ åã¤è¥¬ á«ãç ¥ ¨ ãáâ ®¢¨âì, çâ® ® ¥ ¯à¥¢®á室¨â T (n)). ®á«¥ í⮣® ¬®¦® ®¡êâì, çâ® ãçñâ ï á⮨¬®áâì «î¡®© ®¯¥à 樨, ¥§ ¢¨á¨¬® ®â ¥¥ ¤«¨â¥«ì®áâ¨, à ¢ T (n)=n. à §¤¥«¥ 18.2 à á᪠§ë¢ ¥âáï ® ¬¥â®¤¥ ¯à¥¤®¯« âë. ਠí⮬ ¬¥â®¤¥ ¬®à⨧ 樮®£® «¨§ à §«¨çë¬ ®¯¥à æ¨ï¬ ¬®£ãâ ¯à¨á¢ ¨¢ âìáï à §«¨çë¥ ãçñâë¥ á⮨¬®áâ¨. ¥ª®â®àëå ®¯¥à 権 ¥â®¤ £à㯯¨à®¢ª¨ 353 ãçñâ ï á⮨¬®áâì ®¡êï¥âáï ¢ëè¥ à¥ «ì®©. ®£¤ ¢ë¯®«ï¥âáï â ª ï ®¯¥à æ¨ï, ®áâ ñâáï १¥à¢, ª®â®àë© áç¨â ¥âáï åà ï騬áï ¢ ®¯à¥¤¥«¥®¬ ¬¥á⥠áâàãªâãàë ¤ ëå. â®â १¥à¢ ¨á¯®«ì§ã¥âáï ¤«ï ¤®¯« âë § ®¯¥à 樨, ãçñâ ï á⮨¬®áâì ª®â®àëå ¨¦¥ ä ªâ¨ç¥áª®©. ¬¥â®¤¥ ¯®â¥æ¨ «®¢, ®¡á㦤 ¥¬®¬ ¢ à §¤¥«¥ 18.3, १¥à¢ ¥ á¢ï§ë¢ ¥âáï á ª ª¨¬¨-â® ª®ªà¥â묨 ®¡ê¥ªâ ¬¨, ï¥âáï äãªæ¨¥© ⥪ã饣® á®áâ®ï¨ï áâàãªâãàë ¤ ëå. â äãªæ¨ï §ë¢ ¥âáï "¯®â¥æ¨ «®¬", ¨ ãçñâë¥ á⮨¬®á⨠¤®«¦ë ¡ëâì á ¥© ᮣ« ᮢ ë. ë ¨««îáâà¨à㥬 í⨠âਠ¬¥â®¤ ¤¢ãå ¯à¨¬¥à å. ¥à¢ë© ¨§ ¨å | á⥪, á ¡¦¥ë© ¤®¯®«¨â¥«ì®© ®¯¥à 樥© Multipop, 㤠«ïî饩 ¨§ á⥪ ¥áª®«ìª® í«¥¬¥â®¢ ®¤®¢à¥¬¥®. â®à®© ¯à¨¬¥à | ¤¢®¨çë© áç¥â稪, á ¡¦¥ë© ¥¤¨á⢥®© ®¯¥à 樥© Increment (㢥«¨ç¨âì ¥¤¨¨æã). ¬¥â¨¬, çâ® ¯®ï⨥ ¯®â¥æ¨ « ¨á¯®«ì§ã¥âáï ¤«ï «¨§ «£®à¨â¬ ; ¢ á ¬®© ¯à®£à ¬¬¥ ¥â ¥®¡å®¤¨¬®á⨠¢ëç¨á«ïâì ¨ åà ¨âì ¥£® § 票¥. ¤¥¨, á¢ï§ ë¥ á ¬®à⨧ æ¨®ë¬ «¨§®¬, ¯®«¥§® ¨¬¥âì ¢ ¢¨¤ã ¯à¨ à §à ¡®âª¥ «£®à¨â¬®¢. ਬ¥à â ª®£® த ¤ ¢ à §¤¥«¥ 18.4 (â ¡«¨æ ¯¥à¥¬¥®£® à §¬¥à ). 18.1 ¥â®¤ £à㯯¨à®¢ª¨ ¥â®¤ £à㯯¨à®¢ª¨ (aggregate method) á®á⮨⠢ á«¥¤ãî饬: ¤«ï ª ¦¤®£® n ®æ¥¨¢ ¥âáï ¢à¥¬ï T (n), âॡ㥬®¥ ¢ë¯®«¥¨¥ n ®¯¥à 権 (¢ åã¤è¥¬ á«ãç ¥). à¥¬ï ¢ à áçñ⥠®¤ã ®¯¥à æ¨î, â® ¥áâì ®â®è¥¨¥ T (n)=n, ®¡êï¥âáï ãçñ⮩ á⮨¬®áâìî ®¤®© ®¯¥à 樨. ਠí⮬ ãçñâë¥ á⮨¬®á⨠¢á¥å ®¯¥à 権 ®ª §ë¢ îâáï ®¤¨ ª®¢ë¬¨ (¯à¨ ¤¢ãå ¤àã£¨å ¬¥â®¤ å ¬®à⨧ 樮®£® «¨§ íâ® ¡ã¤¥â ¥ â ª). ¯¥à 樨 á® á⥪®¬ ë ¯à¨¬¥¨¬ ¬¥â®¤ £à㯯¨à®¢ª¨ ¤«ï «¨§ á⥪ á ®¤®© ¤®¯®«¨â¥«ì®© ®¯¥à 樥©. à §¤¥«¥ 11.1 ¬ë ¢¢¥«¨ ¤¢¥ ®á®¢ë¥ ®¯¥à 樨 á® á⥪®¬: Push(S; x) ¤®¡ ¢«ï¥â í«¥¬¥â x ª á⥪ã S ; Pop(S ) 㤠«ï¥â ¢¥àè¨ã á⥪ S (¨ ¢®§¢à é ¥â ¥ñ). ¦¤ ï ¨§ íâ¨å ®¯¥à 権 ¢ë¯®«ï¥âáï § ¢à¥¬ï O(1). «¥¤®¢ ⥫ì®, ¢ë¯®«¥¨¥ n ®¯¥à 権 Push ¨ Pop âॡã¥â ¢à¥¬¥¨ (n). ¨âã æ¨ï áâ ®¢¨âáï ¡®«¥¥ ¨â¥à¥á®©, ¥á«¨ ¤®¡ ¢¨âì ®¯¥à æ¨î Multipop(S; k), ª®â®à ï 㤠«ï¥â k í«¥¬¥â®¢ ¨§ á⥪ (¥á«¨ ¢ á⥪¥ 354 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ ¨á㮪 18.1 ¥©á⢨¥ ®¯¥à 樨 Multipop á⥪¥ S . ( ) ç «ì®¥ á®áâ®ï¨¥ á⥪ . Multipop(S; 4) 㤠«ï¥â ¨§ á⥪ ¢¥à娥 ç¥âëà¥ í«¥¬¥â , ¨ á⥪ ¯à¨å®¤¨â ¢ á®áâ®ï¨¥ (¡). ᫨ ⥯¥àì ¯à¨¬¥¨âì ®¯¥à æ¨î Multipop(S; 7), â® á⥪ á⠥⠯ãáâ (¢), â ª ª ª ¯¥à¥¤ ¯à¨¬¥¥¨¥¬ í⮩ ®¯¥à 樨 ¢ á⥪¥ ¡ë«® ¬¥¥¥ ᥬ¨ í«¥¬¥â®¢. ᮤ¥à¦¨âáï ¬¥¥¥ k í«¥¬¥â®¢, ⮠㤠«ï¥âáï ¢áñ, çâ® â ¬ ¥áâì). ñ ¬®¦® ॠ«¨§®¢ âì â ª (Stack-Empty ¢®§¢à é ¥â true ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ á⥪ ¯ãáâ): Multipop(S; k) 1 while not Stack-Empty(S ) and k = 6 0 2 do Pop(S ) 3 k k;1 ਬ¥à à ¡®âë ®¯¥à 樨 Multipop ¯à¨¢¥¤¥ à¨á. 18.1. ਠ¯à¨¬¥¥¨¨ ®¯¥à 樨 Multipop(S; k) ª á⥪ã, ᮤ¥à¦ 饬ã s í«¥¬¥â®¢, ¡ã¤¥â ¯à®¨§¢¥¤¥® min(s; k) ®¯¥à 権 Pop. ®í⮬ã (¨¬¥¥âáï ¢ ¢¨¤ã ä ªâ¨ç¥áª ï á⮨¬®áâì, ¥ ãçñâ ï) ¢à¥¬ï ¥¥ à ¡®âë ¯à®¯®à樮 «ì® min(s; k). ç¨â ï, çâ® ®¯¥à 樨 Push, Pop ¨¬¥îâ ¥¤¨¨çãî á⮨¬®áâì (¨¬¥¥âáï ¢ ¢¨¤ã ä ªâ¨ç¥áª ï á⮨¬®áâì, ¥ ãçñâ ï), ®¯¥à æ¨ï Multipop ¨¬¥¥â á⮨¬®áâì min(s; k), ®æ¥¨¬ á㬬 àãî á⮨¬®áâì n ®¯¥à 権, ¯à¨¬¥ñëå ª ¨§ ç «ì® ¯ãá⮬ã á⥪ã. ⮨¬®áâì «î¡®© ¨§ ®¯¥à 権 ¥ ¯à¥¢®á室¨â n (á ¬ ï ¤®à®£ ï ®¯¥à æ¨ï Multipop á⮨⠥ ¡®«¥¥ n, ¯®áª®«ìªã § n ®¯¥à 権 ¢ á⥪¥ ¥ ¡¥àñâáï ¡®«¥¥ n í«¥¬¥â®¢). «¥¤®¢ ⥫ì®, á㬬 à ï á⮨¬®áâì n ®¯¥à 権 ¥áâì O(n2). ⠮楪 , ®¤ ª®, ᫨誮¬ £àã¡ . â®¡ë ¯®«ãç¨âì â®çãî ®æ¥ªã, § ¬¥â¨¬, çâ®, ª®«ì ᪮஠¯¥à¢® ç «ì® á⥪ ¡ë« ¯ãáâ, ®¡é¥¥ ç¨á«® ॠ«ì® ¢ë¯®«ï¥¬ëå ®¯¥à 権 Pop (¢ª«îç ï ⥠¨§ ¨å, çâ® ¢ë§ë¢ îâáï ¨§ ¯à®æ¥¤ãàë Multipop) ¥ ¯à¥¢®á室¨â ®¡é¥£® ç¨á« ®¯¥à 権 Push, íâ® ¯®á«¥¤¥¥ ¥ ¯à¥¢®á室¨â n. â «® ¡ëâì, á⮨¬®áâì «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ®¯¥à 権 Push, Pop ¨ Multipop, ¯à¨¬¥¥ëå ª ¯ãá⮬ã á⥪ã, ¥áâì O(n). ¥¬ á ¬ë¬ ¬®¦® ®¡êâì, çâ® ãçñâ ï á⮨¬®áâì ª ¦¤®© ¨§ ®¯¥à 権 ¥áâì O(n)=n = O(1). ®¤ç¥àªñ¬ ¥éñ à §, çâ® è ®æ¥ª ¥ ï¥âáï ¢¥à®ïâ®á⮩: á⮨¬®áâì (¢ à áçñ⥠®¤ã ®¯¥à æ¨î) ®æ¥¨¢ ¥âáï ¤«ï åã¤è¥£® á«ãç ï. ¥â®¤ £à㯯¨à®¢ª¨ 355 counter value | § 票¥ áç¥â稪 , total cost | á⮨¬®áâì 18.2 ®áâ®ï¨ï ¢®á쬨¡¨â®¢®£® ¤¢®¨ç®£® áç¥â稪 ¢ ¯à®æ¥áᥠ¢ë¯®«¥¨ï 16 ¯®á«¥¤®¢ ⥫ìëå ®¯¥à 権 Increment. èâà¨å®¢ ë ¡¨âë, § ç¥¨ï ª®â®àëå ¨§¬¥ïâáï ¯à¨ á«¥¤ãî饩 ®¯¥à 樨 Increment. ¯à ¢®© £à ä¥ ¯®ª § ®¡é ï á⮨¬®áâì ¢á¥å ®¯¥à 権 ¯® ãáâ ®¢ª¥ ¨«¨ ®ç¨á⪥ ¡¨â®¢, ¥®¡å®¤¨¬ëå, çâ®¡ë ¤®áç¨â âì ¤® ¤ ®£® ç¨á« . ¬¥âìâ¥, çâ® ¢ áâப¥ ®¬¥à k íâ á⮨¬®áâì ¥ ¯à¥¢®á室¨â 2k. ¨á㮪 ¢®¨çë© áçñâ稪 í⮬ à §¤¥«¥ ¬ë ¯à¨¬¥¨¬ ¬¥â®¤ £à㯯¨à®¢ª¨ ª «¨§ã k¡¨â®£® ¤¢®¨ç®£® áçñâ稪 . çñâ稪 ॠ«¨§®¢ P ª ª;1¬ áᨢ ¡¨â®¢ A[0 : :k ; 1] ¨ åà ¨â ¤¢®¨çãî § ¯¨áì ç¨á« x = ki=0 A[i] 2i (â ª çâ® A[0] | ¬« ¤è¨© ¡¨â). ¥à¢® ç «ì® x = 0, â. ¥. A[i] = 0 ¤«ï ¢á¥å i. ¯à¥¤¥«¨¬ ®¯¥à æ¨î Increment (㢥«¨ç¨âì 1 ¯® ¬®¤ã«î 2k ) â ª: Increment(A) 1 i 0 2 while i < length[A] and A[i] = 1 3 do A[i] 0 4 i i+1 5 if i < length[A] 6 then A[i] 1 ® áãé¥áâ¢ã â®â ¦¥ «£®à¨â¬ ¨á¯®«ì§ã¥âáï ¢ ॠ«ìëå ª®¬¯ìîâ¥à å (ª ᪠¤®¥ á«®¦¥¨¥ | á¬. à §¤¥« 29.2.1). à¨á. 18.2 ¨§®¡à ¦¥ë á®áâ®ï¨ï ¤¢®¨ç®£® áç¥â稪 ¯à¨ 16 ¯®á«¥¤®¢ ⥫ìëå ¯à¨¬¥¥¨ïå ®¯¥à 樨 Increment, ç¨ ï ®â 0 ¤® 16. ¢¥«¨ç¥¨¥ áç¥â稪 ¥¤¨¨æ㠯நá室¨â á«¥¤ãî騬 ®¡à §®¬: ¢á¥ ç «ìë¥ ¥¤¨¨çë¥ ¡¨âë ¢ ¬ áᨢ¥ A áâ ®¢ïâáï ã«ï¬¨ (横« ¢ áâப å 2{4), á«¥¤ãî騩 ¥¯®á।á⢥® § ¨¬¨ ã«¥¢®© ¡¨â (¥á«¨ 356 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ â ª®¢®© ¥áâì) ãáâ ¢«¨¢ ¥âáï ¢ ¥¤¨¨æã. ⮨¬®áâì ®¯¥à 樨 Increment «¨¥©® § ¢¨á¨â ®â ®¡é¥£® ª®«¨ç¥á⢠¡¨â®¢, ¯®¤¢¥à£- è¨åáï ®ç¨á⪥ ¨«¨ ãáâ ®¢ª¥. âáî¤ áà §ã ¯®«ãç ¥âáï £àã¡ ï ®æ¥ª : ¯®áª®«ìªã ¢ åã¤è¥¬ á«ãç ¥ (¬ áᨢ A á®á⮨⠨§ ®¤¨å ¥¤¨¨æ) ¬¥ïîâáï k ¡¨â®¢, âॡã¥âáï O(nk) ®¯¥à 権, ç⮡ë á®áç¨â âì ®â 0 ¤® n. â®¡ë ¯®«ãç¨âì ¡®«¥¥ â®çãî ®æ¥ªã, § ¬¥â¨¬, çâ® ¥ ª ¦¤ë© à § § ç¥¨ï ¢á¥å k ¡¨â®¢ ¬¥ïîâáï. á ¬®¬ ¤¥«¥, ¬« ¤è¨© ¡¨â A[0] ¬¥ï¥âáï ¯à¨ ª ¦¤®¬ ¨á¯®«¥¨¨ ®¯¥à 樨 Increment (á¬. à¨á. 18.2). «¥¤ãî騩 ¯® áâ àè¨áâ¢ã ¡¨â A[1] ¬¥ï¥âáï ⮫쪮 ç¥à¥§ à §: ¯à¨ ®âáç¥â¥ ®â ã«ï ¤® n íâ®â ¡¨â ¬¥ï¥âáï bn=2c à §. «¥¥, A[N ] ¬¥ï¥âáï ⮫쪮 ª ¦¤ë© ç¥â¢¥àâë© à §, ¨ â ª ¤ «¥¥: ¥á«¨ 0 6 i 6 lg n, â® ¢ ¯à®æ¥áᥠáç¥â ®â 0 ¤® n ¡¨â A[i] ¬¥ï¥âáï bn=2ic à §, ¥á«¨ i > blg nc, â® ¡¨â i ¢®®¡é¥ ¥ ¬¥ï¥âáï. â «® ¡ëâì, ®¡é¥¥ ª®«¨ç¥á⢮ ®¯¥à 権 ®ç¨á⪨ ¨ ãáâ ®¢ª¨ ¡¨â®¢ à ¢® bX lg nc j k 1 1 n < nX = 2n: i=0 2i i=0 2i ¥¬ á ¬ë¬ ã¢¥«¨ç¥¨¥ ¤¢®¨ç®£® áçñâ稪 ®â 0 ¤® n âॡã¥â ¢ åã¤è¥¬ á«ãç ¥ O(n) ®¯¥à 権, ¯à¨çñ¬ ª®áâ â ¥ § ¢¨á¨â ®â k (¨ à ¢ 2); ãçñâãî á⮨¬®áâì ª ¦¤®© ®¯¥à 樨 ¬®¦® áç¨â âì à ¢®© O(n)=n = O(1) (ª®áâ â ®¯ïâì ¦¥ ¥ § ¢¨á¨â ®â k). ¯à ¦¥¨ï ।¯®«®¦¨¬, çâ® ¬ë à §à¥è¨«¨ ¥ ⮫쪮 ®¯¥à æ¨î Multipop, ® ¨ Multipush, ¤®¡ ¢«ïîéãî ª á⥪㠯ந§¢®«ì®¥ ª®«¨ç¥á⢮ í«¥¬¥â®¢. ®¦® «¨ ⥯¥àì áç¨â âì ãçñâãî á⮨¬®áâì ª ¦¤®© ®¯¥à 樨 à ¢®© O(1)? 18.1-2 ¯à¥¤¥«¨¬ ¤«ï k-¡¨â®¢®£® ¤¢®¨ç®£® áç¥â稪 ®¯¥à æ¨î Decrement (¢ëç¨â ¨¥ ¥¤¨¨æë ¯® ¬®¤ã«î 2k ). ®ª ¦¨â¥, ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n ®¯¥à 権 Increment ¨ Decrement ¢ åã¤è¥¬ á«ãç ¥ âॡã¥â ¢à¥¬¥¨ (nk). 18.1-3 áᬮâਬ ¯®á«¥¤®¢ ⥫ì®áâì ®¯¥à 権, ¢ ª®â®à®© á⮨¬®áâì ®¯¥à 樨 ®¬¥à i à ¢ i, ¥á«¨ i ï¥âáï á⥯¥ìî ¤¢®©ª¨, ¨ 1 ¢ ¯à®â¨¢®¬ á«ãç ¥. 楨⥠á।îî á⮨¬®áâì ®¤®© ®¯¥à 樨 ¢ ¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ®¯¥à 権. 18.1-1 18.2 ¥â®¤ ¯à¥¤®¯« âë ਠ¯à®¢¥¤¥¨¨ ¬®à⨧ 樮®£® «¨§ ¯® ¬¥â®¤ã ¯à¥¤®¯« âë (accounting method) ª ¦¤®© ®¯¥à 樨 ¯à¨á¢ ¨¢ ¥âáï ᢮ï ãçñâ ï ¥â®¤ ¯à¥¤®¯« âë 357 á⮨¬®áâì, ¯à¨ç¥¬ í⨠á⮨¬®á⨠¬®£ãâ ¡ëâì ª ª ¡®«ìè¥, â ª ¨ ¬¥ìè¥ à¥ «ìëå. ᫨ ãç¥â ï á⮨¬®áâì ¯à¥¢®á室¨â ॠ«ìãî, à §®áâì à áᬠâਢ ¥âáï ª ª १¥à¢ (credit), ª®â®àë© áç¨â ¥âáï á¢ï§ ë¬ á ª ª¨¬-â® ®¡ê¥ªâ®¬ áâàãªâãàë ¤ ëå ¨ à áᬠâਢ ¥âáï ª ª ¯à¥¤®¯« â § ¡ã¤ãéãî ®¡à ¡®âªã í⮣® ®¡ê¥ªâ . áç¥â í⮣® १¥à¢ ª®¬¯¥á¨àã¥âáï à §¨æ ¬¥¦¤ã ãç¥â®© ¨ ॠ«ì®© á⮨¬®áâìî ¤«ï â¥å ®¯¥à 権, ã ª®â®àëå ãç¥â ï á⮨¬®áâì ¨¦¥ ॠ«ì®©. ë ¤®«¦ë ¢ë¡¨à âì ãçñâë¥ á⮨¬®á⨠⠪, ç⮡ë ä ªâ¨ç¥áª ï á⮨¬®áâì ¥ ¯à¥¢®á室¨« á㬬ë ãç¥âëå á⮨¬®á⥩, â® ¥áâì ç⮡ë १¥à¢ ®áâ ¢ «áï ¥®âà¨æ ⥫ìë¬ ¢ «î¡®© ¬®¬¥â à ¡®âë. ¯¥à 樨 á® á⥪®¬ ந««îáâà¨à㥬 ¬¥â®¤ ¯à¥¤®¯« âë 㦥 ¨§¢¥á⮬ ¯à¨¬¥à¥ á® á⥪®¬. ¯®¬¨¬, ç⮠ॠ«ìë¥ á⮨¬®á⨠®¯¥à 権 á® á⥪®¬ ¬ë áç¨â ¥¬ â ª¨¬¨: Push 1; Pop 1; Multipop min(s; k); £¤¥ k | ª®«¨ç¥á⢮ í«¥¬¥â®¢, 㤠«ï¥¬ëå ¨§ á⥪ , s | à §¬¥à á⥪ . à¨á¢®¨¬ í⨬ ®¯¥à æ¨ï¬ â ª¨¥ ãçñâë¥ á⮨¬®áâ¨: Push 2; Pop 0; Multipop 0: 襬 ¯à¨¬¥à¥ ãçñâë¥ á⮨¬®á⨠¢á¥å ®¯¥à 権 ¯®áâ®ïë; ¢®§¬®¦ë á«ãç ¨, ª®£¤ í⨠á⮨¬®á⨠¥¯®áâ®ïë ¨ ¤ ¦¥ ¨¬¥îâ à §«¨çë¥ á¨¬¯â®â¨ª¨ ¤«ï à §ëå ®¯¥à 権. ®ª ¦¥¬ ⥯¥àì, çâ® ¢ë¡à ë¥ ¬¨ ãç¥âë¥ á⮨¬®á⨠¯®§¢®«ïîâ ¯®«®áâìî ¯®ªàëâì ॠ«ìãî á⮨¬®áâì ®¯¥à 権 á® á⥪®¬. 㤥¬ áç¨â âì, çâ® ¥¤¨¨æ¥© á⮨¬®á⨠®¯¥à 権 ï¥âáï ¤®«« à. ®á¯®«ì§ã¥¬áï «®£¨¥© ¬¥¦¤ã á⥪®¬ ¨ á⮯ª®© â ५®ª (á¬. à §¤. 11.1). ¥à¢® ç «ì® ¨ ®¤®© â ५ª¨ ¢ á⮯ª¥ ¥â (¬ë ç¨ ¥¬ á ¯ãá⮣® á⥪ ). ®£¤ ¬ë ¤®¡ ¢«ï¥¬ â ५ªã ª á⮯ª¥, ¬ë ¤®«¦ë § ¯« â¨âì 1 ¤®«« à § ®¯¥à æ¨î Push (íâ® ¥¥ ॠ«ì ï æ¥ ). ¤¨ ¤®«« à ®áâ ¥âáï ã á ¢ १¥à¢¥, ¢¥¤ì ãçñâ ï æ¥ ®¯¥à 樨 Push à ¢ ¤¢ã¬ ¤®«« à ¬. 㤥¬ ¢á直© à § ª« áâì íâ®â १¥à¢ë© ¤®«« à ᮮ⢥âáâ¢ãîéãî â ५ªã. ®£¤ ¢ ª ¦¤ë© ¬®¬¥â ª ¦¤®© â ५ª¥ ¢ 襩 á⮯ª¥ ¡ã¤¥â «¥¦ âì ¯® ¤®«« ஢®© ¡ã¬ ¦ª¥. ®«« à, «¥¦ 騩 â ५ª¥, | íâ® ¯à¥¤®¯« â § 㤠«¥¨¥ â ५ª¨ ¨§ á⮯ª¨. ®£¤ ¬ë ¯à®¨§¢®¤¨¬ ®¯¥à æ¨î Pop, ¬ë § ¥¥ ¨ç¥£® ¤®¯®«¨â¥«ì® ¥ ¯« ⨬ (ãçñâ ï á⮨¬®áâì Pop à ¢ 358 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ ã«î), à ᯫ 稢 ¥¬áï § 㤠«¥¨¥ â ५ª¨ «¥¦ 騬 ¥© १¥à¢ë¬ ¤®«« ஬. ®ç® â ª ¦¥ ¬ë ¨¬¥¥¬ ¢®§¬®¦®áâì ®¡êâì ®¯¥à æ¨î Multipop ¡¥á¯« ⮩: ¥á«¨ ¤® 㤠«¨âì k â ५®ª, § 㤠«¥¨¥ ª ¦¤®© ¨§ ¨å ¬ë à ᯫ ⨬áï «¥¦ 騬 ¥© ¤®«« ஬. â «® ¡ëâì, ¨§¡ëâ®ç ï ¯« â , ª®â®àãî ¬ë ¡¥à¥¬ § ®¯¥à æ¨î Push, ¯®ªàë¢ ¥â à áå®¤ë ®¯¥à 樨 Pop ¨ Multipop. (á⮨¬®áâì «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ®¯¥à 権 Push, Pop ¨ Multipop ¥ ¯à¥¢®á室¨â á㬬 ன ãçñ⮩ á⮨¬®áâ¨). ¢®¨çë© áçñâ稪 ¥è¨¬ â ª¨¬ ¦¥ ᯮᮡ®¬ § ¤ çã ® ¤¢®¨ç®¬ áçñâ稪¥. ¬ ¤® ¯à®¢¥á⨠¬®à⨧ æ¨®ë© «¨§ ¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ®¯¥à 権 Increment (¢ ¨á室®¬ á®áâ®ï¨¨ ¢ áç¥â稪¥ § ¯¨á ã«ì). ë 㦥 ®â¬¥ç «¨, çâ® ¢à¥¬ï à ¡®âë í⮩ ®¯¥à 樨 ¯à®¯®à樮 «ì® á㬬 ஬㠪®«¨ç¥áâ¢ã ãáâ ®¢®ª ¨ ®ç¨á⮪ ¡¨â®¢. 㤥¬ áç¨â âì, çâ® ª ¦¤ ï ãáâ ®¢ª ¨«¨ ®ç¨á⪠á⮨â 1 ¤®«« à. áâ ®¢¨¬ â ª¨¥ ãçñâë¥ á⮨¬®áâ¨: 2 ¤®«« à § ãáâ ®¢ªã ¡¨â , 0 § ®ç¨áâªã. ਠª ¦¤®© ãáâ ®¢ª¥ ¡¨â ®¤¨¬ ¨§ ¤¢ãå ¤®«« ஢ ãç¥â®© æ¥ë ¡ã¤¥¬ à ᯫ 稢 âìáï § ॠ«ìë¥ § âà âë íâã ãáâ ®¢ªã, ¤®«« à, ®áâ î騩áï ¢ १¥à¢¥, ¡ã¤¥¬ ¯à¨ªà¥¯«ïâì ª ãáâ ®¢«¥®¬ã ¡¨âã. ®áª®«ìªã ¯¥à¢® ç «ì® ¢á¥ ¡¨âë ¡ë«¨ ã«¥¢ë¬¨, ¢ ª ¦¤ë© ¬®¬¥â ª ª ¦¤®¬ã ¥ã«¥¢®¬ã ¡¨â㠡㤥⠯ਪ९«¥ १¥à¢ë© ¤®«« à. â «® ¡ëâì, § ®ç¨áâªã «î¡®£® ¡¨â ¨ç¥£® ¯« â¨âì ¬ ¥ ¯à¨¤¥âáï: ¬ë à ᯫ ⨬áï § ¥¥ ¤®«« ஢®© ¡ã¬ ¦ª®©, ¯à¨ªà¥¯«ñ®© ª í⮬㠡¨âã ¢ ¬®¬¥â ¥£® ãáâ ®¢ª¨. ¥¯¥àì «¥£ª® ®¯à¥¤¥«¨âì ãçñâãî á⮨¬®áâì ®¯¥à 樨 Increment: ¯®áª®«ìªã ª ¦¤ ï â ª ï ®¯¥à æ¨ï âॡã¥â ¥ ¡®«¥¥ ®¤®© ãáâ ®¢ª¨ ¡¨â , ¥¥ ãçñâãî á⮨¬®áâì ¬®¦® áç¨â âì à ¢®© 2 ¤®«« à ¬. «¥¤®¢ ⥫ì®, ä ªâ¨ç¥áª ï á⮨¬®áâì n ¯®á«¥¤®¢ ⥫ìëå ®¯¥à 権 Increment, ç¨ îé¨åáï á ã«ï, ¥áâì O(n), ¯®áª®«ìªã ® ¥ ¯à¥¢®á室¨â á㬬ë ãçñâëå á⮨¬®á⥩. ¯à ¦¥¨ï ।¯®«®¦¨¬, çâ® ¬ë à ¡®â ¥¬ á® á⥪®¬, ¬ ªá¨¬ «ìë© à §¬¥à ª®â®à®£® à ¢¥ k, ¯à¨ç¥¬ ¯®á«¥ ª ¦¤ëå k ®¯¥à 権 ¤¥« ¥âáï १¥à¢ ï ª®¯¨ï á⥪ . ®ª ¦¨â¥, çâ® á㬬 à ï á⮨¬®áâì n ®¯¥à 権 á® á⥪®¬ (¢ª«îç ï १¥à¢®¥ ª®¯¨à®¢ ¨¥) ¥áâì O(n), ¢ë¡à ¢ ¯®¤å®¤ï騥 ãçñâë¥ á⮨¬®áâ¨. 18.2-2 ¤¥« ©â¥ ã¯à ¦¥¨¥ 18.1-3 á ¯®¬®éìî ¬¥â®¤ ¯à¥¤®¯« âë. 18.2-1 ¥â®¤ ¯®â¥æ¨ «®¢ 359 18.2-3 ®¡ ¢¨¬ ª á¨á⥬¥ ®¯¥à 権 á ¤¢®¨çë¬ áçñâ稪®¬ ®¯¥à æ¨î Reset (®ç¨áâ¨âì ¢á¥ ¡¨âë). ¥ «¨§ã©â¥ áç¥â稪 ¡ §¥ ¢¥ªâ®à ¡¨â®¢ â ª¨¬ ®¡à §®¬, ç⮡ë á⮨¬®áâì ¯®á«¥¤®¢ ⥫ì®á⨠n ®¯¥à 権 Increment ¨ Reset, ¯à¨¬¥¥ëå ª áçñâ稪ã, ¢ ª®â®à®¬ ¯¥à¢® ç «ì® å®¤¨«áï ã«ì, ¡ë« à ¢ O(n), ¯à¨çñ¬ ª®áâ â ¥ ¤®«¦ § ¢¨á¥áâì ®â k | ç¨á« ¡¨â®¢ ¢ áçñâ稪¥. (ª § ¨¥: åà ¨â¥ ®¬¥à áâ à襣® ¥ã«¥¢®£® ¡¨â ). 18.3 ¥â®¤ ¯®â¥æ¨ «®¢ ¥â®¤ ¯®â¥æ¨ «®¢ (potential method) ï¥âáï ®¡®¡é¥¨¥¬ ¬¥â®¤ ¯à¥¤®¯« âë: §¤¥áì १¥à¢ ¥ à á¯à¥¤¥«ï¥âáï ¬¥¦¤ã ®â¤¥«ì묨 í«¥¬¥â ¬¨ áâàãªâãàë ¤ ëå ( ¯à¨¬¥à, ®â¤¥«ì묨 ¡¨â ¬¨ ¤¢®¨ç®£® áç¥â稪 ), ï¥âáï äãªæ¨¥© á®áâ®ï¨ï áâàãªâãàë ¤ ëå ¢ 楫®¬. â äãªæ¨ï §ë¢ ¥âáï "¯®â¥æ¨ «ì®© í¥à£¨¥©", ¨«¨ "¯®â¥æ¨ «®¬". ¡é ï á奬 ¬¥â®¤ ¯®â¥æ¨ «®¢ â ª®¢ . ãáâì ¤ áâàãªâãன ¤ ëå ¯à¥¤á⮨⠯ந§¢¥á⨠n ®¯¥à 権, ¨ ¯ãáâì Di | á®áâ®ï¨¥ áâàãªâãàë ¤ ëå ¯®á«¥ i-© ®¯¥à 樨 (¢ ç áâ®áâ¨, D0 | ¨á室®¥ á®áâ®ï¨¥). ®â¥æ¨ « (potential) ¯à¥¤áâ ¢«ï¥â ᮡ®© äãªæ¨î ¨§ ¬®¦¥á⢠¢®§¬®¦ëå á®áâ®ï¨© áâàãªâãàë ¤ ëå ¢® ¬®¦¥á⢮ ¤¥©á⢨⥫ìëå ç¨á¥«; íâ äãªæ¨ï §ë¢ ¥âáï ¥éñ ¯®â¥æ¨ «ì®© äãªæ¨¥© (potential function). ãáâì ci | ॠ«ì ï á⮨¬®áâì i-© ®¯¥à 樨. ç¥â®© á⮨¬®áâìî (amortized cost) i-© ®¯¥à 樨 ®¡ê¬ ç¨á«® ci = ci + (Di) ; (Di;1); b (18.1) â. ¥. á㬬ã ॠ«ì®© á⮨¬®á⨠®¯¥à 樨 ¯«îá ¯à¨à 饨¥ ¯®â¥æ¨ « ¢ १ã«ìâ ⥠¢ë¯®«¥¨ï í⮩ ®¯¥à 樨. ®£¤ á㬬 à ï ãç¥â ï á⮨¬®áâì ¢á¥å ®¯¥à 権 à ¢ n X i=1 c= bi n X i=1 ci + (Dn) ; (D0): (18.2) ᫨ ¬ 㤠«®áì ¯à¨¤ã¬ âì äãªæ¨î , ¤«ï ª®â®à®© (Dn) > (D0), â® á㬬 à ï ãç¥â ï á⮨¬®áâì ¤ áâ ¢¥àåîî ®æ¥ªã ¤«ï ॠ«ì®© á⮨¬®á⨠¯®á«¥¤®¢ ⥫ì®á⨠n ®¯¥à 権. ¥ ®£à ¨ç¨¢ ï ®¡é®áâ¨, ¬®¦® áç¨â âì, çâ® (D0) = 0 (á¬. ã¯à. 18.3-1). ®¢®àï ¥ä®à¬ «ì®, ¥á«¨ à §®áâì ¯®â¥æ¨ «®¢ (Di) ; (Di;1) ¯®«®¦¨â¥«ì , â® ãç¥â ï á⮨¬®áâì i-© ®¯¥à 樨 ¢ª«îç ¥â ¢ ᥡï १¥à¢ ("¯à¥¤®¯« âã" § ¡ã¤ã騥 ®¯¥à 樨); ¥á«¨ ¦¥ íâ à §®áâì ®âà¨æ ⥫ì , â® ãç¥â ï á⮨¬®áâì i-© ®¯¥à 樨 ¬¥ìè¥ à¥ «ì®©, ¨ à §¨æ ¯®ªàë¢ ¥âáï § áç¥â ª®¯«¥®£® ª í⮬㠬®¬¥âã ¯®â¥æ¨ « . 360 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ çñâë¥ á⮨¬®á⨠(¨ ⥬ á ¬ë¬ ®æ¥ª¨ ॠ«ìãî á⮨¬®áâì), à ááç¨â ë¥ á ¯®¬®éìî ¬¥â®¤ ¯®â¥æ¨ «®¢, § ¢¨áïâ ®â ¢ë¡®à ¯®â¥æ¨ «ì®© äãªæ¨¨, á ¬ íâ®â ¢ë¡®à ï¥âáï ¤¥«®¬ ⢮àç¥áª¨¬. ¯¥à 樨 á® á⥪®¬ ந««îáâà¨à㥬 ¬¥â®¤ ¯®â¥æ¨ «®¢ ¯à¨¬¥à¥ § ª®¬®© ¬ § ¤ ç¨ ® á⥪¥ á ®¯¥à æ¨ï¬¨ Push, Pop ¨ Multipop. ª ç¥á⢥ ¯®â¥æ¨ «ì®© äãªæ¨¨ ¢®§ì¬¥¬ ª®«¨ç¥á⢮ í«¥¬¥â®¢ ¢ á⥪¥. ®áª®«ìªã ¬ë ç¨ ¥¬ á ¯ãá⮣® á⥪ , ¨¬¥¥¬ (Di ) > 0 = (D0): â «® ¡ëâì, á㬬 ãçñâëå á⮨¬®á⥩ ®æ¥¨¢ ¥â ᢥàåã ॠ«ìãî á⮨¬®áâì ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権. ©¤¥¬ ⥯¥àì ãçñâë¥ á⮨¬®á⨠¨¤¨¢¨¤ã «ìëå ®¯¥à 権. ª ª ª ®¯¥à æ¨ï Push ¨¬¥¥â ॠ«ìãî á⮨¬®áâì 1 ¨ ª ⮬㠦¥ 㢥«¨ç¨¢ ¥â ¯®â¥æ¨ « 1, ¥ñ ãçñâ ï á⮨¬®áâì à ¢ 1 + 1 = 2; ®¯¥à æ¨ï Multipop, 㤠«ïîé ï ¨§ á⥪ m í«¥¬¥â®¢, ¨¬¥¥â á⮨¬®áâì m, ® 㬥ìè ¥â ¯®â¥æ¨ « m, â ª çâ® ¥ñ ãçñâ ï á⮨¬®áâì à ¢ m ; m = 0; â®ç® â ª ¦¥ à ¢ ã«î ¨ ãç¥â ï á⮨¬®áâì ®¯¥à 樨 Pop. ®«ì ᪮஠ãçñâ ï á⮨¬®áâì ª ¦¤®© ®¯¥à 樨 ¥ ¯à¥¢®á室¨â 2, á⮨¬®áâì ¯®á«¥¤®¢ ⥫ì®á⨠n ®¯¥à 権, ç¨ îé¨åáï á ¯ãá⮣® á⥪ , ¥áâì O(n). ¢®¨çë© áç¥â稪 à® «¨§¨à㥬 á ¯®¬®éìî ¬¥â®¤ ¯®â¥æ¨ «®¢ ¤¢®¨çë© áçñâ稪. ª ç¥á⢥ ¯®â¥æ¨ «ì®© äãªæ¨¨ ¢®§ì¬ñ¬ ª®«¨ç¥á⢮ ¥¤¨¨æ ¢ áç¥â稪¥. ©¤¥¬ ãçñâãî á⮨¬®áâì ®¯¥à 樨 Increment. ãáâì bi | ª®«¨ç¥á⢮ ¥¤¨¨æ ¢ áç¥â稪¥ ¯®á«¥ i-© ®¯¥à 樨, ¨ ¯ãáâì i-ï ®¯¥à æ¨ï Increment ®ç¨é ¥â ti ¡¨â®¢; ⮣¤ bi 6 bi;1 ; ti +1 (ªà®¬¥ ®ç¨á⪨ ¡¨â®¢, Increment ¬®¦¥â ¥éñ ãáâ ®¢¨âì ¢ ¥¤¨¨æã ¥ ¡®«¥¥ ®¤®£® ¡¨â ). â «® ¡ëâì, ॠ«ì ï á⮨¬®áâì i-£® Increment' ¥ ¯à¥¢®á室¨â ti + 1, ¥£® ãç¥â ï á⮨¬®áâì ¥áâì ci 6 (ti + 1) + (bi ; bi;1) 6 2: b ᫨ ®âáçñâ ç¨ ¥âáï á ã«ï, â® (D0) = 0, â ª çâ® (Di) > (D0) ¤«ï ¢á¥å i, á㬬 ãçñâëå á⮨¬®á⥩ ®æ¥¨¢ ¥â ᢥàåã á㬬ã ॠ«ìëå á⮨¬®á⥩, ¨ á㬬 à ï á⮨¬®áâì n ®¯¥à 権 Increment ¥áâì O(n) á ª®áâ ⮩ (¤¢®©ª®©), ¥ § ¢¨áï饩 ®â k (à §¬¥à áçñâ稪 ). ¥â®¤ ¯®â¥æ¨ «®¢ 361 ¥â®¤ ¯®â¥æ¨ «®¢ ¯®§¢®«ï¥â à §®¡à âìáï ¨ á® á«ãç ¥¬, ª®£¤ ®âáç¥â ç¨ ¥âáï ¥ á ã«ï. í⮬ á«ãç ¥ ¨§ (18.2) ¢ë⥪ ¥â, çâ® n X i=1 ci = n X i=1 c ; (Dn) + (D0); bi (18.3) ®âªã¤ , ¯à¨¨¬ ï ¢® ¢¨¬ ¨¥, çâ® bci 6 2 ¤«ï ¢á¥å i, ¯®«ãç ¥¬, çâ® n X i=1 ci 6 2n ; bn + b0: ®áª®«ìªã b0 6 k, ¤«ï ¤®áâ â®ç® ¤«¨ëå ¯®á«¥¤®¢ ⥫ì®á⥩ ®¯¥à 権 (n = (k) ®¯¥à 権 Increment) ॠ«ì ï á⮨¬®áâì ®æ¥¨¢ ¥âáï ª ª O(n), ¯à¨çñ¬ ª®áâ â ¢ O-§ ¯¨á¨ ¥ § ¢¨á¨â ¨ ®â k, ¨ ®â ç «ì®£® § 票ï áç¥â稪 . ¯à ¦¥¨ï 18.3-1 ãáâì ¯®â¥æ¨ «ì ï äãªæ¨ï â ª®¢ , çâ® (Di) > (D0) ¤«ï ¢á¥å i, ® (D0) 6= 0. ®ª ¦¨â¥, çâ® áãé¥áâ¢ã¥â ¯®â¥æ¨ «ì ï äãªæ¨ï 0, ¤«ï ª®â®à®© 0(D0) = 0, 0(Di) > 0 ¤«ï ¢á¥å i, ¨ ãçñâë¥ á⮨¬®áâ¨, à ááç¨â ë¥ á ¯®¬®éìî äãªæ¨¨ 0, ᮢ¯ ¤ îâ á ãçñâ묨 á⮨¬®áâﬨ, à ááç¨â 묨 á ¯®¬®éìî . 18.3-2 ¤¥« ©â¥ ã¯à ¦¥¨¥ 18-1.3 á ¯®¬®éìî ¬¥â®¤ ¯®â¥æ¨ «®¢. 18.3-3 ãáâì è áâàãªâãà ¤ ëå | ¤¢®¨ç ï ªãç á ®¯¥à æ¨ï¬¨ Insert ¨ Extract-Min, à ¡®â î騬¨ § ¢à¥¬ï O(lg n) ¢ åã¤è¥¬ á«ãç ¥, £¤¥ n | ª®«¨ç¥á⢮ í«¥¬¥â®¢. ਤ㬠©â¥ ¯®â¥æ¨ «ìãî äãªæ¨î , ¤«ï ª®â®à®© ãçñâ ï á⮨¬®áâì ®¯¥à 樨 Insert ¥áâì O(lg n), ãçñâ ï á⮨¬®áâì ®¯¥à 樨 Extract-Min ¥áâì O(1), ¨ á㬬 ãçñâëå á⮨¬®á⥩ ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥- à 権 ®æ¥¨¢ ¥â ᢥàåã ॠ«ìãî á⮨¬®áâì ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権. 18.3-4 ãáâì ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n ®¯¥à 権 Push, Pop ¨ Multipop ¯à¨¬¥ï¥âáï ª á⥪ã, ᮤ¥à¦ 饬ã s0 í«¥¬¥â®¢, ¨ ¯à¨¢®¤¨â ª á⥪ã, ᮤ¥à¦ 饬ã sn í«¥¬¥â®¢. ª®¢ á㬬 à ï ä ªâ¨ç¥áª ï á⮨¬®áâì íâ¨å ®¯¥à 権? 18.3-5 ãáâì ¢ ç «ì®¬ á®áâ®ï¨¨ ¤¢®¨çë© áç¥â稪 ᮤ¥à¦¨â b ¥¤¨¨æ, ¨ ¯ãáâì n = (b). ®ª ¦¨â¥, çâ® á⮨¬®áâì n ®¯¥à 権 Increment ¥áâì O(n) á ª®áâ ⮩, ¥ § ¢¨áï饩 ®â b. 18.3-6 ª ॠ«¨§®¢ âì ®ç¥à¥¤ì ¡ §¥ ¤¢ãå á⥪®¢ (ã¯à ¦¥¨¥ 11.1-6) â ª¨¬ ®¡à §®¬, ç⮡ë ãç¥â ï á⮨¬®áâì ®¯¥à 権 Enqueue ¨ Dequeue ¡ë« O(1)? 362 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ 18.4 ¨ ¬¨ç¥áª¨¥ â ¡«¨æë à¨ à ¡®â¥ á â ¡«¨æ¥© ¯¥à¥¬¥®£® à §¬¥à ¡ë¢ ¥â ¦¥« â¥«ì® § ¯à 訢 âì ¯ ¬ïâì ¡«®ª ¬¨: ª®£¤ ¢ â ¡«¨æ¥ ¥â ¬¥áâ ¤«ï ®¢®£® í«¥¬¥â , ¬ë § ¯à 訢 ¥¬ ¬¥áâ® ¤«ï â ¡«¨æë ¡®«ì襣® à §¬¥à ¨ ª®¯¨à㥬 § ¯¨á¨ ¨§ áâ ன â ¡«¨æë ¢ ®¢ãî. ਠí⮬ ®¢ë© à §¬¥à â ¡«¨æë ¢ë¡¨à ¥âáï á § ¯ ᮬ, çâ®¡ë ¥ ¯à¨è«®áì ¥¬¥¤«¥® à áè¨àïâì ¥ñ ¥éñ à §. ¯à®â¨¢, ¥á«¨ ¯à¨ 㤠«¥¨¨ § ¯¨á¥© â ¡«¨æ áâ ®¢¨âáï ¯®ç⨠¯ãá⮩, â® ¨¬¥¥â á¬ë᫠᪮¯¨à®¢ âì ¥ñ ®áâ ⮪ ¢ â ¡«¨æã ¬¥ì襣® à §¬¥à ¨ ®á¢®¡®¤¨âì ¯ ¬ïâì, § ïâãî áâ ன â ¡«¨æ¥©. í⮬ à §¤¥«¥ ¬ë ¯®ª ¦¥¬, ª ª ¬®¦® ¤¨ ¬¨ç¥áª¨ à áè¨àïâì ¨ ᦨ¬ âì â ¡«¨æë, ¥á«¨ ¬ë å®â¨¬, ç⮡ë ãçñâ ï á⮨¬®áâì ®¯¥à 権 ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï § ¯¨á¥© ª â ¡«¨æ¥ ¡ë« O(1), (å®âï ॠ«ì ï á⮨¬®áâì ¤®¡ ¢«¥¨© ¨«¨ 㤠«¥¨©, âॡãîé¨å à áè¨à¥¨ï ¨«¨ ᦠâ¨ï â ¡«¨æë, ¬®¦¥â ¡ëâì ¢¥«¨ª ). ਠí⮬ ¬ë ¡ã¤¥¬ á«¥¤¨âì, çâ®¡ë ª®íää¨æ¨¥â § ¯®«¥¨ï â ¡«¨æë (®â®è¥¨¥ ç¨á« ¨á¯®«ì§®¢ ëå ï祥ª ª ®¡é¥¬ã à §¬¥àã) ¡ë« ¥ ᫨誮¬ ¬ «. 㤥¬ áç¨â âì, çâ® ¤¨ ¬¨ç¥áª ï â ¡«¨æ ¯®¤¤¥à¦¨¢ ¥â ®¯¥à 樨 Table-Insert (¤®¡ ¢¨âì ª â ¡«¨æ¥) ¨ Table-Delete (㤠«¨âì ¨§ â ¡«¨æë). ਠ¤®¡ ¢«¥¨¨ § ¯¨á¨ ª â ¡«¨æ¥ ¬ë § ¨¬ ¥¬ ¢ â ¡«¨æ¥ ®¤ã ï祩ªã (slot), ¯à¨ 㤠«¥¨¨ § ¯¨á¨ ®¤ ï祩ª ®á¢®¡®¦¤ ¥âáï. ª ª®ªà¥â® ॠ«¨§®¢ ë á ¬ â ¡«¨æ ¨ í⨠®¯¥à 樨, á ¢ ¤ ë© ¬®¬¥â ¥ ¨â¥à¥áã¥â: íâ® ¬®¦¥â ¡ëâì á⥪ (à §¤¥« 11.1), ªãç (à §¤¥« 7.1), å¥è-â ¡«¨æ (£« ¢ 12), ¨«¨, ª®¥æ, ¬ áᨢ ¨«¨ ¡®à ¬ áᨢ®¢ (à §¤¥« 11.3). ª ¬ë 㦥 £®¢®à¨«¨ (á¬. â ª¦¥ £« ¢ã 12 ® å¥è¨à®¢ ¨¨), ¬¥®, ª®íää¨æ¨¥â®¬ § ¯®«¥¨ï (load factor) â ¡«¨æë T §®¢¥¬ ç¨á«® (T ), à ¢®¥ ®â®è¥¨î ç¨á« § ¯®«¥ëå ï祥ª ª à §¬¥àã â ¡«¨æë (®¡é¥¬ã ç¨á«ã ï祥ª), ¥á«¨ § ¬¥ â¥«ì ®â«¨ç¥ ®â ã«ï. «ï ¢ë஦¤¥®© â ¡«¨æë (¥ ᮤ¥à¦ 饩 ¨ ®¤®© ï祩ª¨) ª®íää¨æ¨¥â § ¯®«¥¨ï ¬ë áç¨â ¥¬ à ¢ë¬ ¥¤¨¨æ¥. ᫨ ®¯à¥¤¥«¥ë© â ª¨¬ ®¡à §®¬ ª®íää¨æ¨¥â § ¯®«¥¨ï ®£à ¨ç¥ ᨧ㠯®«®¦¨â¥«ìë¬ ç¨á«®¬, â® ¤®«ï ᢮¡®¤ëå ï祥ª ¢ â ¡«¨æ¥ ®£à ¨ç¥ ᢥàåã ç¨á«®¬, ¬¥ì訬 ¥¤¨¨æë. 18.4.1 áè¨à¥¨¥ â ¡«¨æë «ï ç « à áᬮâਬ ¤¨ ¬¨ç¥áªãî â ¡«¨æã, ¢ ª®â®àãî ¬®¦® ¤®¡ ¢«ïâì § ¯¨á¨, ¥«ì§ï 㤠«ïâì. ¬ïâì ¤«ï â ¡«¨æë ¢ë¤¥«ï¥âáï ¢ ¢¨¤¥ ¬ áᨢ ï祥ª. ¡«¨æ § ¯®«¥ , ª®£¤ ¢ ¥© ¥â ᢮¡®¤ëå ï祥ª (¨ë¬¨ á«®¢ ¬¨, ª®£¤ ª®íää¨æ¨¥â § ¯®«¥- ¨ ¬¨ç¥áª¨¥ â ¡«¨æë 363 ¨ï à ¢¥ 1)1. 㤥¬ áç¨â âì, çâ® è ®¯¥à 樮 ï á¨á⥬ , ª ª ¨ ¡®«ìè¨á⢮ ᮢ६¥ëå, á ¡¦¥ ¯®¤á¨á⥬®© ã¯à ¢«¥¨ï ¯ ¬ïâìî, ¯®§¢®«ïî饩 ¯à¨ ¥®¡å®¤¨¬®á⨠¢ë¤¥«ïâì ®¢ë¥ ¡«®ª¨ ¯ ¬ï⨠¨ ®á¢®¡®¦¤ âì § ïâë¥. ¬¥ï íâ® ¢ ¢¨¤ã, ¯à¨ ¯®¯ë⪥ ¤®¡ ¢¨âì § ¯¨áì ª § ¯®«¥®© â ¡«¨æ¥ ¬ë ¡ã¤¥¬ ¯à¥¤¢ à¨â¥«ì® à áè¨àïâì (expand) â ¡«¨æã á«¥¤ãî騬 ®¡à §®¬: ¢ë¤¥«¨¬ ¯ ¬ïâì ¯®¤ â ¡«¨æã 㢥«¨ç¥®£® à §¬¥à , ᪮¯¨à㥬 ¨¬¥î騥áï § ¯¨á¨ ¨§ áâ ன â ¡«¨æë ¢ ®¢ãî, ¯®á«¥ 祣® ¤®¡ ¢¨¬ § ¯¨áì 㦥 ª ®¢®© â ¡«¨æ¥. ª ¯®ª §ë¢ ¥â ®¯ëâ, à §ã¬® 㢥«¨ç¨¢ âì â ¡«¨æã ¢¤¢®¥ ¢ ¬®¬¥â ¯¥à¥¯®«¥¨ï. ᫨ ¬ë ⮫쪮 ¤®¡ ¢«ï¥¬ § ¯¨á¨ ª â ¡«¨æ¥, â® ¯à¨ â ª®© áâà ⥣¨¨ ª®íää¨æ¨¥â § ¯®«¥¨ï ¥ ¬®¦¥â áâ âì ¬¥ìè¥ 1=2 (¥á«¨ ® ¥ ¡ë« â ª¨¬ ¢ á ¬®¬ ç «¥), â. ¥. ¯ãáâë¥ ï祩ª¨ ¥ ¡ã¤ãâ § ¨¬ âì ¡®«¥¥ ¯®«®¢¨ë â ¡«¨æë. ®â ª ª ¢ë£«ï¤¨â «£®à¨â¬ Table-Insert, ®á®¢ ë© íâ¨å ¯à¨æ¨¯ å (table[T ] {㪠§ â¥«ì ¡«®ª ¯ ¬ïâ¨, ¢ ª®â®à®¬ à §¬¥é¥ â ¡«¨æ T , num[T ] | ª®«¨ç¥á⢮ § ¯¨á¥© ¢ â ¡«¨æ¥, size[T ] | à §¬¥à â ¡«¨æë, â. ¥. ª®«¨ç¥á⢮ ï祥ª; ¯¥à¢® ç «ì® size[T ] = num[T ] = 0): Table-Insert (T; x) 1 if size[T ] = 0 2 then ¢ë¤¥«¨âì ¡«®ª table[T ] á ®¤®© ï祩ª®© 3 size[T ] 1 4 if num[T ] = size[T ] 5 then ¢ë¤¥«¨âì ¡«®ª ¯ ¬ï⨠new-table á 2 size[T ] ï祩ª ¬¨ 6 ᪮¯¨à®¢ âì ¢á¥ § ¯¨á¨ ¨§ table[T ] ¢ new-table 7 ®á¢®¡®¤¨âì ¯ ¬ïâì, § ïâãî table[T ] 8 table[T ] new-table 9 size[T ] 2 size[T ] 10 § ¯¨á âì x ¢ table[T ] 11 num[T ] num[T ] + 1 à® «¨§¨à㥬 ¢à¥¬ï à ¡®âë í⮣® «£®à¨â¬ . ®¡á⢥® § ¯¨áì ¢ â ¡«¨æ㠯நá室¨â ¢ ñ¬ ⮫쪮 ¢ áâப å 6 ¨ 10. ⮨¬®áâì ®¯¥à 樨 "§ ¯¨á âì í«¥¬¥â ¢ â ¡«¨æã" ¯à¨¬¥¬ § ¥¤¨¨æã. 㤥¬ áç¨â âì, çâ® ¢à¥¬ï à ¡®âë ¢á¥© ¯à®æ¥¤ãàë TableInsert ¯à®¯®à樮 «ì® ª®«¨ç¥áâ¢ã ®¯¥à 権 "§ ¯¨á âì ¢ â ¡«¨æã"; ⥬ á ¬ë¬ ¬ë ¯®¤à §ã¬¥¢ ¥¬, çâ® § âà âë ¢ë¤¥«¥¨¥ ¯ ¬ï⨠¯®¤ â ¡«¨æã á ®¤®© ï祩ª®© (áâப 2) | ¢¥«¨ç¨ ®£à ¨ç¥ ï, ¨ çâ® § âà âë ¢ë¤¥«¥¨¥ ¨ ®á¢®¡®¦¤¥¨¥ ¯ ¬ï⨠¢ áâப å 5 ¨ 7 | ¢¥«¨ç¨ ¥ ¡®«ì襣® ¯®à浪 , 祬 § âà âë 1 ¥ª®â®àëå ¯à¨«®¦¥¨ïå ( ¯à¨¬¥à, ¢ å¥è-â ¡«¨æ å á ®âªàë⮩ ¤à¥á 樥©) à §ã¬® áç¨â âì â ¡«¨æã § ¯®«¥®© 㦥 ¢ â®â ¬®¬¥â, ª®£¤ ª®íää¨æ¨¥â § ¯®«¥¨ï ¯à¥¢ëè ¥â ¥ª®â®àãî ª®áâ âã, ¬¥ìèãî ¥¤¨¨æë (á¬. ã¯à. 18-4.2). 364 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ ¯¥à¥¯¨áë¢ ¨¥ ¨§ ®¤®© â ¡«¨æë ¢ ¤àã£ãî (áâப 6). ãáâì ⥯¥àì ¬ë ¯à¨¬¥¨«¨ n ®¯¥à 権 Table-Insert ª â ¡«¨æ¥, ¥ ᮤ¥à¦ 饩 ¯¥à¢® ç «ì® ¨ ®¤®© ï祩ª¨. ª®¢ á⮨¬®áâì i-© ®¯¥à 樨, ¯®á«¥ ª®â®à®© ¢ â ¡«¨æ¥ ¡ã¤¥â i í«¥¬¥â®¢? ¡®§ 稬 íâã á⮨¬®áâì ç¥à¥§ ci. ᫨ ¢ â ¡«¨æ¥ ¥áâì ¬¥áâ® (¨«¨ ¥á«¨ i = 1), â® ci = 1 (¬ë § ¯¨áë¢ ¥¬ ®¢ë© í«¥¬¥â ¢ â ¡«¨æã ®¤¨ à § ¢ áâப¥ 10. ᫨ ¦¥ ¬¥áâ ¢ â ¡«¨æ¥ ¥â ¨ ¤®¡ ¢«¥¨¥ § ¯¨á¨ ª â ¡«¨æ¥ ᮯ஢®¦¤ ¥âáï à áè¨à¥¨¥¬ â ¡«¨æë, â® ci = i: ®¤ ¥¤¨¨æ á⮨¬®á⨠¨¤¥â § ¯¨áì ®¢®£® í«¥¬¥â ¢ à áè¨à¥ãî â ¡«¨æã (áâப 10), ¨ ¥éñ i ; 1 ¥¤¨¨æ ¯®©¤¥â ª®¯¨à®¢ ¨¥ áâ ன â ¡«¨æë ¢ ®¢ãî (áâப 6). â «® ¡ëâì, ci 6 n ¯à¨ ¢á¥å i, ¨ £àã¡ ï ®æ¥ª á⮨¬®á⨠n ®¯¥à 権 Table-Insert ¥áâì O(n2). ®¦®, ®¤ ª®, íâ㠮楪ã ã«ãçè¨âì, ¥á«¨ ¯à®á«¥¤¨âì, ᪮«ì ç áâ® ¯à®¨á室¨â à áè¨à¥¨¥ â ¡«¨æë. á ¬®¬ ¤¥«¥, à áè¨à¥¨¥ ¯à®¨á室¨â ⮫쪮 ¢ ⮬ á«ãç ¥, ª®£¤ i ; 1 ï¥âáï á⥯¥ìî ¤¢®©ª¨, â ª çâ® bX lg nc n X ci 6 n + 2j < n + 2n = 3n: i=1 j =0 â «® ¡ëâì, á⮨¬®áâì n ®¯¥à 権 Table-Insert ¥ ¯à¥¢®á室¨â 3n, ¨ ãçñâãî á⮨¬®áâì ª ¦¤®© â ª®© ®¯¥à 樨 ¬®¦® áç¨â âì à ¢®© 3. ®ïâì, ®âªã¤ ¡¥à¥âáï ª®íää¨æ¨¥â 3, ¬®¦® á ¯®¬®éìî ¬¥â®¤ ¯à¥¤®¯« âë. ¬¥®, ¯à¨ ¢ë¯®«¥¨¨ ª ¦¤®© ®¯¥à 樨 TableInsert(T; x) ¡ã¤¥¬ ¢®á¨âì ¯® 3 ¤®«« à , ¯à¨ í⮬ ®¤¨ ¤®«« à ¥¬¥¤«¥® ¨§à á室㥬 ®¯« âã ®¯¥à 樨 "§ ¯¨á âì x ¢ table[T ]" ¢ áâப¥ 10, ¥éñ ®¤¨ ¤®«« à ¯à¨ªà¥¯¨¬ ª í«¥¬¥âã x, ®á⠢訩áï ®â¤ ¤¨¬ ®¤®¬ã ¨§ í«¥¬¥â®¢, 㦥 § ¯¨á ëå ¢ â ¡«¨æã (¨§ â¥å, çâ® ¥éñ ¥ ¯®«ã稫¨ ᢮¥£® ¤®«« à ) ⨬¨ ¤®«« à ¬¨ ¡ã¤¥â ®¯« 稢 âìáï ¯¥à¥®á § ¯¨á¥© ¨§ áâ ன â ¡«¨æë ¢ à áè¨à¥ãî. ਠí⮬ ¢á直© à §, ª®£¤ â ¡«¨æã ¥®¡å®¤¨¬® à áè¨àïâì, ª ¦¤ë© ¨§ ¥ñ í«¥¬¥â®¢ ¡ã¤¥â ¨¬¥âì ¯® ¤®«« àã. á ¬®¬ ¤¥«¥, ¯ãáâì ¯à¨ ¯à¥¤ë¤ã饬 à áè¨à¥¨¨ â ¡«¨æ ¨¬¥« à §¬¥à m ¨ ¡ë« à áè¨à¥ ¤® 2m. â¥å ¯®à ¬ë ¤®¡ ¢¨«¨ m í«¥¬¥â®¢, ¯à¨ í⮬ ¨ ¤®¡ ¢«¥ë¥ í«¥¬¥âë, ¨ ª ¦¤ë© ¨§ m áâ àëå í«¥¬¥â®¢ ¯®«ã稫¨ ¯® ¤®«« àã. ª¨¬ ®¡à §®¬, á«¥¤ãî饥 à áè¨à¥¨¥ â ¡«¨æë 㦥 ®¯« 祮. ®¦® ¯à® «¨§¨à®¢ âì «£®à¨â¬ Table-Insert ¨ á ¯®¬®éìî ¬¥â®¤ ¯®â¥æ¨ «®¢. ⮡ë í⮠ᤥ« âì, ¤® ¯à¨¤ã¬ âì â ªãî ¯®â¥æ¨ «ìãî äãªæ¨î, ª®â®à ï à ¢ ã«î áà §ã ¯®á«¥ à áè¨à¥¨ï â ¡«¨æë ¨ à á⠥⠯® ¬¥à¥ à áè¨à¥¨ï â ¡«¨æë (áâ ®¢ïáì à ¢®© à §¬¥àã â ¡«¨æë ¢ â®â ¬®¬¥â, ª®£¤ ᢮¡®¤ëå ï祥ª ¥ ®áâ ñâáï). ⨬ ãá«®¢¨ï¬ 㤮¢«¥â¢®àï¥â, ¯à¨¬¥à, äãªæ¨ï (T ) = 2 num[T ] ; size[T ]: (18.4) ç «ì®¥ § 票¥ ¯®â¥æ¨ « à ¢® ã«î, ¨ ¯®áª®«ìªã ¢ «î¡®© ¬®¬¥â ¥ ¬¥¥¥ ¯®«®¢¨ë â ¡«¨æë § ¯®«¥®, § 票¥ (T ) ¢á¥- ¨ ¬¨ç¥áª¨¥ â ¡«¨æë 365 ¨á㮪 18.3 §¬¥à â ¡«¨æë (sizei ), ç¨á«® § ¯¨á¥© (numi ) ¨ ¯®â¥æ¨ « (i = 2 numi ; sizei ) ª ª äãªæ¨ï ®â ç¨á« ®¯¥à 権 Table-Insert, ®¡®§ 祮£® ¡ãª¢®© i. à 䨪 num | ᯫ®è ï ⮪ ï «¨¨ï, £à 䨪 size | ᯫ®è ï ¦¨à ï «¨¨ï, £à 䨪 | ¯ãªâ¨à. ¥¯®á।á⢥® ¯¥à¥¤ à áè¨à¥¨¥¬ â ¡«¨æë ¢®§à á⠥⠤® numi , çâ®¡ë ®¯« â¨âì íâ® à áè¨à¥¨¥. à §ã ¯®á«¥ à áè¨à¥¨ï ¯®â¥æ¨ « ¯ ¤ ¥â ¤® ã«ï, ® âãâ ¦¥ ¨ ¢®§à á⠥⠤® 2 (§ áç¥â ¤®¡ ¢«¥¨ï § ¯¨á¨ ¯®á«¥ à áè¨à¥¨ï). £¤ ¥®âà¨æ ⥫ì®. â «® ¡ëâì, á㬬 ãçñâëå á⮨¬®á⥩ ®¯¥à 権 Table-Insert (®¯à¥¤¥«ñëå ¯® ¬¥â®¤ã ¯®â¥æ¨ «®¢ ª ª ä ªâ¨ç¥áª ï á⮨¬®áâì ¯«îá ¨§¬¥¥¨¥ ¯®â¥æ¨ « ) ®æ¥¨¢ ¥â ᢥàåã á㬬 àãî ä ªâ¨ç¥áªãî á⮨¬®áâì. ©¤¥¬ ãçñâë¥ á⮨¬®áâ¨. «ï í⮣® ®¡®§ 稬 ç¥à¥§ sizei, numi ¨ i à §¬¥à, ª®«¨ç¥á⢮ § ¯¨á¥© ¨ ¯®â¥æ¨ « â ¡«¨æë ¯®á«¥ i-© ®¯¥à 樨 Table-Insert. ᫨ íâ ®¯¥à æ¨ï ¥ ᮯ஢®¦¤ « áì à áè¨à¥¨¥¬ â ¡«¨æë, â® sizei = sizei;1, numi = numi;1 +1 ¨ ci = 1, ®âªã¤ ci = ci + i ; i;1 = 3: b ᫨ ¦¥ i-ï ®¯¥à 樨 Table-Insert ᮯ஢®¦¤ « áì à áè¨à¥¨¥¬ â ¡«¨æë, â® sizei=2 = sizei;1 = numi;1 ¨ ci = numi, ®âªã¤ ®¯ïâìâ ª¨ ci = ci + i ; i;1 = b = numi + (2numi ; sizei ) ; (2numi;1 ; sizei;1 ) = = numi + (2numi ; (2numi ; 2)) ; (2(numi ; 1) ; (numi ; 1)) = = numi + 2 ; (numi ; 1) = 3: à¨á. 18.3 ¨§®¡à ¦¥ § ¢¨á¨¬®áâì ¢¥«¨ç¨ numi, sizei ¨ i ®â i. ¡à â¨â¥ ¢¨¬ ¨¥, ª ª ª ¯«¨¢ ¥âáï ¯®â¥æ¨ « ª ¬®¬¥âã à áè¨à¥¨ï â ¡«¨æë. 366 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ 18.4.2 áè¨à¥¨¥ ¨ ᮪à 饨¥ â ¡«¨æë ¥¯¥àì § ©¬¥¬áï ®¯¥à 樥© Table-Delete (㤠«¨âì ¨§ â ¡«¨æë). ®¬¨¬® 㤠«¥¨ï ¥ã¦®© § ¯¨á¨ ¨§ â ¡«¨æë, ¦¥« â¥«ì® á®ªà â¨âì (contract) â ¡«¨æã, ª ª ⮫쪮 ª®íää¨æ¨¥â § ¯®«¥¨ï áâ ¥â ᫨誮¬ ¨§®ª. ¡é ï áâà ⥣¨ï âãâ â ¦¥, çâ® ¨ ¯à¨ à áè¨à¥¨¨ â ¡«¨æë: ª ª ⮫쪮 ç¨á«® § ¯¨á¥© ¯ ¤ ¥â ¨¦¥ ¥ª®â®à®£® ¯à¥¤¥« , ¬ë ¢ë¤¥«ï¥¬ ¯ ¬ïâì ¯®¤ ®¢ãî â ¡«¨æã ¬¥ì襣® à §¬¥à , ª®¯¨à㥬 ¢ ¬¥ìèãî â ¡«¨æë ¢á¥ § ¯¨á¨ ¨§ ¡®«ì襩, ¯®á«¥ 祣® ¢®§¢à é ¥¬ ®¯¥à 樮®© á¨á⥬¥ ¯ ¬ïâì, § ¨¬ ¢èãîáï áâ ன â ¡«¨æ¥©. ë ¯®áâந¬ «£®à¨â¬ Table-Delete á® á«¥¤ãî騬¨ ᢮©á⢠¬¨: ª®íää¨æ¨¥â § ¯®«¥¨ï ®£à ¨ç¥ ᨧ㠯®«®¦¨â¥«ì®© ª®áâ ⮩, ãçñâ ï á⮨¬®áâì ®¯¥à 権 Table-Insert ¨ Table-Delete ¥áâì O(1). ਠí⮬ ¬ë ¯®-¯à¥¦¥¬ã ¡ã¤¥¬ áç¨â âì, çâ® á⮨¬®áâì «£®à¨â¬ ®¯à¥¤¥«ï¥âáï ª®«¨ç¥á⢮¬ ®¯¥à 権 "§ ¯¨á âì ¢ â ¡«¨æã" (áâப¨ 6 ¨ 10 «£®à¨â¬ Table-Insert) ¨ ¯à®â¨¢®¯®«®¦ëå ¥© ®¯¥à 権 "ã¡à âì ¨§ â ¡«¨æë"; á⮨¬®áâì ª ¦¤®© ¨§ íâ¨å í«¥¬¥â àëå ®¯¥à 権 ¯à¨¬¥¬ § ¥¤¨¨æã. ¥à¢®¥, çâ® ¯à¨å®¤¨â ¢ £®«®¢ã, | 㤢 ¨¢ âì à §¬¥à â ¡«¨æë ¢á直© à §, ª®£¤ ¤® ¤®¡ ¢¨âì § ¯¨áì ª § ¯®«¥®© â ¡«¨æ¥, ¨ ᮪à é âì à §¬¥à â ¡«¨æë ¢¤¢®¥ ¢á直© à §, ª®£¤ ¢ १ã«ìâ ⥠㤠«¥¨ï § ¯¨á¨ ª®íää¨æ¨¥â § ¯®«¥¨ï ¯ ¤ ¥â ¨¦¥ 1=2. ਠ⠪®© áâà ⥣¨¨ ª®íää¨æ¨¥â § ¯®«¥¨ï ¨ª®£¤ ¥ ®¯ãáâ¨âáï ¨¦¥ 1=2, ®, ª ᮦ «¥¨î, á⮨¬®á⨠®¯¥à 権 ®ª §ë¢ îâáï ᫨誮¬ ¢¥«¨ª¨. á ¬®¬ ¤¥«¥, ¯ãáâì n | âãà «ì®¥ ç¨á«®, ïî饥áï á⥯¥ìî ¤¢®©ª¨. ।¯®«®¦¨¬, çâ® á ç « ¬ë ¤®¡ ¢¨«¨ ª ¯ãá⮩ (¥ ᮤ¥à¦ 饩 ï祥ª) â ¡«¨æ¥ n=2+1 § ¯¨á¥©, § ⥬ ¯à®¢¥«¨ ¥éñ n=2 ; 1 ®¯¥à æ¨î ¢ â ª®© ¯®á«¥¤®¢ ⥫ì®áâ¨: ¤¢ 㤠«¥¨ï, § ⥬ ¤¢ ¤®¡ ¢«¥¨ï, § ⥬ ®¯ïâì ¤¢ 㤠«¥¨ï, ®¯ïâì ¤¢ ¤®¡ ¢«¥¨ï, ¨ â. ¤. ®á«¥ n=2+1 ¤®¡ ¢«¥¨© à §¬¥à â ¡«¨æë áâ ¥â à ¢ë¬ n (¨ § ¯®«¥® ¡ã¤¥â çãâì ¡®«ìè¥ ¯®«®¢¨ë ï祥ª); ¯®á«¥ ¤¢ãå 㤠«¥¨© ¥£® ¯à¨¤¥âáï ᮪à â¨âì ¤® n=2; ¯®á«¥ á«¥¤ãîé¨å ¤¢ãå ¤®¡ ¢«¥¨© à §¬¥à ®¯ïâì ¢®§à áâ¥â ¤® n, ¯®á«¥ ¤¢ãå 㤠«¥¨© | ᮪à â¨âáï ¤® n=2, ¨ â. ¤. ⮨¬®áâì ª ¦¤®£® ᮪à é¥¨ï ¨ à áè¨à¥¨ï ¥áâì (n), ¨ ª®«¨ç¥á⢮ ᮪à 饨© ¨ à áè¨à¥¨© â ª¦¥ ¥áâì (n), â ª çâ® á⮨¬®áâì n ®¯¥à 権 ¥áâì (n2), á।ïï á⮨¬®áâì ¢ à áçñ⥠®¤ã ®¯¥à æ¨î ®ª §ë¢ ¥âáï à ¢®© (n). à¨ç¨ ¥ã¤ ç¨ ¯®ïâ : ¨áâà ⨢ ¢¥áì १¥à¢ ®¯« âã à áè¨à¥¨ï â ¡«¨æë, ¬ë âãâ ¦¥ ¢ë㦤¥ë ¥¥ ᮪à é âì, ¥ ãᯥ¢ ª®¯¨âì á।á⢠®¯« âã ¡ã¤ã饣® ᮪à 饨ï. ¦¥ ¨áâ®à¨ï ¨ á à áè¨à¥¨¥¬ â ¡«¨æë: ¬ë ¢ë㦤¥ë ¯à¥¤¯à¨¨¬ âì ¥£® áà §ã ¯®á«¥ ᮪à 饨ï, ¥ ãᯥ¢ ª®¯¨âì á।á⢠§ áç¥â ¤®¡ - ¨ ¬¨ç¥áª¨¥ â ¡«¨æë 367 ¢«¥¨ï § ¯¨á¥© ¢ â ¡«¨æã ¯®áâ®ï®£® à §¬¥à . ¥« ¯®©¤ãâ «ãçè¥, ¥á«¨ ¬ë à §à¥è¨¬ ª®íää¨æ¨¥âã § ¯®«¥¨ï ®¯ã᪠âìáï ¨¦¥ 1=2 [¢¢¥¤ï £¨áâ¥à¥§¨á ¢ è «£®à¨â¬, ª ª ᪠§ «¨ ¡ë 䨧¨ª¨]. ¬¥®, ¬ë ¯®-¯à¥¦¥¬ã 㤢 ¨¢ ¥¬ à §¬¥à â ¡«¨æë ¯à¨ ¯®¯ë⪥ ¤®¡ ¢¨âì § ¯¨áì ª § ¯®«¥®© â ¡«¨æ¥, ¢®â ᮪à 饨¥ â ¡«¨æë ¢¤¢®¥ ¬ë ¯à¥¤¯à¨¨¬ ¥¬ ⮫쪮 ⮣¤ , ª®£¤ ª®íää¨æ¨¥â § ¯®«¥¨ï ¯ ¤ ¥â ¨¦¥ 1=4. ª¨¬ ®¡à §®¬, ª®íää¨æ¨¥â § ¯®«¥¨ï ¢á¥£¤ ¡ã¤¥â ¡®«ìè¥ ¨«¨ à ¢¥ 1=4. à㣨¬¨ á«®¢ ¬¨, ¬ë áç¨â ¥¬ 50% ®¯â¨¬ «ìë¬ ª®íää¨æ¨¥â®¬ § ¯®«¥¨ï â ¡«¨æë, ¨ ¢®§¢à é ¥¬áï ª â ª®© á¨âã 樨, ª ª ⮫쪮 ª®íää¨æ¨¥â § ¯®«¥¨ï ®âª«®¨âáï ®â ®¯â¨¬ «ì®£® ¢ ¤¢ à § (¢ «î¡ãî áâ®à®ã). ë ¥ ¡ã¤¥¬ ¢ë¯¨áë¢ âì ¯á¥¢¤®ª®¤ ¤«ï «£®à¨â¬ TableDelete | ® «®£¨ç¥ ª®¤ã ¤«ï Table-Insert. ⬥⨬ ⮫쪮, çâ® ¯à¨ 㤠«¥¨¨ ¨§ â ¡«¨æë ¯®á«¥¤¥© § ¯¨á¨ à §ã¬® ¯®«®áâìî ®á¢®¡®¦¤ âì ¯ ¬ïâì, § ¨¬ ¥¬ãî ï祩ª ¬¨ â ¡«¨æë. ¨¦¥ ¬ë ¡ã¤¥¬ áç¨â âì, çâ® ¢ «£®à¨â¬¥ Table-Delete íâ® ¯à¥¤ãᬮâ८, ¨ë¬¨ á«®¢ ¬¨, çâ® size[T ] = 0, ª ª ⮫쪮 num[T ] = 0. «ï ®æ¥ª¨ á⮨¬®á⨠¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ®¯¥à 権 TableInsert ¨ Table-Delete, ¯à¨¬¥¥ëå ª ¯ãá⮩ â ¡«¨æ¥, ¬ë ¢®á¯®«ì§ã¥¬áï ¬¥â®¤®¬ ¯®â¥æ¨ «®¢. ®â¥æ¨ «ì ï äãªæ¨ï ¡ã¤¥â à ¢ ã«î, ª®£¤ ª®íää¨æ¨¥â § ¯®«¥¨ï ®¯â¨¬ «¥ (à ¢¥ 1=2) | â ª ¡ã¤¥â áà §ã ¯®á«¥ ᮪à é¥¨ï ¨«¨ à áè¨à¥¨ï. ®â¥æ¨ « ¢®§à á⠥⠯® ¬¥à¥ ⮣®, ª ª ª®íää¨æ¨¥â § ¯®«¥¨ï ¯à¨¡«¨¦ ¥âáï ª 1 ¨«¨ 1=4. ¯®¬¨¬, çâ® ª®íää¨æ¨¥â § ¯®«¥¨ï (T ) à ¢¥ num[T ]=size[T ], ¥á«¨ size[T ] = 6 0, ¨ à ¢¥ 1, ¥á«¨ size[T ] (¨ ⥬ á ¬ë¬ num[T ]) à ¢® ã«î. 訬 âॡ®¢ ¨ï¬ 㤮¢«¥â¢®àï¥â â ª ï ¯®â¥æ¨ «ì ï äãªæ¨ï: (T ) = ( 2 num[T ] ; size[T ]; ¥á«¨ [T ] 6 1=2; size[T ]=2 ; num[T ]; ¥á«¨ [T ] > 1=2: (18.5) ¬¥â¨¬, çâ® (T ) = 0 ¯à¨ (T ) = 1=2 (¯® «î¡®© ¨§ ¤¢ãå ä®à¬ã«), çâ® ¯®â¥æ¨ « ¯ãá⮩ â ¡«¨æë à ¢¥ ã«î ¨ çâ® ¯®â¥æ¨ « ¢á¥£¤ ¥®âà¨æ ⥫¥. ᫨ ª®íää¨æ¨¥â § ¯®«¥¨ï à ¢¥ 1 ¨«¨ 1=4, â® [T ] = num[T ], â ª çâ® ª®¯«¥®£® ¯®â¥æ¨ « ¤®áâ â®ç® ¤«ï ®¯« âë à áè¨à¥¨ï ¨«¨ ᮪à 饨ï â ¡«¨æë. à¨á. 18.4 ¨§®¡à ¦¥®, ª ª ¬¥ï¥âáï ¯®â¥æ¨ « ¢ ¯à®æ¥áᥠ¢ë¯®«¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 Table-Insert ¨ Table-Delete. ©¤¥¬ ãçñâë¥ á⮨¬®á⨠®¯¥à 権 ¯à¨ â ª®¬ ¯®â¥æ¨ «¥ . ᫨ ®¯¥à æ¨ï Table-Insert ¨«¨ Table-Delete ¥ ᮯ஢®¦¤ ¥âáï à áè¨à¥¨¥¬ ¨«¨ ᮪à 饨¥¬ â ¡«¨æë, â® ¨§¬¥¥¨¥ ¯®â¥æ¨ « ¥ ¯à¥¢®á室¨â 2 (size ¥ ¬¥ï¥âáï, num ¬¥ï¥âáï 1), â ª çâ® ãçñâ ï á⮨¬®áâì ¥ ¯à¥¢®á室¨â 3. á«ãç ¥ à áè¨à¥¨ï ¨«¨ ᦠâ¨ï â ¡«¨æë ãçñâ ï á⮨¬®áâì ®ª §ë¢ ¥âáï à ¢®© 1, â ª ª ª ¨§¬¥¥¨ï ¢ ¯®â¥æ¨ «¥ ª®¬¯¥á¨àãîâ § âà âë ª®¯¨à®¢ ¨¥. 368 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ ¨á㮪 18.4 §¬¥à â ¡«¨æë (sizei ), ç¨á«® § ¯¨á¥© (numi ) ¨ ¯®â¥æ¨ « ( 2 num i ; sizei ; ¥á«¨ i > 1=2; i = sizei =2 ; numi ; ¥á«¨ i < 1=2; ª ª äãªæ¨ï ®â ç¨á« ®¯¥à 権 Table-Insert ¨ Table-Delete, ®¡®§ 祮£® ¡ãª¢®© i. à 䨪 num | ᯫ®è ï ⮪ ï «¨¨ï, £à 䨪 size | ᯫ®è ï ¦¨à ï «¨¨ï, £à 䨪 | ¯ãªâ¨à. ¥¯®á।á⢥® ¯¥à¥¤ à áè¨à¥¨¥¬ ¨«¨ ᮪à 饨¥¬ â ¡«¨æë ¯®â¥æ¨ « à ¢¥ ª®«¨ç¥áâ¢ã § ¯¨á¥©. ®¡é¥¬ ¨ 楫®¬, ãçñâ ï á⮨¬®áâì ª ¦¤®© ¨§ ®¯¥à 権 ¥áâì O(1), â ª çâ® ä ªâ¨ç¥áª ï á⮨¬®áâì ¯®á«¥¤®¢ ⥫ì®á⨠¨§ n ®¯¥à 権 ¥áâì O(n). ¯à ¦¥¨ï ¡êïá¨â¥, ¯®ç¥¬ã ¤«ï á«ãç ï i;1 < i 6 1=2 ãçñâ ï á⮨¬®áâì ®¯¥à 樨 Table-Insert à ¢ ã«î. 18.4-2 ®ç¥¬ã ¤¨ ¬¨ç¥áªãî å¥è-â ¡«¨æã á ®âªàë⮩ ¤à¥á 樥© à §ã¬® áç¨â âì § ¯®«¥®© (¨ à áè¨àïâì) ¥éñ ¤® ⮣®, ª ª ª®íää¨æ¨¥â § ¯®«¥¨ï áâ ¥â à ¢ë¬ ¥¤¨¨æ¥? ª § ¯à®£à ¬¬¨à®¢ âì ¤®¡ ¢«¥¨¥ § ¯¨á¨ ¢ â ªãî â ¡«¨æã, çâ®¡ë ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ãçñ⮩ á⮨¬®á⨠¤®¡ ¢«¥¨ï ¡ë« O(1)? ®ç¥¬ã ¥«ì§ï £ à â¨à®¢ âì, çâ® ¬ ⥬ â¨ç¥áª®¥ ®¦¨¤ ¨¥ ॠ«ì®© á⮨¬®á⨠ª ¦¤®£® ¤®¡ ¢«¥¨ï ¡ã¤¥â O(1)? 18.4-3 ®ª ¦¨â¥, çâ® ãçñâ ï á⮨¬®áâì (®â®á¨â¥«ì® ¯®â¥æ¨ « (18.5)) ®¯¥à 樨 Table-Delete, ¯à¨¬¥¥®© ª ¤¨ ¬¨ç¥áª®© â ¡«¨æ¥ á ª®íää¨æ¨¥â®¬ § ¯®«¥¨ï > 1=2, ¥ ¯à¥¢®á室¨â ¥ª®â®à®© ª®áâ âë. 18.4-4 áᬮâਬ â ªãî ॠ«¨§ æ¨î ®¯¥à 樨 Table-Delete: ¥á«¨ ¢ १ã«ìâ ⥠㤠«¥¨ï í«¥¬¥â ª®íää¨æ¨¥â § ¯®«¥¨ï ¯ 18.4-1 ¤ ç¨ ª £« ¢¥ 18 369 ¤ ¥â ¨¦¥ 1=3, â® ¬ë ᮪à é ¥¬ â ¡«¨æã âà¥âì ¥ñ à §¬¥à . ®«ì§ãïáì ¯®â¥æ¨ «®¬ (T ) = j2 num[T ] ; size[T ]j; ¯®ª ¦¨â¥, çâ® ¯à¨ í⮬ ãçñâ ï á⮨¬®áâì ®¯¥à 樨 TableDelete ®£à ¨ç¥ . ¤ ç¨ 18-1 ¢®¨çë© áç¥â稪 á ®¡à âë¬ ¯®à浪®¬ ¡¨â®¢ £« ¢¥ 32 ¬ë à á᪠¦¥¬ ® ¢ ¦®¬ «£®à¨â¬¥, §ë¢ ¥¬®¬ ¡ëáâàë¬ ¯à¥®¡à §®¢ ¨¥¬ ãàì¥. â®â «£®à¨â¬ ç¨ ¥âáï á ®¡à é¥¨ï ¡¨â®¢ ¨¤¥ªá (bit-reversal permutation) ã ¬ áᨢ A[0 : :n ; 1], £¤¥ n = 2k (k | âãà «ì®¥ ç¨á«®). ¬¥®, ª ¦¤®¥ A[a] § ¬¥ï¥âáï A[revk (a)], £¤¥ revk (a) ¯®«ãç ¥âáï, ¥á«¨ ¯à¥¤áâ ¢¨âì ç¨á«® a ¢ ¢¨¤¥ ¯®á«¥¤®¢ ⥫ì®á⨠k ¡¨â®¢, § ⥬ P ¯¨á âì í⨠¡¨âë ¢ ;1 a 2i , â® ®¡à ⮬ ¯®à浪¥. 묨 á«®¢ ¬¨, ¥á«¨ a = ki=0 i revk (a) = k;1 X i=0 ak;i;1 2i: ਬ¥à: rev4(3) = 12, ¯®áª®«ìªã 3 ¢ ¤¢®¨ç®© § ¯¨á¨ ¥áâì 0011, 1100 | ¤¢®¨ç ï § ¯¨áì ç¨á« 12. . ¥£ª® ¢ëç¨á«¨âì revk (a) § ¢à¥¬ï (k). ª ¯à®¨§¢¥á⨠®¯¥à æ¨î ®¡à é¥¨ï ¡¨â®¢ ¨¤¥ªá ¢ ¬ áᨢ¥ ¤«¨®© n = 2k § ¢à¥¬ï O(nk)? â®¡ë ¢ë¯®«ïâì ®¡à 饨¥ ¡¨â®¢ ¨¤¥ªá ¡ëáâ॥, ¬®¦® ¯à¨¬¥¨âì ¬®à⨧ æ¨®ë© «¨§ ª ¯à®æ¥¤ãॠ¯à¨¡ ¢«¥¨ï ¥¤¨¨æë ®¡®à®â, ª®â®à ï ¤ ñâ revk (a + 1) ¯® ¤ ®¬ã revk (a). 뤥«¨¬ ¬ áᨢ ¡¨â®¢ ¤«¨®© k ¤«ï åà ¥¨ï áç¥â稪 á ®¡à éñë¬ ¯®à浪®¬ ¡¨â®¢. ¬ 㦮 à §à ¡®â âì ¯à®æ¥¤ãàã Bit-ReversedIncrement, ¯¥à¥¢®¤ïéãî revk (a) ¢ revk (a) + 1. ᫨, ¯à¨¬¥à, k = 4 ¨ ¯¥à¢® ç «ì® ¢ áç¥â稪¥ á ®¡à éñë¬ ¯®à浪®¬ ¡¨â®¢ ¡ë«® § ¯¨á ® 0000, â® ¢ १ã«ìâ ⥠¯®á«¥¤®¢ ⥫ìëå ¢ë§®¢®¢ ¯à®æ¥¤ãàë Bit-Reversed-Increment § 票ï áçñâ稪 ¡ã¤ãâ à ¢ë 0000; 1000; 0100; 1100; 0010; 1010; : : : = 0; 8; 4; 12; 2; 10; : : : : ¡. ãáâì ª®¬¯ìîâ¥à 㬥¥â § ¥¤¨¨ç®¥ ¢à¥¬ï ¯à®¢®¤¨âì á k¡¨â묨 á«®¢ ¬¨ â ª¨¥ ®¯¥à 樨, ª ª ᤢ¨£ ¯à®¨§¢®«ì®¥ ª®«¨ç¥á⢮ ¡¨â®¢, «®£¨ç¥áª¨¥ ¨ ¨ â. ¤. ª 㦮 ॠ«¨§®¢ âì ¯à®æ¥¤ãàã Bit-Reversed-Increment, çâ®¡ë ®¡à 饨¥ ¡¨â®¢ ¨¤¥ªá ã ¬ áᨢ ¤«¨®© n = 2k § ¨¬ «® O(n) ¢à¥¬¥¨? ¢. ãáâì § ¥¤¨¨ç®¥ ¢à¥¬ï k-¡¨â®¥ á«®¢® ¬®¦® ᤢ¨ãâì «¨èì ®¤¨ ¡¨â. ®¦® «¨ ¢ í⮬ á«ãç ¥ ¯à®¢¥á⨠®¡à 饨¥ ¡¨â®¢ ¨¤¥ªá § ¢à¥¬ï O(n)? 370 « ¢ 18 ¬®à⨧ æ¨®ë© «¨§ 18-2 ¨ ¬¨ç¥áª¨© ¤¢®¨çë© ¯®¨áª ⮡ë ᮪à â¨âì ¢à¥¬ï ¤®¡ ¢«¥¨¥ í«¥¬¥â ª ®âá®àâ¨à®¢ ®¬ã ¬ áᨢã, ¬®¦® ¯®áâ㯨âì â ª. á¯à¥¤¥«¨¬ í«¥¬¥âë ®âá®àâ¨à®¢ ®£® ¬ áᨢ ¤«¨ë n ¯® k = dlog2 ne ¬ áᨢ ¬ A0; A1; : : :; Ak á«¥¤ãî騬 ®¡à §®¬: ¥á«¨ hnPk;1 ; nk;2 ; : : :; n0i | ¤¢®;1 n 2i ), â® ¬ áᨢ A ç¥ì ¯ã- ¨ç®¥ ¯à¥¤áâ ¢«¥¨¥ ç¨á« n (â. ¥. n = ki=0 i i â ®! ¯ãáâ, ¥á«¨ ni = 0, ¨ ᮤ¥à¦¨â 2i í«¥¬¥â®¢, ¥á«¨ ni = 1; ¢ í⮬ ¯®á«¥¤¥¬ á«ãç ¥ ¬ áᨢ Ai ®âá®àâ¨à®¢ . à á¯à¥¤¥«¥¨¥ n í«¥¬¥â®¢ ¯® ¬ áᨢ ¬ A0; : : :; An ¨ª ª¨å ãá«®¢¨© ¥ ª« ¤ë¢ ¥âáï. . ¥ «¨§ã©â¥ ¤«ï í⮩ áâàãªâãàë ¤ ëå ®¯¥à æ¨î Search (¨áª âì). ª®¢® ¥¥ ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥? ¡. ¥ «¨§ã©â¥ ®¯¥à æ¨î Insert (¤®¡ ¢¨âì í«¥¬¥â). 楨⥠¥¥ á⮨¬®áâì ¢ åã¤è¥¬ á«ãç ¥ ¨ ãçñâãî á⮨¬®áâì (¥á«¨ ¢®§¬®¦ë ⮫쪮 ¤®¡ ¢«¥¨ï, ® ¥ 㤠«¥¨ï). ¢. ª ॠ«¨§®¢ âì ®¯¥à æ¨î Delete (㤠«¨âì)? 18-3 ¡ « á¨à®¢ ë¥ ¯® ¢¥áã ¤¥à¥¢ìï ãáâì x | 㧥« ¤¢®¨ç®£® ¤¥à¥¢ ; ç¥à¥§ size[x] ®¡®§ 稬 ç¨á«® «¨áâ쥢 ¢ ¯®¤¤¥à¥¢¥ á ¢¥à訮© ¢ x. ãáâì ç¨á«® 㤮¢«¥â¢®àï¥â ¥à ¢¥áâ¢ã 1=2 6 < 1. 㤥¬ £®¢®à¨âì, ç⮠㧥« x á¡ « á¨à®¢ (-balanced), ¥á«¨ size[left[x]] 6 size[x] ¨ size[right[x]] 6 size[x]: ¢®¨ç®¥ ¤¥à¥¢® §ë¢ ¥âáï -á¡ « á¨à®¢ ë¬, ¥á«¨ ¢á¥ ¥£® 㧫ë, ªà®¬¥ «¨áâ쥢, -á¡ « á¨à®¢ ë. ®¤å®¤ ª á¡ « á¨à®¢ ë¬ ¤¥à¥¢ìï¬, ® ª®â®à®¬ ¨¤¥â à¥çì ¨¦¥, ¡ë« ¯à¥¤«®¦¥ . ࣥ§¥ (G. Varghese). . ãáâì x | 㧥« ¤¢®¨ç®£® ¤¥à¥¢ ¯®¨áª . ¡êïá¨â¥, ª ª ¯¥à¥áâநâì ¯®¤¤¥à¥¢® á ª®à¥¬ ¢ x, çâ®¡ë ®® áâ «® 1=2á¡ « á¨à®¢ ë¬ (á ¬®¥ ᨫ쮥 âॡ®¢ ¨¥ á¡ « á¨à®¢ ®áâ¨) è «£®à¨â¬ ¤®«¦¥ à ¡®â âì § ¢à¥¬ï (size[x]) ¨ ¯®«ì§®¢ âìáï ¤®¯®«¨â¥«ì®© ¯ ¬ïâìî ®¡ê¥¬ O(size[x]). ¡. ®ª ¦¨â¥, çâ® ¯®¨áª ¢ -á¡ « á¨à®¢ ®¬ ¤¢®¨ç®¬ ¤¥à¥¢¥ á n 㧫 ¬¨ âॡã¥â ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬¥¨ O(log n). «¥¥ ¡ã¤¥¬ áç¨â âì, çâ® > 1=2. 㤥¬ áç¨â âì, çâ® ¯®á«¥ ¢ë¯®«¥¨ï ®¯¥à 権 Insert ¨ Delete (ॠ«¨§®¢ ëå áâ ¤ àâë¬ ®¡à §®¬), ¯à®¨§¢®¤¨âáï ¡ « á¨à®¢ª : ¥á«¨ ª ª®©-⮠㧥« ¤¥à¥¢ ¯¥à¥áâ « ¡ëâì -á¡ « á¨à®¢ ë¬, ¢ë¡¨à ¥âáï ¡«¨¦ ©è¨© ª ª®àî ¨§ â ª¨å 㧫®¢ ¨ ᮮ⢥âáâ¢ãî饥 ¯®¤¤¥à¥¢® ¯¥à¥áâà ¨¢ ¥âáï ¢ 1=2-á¡ « á¨à®¢ ®¥ (á¬. ¯ãªâ ). à® «¨§¨à㥬 íâã á奬㠡 « á¨à®¢ª¨ á ¯®¬®éìî ¬¥â®¤ ¯®â¥æ¨ «®¢. ª ®¡ëç®, ¯®â¥æ¨ « ¡ã¤¥â ⥬ ¡®«ìè¥, 祬 ¤ «ìè¥ ¬¥ç ¨ï ª £« ¢¥ 18 371 ¤¥à¥¢® ®â á¡ « á¨à®¢ ®£®. ãáâì x | 㧥« ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥ T ; ¯®«®¦¨¬ (x) = jsize[left[x]] ; size[right[x]j ¨ ®¯à¥¤¥«¨¬ ¯®â¥æ¨ « (T ) ¯® ä®à¬ã«¥ (T ) = c X (x); x2T :(x)>2 £¤¥ c | ¤®áâ â®ç® ¡®«ìè ï ¯®«®¦¨â¥«ì ï ª®áâ â , § ¢¨áïé ï ®â . ¢. ®ª ¦¨â¥, çâ® ¯®â¥æ¨ « ¤¢®¨ç®£® ¤¥à¥¢ ¢á¥£¤ ¥®âà¨æ ⥫¥ ¨ çâ® ¯®â¥æ¨ « 1=2-á¡ « á¨à®¢ ®£® ¤¥à¥¢ à ¢¥ ã«î. £. 㤥¬ áç¨â âì, çâ® á⮨¬®áâì ¯¥à¥áâனª¨ ¤¥à¥¢ á m ¢¥àè¨ ¬¨ ¢ 1=2-á¡ « á¨à®¢ ®¥ à ¢ m ( ¯®¬¨¬, çâ® ç¨á«® ®¯¥à 権 ¥áâì O(m)). ª®¢ ¤®«¦ ¡ëâì ¢¥«¨ç¨ c ¤«ï ¤ ®£® , ç⮡ë ãçñâ ï á⮨¬®áâì ¯¥à¥áâனª¨ ¯®¤¤¥à¥¢ , ¥ ïî饣®áï -á¡ « á¨à®¢ ë¬, ¡ë« O(1)? ¤. ®ª ¦¨â¥, çâ® ãçñâ ï á⮨¬®áâì 㤠«¥¨ï ¨«¨ ¢áâ ¢ª¨ í«¥¬¥â ¢ -á¡ « á¨à®¢ ®¥ ¤¥à¥¢® á n ¢¥àè¨ ¬¨ ¥áâì O(log n). ¬¥ç ¨ï ¥â®¤ £à㯯¨à®¢ª¨ ¢ ¬®à⨧ 樮®¬ «¨§¥ ®¯¨á ã å®, ®¯ªà®äâ ¨ «ì¬ [4]. àìï [189] à áᬠâਢ ¥â ¬¥â®¤ë ¯à¥¤®¯« âë ¨ ¯®â¥æ¨ «®¢ ¨ ¯à¨¢®¤¨â ¥ª®â®àë¥ ¯à¨«®¦¥¨ï. ®£« á® àìïã, ¬¥â®¤ ¯à¥¤®¯« âë ¢®á室¨â ª à ¡®â ¬ ¬®£¨å ¢â®à®¢, ¢ ⮬ ç¨á«¥ à ã (M. R. Brown), àìï (R. E. Tarjan), ¤«áâ® (S. Huddleston) ¨ ¥«ìå®à (K. Mehlhorn), ¢ â® ¢à¥¬ï ª ª ¬¥â®¤ ¯®â¥æ¨ «®¢ ¨§®¡à¥â¥ «¥ â®à®¬ (D.D. Sleator). ¥à¬¨ " ¬®à⨧ æ¨®ë© «¨§" ¢¢¥¤ñ «¥ â®à®¬ ¨ àìﮬ. V ®«¥¥ á«®¦ë¥ áâàãªâãàë ¤ ëå ¢¥¤¥¨¥ ª ¨ ¢ ç á⨠III, ¢ í⮩ ç á⨠¬ë à áᬮâਬ áâàãªâãàë ¤ ëå, ª®â®àë¥ åà ïâ ¨§¬¥ïî騥áï ¬®¦¥á⢠| ® ¨å «¨§ ¡ã¤¥â ¥áª®«ìª® ¡®«¥¥ á«®¦ë¬. ç áâ®áâ¨, ¢ ¤¢ãå £« ¢ å ¬ë ¯à¨¬¥ï¥¬ â¥å¨ªã ¬®à⨧ 樮®£® «¨§ (£« ¢ 18). £« ¢¥ 19 ¬ë à áᬠâਢ ¥¬ -¤¥à¥¢ìï | á¡ « á¨à®¢ ë¥ ¤¥à¥¢ìï ®¯à¥¤¥«ñ®£® ¢¨¤ , 㤮¡ë¥ ¤«ï åà ¥¨ï ¨ä®à¬ 樨 ¤¨áª å. ¯¥æ¨ä¨ª ¤¨áª®¢ ¢ ⮬, çâ® ¢ ¦® ¥ á⮫쪮 ¢à¥¬ï ¢ëç¨á«¥¨©, ᪮«ìª® ç¨á«® ®¯¥à 権 ç⥨ï/§ ¯¨á¨ ¡«®ª®¢. ¨á«® â ª¨å ®¯¥à 権 ¯à®¯®à樮 «ì® ¢ëá®â¥ ¤¥à¥¢ , ¨ ¯®â®¬ã ¢ëá®âã ¤¥à¥¢ì¥¢ ¢ ¦® ¯®¤¤¥à¦¨¢ âì ¥¡®«ì让. £« ¢ å 20 ¨ 21 ¬ë à áᬠâਢ ¥¬ à §«¨çë¥ à¥ «¨§ 樨 ᫨¢ ¥¬ëå ªãç | áâàãªâãàë ¤ ëå, ª®â®à ï ¯®¤¤¥à¦¨¢ ¥â ®¯¥à 樨 ¤®¡ ¢«¥¨ï í«¥¬¥â (Insert), ®âë᪠¨ï ¬¨¨¬ã¬ (Minimum), 㤠«¥¨ï ¬¨¨¬ «ì®£® í«¥¬¥â (Extract-Min) ¨ ®¡ê¥¤¨¥¨ï (Union) ¤¢ãå ªãç. ®¬¨¬® íâ¨å ®¯¥à 権, ¬®£ãâ ¡ëâì íä䥪⨢® ॠ«¨§®¢ ë â ª¦¥ ®¯¥à 樨 㤠«¥¨ï í«¥¬¥â ¨ 㬥ìè¥¨ï ¥£® ª«îç . ¨®¬¨ «ìë¥ ªãç¨ (£« ¢ 20) ¢ë¯®«ïîâ ª ¦¤ãî ®¯¥à æ¨î (¢ åã¤è¥¬ á«ãç ¥) § ¢à¥¬ï O(lg n), £¤¥ n | ç¨á«® í«¥¬¥â®¢ ¢ ªãç¥ (¨«¨ ¢ ¤¢ãå ᫨¢ ¥¬ëå ªãç å). å ¯à¥¨¬ãé¥á⢮ (¯® áà ¢¥¨î á ¤¢®¨ç묨 ªãç ¬¨) á®á⮨⠢ ¢®§¬®¦®á⨠¡ëáâண® ᫨ï¨ï ¤¢ãå ªãç (¤«ï ¤¢®¨çëå ªãç íâ® âॡã¥â ¢à¥¬¥¨ (n)). ¨¡® ç稥¢ë ªãç¨ (£« ¢ 21) ¥éñ ¡®«¥¥ íä䥪⨢ë (¯® ªà ©¥© ¬¥à¥ ⥮à¥â¨ç¥áª¨: ¨¬¥îâ «ãçèãî ᨬ¯â®â¨ªã). à ¢¤ , §¤¥áì à¥çì ¨¤ñâ 㦥 ®¡ ãçñ⮩ á⮨¬®á⨠®¯¥à 権. ¯¥à 樨 Insert, Minimum ¨ Union ¨¬¥ñâ ãçñâãî ( â ª¦¥ ä ªâ¨ç¥áªãî) á⮨¬®áâì O(1). ¯¥à 樨 Extract-Min ¨ Delete ¨¬¥îâ ãçñâãî á⮨¬®áâì O(lg n). ¨¡®«¥¥ áãé¥á⢥ ¢®§¬®¦®áâì ¡ëáâà® ¢ë¯®«ïâì ®¯¥à æ¨î Decrease-Key (¥ñ ãçñâ ï á⮨¬®áâì ¥áâì O(1)). ¬¥® ¡« £®¤ àï í⮬㠬®£¨¥ ( ᥣ®¤ï訩 ¤¥ì) 374 áâì V ®«¥¥ á«®¦ë¥ áâàãªâãàë ¤ ëå "४®à¤®" ¡ëáâàë¥ «£®à¨â¬ë ®¡à ¡®âª¨ £à 䮢 ¨á¯®«ì§ãîâ 䨡® ç稥¢ë ªãç¨. ª®¥æ, ¢ £« ¢¥ 22 ¬ë à áᬠâਢ ¥¬ áâàãªâãàë ¤ ëå ¤«ï åà ¥¨ï ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠(®â®è¥¨© íª¢¨¢ «¥â®áâ¨). ë ¨¬¥¥¬ ¢ ¢¨¤ã á«¥¤ãî饥: ¨¬¥¥âáï ¥ª®â®à®¥ ª®¥ç®¥ ¬®¦¥á⢮, à §¡¨â®¥ ª« ááë. ç «ìë© ¬®¬¥â ª ¦¤ë© ª« áá ᮤ¥à¦¨â ¯® ®¤®¬ã í«¥¬¥âã; § ⥬ ¨å ¬®¦® ¯®¯ à® ®¡ê¥¤¨ïâì. «î¡®© ¬®¬¥â ®¤¨ ¨§ í«¥¬¥â®¢ ª« áá áç¨â ¥âáï ¥£® ¯à¥¤áâ ¢¨â¥«¥¬; ®¯¥à æ¨ï Find-Set(x) ¤ ñ⠯।áâ ¢¨â¥«ì ª« áá , ᮤ¥à¦ 饣® x, ®¯¥à æ¨ï Union(x; y) ®¡ê¥¤¨ï¥â ¤¢ ª« áá . ª §ë¢ ¥âáï, çâ® ¢¥áì¬ ¯à®á⮥ ¯à¥¤áâ ¢«¥¨¥ í⮩ ¨ä®à¬ 樨 ¢ ¢¨¤¥ ª®à¥¢®£® ¤¥à¥¢ ¢¥áì¬ íä䥪⨢®: ¯®á«¥¤®¢ ⥫ì®áâì ¨§ m ®¯¥à 権 âॡã¥â ¢à¥¬¥¨ O(m(m; n)), £¤¥ (m; n) | ¨áª«îç¨â¥«ì® ¬¥¤«¥® à áâãé ï äãªæ¨ï. à ¢¤ , ¤®ª § âì íâ㠮楪㠢¥áì¬ ¥¯à®áâ® (¥á¬®âàï ¯à®áâ®âã á ¬®© áâàãªâãàë ¤ ëå), ¨ ¬ë ®£à ¨ç¨¬áï ¤®ª § ⥫ìá⢮ çãâì ¬¥¥¥ ᨫ쮩 ®æ¥ª¨. §ã¬¥¥âáï, íâ®â à §¤¥« ª¨£¨ ¨ª ª ¥ ¯à¥â¥¤ã¥â ¯®«®âã | ¬®¦¥á⢮ ¨â¥à¥áëå áâàãªâãà ¤ ëå ¢ ¥£® ¥ ¢®è«¨. ª ¦¥¬ ¥ª®â®àë¥ ¨§ ¨å: âàãªâãà ¤ ëå, ¯®¤¤¥à¦¨¢ îé ï ®¯¥à 樨 ®âë᪠¨ï ¬¨¨¬ã¬ , ¬ ªá¨¬ã¬ , ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï í«¥¬¥â , ¯®¨áª , 㤠«¥¨ï ¬¨¨¬ «ì®£® ¨ ¬ ªá¨¬ «ì®£® í«¥¬¥â®¢, ¯®¨áª ¯à¥¤ë¤ã饣® ¨ á«¥¤ãî饣® í«¥¬¥â®¢ § ¢à¥¬ï O(lg lg n) ¢ åã¤è¥¬ á«ãç ¥ | ¢ ¯à¥¤¯®«®¦¥¨¨, çâ® ¢á¥ ª«îç¨ ï¢«ïîâáï 楫묨 ç¨á« ¬¨ ®â 1 ¤® n (¢ ¬¤¥ ® á [194]). ¨ ¬¨ç¥áª¨¥ ¤¥à¥¢ìï (dynamic trees), ª®â®àë¥ ¯à¥¤«®¦¨«¨ «¥ â®à ¨ àìï [177] (á¬. â ª¦¥ àìï [188]). â áâàãªâãà ¤ ëå åà ¨â «¥á ¨§ ¥¯¥à¥á¥ª îé¨åáï ª®à¥¢ëå ¤¥à¥¢ì¥¢. ¦¤®¥ ॡ஠ª ¦¤®£® ¤¥à¥¢ ¨¬¥¥â ¥ª®â®àë© ¢¥é¥á⢥ãî á⮨¬®áâì. ®¦® ¨áª âì த¨â¥«¥©, ª®à¨, á⮨¬®á⨠àñ¡¥à, â ª¦¥ ¬¨¨¬ «ìãî á⮨¬®áâì à¥¡à ¯ã⨠®â ¤ ®© ¢¥àè¨ë ª ª®àî. ®¦® 㤠«ïâì àñ¡à , ¬¥ïâì á⮨¬®á⨠àñ¡¥à ¯ã⨠ª ª®àî, ¯à¨¢¨¢ âì ª®à¥ì ¤¥à¥¢ ª ¤à㣮¬ã ¤¥à¥¢ã, â ª¦¥ ¤¥« âì § ¤ ãî ¢¥àè¨ã ª®à¥¬ ¤¥à¥¢ , ¢ ª®â®à®¬ ® 室¨âáï. ᥠí⨠®¯¥à 樨 ¬®¦® ॠ«¨§®¢ âì á ãçñ⮩ á⮨¬®áâìî O(lg n); ¡®«¥¥ á«®¦ ï ॠ«¨§ æ¨ï £ à â¨àã¥â ¢à¥¬ï à ¡®âë O(lg n) ¨ ¢ åã¤è¥¬ á«ãç ¥. áè¨àïî騥áï ¤¥à¥¢ìï (splay trees) â ª¦¥ ¯à¥¤«®¦¨«¨ «¥ â®à ¨ àìï [178] (á¬. â ª¦¥ àìï [188]). ¨ ¯à¥¤áâ ¢«ïîâ ᮡ®© ¤¢®¨çë¥ ¤¥à¥¢ìï á ®¡ëç묨 ¤«ï ¤¥à¥¢ì¥¢ ¯®¨áª ®¯¥à æ¨ï¬¨; ¨å ãçñâ ï á⮨¬®áâì á®áâ ¢«ï¥â O(lg n) (§ áçñâ ⮣®, çâ® ¢à¥¬ï ®â ¢à¥¬¥¨ ¤¥à¥¢® ¯®¤¢¥à£ ¥âáï ¡ « á¨à®¢ª¥). áè¨àïî騥áï ¤¥à¥¢ìï ¬®¦® ¯à¨¬¥¨âì ¯à¨ à¥ «¨§ 樨 ¤¨ ¬¨ç¥áª¨å ¤¥à¥¢ì¥¢. âàãªâãàë ¤ ëå á á®åà ¥¨¥¬ ¯à¥¤ë¤ãé¨å ¢¥àᨩ (persistent áâì V ®«¥¥ á«®¦ë¥ áâàãªâãàë ¤ ëå 375 data structures) ¯®§¢®«ïîâ ¯®«ãç âì ¨ä®à¬ æ¨î ® ¯à¥¤ë¤ãé¨å á®áâ®ï¨ïå (¢¥àá¨ïå ᮤ¥à¦¨¬®£®) áâàãªâãàë, ¨®£¤ ¨ ¬¥ïâì ¯à¥¤ë¤ã騥 ¢¥àᨨ. ¡éãî ¬¥â®¤¨ªã á®åà ¥¨ï ¯à¥¤ë¤ãé¨å ¢¥àᨩ ᯨá®ç®© áâàãªâãàë ¤ ëå (á ¥¡®«ì訬¨ ¯®â¥àﬨ ¯® ¢à¥¬¥¨ ¨ ¯ ¬ïâ¨) ¯à¥¤«®¦¨«¨ à¨áª®««, à ª, «¥ â®à ¨ àìï [59]. ¯®¬¨¬, çâ® ¢ § ¤ ç¥ 14-1 ¯®¤®¡ ï áâàãªâãà áâந« áì ¤«ï ¤¨ ¬¨ç¥áª®£® ¬®¦¥á⢠. 19 -¤¥à¥¢ìï í⮩ £« ¢¥ ¬ë à áᬮâਬ ®¤¨ ¨§ ¢¨¤®¢ á¡ « á¨à®¢ ëå ¤¥à¥¢ì¥¢, ¯à¨ ª®â®à®¬ ®¡¥á¯¥ç¨¢ ¥âáï íä䥪⨢®¥ åà ¥¨¥ ¨ä®à¬ 樨 ¬ £¨âëå ¤¨áª å ¨ ¤à㣨å ãáâனá⢠å á ¯àï¬ë¬ ¤®áâ㯮¬ | -¤¥à¥¢ìï. -¤¥à¥¢ìï ¯®å®¦¨ ªà á®-ç¥àë¥ ¤¥à¥¢ìï; à §¨æ ¢ ⮬, çâ® ¢ -¤¥à¥¢¥ ¢¥àè¨ ¬®¦¥â ¨¬¥âì ¬®£® ¤¥â¥©, ¯à ªâ¨ª¥ ¤® âëáïç¨ (¢ § ¢¨á¨¬®á⨠®â å à ªâ¥à¨á⨪ ¨á¯®«ì§ã¥¬®£® ¤¨áª ). « £®¤ àï í⮬㠪®áâ â ¢ ®æ¥ª¥ O(log n) ¤«ï ¢ëá®âë ¤¥à¥¢ áãé¥á⢥® ¬¥ìè¥, 祬 ¤«ï ç¥à®-ªà áëå ¤¥à¥¢ì¥¢. ª ¨ ç¥à®-ªà áë¥ ¤¥à¥¢ìï, -¤¥à¥¢ìï ¯®§¢®«ïîâ ॠ«¨§®¢ âì ¬®£¨¥ ®¯¥à 樨 á ¬®¦¥á⢠¬¨ à §¬¥à n § ¢à¥¬ï O(log n). ਬ¥à -¤¥à¥¢ ¯®ª § à¨á. 19.1. ¥àè¨ x, åà ïé ï n[x] í«¥¬¥â®¢, ¨¬¥¥â n[x]+1 ¤¥â¥©. à ï騥áï ¢ x ª«îç¨ á«ã¦ â £à ¨æ ¬¨, à §¤¥«ïî騬¨ ¢á¥å ¥ñ ¯®â®¬ª®¢ n[x] + 1 £à㯯; § ª ¦¤ãî £àã¯¯ã ®â¢¥ç ¥â ®¤¨ ¨§ ¤¥â¥© x. ਠ¯®¨áª¥ ¢ -¤¥à¥¢¥ ¬ë áà ¢¨¢ ¥¬ ¨áª®¬ë© ª«îç á n[x] ª«îç ¬¨, åà ï騬¨áï ¢ x, ¨ ¯® १ã«ìâ â ¬ áà ¢¥¨ï ¢ë¡¨à ¥¬ ®¤¨ ¨§ n[x] + 1 ¯ã⥩. ®ç®¥ ®¯à¥¤¥«¥¨¥ -¤¥à¥¢ ¨ «®£ à¨ä¬¨ç¥áª ï (®â ç¨á« ¢¥àè¨) ®æ¥ª ¥£® ¢ëá®âë ¯à¨¢®¤ïâáï ¢ à §¤¥«¥ 19.1. à §¤¥«¥ 19.2 ®¯¨á ë ®¯¥à 樨 ¯®¨áª ¨ ¤®¡ ¢«¥¨ï í«¥¬¥â ¢ ¤¥à¥¢®; 㤠«¥¨¥ ®¡á㦤 ¥âáï ¢ 19.3. ® ¯à¥¦¤¥ ¤® ®¡êïá¨âì, ¢ 祬 ®â«¨ç¨¥ ¬ £¨âëå ¤¨áª®¢ ®â ®¯¥à ⨢®© ¯ ¬ïâ¨, ¤¥« î饥 ¢ë£®¤ë¬ ¨á¯®«ì§®¢ ¨¥ -¤¥à¥¢ì¥¢. ¨á㮪 19.1 -¤¥à¥¢® á £«¨©áª¨¬¨ ᮣ« á묨 ¢ ª ç¥á⢥ ª«î祩. ãâà¥ïï ¢¥àè¨ x á n[x] ª«îç ¬¨ ¨¬¥¥â n[x]+1 ¤¥â¥©. ᥠ«¨áâìï ¨¬¥îâ ®¤ã ¨ âã ¦¥ £«ã¡¨ã. ¢¥â«ë¥ ¢¥àè¨ë ¯à®á¬®âà¥ë ¢ ¯à®æ¥áᥠ¯®¨áª ¡ãª¢ë R. « ¢ 19 -¤¥à¥¢ìï 377 ¨á㮪 19.2 ¨áª®¢®¤ âàãªâãàë ¤ ëå ¤¨áª¥ ®¬¯ìîâ¥à ¨á¯®«ì§ã¥â à §ë¥ ¢¨¤ë ¯ ¬ïâ¨. ¯¥à ⨢ ï ¯ ¬ïâì (main memory) ¯à¥¤áâ ¢«ï¥â ᮡ®© ¬¨ªà®á奬ë, ª ¦¤ ï ¨§ ª®â®àëå ¢¬¥é ¥â ¬¨««¨®ë ¡¨â®¢. ¥ â ª®© ¯ ¬ï⨠(¢ à áçñ⥠¡¨â) ¢ëè¥, 祬 ¤«ï ¢â®à¨ç®© ¯ ¬ï⨠(secondary storage). ¨¯¨çë© ª®¬¯ìîâ¥à ¨á¯®«ì§ã¥â ¢ ª ç¥á⢥ ¢â®à¨ç®© ¯ ¬ï⨠¦ñá⪨© ¤¨áª, ®¡êñ¬ ª®â®à®£® ¬®¦¥â ¥áª®«ìª® ¯®à浪®¢ ¯à¥¢®á室¨âì ®¡êñ¬ ®¯¥à ⨢®© ¯ ¬ïâ¨. £¨â ï £®«®¢ª (á¬. à¨á. 19.2) § ¯¨áë¢ ¥â ¨ ç¨â ¥â ¤ ë¥ ¬ £¨â®¬ á«®¥ ¢à é î饣®áï ¤¨áª . ëç £ ¬®¦¥â ¯¥à¥¬¥áâ¨âì ¥ñ ¢¤®«ì à ¤¨ãá ¤¨áª . ®á«¥ í⮣® £®«®¢ª ç¨â ¥â/¯¨è¥â ¤ ë¥ ®¤®© ¨§ ¤®à®¦¥ª (tracks) ¤¨áª . ¡ëç® ª ¦¤ ï ¤®à®¦ª ¤¥«¨âáï ®¯à¥¤¥«ñ®¥ ç¨á«® à ¢ëå ¯® à §¬¥àã ᥪâ®à®¢ (ª ¦¤ë© ¬®¦¥â § ¨¬ âì ¥áª®«ìª® ª¨«®¡ ©â®¢). ¡ëç® § ¯¨áë¢ îâ ¨«¨ áç¨âë¢ îâ ᥪâ®à 楫¨ª®¬. à¥¬ï ¤®áâ㯠(access time), ª®â®à®¥ âॡã¥âáï çâ®¡ë ¯®¤¢¥á⨠£®«®¢ªã ª 㦮¬ã ¬¥áâã ¤¨áª , ¬®¦¥â ¡ëâì ¤®áâ â®ç® ¡®«ì訬 (¤® 20 ¬¨««¨á¥ªã¤); ¢ ®¯¥à ⨢®© ¯ ¬ï⨠⠪®© § ¤¥à¦ª¨ ¥â, ¯®â®¬ã çâ® ¥â ¬¥å ¨ç¥áª®£® ¯¥à¥¬¥é¥¨ï. ª ⮫쪮 £®«®¢ª ¤¨áª 㦥 ãáâ ®¢«¥ , § ¯¨áì ¨«¨ ç⥨¥ ¤¨áª ¯à®¨á室¨â ¤®¢®«ì® ¡ëáâà®. áâ® ¯®«ãç ¥âáï, çâ® ®¡à ¡®âª ¯à®ç¨â ®£® § ¨¬ ¥â ¬¥ìè¥ ¢à¥¬¥¨, 祬 ¯®¨áª 㦮£® ᥪâ®à . ®í⮬ã, ®æ¥¨¢ ï ª ç¥á⢮ «£®à¨â¬ ¬ë ¡ã¤¥¬ ãç¨âë¢ âì ¤¢ ¯ à ¬¥âà : ç¨á«® ®¡à 饨© ª ¤¨áªã, ¨ ¢à¥¬ï ¢ëç¨á«¥¨© (¢à¥¬ï à ¡®âë ¯à®æ¥áá®à ). âண® £®¢®àï, ¢à¥¬ï ¤®áâ㯠§ ¢¨á¨â ®â ¯®«®¦¥¨ï £®«®¢ª¨ ®â®á¨â¥«ì® 㦮£® ᥪâ®à . ® ¬ë ¥ ®¡à é ¥¬ íâ® ¢¨¬ ¨ï ¨ ãç¨âë¢ ¥¬ «¨èì ç¨á«® ®¡à 饨© ª ¤¨áªã (â. ¥. ç¨á«® ᥪâ®à®¢, ª®â®àë¥ ã¦® áç¨â âì ¨«¨ § ¯¨á âì). «£®à¨â¬ë, à ¡®â î騥 á -¤¥à¥¢ìﬨ, åà ïâ ¢ ®¯¥à ⨢®© 378 « ¢ 19 -¤¥à¥¢ìï ¨á㮪 19.3 -¤¥à¥¢® ¢ëá®âë 2 ᮤ¥à¦¨â ¡®«¥¥ ¬¨««¨ ठª«î祩. ¦¤ ï ¢¥àè¨ á®¤¥à¦¨â 1000 ª«î祩. ᥣ® ¨¬¥¥âáï 1001 ¢¥àè¨ £«ã¡¨¥ 1 ¨ ¡®«¥¥ ¬¨««¨® «¨áâ쥢 £«ã¡¨¥ 2. ª ¦¤®© ¢¥à訥 x § ¯¨á ® ç¨á«® n[x] ª«î祩 ¢ ¥©. ¯ ¬ï⨠«¨èì ¥¡®«ìèãî ç áâì ¢á¥© ¨ä®à¬ 樨 (䨪á¨à®¢ ®¥ ç¨á«® ᥪâ®à®¢), ¨ ¯®í⮬㠥ñ à §¬¥à ¥ ®£à ¨ç¨¢ ¥âáï à §¬¥à®¬ ¤®áâ㯮© ¯ ¬ïâ¨. ë à áᬠâਢ ¥¬ ¤¨áª ª ª ¡®«ì让 ãç á⮪ ¯ ¬ïâ¨, à ¡®â á ª®â®àë¬ ¯à®¨á室¨â á«¥¤ãî騬 ®¡à §®¬: ¯¥à¥¤ ⥬ ª ª à ¡®â âì á ®¡ê¥ªâ®¬ x, ¬ë ¤®«¦ë ¢ë¯®«¨âì á¯¥æ¨ «ìãî ®¯¥à æ¨î DiskRead(x) (ç⥨¥ á ¤¨áª ). ®á«¥ ¢¥á¥¨ï ¨§¬¥¥¨© ¢ è ®¡ê¥ªâ x, ¬ë ¢ë¯®«ï¥¬ ®¯¥à æ¨î Disk-Write(x) (§ ¯¨áì ¤¨áª): 1 ::: 2 x 㪠§ â¥«ì ª ª®©-â® ®¡ê¥ªâ 3 Disk-Read(x) 4 ®¯¥à 樨, ª®â®àë¥ ¨á¯®«ì§ãîâ ¨/¨«¨ ¨§¬¥ïîâ ¯®«ï ®¡ê¥ªâ , ª®â®àë© ãª §ë¢ ¥â x. 5 Disk-Write(x) . ¥ 㦮, ¥á«¨ . ¯®«ï ®¡ê¥ªâ ¥ ¨§¬¥¨«¨áì. 6 ®¯¥à 樨, ª®â®àë¥ ¯®«ì§ãîâáï ¯®«ï¬¨ 㪠§ ⥫ï x, ® ¥ ¬¥ïîâ ¨å. 7 ::: ६ï à ¡®âë ¯à®£à ¬¬ë ¢ ®á®¢®¬ ®¯à¥¤¥«ï¥âáï ª®«¨ç¥á⢮¬ ®¯¥à 権 Disk-Read ¨ Disk-Write, â ª çâ® ¨¬¥¥¥â á¬ëá« ç¨â âì/§ ¯¨áë¢ âì ¢®§¬®¦® ¡®«ìè¥ ¨ä®à¬ 樨 § à § ¨ ᤥ« âì â ª, çâ®¡ë ¢¥àè¨ -¤¥à¥¢ § ¯®«ï« ¯®«®áâìî ®¤¨ ᥪâ®à ¤¨áª . ª¨¬ ®¡à §®¬, á⥯¥ì ¢¥â¢«¥¨ï (ç¨á«® ¤¥â¥© ¢¥àè¨ë) ®¯à¥¤¥«ï¥âáï à §¬¥à®¬ ᥪâ®à . ¨¯¨ç ï á⥯¥ì ¢¥â¢«¥¨ï -¤¥à¥¢ì¥¢ 室¨âáï ¬¥¦¤ã 50 ¨ 2000 (¢ § ¢¨á¨¬®á⨠®â à §¬¥à í«¥¬¥â ). ¢¥«¨ç¥¨¥ á⥯¥¨ ¢¥â¢«¥¨ï १ª® ᮪à é ¥â ¢ëá®âã ¤¥à¥¢ , ¨ ⥬ á ¬ë¬ ç¨á«® ®¡à 饨© ª ¤¨áªã, ¯à¨ ¯®¨áª¥. à¨á. 19.3 ¯®ª § ® -¤¥à¥¢® á⥯¥¨ 1001 ¨ ¢ëá®âë 2, åà ï饥 ¡®«¥¥ ¬¨««¨ ठª«î祩. ç¨âë¢ ï, çâ® ª®à¥ì ¬®¦® ¯®áâ®ï® åà ¨âì ¢ ®¯¥à ⨢®© ¯ ¬ïâ¨, ¤®áâ â®ç® ¤¢ãå ®¡à 饨© ª ¤¨áªã, ¯à¨ ¯®¨áª¥ 㦮£® ª«îç ! ¯à¥¤¥«¥¨¥ -¤¥à¥¢ 379 19.1 ¯à¥¤¥«¥¨¥ -¤¥à¥¢ ª ¨ à ìè¥, ¤«ï ¯à®áâ®âë ¬ë áç¨â ¥¬, çâ® ¤®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï, á¢ï§ ï á ª«î箬, åà ¨âáï ¢ ⮩ ¦¥ ¢¥à訥 ¤¥à¥¢ . ( ¯à ªâ¨ª¥ íâ® ¥ ¢á¥£¤ 㤮¡®, ¨ ¢ ॠ«ì®¬ «£®à¨â¬¥ ¢¥àè¨ ¬®¦¥â ᮤ¥à¦ âì «¨èì áá뫪ã ᥪâ®à, £¤¥ åà ¨âáï íâ ¤®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï.) ë áç¨â ¥¬, çâ® ¯à¨ ¯¥à¥¬¥é¥¨ïå ª«îç ¤®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï (¨«¨ áá뫪 ¥ñ) ¯¥à¥¬¥é ¥âáï ¢¬¥áâ¥ á ¨¬. ¥¬ á ¬ë¬ í«¥¬¥â®¬ -¤¥à¥¢ ¡ã¤¥â ª«îç ¢¬¥á⥠ᮠá¢ï§ ®© á ¨¬ ¨ä®à¬ 樥©. ¯à¨æ¨¯¥ ¬ë ¬®£«¨ ¡ë ¨á¯®«ì§®¢ âì ¤àã£ãî ç áâ® ¢áâà¥ç îéãîáï ®à£ ¨§ æ¨î -¤¥à¥¢ì¥¢: ¯®¬¥é âì ᮯãâáâ¢ãîéãî ¨ä®à¬ æ¨î ¢ «¨áâìïå (£¤¥ ¡®«ìè¥ ¬¥áâ , â ª ª ª ¥ ¤® åà ¨âì ª«îç¨), ¢® ¢ãâà¥¨å ¢¥àè¨ å åà ¨âì ⮫쪮 ª«îç¨ ¨ 㪠§ ⥫¨ ¤¥â¥©, íª®®¬ï ¬¥áâ® (¨ ¯®«ãç ï ¢®§¬®¦®áâì 㢥«¨ç¨âì á⥯¥ì ¢¥â¢«¥¨ï ¯à¨ ⮬ ¦¥ à §¬¥à¥ ᥪâ®à ). â ª, -¤¥à¥¢®¬ (B-tree) §®¢ñ¬ ª®à¥¢®¥ ¤¥à¥¢®, ãáâ஥®¥ á«¥¤ãî騬 ®¡à §®¬: 1. ¦¤ ï ¢¥àè¨ x ᮤ¥à¦¨â ¯®«ï, ¢ ª®â®àëå åà ïâáï: ª®«¨ç¥á⢮ n[x] ª«î祩, åà ïé¨åáï ¢ ¥©; á ¬¨ ª«îç¨ key1[x] 6 key2[x] 6 : : : 6 keyn[x][x] (¢ ¥ã¡ë¢ î饬 ¯®à浪¥) ¡ã«¥¢áª®¥ § 票¥ leaf[x], ¨á⨮¥, ª®£¤ ¢¥àè¨ ï¢«ï¥âáï «¨á⮬. 2. ᫨ | ¢ãâà¥ïï ¢¥àè¨ , â® ® â ª¦¥ ᮤ¥à¦¨â n[x]+1 㪠§ ⥫ì c1[x]; c2[x]; : : :; cn[x]+1[x] ¥ñ ¤¥â¥©. «¨áâ쥢 ¤¥â¥© ¥â, ¨ í⨠¯®«ï ¤«ï ¨å ¥ ®¯à¥¤¥«¥ë. 3. «îç¨ keyi [x] á«ã¦ â £à ¨æ ¬¨, à §¤¥«ïî騬¨ § ç¥¨ï ª«î祩 ¢ ¯®¤¤¥à¥¢ìïå: k1 6 key1 [x] 6 k2 6 key2[x] 6 6 keyn[x] [x] 6 kn[x]+1; £¤¥ ki | «î¡®© ¨§ ª«î祩, åà ïé¨åáï ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ i[x]. 4. ᥠ«¨áâìï 室ïâáï ®¤®© ¨ ⮩ ¦¥ £«ã¡¨¥ (à ¢®© ¢ëá®â¥ h ¤¥à¥¢ ). 5. ¨á«® ª«î祩, åà ïé¨åáï ¢ ®¤®© ¢¥à訥, ®£à ¨ç¥® ᢥàåã ¨ ᨧã; £à ¨æë § ¤ îâáï ¥¤¨ë¬ ¤«ï ¢á¥£® ¤¥à¥¢ ç¨á«®¬ t > 2, ª®â®à®¥ §ë¢ ¥âáï ¬¨¨¬ «ì®© á⥯¥ìî (minimum degree) ¤¥à¥¢ . ¬¥®: ¦¤ ï ¢¥àè¨ , ªà®¬¥ ª®àï, ᮤ¥à¦¨â ¯® ¬¥ì襩 ¬¥à¥ t ; 1 ª«îç. ª¨¬ ®¡à §®¬, ¢ãâ२¥ ¢¥àè¨ë (ªà®¬¥ ª®àï) ¨¬¥îâ ¥ ¬¥¥¥ t ¤¥â¥©. ᫨ ¤¥à¥¢® ¥¯ãáâ®, â® ¢ ª®à¥ ¤®«¦¥ åà ¨âìáï å®âï ¡ë ®¤¨ ª«îç. 380 « ¢ 19 -¤¥à¥¢ìï ¢¥à訥 åà ¨âáï ¥ ¡®«¥¥ 2t ; 1 ª«î祩. «¥¤®¢ ⥫ì®, ¢ãâà¥ïï ¢¥àè¨ ¨¬¥¥â ¥ ¡®«¥¥ 2t ¤¥â¥©. ¥àè¨ã, åà ïéãî ஢® 2t ; 1 ª«î祩, §®¢¥¬ ¯®«®© (full). ¯à®á⥩襬 á«ãç ¥ t = 2, ⮣¤ ã ª ¦¤®© ¢ãâ॥© ¢¥àè¨ë 2, 3 ¨«¨ 4 ॡ¥ª , ¨ ¬ë ¯®«ãç ¥¬ â ª §ë¢ ¥¬®¥ 2-3-4 ¤¥à¥¢® (2-34 tree). ( ª ¬ë 㦥 £®¢®à¨«¨, ¤«ï íä䥪⨢®© à ¡®âë á ¤¨áª®¬ ¯à ªâ¨ª¥ t ¤® ¡à âì £®à §¤® ¡®«ì訬.) ëá®â -¤¥à¥¢ ¨á«® ®¡à 饨© ª ¤¨áªã ¤«ï ¡®«ìè¨á⢠®¯¥à 権 ¯à®¯®à樮 «ì® ¢ëá®â¥ -¤¥à¥¢ . 楨¬ ᢥàåã íâã ¢ëá®âã. ¥®à¥¬ 19.1. «ï ¢á类£® -¤¥à¥¢ ¢ëá®âë h ¨ ¬¨¨¬ «ì®© á⥯¥¨ t > 2, åà ï饣® n > 1 ª«î祩, ¢ë¯®«¥® ¥à ¢¥á⢮ h 6 log n + 1 : t 2 ®ª § ⥫ìá⢮. ãáâì ¢ëá®â -¤¥à¥¢ à ¢ § ¤ ®¬ã ç¨á«ã h. ¨¬¥ì襥 ç¨á«® ¢¥àè¨ ¢ ¤¥à¥¢¥ ¡ã¤¥â, ¥á«¨ á⥯¥ì ª ¦¤®© ¢¥àè¨ë ¬¨¨¬ «ì , â® ¥áâì ã ª®àï 2 ॡñª , ã ¢ãâà¥¨å ¢¥àè¨ ¯® t ¤¥â¥©. í⮬ á«ãç ¥ £«ã¡¨¥ 1 ¬ë ¨¬¥¥¬ 2 ¢¥àè¨ë, £«ã¡¨¥ 2 ¨¬¥¥¬ 2t ¢¥àè¨, £«ã¡¨¥ 3 ¨¬¥¥¬ 2t2 ¢¥àè¨, : : : , £«ã¡¨¥ h ¨¬¥¥¬ 2th;1 ¢¥àè¨. ਠí⮬ ¢ ª®à¥ åà ¨âáï ®¤¨ ª«îç, ¢® ¢á¥å ®áâ «ìëå ¢¥àè¨ å ¯® t ; 1 ª«î祩. ( à¨á. 19.4 ¯®ª § ® â ª®¥ ¤¥à¥¢® ¯à¨ h = 3.) ª¨¬ ®¡à §®¬, ¯®«ãç ¥¬ ¥à ¢¥á⢮: n > 1 + (t ; 1) h X i=1 2ti;1 = 1 + 2(t ; 1) th ; 1 = 2th ; 1; t;1 ®âªã¤ á«¥¤ã¥â ã⢥ত¥¨¥ ⥮६ë. ª ¨ ¤«ï ªà á®-çñàëå ¤¥à¥¢ì¥¢, ¢ëá®â -¤¥à¥¢ á n ¢¥àè¨ ¬¨ ¥áâì O(log n), ® ®á®¢ ¨¥ «®£ à¨ä¬ ¤«ï -¤¥à¥¢ì¥¢ £®à §¤® ¡®«ìè¥, çâ® ¯à¨¬¥à® ¢ lg t à § ᮪à é ¥â ª®«¨ç¥á⢮ ®¡à 饨© ª ¤¨áªã. ¯à ¦¥¨ï 19.1-1 ®ç¥¬ã ¢ ®¯à¥¤¥«¥¨¨ -¤¥à¥¢ âॡ®¢ ¨¥ t > 2 áãé¥á⢥®? 19.1-2 ਠª ª¨å t ¤¥à¥¢® à¨á. 19.1 ¬®¦® à áᬠâਢ âì ª ª -¤¥à¥¢® ¬¨¨¬ «ì®© á⥯¥¨ t? á®¢ë¥ ®¯¥à 樨 á -¤¥à¥¢ìﬨ 381 ¨á㮪 19.4 -¤¥à¥¢® ¢ëá®âë 3 ᮤ¥à¦¨â ¬¨¨¬ «ì® ¢®§¬®¦®¥ ç¨á«® ª«î祩. ãâਠª ¦¤®© ¢¥àè¨ë x § ¯¨á ® ç¨á«® n[x] ª«î祩 ¢ ¥©. ©â¨ ¢á¥ -¤¥à¥¢ìï ¬¨¨¬ «ì®© á⥯¥¨ 2, ¯à¥¤áâ ¢«ïî騥 ¬®¦¥á⢮ f1; 2; 3; 4; 5g 19.1-4 ©â¨ â®çãî ¢¥àåîî ®æ¥ªã ¤«ï ç¨á« ª«î祩, åà ïé¨åáï ¢ -¤¥à¥¢¥ ¢ëá®âë h ¨ ¬¨¨¬ «ì®© á⥯¥¨ t. 19.1-5 ¯¨á âì áâàãªâãàã ¤ ëå, ª®â®à ï ¯®«ãç¨âáï, ¥á«¨ ¢ ªà á®-çñ஬ ¤¥à¥¢¥ ª ¦¤ãî çñàãî ¢¥àè¨ã ᮥ¤¨¨âì á ¥¥ ªà á묨 ¤¥â쬨, ¨å ¤¥â¥© ᤥ« âì ¤¥â쬨 í⮩ çñன ¢¥àè¨ë. 19.1-3 19.2 á®¢ë¥ ®¯¥à 樨 á -¤¥à¥¢ìﬨ í⮬ à §¤¥«¥ ¬ë ¯®¤à®¡® à áᬮâਬ ®¯¥à 樨 B-TreeSearch (¯®¨áª), B-Tree-Create (ᮧ¤ ¨¥ -¤¥à¥¢ ) ¨ B-TreeInsert (¤®¡ ¢«¥¨¥ í«¥¬¥â ). ë áç¨â ¥¬, çâ®: ®à¥ì -¤¥à¥¢ ¢á¥£¤ 室¨âáï ¢ ®¯¥à ⨢®© ¯ ¬ïâ¨, â. ¥. ®¯¥à æ¨ï Disk-Read ¤«ï ª®àï ¨ª®£¤ ¥ âॡã¥âáï; ®¤ ª® ¢á直© à §, ª®£¤ ¬ë ¨§¬¥ï¥¬ ª®à¥ì, ¬ë ¤®«¦ë ¥£® á®åà ïâì ¤¨áª¥. ᥠ¢¥àè¨ë, ¯¥à¥¤ ¢ ¥¬ë¥ ª ª ¯ à ¬¥âàë, 㦥 áç¨â ë á ¤¨áª . è¨ ¯à®æ¥¤ãàë ®¡à ¡ âë¢ îâ ¤¥à¥¢® § ®¤¨ ¯à®å®¤ ®â ª®àï ª «¨áâìï¬. ®¨áª ¢ -¤¥à¥¢¥ ®¨áª ¢ -¤¥à¥¢¥ ¯®å®¦ ¯®¨áª ¢ ¤¢®¨ç®¬ ¤¥à¥¢¥. §¨æ ¢ ⮬, çâ® ¢ ª ¦¤®© ¢¥à訥 x ¬ë ¢ë¡¨à ¥¬ ®¤¨ ¢ ਠ⠨§ (n[x]+ 1), ¥ ¨§ ¤¢ãå. ª ¨ ¯à®æ¥¤ãà Tree-Search (¤«ï ¤¢®¨çëå ¤¥à¥¢ì¥¢), ४ãà- 382 « ¢ 19 -¤¥à¥¢ìï ᨢ®© ¯à®æ¥¤ãà B-Tree-Search ¯®«ãç ¥â ¢å®¤ 㪠§ ⥫ì x ª®à¥ì ¯®¤¤¥à¥¢ ¨ ª«îç k, ª®â®àë© ¬ë ¨é¥¬ ¢ í⮬ ¯®¤¤¥à¥¢¥. «ï ¯®¨áª ª«îç k ¢ -¤¥à¥¢¥ T á«¥¤ã¥â ᪮¬ ¤®¢ âì B-TreeSearch(root(T ); k), £¤¥ root(T ) 㪠§ë¢ ¥â ª®à¥ì. ᫨ ¯à®æ¥¤ãà ®¡ à㦨¢ ¥â ª«îç k ¢ ¤¥à¥¢¥, ® ¢®§¢à é ¥â ¯ àã (y; i), £¤¥ y | ¢¥àè¨ , i | ¯®à浪®¢ë© ®¬¥à 㪠§ ⥫ï, ¤«ï ª®â®à®£® keyi [y ] = k. ¯à®â¨¢®¬ á«ãç ¥ ¯à®æ¥¤ãà ¢®§¢à é ¥â ª®áâ âã nil. B-Tree-Search (x; k) 1 2 3 4 5 6 7 8 9 i 1 while i 6 n[x] and k > keyi [x] do i i + 1 if i 6 n[x] and k = keyi [x] then return (x; i) if leaf[x] then return nil else Disk-Read(ci [x]) return B-Tree-Search (ci[x]; k) áâப å 1-3 ¨é¥âáï ¨¬¥ì襥 i, ¤«ï ª®â®à®£® k 6 keyi[x]; ¥á«¨ â ª®£® ¥â, â® ¢ i ¯®¬¥é ¥âáï n[x] + 1 («¨¥©ë© ¯®¨áª). ᫨ ã¦ë© ª«îç ©¤¥, à ¡®â ¯à¥ªà é ¥âáï (áâப¨ 4{5). ⥬ (áâப¨ 6{7) ¯à®£à ¬¬ «¨¡® ®áâ ¢«¨¢ ¥âáï, ¥á«¨ ¯®¨áª § ¢¥à訫áï ¡¥§à¥§ã«ìâ â® (x | «¨áâ), «¨¡® ४ãàᨢ® ¢ë§ë¢ ¥â ᥡï, ¯à¥¤¢ à¨â¥«ì® áç¨â ¢ á ¤¨áª ª®à¥ì 㦮£® ¯®¤¤¥à¥¢ (áâப¨ 8{9). à¨á. 19.1 ¯®ª § à ¡®â í⮩ ¯à®£à ¬¬ë. ¢¥â«ë¥ ¢¥àè¨ë ¯à®á¬®âà¥ë ¯à¨ ¯®¨áª¥ ¡ãª¢ë R. ª ¨ ¯à®æ¥¤ãà Tree-Search, è ¯à®£à ¬¬ ¯à®á¬ âਢ ¥â ¢¥àè¨ë ¤¥à¥¢ ®â ª®àï ª «¨áâã. ®í⮬ã ç¨á«® ®¡à 饨© ª ¤¨áªã ¥áâì (h) = (logt n), £¤¥ h | ¢ëá®â ¤¥à¥¢ , n | ª®«¨ç¥á⢮ ª«î祩. ª ª ª n[x] 6 2t, ⮠横« while ¢ áâப å 2{3 ¯®¢â®àï¥âáï O(t) à §, ¨ ¢à¥¬ï ¢ëç¨á«¥¨© à ¢® O(th) = O(t logt n). ®§¤ ¨¥ ¯ãá⮣® -¤¥à¥¢ à¨ à ¡®â¥ á -¤¥à¥¢®¬ T , ¬ë á ç « ᮧ¤ ¥¬ á ¯®¬®éìî ¯à®æ¥¤ãàë B-Tree-Create ¯ãá⮥ ¤¥à¥¢®, § ⥬ § ¯¨áë¢ ¥¬ ¢ ¥£® ¤ ë¥ á ¯®¬®éìî ¯à®æ¥¤ãàë B-Tree-Insert. ¡¥ í⨠¯à®æ¥¤ãàë ¨á¯®«ì§ãîâ ¯®¤¯à®£à ¬¬ã Allocate-Node, ª®â®à ï 室¨â ¬¥áâ® ¤¨áª¥ ¤«ï ®¢®© ¢¥àè¨ë. ë áç¨â ¥¬, çâ® ¯®¤¯à®£à ¬¬ Allocate-Node âॡã¥â ¢à¥¬¥¨ O(1) ¨ ¥ ¨á¯®«ì§ã¥â ®¯¥à æ¨î Disk-Read. á®¢ë¥ ®¯¥à 樨 á -¤¥à¥¢ìﬨ 383 ¨á㮪 19.5 §¡¨¥¨¥ ¢¥àè¨ë ¤¥à¥¢ ¬¨¨¬ «ì®© á⥯¥¨ t = 4. ¥«¨¬ ¢¥àè¨ã y ¤¢¥: y ¨ z . «îç-¬¥¤¨ S ¢¥àè¨ë y ¯¥à¥å®¤¨â ª ¥¥ த¨â¥«î x. B-Tree-Create (T ) 1 x Allocate-Node () 2 leaf[x] true 3 n[x] 0 4 Disk-Write(x) 5 root[T ] x à®æ¥¤ãà B-Tree-Create âॡã¥â ®¤®£® ®¡à é¥¨ï ª ¤¨áªã, ¢à¥¬ï à ¡®âë | O(1). §¡¨¥¨¥ ¢¥àè¨ë -¤¥à¥¢ ¤¢¥ ®¡ ¢«¥¨¥ í«¥¬¥â ¢ -¤¥à¥¢® | § ç¨â¥«ì® ¡®«¥¥ á«®¦ ï ®¯¥à æ¨ï, 祬 ¤®¡ ¢«¥¨¥ í«¥¬¥â ¢ ¤¢®¨ç®¥ ¤¥à¥¢® ¯®¨áª . «îç¥¢ë¬ ¬¥á⮬ ï¥âáï à §¡¨¥¨¥ (splitting) ¯®«®© (á 2t ; 1 ª«îç ¬¨) ¢¥àè¨ë y ¤¢¥ ¢¥àè¨ë, ¨¬¥î騥 ¯® t ; 1 í«¥¬¥â®¢ ¢ ª ¦¤®©. ਠí⮬ ª«îç-¬¥¤¨ (median key) keyt[y] ®â¯à ¢«ï¥âáï ª த¨â¥«î x ¢¥àè¨ë y ¨ áâ ®¢¨âáï à §¤¥«¨â¥«¥¬ ¤¢ãå ¯®«ãç¥ëå ¢¥àè¨. â® ¢®§¬®¦®, ¥á«¨ ¢¥àè¨ x ¥¯®« . ᫨ y | ª®à¥ì, ¯à®æ¥¤ãà à ¡®â ¥â «®£¨ç®. í⮬ á«ãç ¥ ¢ëá®â ¤¥à¥¢ 㢥«¨ç¨¢ ¥âáï ¥¤¨¨æã. ª®¢ ¬¥å ¨§¬ à®áâ -¤¥à¥¢ . à®æ¥¤ãà B-Tree-Split-Child ¤¥«¨â ¢¥àè¨ã y ¤¢¥ ¨ ¬¥ï¥â ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¥ñ த¨â¥«ï x. à¨á. 19.5 ¯®ª § ®, ª ª íâ® ¯à®¨á室¨â. «îç-¬¥¤¨ S ¢¥àè¨ë y ¯¥à¥å®¤¨â ª ¥ñ த¨â¥«î x, ¡®«ì訥 S í«¥¬¥âë ¯¥à¥¯¨áë¢ îâáï ¢ ®¢®£® ॡ¥ª z ¢¥àè¨ë x. 室묨 ¤ 묨 ¯à®æ¥¤ãàë ïîâáï ¥¯®« ï ¢ãâà¥ïï ¢¥àè¨ x, ç¨á«® i ¨ ¯®« ï ¢¥àè¨ã y, ¤«ï ª®â®àëå y = ci[x]. ë áç¨â ¥¬, çâ® ¢¥àè¨ë x ¨ y 㦥 室ïâáï ¢ ®¯¥à ⨢®© ¯ ¬ïâ¨. 384 « ¢ 19 -¤¥à¥¢ìï B-Tree-Split-Child (x; i; y ) 1 z Allocate-Node () leaf[z ] leaf[y ] n[z ] t ; 1 for j 1 to t ; 1 do keyj [z ] keyj +t [y ] if not leaf[y ] then for j 1 to t do cj [z ] cj +t [y ] n[y] t ; 1 for j n[x] + 1 downto i + 1 do cj +1 [x] cj [x] ci+1 [x] z for j n[x] downto i do keyj +1 [x] keyj [x] keyi [x] keyt [y ] n[x] n[x] + 1 Disk-Write(y ) Disk-Write(z ) Disk-Write(x) ¥àè¨ y ¨¬¥« 2t ¤¥â¥©; ¯®á«¥ ¯à¥®¡à §®¢ ¨ï ¢ ¥© ®áâ «®áì t ¨¬¥ìè¨å ¨§ ¨å, ®áâ «ìë¥ t áâ «¨ ¤¥â쬨 ®¢®© ¢¥àè¨ë z , ª®â®à ï ¢ á¢®î ®ç¥à¥¤ì áâ « ॡñª®¬ ¢¥àè¨ë x. «îç-¬¥¤¨ ¢¥àè¨ë y ¤®¡ ¢«¥ ª ¢¥à訥 x ¨ áâ « à §¤¥«¨â¥«¥¬ ¬¥¦¤ã ¢¥à訮© y ¨ á«¥¤ãî饩 § ¥© ¢¥à訮© z. âப¨ 1{8 ä®à¬¨àãîâ ¢¥àè¨ã z ¨ ¯¥à¥¤ îâ ¥© ¤¥â¥©. âப 9 ¬¥ï¥â ¢¥àè¨ã y. ª®¥æ, áâப¨ 10{16 ¢®áïâ ᮮ⢥âáâ¢ãî騥 ¨§¬¥¥¨ï ¢ ¢¥àè¨ã x. âப¨ 17{19 á®åà ïîâ ¨§¬¥¥¨ï ¤¨áª¥. ६ï à ¡®âë 横«®¢ (áâப¨ 4{5 ¨ 7{8) à ¢® (t). («ï ®áâ «ìëå 横«®¢ âॡã¥âáï ¥ ¡®«ìè¥ t è £®¢). 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ®¡ ¢«¥¨¥ í«¥¬¥â ¢ -¤¥à¥¢® à®æ¥¤ãà B-Tree-Insert ¤®¡ ¢«ï¥â í«¥¬¥â k ¢ -¤¥à¥¢® T , ¯à®©¤ï ®¤¨ à § ®â ª®àï ª «¨áâã. íâ® âॡã¥âáï ¢à¥¬ï O(th) = O(t logt n) ¨ O(h) ®¡à 饨© ª ¤¨áªã, ¥á«¨ ¢ëá®â ¤¥à¥¢ h. ® 室㠤¥« ¬ë á ¯®¬®éìî ¯à®æ¥¤ãàë B-Tree-Split à §¤¥«ï¥¬ ¢áâà¥ç î騥áï ¬ ¯®«ë¥ ¢¥àè¨ë, ¨á¯®«ì§ãï â ª®¥ ¡«î¤¥¨¥: ¥á«¨ ¯®« ï ¢¥àè¨ ¨¬¥¥â ¥¯®«®£® த¨â¥«ï, â® ¥ñ ¬®¦® à §¤¥«¨âì, â ª ª ª ¢ த¨â¥«¥ ¥áâì ¬¥áâ® ¤«ï ¤®¯®«¨â¥«ì®£® ª«îç . ª®æ¥ ª®æ®¢ ¬ë ®ª §ë¢ ¥¬áï ¢ ¥¯®«®¬ «¨áâ¥, ªã¤ ¨ ¤®¡ ¢«ï¥¬ ®¢ë© í«¥¬¥â. á®¢ë¥ ®¯¥à 樨 á -¤¥à¥¢ìﬨ 385 ¨á㮪 19.6 ¨á. 19.6. ®à¥ì r -¤¥à¥¢ (á t = 4) ï¥âáï ¯®«®© ¢¥à訮©. ¤¥«¨âáï ¤¢¥ ¯®«®¢¨ë; ¯à¨ í⮬ ᮧ¤ ¥âáï ®¢ë© ª®à¥ì s, ¤¥â쬨 ª®â®à®£® áâ ®¢ïâáï í⨠¢¥àè¨ë. ®¢ë© ª®à¥ì s ᮤ¥à¦¨â ª«îç-¬¥¤¨ ã áâ ண® ª®àï. ëá®â -¤¥à¥¢ 㢥«¨ç¨« áì ¥¤¨¨æã. B-Tree-Insert (T; k) 1 r root[T ] 2 if n[r] = 2t ; 1 3 then s Allocate-Node() 4 root[T ] s 5 leaf[s] false 6 n[s] 0 7 c1[s] r 8 B-Tree-Split-Child(s; 1; r) 9 B-Tree-Insert-Nonfull (s; k) 10 else B-Tree-Insert-Nonfull (r; k) âப¨ 3{9 ®â®áïâáï ª á«ãç î ¤®¡ ¢«¥¨ï ¢ ¤¥à¥¢® á ¯®«ë¬ ª®à¥¬ (¯à¨¬¥à à¨á. 19.6). ¬¥® ¢ í⮬ á«ãç ¥ 㢥«¨ç¨¢ ¥âáï ¢ëá®â -¤¥à¥¢ . ⬥⨬, çâ® â®çª®© à®áâ -¤¥à¥¢ ï¥âáï ª®à¥ì ( ¥ «¨áâ, ª ª ¢ ¤¢®¨çëå ¤¥à¥¢ìïå ¯®¨áª ). ¤¥« ¢ ª®à¥ì ¥¯®«ë¬ (¥á«¨ ® ¥ ¡ë« â ª®¢ë¬ á á ¬®£® ç « ), ¬ë ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã B-Tree-Insert-Nonfull(x; k), ª®â®à ï ¤®¡ ¢«ï¥â í«¥¬¥â k ¢ ¯®¤¤¥à¥¢® á ª®à¥¬ ¢ ¥¯®«®© ¢¥à訥 x. â ¯à®æ¥¤ãà ४ãàᨢ® ¢ë§ë¢ ¥â ᥡï, ¯à¨ ¥®¡å®¤¨¬®á⨠(¥á«¨ ¢¥àè¨ ®ª § « áì ¯®«®©) ¢ë¯®«¨¢ à §¤¥«¥¨¥. 386 « ¢ 19 -¤¥à¥¢ìï B-Tree-Insert-Nonfull (x; k) 1 i n[x] 2 if leaf[x] 3 then while i > 1 and k < keyi [x] 4 do keyi+1 [x] keyi [x] 5 i i;1 6 keyi+1 [x] k 7 n[x] n[x] + 1 8 Disk-Write(x) 9 else while i > 1 and k < keyi [x] 10 do i i ; 1 11 i i+1 12 Disk-Read(ci[x]) 13 if n[ci [x]] = 2t ; 1 14 then B-Tree-Split-Child(x; i; ci[x]) 15 if k > keyi [x] 16 then i i + 1 17 B-Tree-Insert-Nonfull (ci [x]; k) â ¯à®æ¥¤ãà à ¡®â ¥â á«¥¤ãî騬 ®¡à §®¬. ᫨ ¢¥àè¨ x | «¨áâ, â® ª«îç k ¢ ¥£® ¤®¡ ¢«ï¥âáï (áâப¨ 3{8; ¯®¬¨¬, çâ® ¢¥àè¨ x ¯à¥¤¯®« £ ¥âáï ¥¯®«®©). ¯à®â¨¢®¬ á«ãç ¥ ¬ 㦮 ¤®¡ ¢¨âì k ª ¯®¤¤¥à¥¢ã, ª®à¥ì ª®â®à®£® ï¥âáï ॡñª®¬ x. áâப å 9{11 ¬ë 室¨¬ 㦮£® ॡñª ¢¥àè¨ë x. ᫨ íâ®â ॡñ®ª ®ª §ë¢ ¥âáï ¯®«®© ¢¥à訮© (áâப 13), â® ¢ áâப¥ 14 ® à §¤¥«ï¥âáï ¤¢¥ ¥¯®«ëå ¢¥àè¨ë, ¨ ¢ áâப å 15{16 ®¯à¥¤¥«ï¥âáï, ¢ ª ª®¥ ¨§ ®¢ëå ¯®¤¤¥à¥¢ì¥¢ á«¥¤ã¥â ¤®¡ ¢¨âì k. ( ¬¥â¨¬, çâ® ¯®á«¥ ¨§¬¥¥¨ï i ¢ áâப¥ 16 ¥â ¥®¡å®¤¨¬®á⨠®¡à é âìáï ª ¤¨áªã | ¢®¢ì ᮧ¤ ï ¢¥àè¨ , ª ª®â®à®© ¬ë ®¡à ⨬áï ¢ áâப¥ 17, 㦥 室¨âáï ¢ ®¯¥à ⨢®© ¯ ¬ïâ¨.) ª¨¬ ®¡à §®¬, ¬ë § ¥¬, çâ® ¢¥àè¨ ci[x] | ¥¯®« ï, ¨ ¢ áâப¥ 17 ¤®¡ ¢«ï¥¬ ª«îç k ¢ ᮮ⢥âáâ¢ãî饥 ¯®¤¤¥à¥¢® á ¯®¬®éìî ४ãàᨢ®£® ¢ë§®¢ ¯à®æ¥¤ãàë B-Tree-Insert-Nonfull. à¨á. 19.7 ¯®ª § ë à §ë¥ á«ãç ¨ ¤®¡ ¢«¥¨ï í«¥¬¥â ¢ -¤¥à¥¢®. à®æ¥¤ãà B-Tree-Insert-Nonfull ¨á¯®«ì§ã¥â O(1) ®¯¥à 権 Disk-Read ¨ Disk-Write (¥á«¨ ¥ áç¨â âì ४ãàᨢ®£® ¢ë§®¢ ). «¥¤®¢ ⥫ì®, ¤«ï -¤¥à¥¢ ¢ëá®âë h ¯à®æ¥¤ãà B-Tree-Insert ®¡à é ¥âáï ª ¤¨áªã O(h) à §. à¥¬ï ¢ëç¨á«¥¨© ¥áâì O(th) = O(t logt h). ¯à®æ¥¤ãॠB-Tree-Insert-Nonfull ४ãàá¨¢ë© ¢ë§®¢ ï¥âáï ¯®á«¥¤¨¬ ®¯¥à â®à®¬ (tail recursion), ¨ ¯®íâ®¬ã ¬ë ¬®£«¨ ¡ë § ¬¥¨âì ४ãàá¨î 横«®¬. âáî¤ ¢¨¤®, çâ® ç¨á«® ᥪâ®à®¢, ª®â®àë¥ ¥®¡å®¤¨¬® ¤¥à¦ âì ¢ ®¯¥à ⨢®© ¯ ¬ïâ¨, ¥áâì O(1). á®¢ë¥ ®¯¥à 樨 á -¤¥à¥¢ìﬨ 387 ¨á㮪 19.7 ®¡ ¢«¥¨¥ í«¥¬¥â ¢ -¤¥à¥¢®, ¤«ï ª®â®à®£® t = 3, (¢¥àè¨ á®¤¥à¦¨â ¤® 5 ª«î祩). ¢¥â«ë¥ ¢¥àè¨ë ¡ë«¨ ¨§¬¥¥ë ¯à¨ ¤®¡ ¢«¥¨¨. ( ) ç «ì®¥ ¤¥à¥¢®. (¡) ®¡ ¢¨«¨ ¡ãª¢ã B (¢ ¥¯®«ë© «¨áâ). (¢) ®¡ ¢«¥¨¥ Q ¯à¨¢®¤¨â ª à §¤¥«ã ¢¥àè¨ë RSTUV RS ¨ UV , ¡ãª¢ T ¯¥à¥è« ¢ ª®à¥ì, ¯®á«¥ 祣® ¡ãª¢ã Q ¤®¡ ¢¨«¨ ª ¢¥à訥 RS . (£) ¯à¥¤ë¤ã饥 ¤¥à¥¢® ¤®¡ ¢¨«¨ L: ª®à¥ì ¡ë« ¯®«®© ¢¥à訮©, ¯®í⮬㠥£® ¯à¨è«®áì à §¤¥«¨âì ¤¢¥ ¨ ¢ëá®â ¤¥à¥¢ 㢥«¨ç¨« áì ¥¤¨¨æã. 㪢ã L ¢áâ ¢¨«¨ ¢ «¨áâ JK . (¤) ¯à¥¤ë¤ã饥 ¤¥à¥¢® ¤®¡ ¢¨«¨ F . ¥àè¨ã ABCDE à §¤¥«¨«¨ ¤¢¥ ¨ ¢ ¯®«®¢¨ªã DE ¤®¡ ¢¨«¨ F . 388 « ¢ 19 -¤¥à¥¢ìï ¯à ¦¥¨ï à®á«¥¤¨âì, § ¤®¡ ¢«¥¨¥¬ ¢ ¯ãá⮥ -¤¥à¥¢® í«¥¬¥â®¢ F; S; Q; K; C; L; H; T; V; W; M; R; N; P; A; B; X; Y; D; Z; E ¢ 㪠§ ®¬ ¯®à浪¥ ( à¨á®¢ âì ⮫쪮 á®áâ®ï¨ï ¤¥à¥¢ ¯¥à¥¤ à §¤¥«¥¨¥¬ ª ª®©-â® ¨§ ¢¥àè¨, â ª¦¥ ¯®á«¥¤¥¥ á®áâ®ï¨¥) 19.2-2 ëïá¨âì, ¨á¯®«ïîâáï «¨ «¨è¨¥ ®¯¥à 樨 Disk-Read ¨«¨ Disk-Write ¯à¨ ¢ë§®¢¥ ¯à®æ¥¤ãàë B-Tree-Insert. (¨èïï ®¯¥à æ¨ï Disk-Read ç¨â ¥â ᥪâ®à, 㦥 § £àã¦¥ë© ¢ ®¯¥à ⨢ãî ¯ ¬ïâì. ¨èïï ®¯¥à æ¨ï Disk-Write á®åà ï¥â ¤¨áª¥ ¥ ¨§¬¥¨¢è¨©áï ᥪâ®à.) 19.2-3 ª ©â¨ ¬¨¨¬ «ìë© í«¥¬¥â ¢ -¤¥à¥¢¥? ª ©â¨ í«¥¬¥â -¤¥à¥¢ , ¯à¥¤è¥áâ¢ãî騩 ¤ ®¬ã í«¥¬¥âã? 19.2-4? «îç¨ 1; 2; : : :; n ¤®¡ ¢«ïîâ ¯® ®¤®¬ã ¢ ¯ãá⮥ -¤¥à¥¢® ¬¨¨¬ «ì®© á⥯¥¨ 2. ª®«ìª® ¢¥àè¨ ã ¯®«ã祮£® -¤¥à¥¢ ? 19.2-5 ª ª ª ã «¨áâ쥢 ¥â 㪠§ ⥫¥© ¤¥â¥©, â® ¢ ¨å ¬®¦¥â ¯®¬¥áâ¨âìáï ¡®«ìè¥ ª«î祩, 祬 ¢® ¢ãâ२¥ ¢¥àè¨ë. ª ¡ã¤ã⠢룫拉âì ¯à®æ¥¤ãàë ᮧ¤ ¨ï -¤¥à¥¢ ¨ ¤®¡ ¢«¥¨ï ¢ ¥£® í«¥¬¥â , ¨á¯®«ì§ãî騥 íâ® ®¡áâ®ï⥫ìá⢮? 19.2-6 ¬¥¨¬ ¢ ¯à®æ¥¤ãॠB-Tree-Search «¨¥©ë© ¯®¨áª ¤¢®¨çë¬. ®ª § âì, ç⮠⮣¤ ¢à¥¬ï ¢ëç¨á«¥¨© ¤«ï í⮩ ¯à®æ¥¤ãàë áâ ¥â à ¢ë¬ O(log n) (ª®áâ â ¥ § ¢¨á¨â ®â t!). 19.2-7 ।¯®«®¦¨¬, çâ® ¬ë ¬®¦¥¬ á ¬¨ ¢ë¡à âì à §¬¥à ᥪâ®à , ¯à¨ç¥¬ ¢à¥¬ï ç⥨ï ᥪâ®à , ¢¬¥é î饣® ¢¥àè¨ã -¤¥à¥¢ á⥯¥¨ t, ¡ã¤¥â a + bt, £¤¥ a ¨ b | ¥ª®â®àë¥ ª®áâ âë. ª á«¥¤ã¥â ¢ë¡à âì t, ç⮡ë 㬥ìè¨âì ¢à¥¬ï ¯®¨áª ¢ -¤¥à¥¢¥? 楨⥠®¯â¨¬ «ì®¥ § 票¥ t ¢ á«ãç ¥ a = 30 ¬¨««¨á¥ªã¤, b = 40 ¬¨ªà®á¥ªã¤. 19.2-1 19.3 ¤ «¥¨¥ í«¥¬¥â ¨§ -¤¥à¥¢ ¤ «¥¨¥ í«¥¬¥â ¨§ -¤¥à¥¢ (¯à®æ¥¤ãà B-Tree-Delete) ¯à®¨á室¨â «®£¨ç® ¤®¡ ¢«¥¨î, å®âï ¥¬®£® á«®¦¥¥. ë ¥ ¡ã¤¥¬ ¯à¨¢®¤¨âì ¯à®æ¥¤ãàã 㤠«¥¨ï ¯®«®áâìî, ®¡êïᨬ, ª ª ® à ¡®â ¥â. ãáâì 㦮 㤠«¨âì ª«îç k ¨§ ¯®¤¤¥à¥¢ á ª®à¥¬ ¢ ¢¥à訥 x. è ¯à®æ¥¤ãà ¡ã¤¥â ãáâ஥ â ª, çâ® ¯à¨ ª ¦¤®¬ ¥¥ ४ãàᨢ®¬ ¢ë§®¢¥ ¢¥àè¨ x ᮤ¥à¦¨â ¯® ¬¥ì襩 ¬¥à¥ t ª«î祩, £¤¥ t ¤ «¥¨¥ í«¥¬¥â ¨§ -¤¥à¥¢ 389 | ¬¨¨¬ «ì ï á⥯¥ì -¤¥à¥¢ . ® ¯à ¢¨« ¬ ¢¥àè¨ -¤¥à¥¢ ¤®«¦ ᮤ¥à¦ âì ¥ ¬¥ìè¥ t ; 1 ª«îç , â ª çâ® ¢ 襬 á«ãç ¥ ¨¬¥¥âáï § ¯ ᮩ ª«îç. â®â ¯à¨¥¬ (á«¥¤¨âì, çâ®¡ë § ¯ ᮩ ª«îç ¢á¥£¤ ¡ë«) ¯®§¢®«ï¥â 㤠«¨âì í«¥¬¥â, ¯à®©¤ï -¤¥à¥¢® ®¤¨ à § ®â ª®àï ª «¨áâã ¨ ¥ ¤¥« ï è £®¢ ¢ ®¡à ⮬ ¯à ¢«¥¨¨ (á ¥¤¨áâ¢¥ë¬ ¨áª«î票¥¬, ª®â®à®¥ ¬ë ¥£® à §¡¥à¥¬ ¯®§¦¥). ®£®¢®à¨¬áï, çâ® ¥á«¨ ¢ १ã«ìâ ⥠㤠«¥¨ï ª®à¥ì ¤¥à¥¢ áâ « ¯ãáâë¬, â® ® 㤠«ï¥âáï, ¨ ¥£® ¥¤¨áâ¢¥ë© à¥¡¥®ª áâ ®¢¨âáï ®¢ë¬ ª®à¥¬, ¯à¨ í⮬ ¢ëá®â -¤¥à¥¢ 㬥ìè ¥âáï ¥¤¨¨æã, ¨ ª®à¥ì 㦥 ¥ ¯ãáâ (¥á«¨ ⮫쪮 ¢áñ ¤¥à¥¢® ¥ ¯ãáâ®). à¨á. 19.8 ¯®ª § ë à §ë¥ á«ãç ¨ 㤠«¥¨ï í«¥¬¥â ¨§ ¤¥à¥¢ . 1. ᫨ ª«îç k 室¨âáï ¢ ¢¥à訥 x, ïî饩áï «¨á⮬, ⮠㤠«ï¥¬ k ¨§ x. 2. c«¨ ª«îç k 室¨âáï ¢® ¢ãâ॥© ¢¥à訥 x, â® ¤¥« ¥¬ á«¥¤ãî饥: ᫨ ॡ¥®ª y ¢¥àè¨ë x, ¯à¥¤è¥áâ¢ãî騩 k, ᮤ¥à¦¨â ¥ ¬¥¥¥ t í«¥¬¥â®¢, ⮠室¨¬ ª«îç k0, ¥¯®á।á⢥® ¯à¥¤è¥áâ¢ãî騩 ª«îçã k. â®â ª«îç 室¨âáï ¢ «¨á⥠¯®¤¤¥à¥¢ á ª®à¥¬ ¢ y. ©â¨ ¥£® ¬®¦® § ®¤¨ ¯à®á¬®âà ¯®¤¤¥à¥¢ ®â ª®àï ª «¨áâã. ¥ªãàᨢ® ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã: 㤠«ï¥¬ k0. ¬¥ï¥¬ ¢ x ª«îç k k0. ᫨ ॡ¥®ª z, á«¥¤ãî騩 § k, ᮤ¥à¦¨â ¥ ¬¥¥¥ t í«¥¬¥â®¢, ¯®áâ㯠¥¬ «®£¨ç®. ᫨ ¨ y, ¨ z ᮤ¥à¦ â ¯® t ; 1 í«¥¬¥âã, ᮥ¤¨ï¥¬ ¢¥àè¨ã y, ª«îç k, ¢¥àè¨ã z, ¯®¬¥é ï ¢áñ íâ® ¢ ¢¥àè¨ã y, ª®â®à ï ⥯¥àì ᮤ¥à¦¨â 2t ; 1 ª«îç. â¨à ¥¬ z ¨ ¢ëª¨¤ë¢ ¥¬ ¨§ x ª«îç k ¨ 㪠§ ⥫ì z. ¥ªãàᨢ® 㤠«ï¥¬ k ¨§ y. 3. ᫨ x | ¢ãâà¥ïï ¢¥àè¨ , ® ª«îç k ¢ ¥© ¥â, ©¤¥¬ á।¨ ¤¥â¥© ¢¥àè¨ë x ª®à¥ì ci[x] ¯®¤¤¥à¥¢ , £¤¥ ¤®«¦¥ «¥¦ âì ª«îç k (¥á«¨ íâ®â ª«îç ¢®®¡é¥ ¥áâì). ᫨ ci[x] ᮤ¥à¦¨â ¥ ¬¥¥¥ t ª«î祩, ¬®¦® ४ãàᨢ® 㤠«¨âì k ¨§ ¯®¤¤¥à¥¢ . ᫨ ¦¥ ci[x] ᮤ¥à¦¨â ¢á¥£® t ; 1 í«¥¬¥â, â® ¯à¥¤¢ à¨â¥«ì® ᤥ« ¥¬ è £ 3 ¨«¨ 3¡. ãáâì ¢¥àè¨ ci[x] ᮤ¥à¦¨â t ; 1 í«¥¬¥â, ® ®¤¨ ¨§ ¥ñ á®á¥¤¥© ( ¯à¨¬¥à, ¯à ¢ë©) ᮤ¥à¦¨â ¯® ªà ©¥© ¬¥à¥ t í«¥¬¥â®¢. (¤¥áì á®á¥¤®¬ ¬ë §ë¢ ¥¬ â ª®£® ॡ¥ª ¢¥àè¨ë x, ª®â®àë© ®â¤¥«¥ ®â ci[x] ஢® ®¤¨¬ ª«î箬-à §¤¥«¨â¥«¥¬.) ®£¤ ¤®¡ ¢¨¬ ॡñªã ci[x] í«¥¬¥â ¥£® த¨â¥«ï x, த¨â¥«î ¯¥à¥¤ ¤¨¬ «¥¢ë© í«¥¬¥â í⮣® á®á¥¤ . ਠí⮬ á ¬ë© «¥¢ë© ॡñ®ª á®á¥¤ áâ ¥â á ¬ë¬ ¯à ¢ë¬ ॡ¥ª®¬ ¢¥àè¨ë ci[x]. ãáâì ®¡ á®á¥¤ ¢¥àè¨ë ci[x] ᮤ¥à¦ â ¯® t ; 1 í«¥¬¥âã. ®£¤ ®¡ê¥¤¨¨¬ ¢¥àè¨ã ci[x] á ®¤¨¬ ¨§ á®á¥¤¥© (ª ª ¢ á«ãç ¥ 2¢). 390 « ¢ 19 -¤¥à¥¢ìï ç «ì®¥ ¤¥à¥¢® F 㤠«¥ : á«ãç © 1 M 㤠«¥ : á«ãç © 2 G 㤠«¥ : á«ãç © 2¡ ¨á㮪 19.8 ¤ «¥¨¥ í«¥¬¥â ¨§ -¤¥à¥¢ . «ï í⮣® -¤¥à¥¢ ¬¨¨¬ «ì ï á⥯¥ì à ¢ 3, â. ¥. ¢¥àè¨ á®¤¥à¦¨â ¥ ¬¥¥¥ 2 í«¥¬¥â®¢. ¢¥â«ë¥ ¢¥àè¨ë ¡ë«¨ ¨§¬¥¥ë ¯à¨ 㤠«¥¨¨. ( ) -¤¥à¥¢® à¨á㪠19.7 (e). (¡) «ãç © 1: 㤠«¥¨¥ ¡ãª¢ë F ¨§ «¨áâ . (¢) ¤ «¥¨¥ ¡ãª¢ë M . â® á«ãç © 2 : ¡ãª¢ ¯à¥¤è¥á⢥¨æ L ¯¥à¥è« ¥ñ ¬¥áâ®. (£) ¤ «¥¨¥ ¡ãª¢ë G. â® á«ãç © 2¢: á ç « G ®â¯à ¢¨«¨ ¢¨§, £¤¥ ®¡à §®¢ «áï «¨áâ DEGJK , ¨§ ª®â®à®£® G ¨ 㤠«¨«¨ (á«ãç © 1). (¤) ¤ «¥¨¥ ¡ãª¢ë D. â® á«ãç © 3¡: ¬ë ¥ ¬®¦¥¬ ४ãàᨢ® ®¡à ¡®â âì ¢¥àè¨ã CL, ¢ ª®â®à®© ¢á¥£® ¤¢ í«¥¬¥â , ¯®í⮬ã á¯ã᪠¥¬ ¢¨§ P ¨ 0¯®«ãç ¥¬ ¢¥àè¨ã CLPTX . ®á«¥ í⮣® 㤠«ï¥¬ D ¨§ «¨áâ (á«ãç © 1). (e ) ®á«¥ 㤠«¥¨ï D ª®à¥ì áâ « ¯ãáâë¬ ¨ ¬ë 㤠«¨«¨ ¥£®. ëá®â ¤¥à¥¢ 㬥ì訫 áì ¥¤¨¨æã. (¥) ¤ «¨«¨ B . â® á«ãç © 3 : C á¯ãá⨫¨ ¬¥áâ® B , E ¯®¤ï«¨ ¬¥áâ® C . ¤ ç¨ ª £« ¢¥ 19 391 D 㤠«¥ : á«ãç © 3¡ 㬥ì襨¥ ¢ëá®âë ¤¥à¥¢ B 㤠«¥ : á«ãç © 3 ਠí⮬ ª«îç, à §¤¥«ï¢è¨© ¨å ¢ ¢¥à訥 x, á⠥⠪«î箬¬¥¤¨ ®© ®¢®© ¢¥àè¨ë. ¯¨á ï ¯à®æ¥¤ãà âॡã¥â ¡®«¥¥ ®¤®£® ¯à®å®¤ ⮫쪮 ¢ á«ãç ïå 2 ¨ 2¡ (ª®£¤ ® § ¬¥ï¥â 㤠«ï¥¬ë© í«¥¬¥â ¥£® ¯à¥¤è¥á⢥¨ª®¬ ¨«¨ ¯®á«¥¤®¢ ⥫¥¬). ¬¥â¨¬, çâ® íâ® ¯à®¨á室¨â, ⮫쪮 ¥á«¨ âॡã¥âáï 㤠«¨âì í«¥¬¥â ¨§ ¢ãâ॥© ¢¥àè¨ë. ®«ìè¨á⢮ ¢¥àè¨ -¤¥à¥¢ | «¨áâìï, â ª çâ® í⨠á«ãç ¨ ¡ã¤ãâ ।ª¨¬¨. ®âï ¯à®æ¥¤ãà ¢ë£«ï¤¨â § ¯ãâ ®, ® âॡã¥â ¢á¥£® O(h) ®¡à 饨© ª ¤¨áªã ¤«ï -¤¥à¥¢ ¢ëá®âë h. (¥¦¤ã ¤¢ã¬ï ४ãàᨢ묨 ¢ë§®¢ ¬¨ ¢ë¯®«ï¥âáï O(1) ª®¬ ¤ Disk-Read ¨ DiskWrite). ëç¨á«¥¨ï âॡãî⠢६¥¨ O(th) = O(t logt h). ¯à ¦¥¨ï 19.3-1 ®ª § âì १ã«ìâ â 㤠«¥¨ï ¢¥àè¨ C , P ¨ V (¢ 㪠§ ®¬ ¯®à浪¥) ¨§ ¤¥à¥¢ à¨á. 19.8 (f). 19.3-2 ¯¨á âì ¯à®æ¥¤ãàã B-Tree-Delete. ¤ ç¨ 19-1 ⥪¨ ¤¨áª¥ ।áâ ¢¨¬ ᥡ¥, çâ® ¬ë å®â¨¬ ॠ«¨§®¢ âì á⥪ ¬ 訥 á ¥¡®«ì让 ®¯¥à ⨢®© ¯ ¬ïâìî ¨ ¡®«ì訬 ¦¥á⪨¬ ¤¨áª®¬ (á⥪ ¥ ¯®¬¥é ¥âáï ¢ ®¯¥à ⨢ãî ¯ ¬ïâì, ¨ ¤®«¦¥ ¯® ¡®«ì襩 ç á⨠åà ¨âìáï ¤¨áª¥). 392 « ¢ 19 -¤¥à¥¢ìï ਠ¯à®á⥩襩 (® ¥íä䥪⨢®©) ॠ«¨§ 樨 á⥪ ¤¨áª¥ åà ¨âáï ¢áñ, ªà®¬¥ ¯¥à¥¬¥®© p (㪠§ ⥫ì á⥪ ), ª®â®à ï ®¯à¥¤¥«ï¥â ¬¥áâ® ¢¥àè¨ë á⥪ ¤¨áª¥ â ª¨¬ ®¡à §®¬: ¢¥à訮© ¡ã¤¥â (p mod m)-ë© í«¥¬¥â bp=mc-£® ᥪâ®à ¤¨áª (m | à §¬¥à ᥪâ®à ). â®¡ë ¤®¡ ¢¨âì í«¥¬¥â ¢ á⥪, ¬ë ç¨â ¥¬ ᮮ⢥âáâ¢ãî騩 ᥪâ®à, 㦮¥ ¬¥áâ® ¯®¬¥é ¥¬ ®¢ë© í«¥¬¥â, 㢥«¨ç¨¢ ¥¬ § 票ï 㪠§ â¥«ï ¥¤¨¨æã ¨ ᮢ § ¯¨áë¢ ¥¬ ᥪâ®à ¤¨áª. «®£¨ç® ॠ«¨§ã¥âáï ®¯¥à æ¨ï 㤠«¥¨ï í«¥¬¥â ¨§ á⥪ . (ë ç¨â ¥¬ ᥪâ®à á ¤¨áª ¨ 㬥ìè ¥¬ ¥¤¨¨æã § 票¥ 㪠§ ⥫ï. ª ª ª ᥪâ®à ¥ ¬¥ï«áï, â® § ¯¨áë¢ âì ¥£® ¤¨áª ¥ 㦮.) 㤥¬ ãç¨âë¢ âì ª®«¨ç¥á⢮ ®¡à 饨© ª ¤¨áªã, â ª¦¥ ¢à¥¬ï ¢ëç¨á«¥¨©, ¯à¨ ¯®¤áç¥â¥ ª®â®à®£® ª ¦¤®¥ ®¡à 饨¥ ª ¤¨áªã áç¨â ¥âáï âॡãî騬 (m) ¥¤¨¨æ ¢à¥¬¥¨. . ª®«ìª® ®¡à 饨© ª ¤¨áªã âॡã¥âáï ¢ åã¤è¥¬ á«ãç ¥ ¤«ï n ®¯¥à 権 á® á⥪®¬ ¯à¨ í⮩ ॠ«¨§ 樨? ¥¬ã à ¢® ®¡é¥¥ ¢à¥¬ï? (¤¥áì ¨ ¤ «¥¥ âॡã¥âáï ®â¢¥â ¢ â¥à¬¨ å m ¨ n.) áᬮâਬ ¤àã£ãî ॠ«¨§ æ¨î á⥪ , ¯à¨ ª®â®à®© ®¤¨ ᥪâ®à 楫¨ª®¬ åà ¨âáï ¢ ¯ ¬ïâ¨. (஬¥ ⮣®, ¬ âॡã¥âáï ¯®¬¨âì ®¬¥à åà ¨¬®£® ᥪâ®à .) ® ¬¥à¥ ¥®¡å®¤¨¬®á⨠¬ë ¡ã¤¥¬ ¢®§¢à é âì íâ®â ᥪâ®à ¤¨áª ¨ áç¨âë¢ âì ®¢ë©. ᫨ ã¦ë© ᥪâ®à 㦥 室¨âáï ¢ ¯ ¬ïâ¨, â® ®¡à é âìáï ª ¤¨áªã ¥ 㦮. ¡. ª®«ìª® ®¡à 饨© ª ¤¨áªã âॡã¥âáï ¤«ï ¤®¡ ¢«¥¨ï n í«¥¬¥â®¢ ¢ á⥪ (¢ åã¤è¥¬ á«ãç ¥)? ¥¬ã à ¢® ¢à¥¬ï ¢ëç¨á«¥¨©? ¢. ª®«ìª® ®¡à 饨© ª ¤¨áªã âॡã¥âáï ¢ åã¤è¥¬ á«ãç ¥ ¤«ï n ®¯¥à 権 á® á⥪®¬? ¥¬ã à ¢® ¢à¥¬ï ¢ëç¨á«¥¨©? ãé¥áâ¢ã¥â ¡®«¥¥ íä䥪⨢ ï ॠ«¨§ æ¨ï, ¯à¨ ª®â®à®© ¢ ®¯¥à ⨢®© ¯ ¬ï⨠åà ïâáï ¤¢ ᥪâ®à (¨ ¥éñ ¥áª®«ìª® ç¨á¥«). £. ª ᤥ« âì â ª, çâ®¡ë ª ¦¤ ï ®¯¥à æ¨ï âॡ®¢ « (¯à¨ ¬®à⨧ 樮®¬ «¨§¥) O(1=m) ®¡à 饨© ª ¤¨áªã ¨ ¢à¥¬¥¨ O(1)? 19-2 ¡ê¥¤¨¥¨¥ ¨ à §¤¥«¥¨¥ 2-3-4 ¤¥à¥¢ì¥¢ ¯¥à æ¨ï ®¡ê¥¤¨¥¨ï (join) ¯®«ãç ¥â ¢å®¤¥ ¤¢ ¬®¦¥á⢠S 0 ¨ S 00 ¨ í«¥¬¥â x, ¤«ï ª®â®àëå key[x0] < key[x] < key[x00 ] ¯à¨ ¢á¥å x0 2 S 0 ¨ x00 2 S 00. ¥ १ã«ìâ ⮬ ï¥âáï ¬®¦¥á⢮ S = S 0 [ fxg [ S 00 . §¤¥«¥¨¥ (split) | ®¯¥à æ¨ï, ®¡à â ï ®¡ê¥¤¨¥¨î. ¯®«ãç ¥â ¢å®¤¥ ¬®¦¥á⢮ S ¨ í«¥¬¥â x 2 S ¨ ᮧ¤ ñâ ¤¢ ¤àã£¨å ¬®¦¥á⢠S 0 ¨ S 00, á®áâ®ïé¨å ᮮ⢥âá⢥® ¨§ ¬¥ìè¨å ¨ ¨§ ¡®«ìè¨å x í«¥¬¥â®¢ ¬®¦¥á⢠S . í⮩ § ¤ ç¥ âॡã¥âáï ॠ«¨§®¢ âì í⨠®¯¥à 樨 ¤«ï 2-3-4 ¤¥à¥¢ì¥¢. «ï 㤮¡á⢠¡ã¤¥¬ áç¨â âì, çâ® í«¥¬¥âë á®áâ®ïâ ⮫쪮 ¨§ ª«î祩, ¨ ¢á¥ ª«îç¨ à §«¨çë. . 㤥¬ åà ¨âì ¢ ª ¦¤®© ¢¥à訥 x 2-3-4 ¤¥à¥¢ ¯®«¥ height[x], åà åà ¨âì ï饥 ¢ëá®âã ¯®¤¤¥à¥¢ á ª®à¥¬ ¢ x. ®ª § âì, çâ® íâã ¨ä®àåà ï饥 | íâ® ¥¯«®å®! ¬¥ç ¨ï ª £« ¢¥ 19 393 ¬ æ¨î ¬®¦® ¯®¤¤¥à¦¨¢ âì, ¥ ãåã¤è ï ᨬ¯â®â¨ªã ¢à¥¬¥¨ ¯®¨áª , ¤®¡ ¢«¥¨ï ¨ 㤠«¥¨ï. ¡. ¥ «¨§®¢ âì ®¯¥à æ¨î ®¡ê¥¤¨¥¨ï ¤¥à¥¢ì¥¢ T 0 ¨ T 00, à §¤¥«ñëå ª«î箬 k. ६ï à ¡®âë ¤®«¦® ¡ëâì O(jh0 ; h00j), £¤¥ h0; h00 | ¢ëá®âë ¤¥à¥¢ì¥¢. ¢. ãáâì p | ¯ãâì ¢ 2-3-4 ¤¥à¥¢¥ T ®â ª®àï ª § ¤ ®¬ã ª«îçã k. áᬮâਬ ¤¢ ¬®¦¥á⢠ª«î祩 ¨§ T : ¬¥ì訥 k (¬®¦¥á⢮ S 0) ¨ ¡®«ì訥 k (¬®¦¥á⢮ S 00). ®ª § âì, çâ® S 0 à §¡¨¢ ¥âáï ¤¥à¥¢ìï T00 ; T10; : : :; Tm0 , à §¤¥«¥ë¥ ª«îç ¬¨ k10 ; k20 ; : : :; km0 (¤«ï ¢á¥å y 2 Ti0;1 ¨ z 2 Ti0 ¢ë¯®«¥® y < ki0 < z ¯à¨ i = 1; 2; : : :; m. ª á¢ï§ ë ¢ëá®âë ¤¥à¥¢ì¥¢ Ti0;1 ¨ Ti0? ª ª¨¥ ç á⨠¯ãâì p ¤¥«¨â S 00? £. ¥ «¨§®¢ âì ®¯¥à æ¨î à §¤¥«¥¨ï. «ï í⮣® á«¥¤ã¥â ®¡ê¥¤¨¨âì ª«îç¨ ¨§ S 0 ¢ 2-3-4 ¤¥à¥¢® T 0 ¨ ª«îç¨ ¨§ S 00 ¢ ¤¥à¥¢® T 00. «ï ¤¥à¥¢ á n ª«îç ¬¨ ¢à¥¬ï à ¡®âë í⮩ ®¯¥à 樨 ¤®«¦® ¡ëâì O(log n). (ª § ¨¥: ¯à¨ á«®¦¥¨¨ á⮨¬®á⥩ ®¯¥à 権 ®¡ê¥¤¨¥¨ï ¯à®¨á室¨â ᮪à 饨¥.) ¬¥ç ¨ï ¡ « á¨à®¢ ë¥ ¤¥à¥¢ìï ¨ -¤¥à¥¢ì¥¢ ®¡á㦤 îâáï ¢ ãâ [123], å®, ®¯ªà®äâ ¨ «ì¬ [4] ¨ ¥¤¦¢¨ª [175]. ®¤à®¡ë© ®¡§®à -¤¥à¥¢ì¥¢ ¤ ¢ ®¬¥à [48]. ¨¡ á ¨ ¥¤¦¢¨ª [93] à áᬮâ५¨ ¢§ ¨¬®á¢ï§¨ ¬¥¦¤ã à §ë¬¨ ¢¨¤ ¬¨ á¡ « á¨à®¢ ëå ¤¥à¥¢ì¥¢, ¢ª«îç ï ªà á®-çñàë¥ ¨ 2-3-4 ¤¥à¥¢ìï. 1970 £®¤ã ®¯ªà®äâ (J. E. Hopcroft) ¯à¥¤«®¦¨« ¯®ï⨥ 2-3 ¤¥à¥¢ì¥¢, ª®â®àë¥ ï¢¨«¨áì ¯à¥¤è¥á⢥¨ª ¬¨ -¤¥à¥¢ì¥¢ ¨ 2-34 ¤¥à¥¢ì¥¢. íâ¨å ¤¥à¥¢ìïå ª ¦¤ ï ¢ãâà¥ïï ¢¥àè¨ ¨¬¥¥â 2 ¨«¨ 3 ¤¥â¥©. -¤¥à¥¢ìï ¡ë«¨ ®¯à¥¤¥«¥ë ©¥à®¬ ¨ ªà¥©â®¬ ¢ 1972 £®¤ã [18]. ¨å à ¡®â¥ ¥ ®¡êïáñ ¢ë¡®à §¢ ¨ï. 20 ¨®¬¨ «ìë¥ ªãç¨ í⮩ £« ¢¥ ¨ ¢ £« ¢¥ 21 à áᬠâਢ îâáï áâàãªâãàë ¤ ëå, ¨§¢¥áâë¥ ª ª ᫨¢ ¥¬ë¥ ªãç¨ (mergeable heaps). ª ï áâàãªâãà åà ¨â ¥áª®«ìª® ¬®¦¥á⢠(ªãç), í«¥¬¥âë ª®â®àëå §ë¢ îâ ¢¥àè¨ ¬¨. ¦¤ ï ¢¥àè¨ á®¤¥à¦¨â ¯®«¥ key (ª«îç), ¢ ª®â®à®¬ åà ¨âáï ¥ª®â®à®¥ ç¨á«®; ªà®¬¥ ⮣®, ¢ ¢¥à訥 ¬®¦¥â åà ¨âìáï ¥ª®â®à ï ¨ä®à¬ æ¨ï, ᮯ஢®¦¤ îé ï íâ® ç¨á«®. «¨¢ ¥¬ë¥ ªãç¨ ¯®§¢®«ïî⠢믮«ïâì á«¥¤ãî騥 ¯ïâì ®¯¥à 権: Make-Heap() ᮧ¤ ñâ ¨ ¢®§¢à é ¥â ®¢ãî ªãçã, ¥ ᮤ¥à¦ éãî í«¥¬¥â®¢; Insert(H; x) ¤®¡ ¢«ï¥â í«¥¬¥â (¢¥àè¨ã) x ¢ ªãçã H (¯®«¥ key í«¥¬¥â x ¤®«¦® ¡ëâì § ¯®«¥® § à ¥¥); Minimum(H ) ¢®§¢à é ¥â 㪠§ ⥫ì í«¥¬¥â ªãç¨ H á ¬¨¨¬ «ìë¬ ª«î箬; Extract-Min(H ) ¨§ë¬ ¥â í«¥¬¥â á ¬¨¨¬ «ìë¬ ª«î箬 ¨§ ªãç¨ H ¨ ¢®§¢à é ¥â 㪠§ â¥«ì ¨§êïâë© í«¥¬¥â; Union(H1; H2) ®¡ê¥¤¨ï¥â ªãç¨ H1 ¨ H2, â® ¥áâì ᮧ¤ ñâ ¨ ¢®§¢à é ¥â ®¢ãî ªãçã, ᮤ¥à¦ éãî ¢á¥ í«¥¬¥âë ªãç H1 ¨ H2. ¬¨ ªãç¨ H1 ¨ H2 ¯à¨ í⮬ ¨á祧 îâ. âàãªâãàë ¤ ëå, ®¯¨áë¢ ¥¬ë¥ ¢ í⮩ ¨ á«¥¤ãî饩 £« ¢ å, ¯®¤¤¥à¦¨¢ îâ ¥éñ ¤¢¥ ®¯¥à 樨: Decrease-Key(H; x; k) 㬥ìè ¥â ª«îç ¢¥àè¨ë x ªãç¨ H , ¯à¨á¢ ¨¢ ï ¥¬ã ®¢®¥ § 票¥ k (¯à¥¤¯®« £ ¥âáï, çâ® ®¢®¥ § 票¥ ¥ ¯à¥¢®á室¨â áâ ண®); Delete(H; x) 㤠«ï¥â í«¥¬¥â (¢¥àè¨ã) x ¨§ ªãç¨ H . ª ¢¨¤® ¨§ â ¡«¨æë 20.1, ¥á«¨ ¬ë ¥ 㦤 ¥¬áï ¢ ®¯¥à 樨 Union, â® (¤¢®¨çë¥) ªãç¨, á ¯®¬®éìî ª®â®àëå ¬ë á®àâ¨à®¢ «¨ ¬ áᨢ ¢ £« ¢¥ 7, ¢¥áì¬ íä䥪⨢ë. «ï ¨å ¢á¥ ®¯¥à 樨, ªà®¬¥ ®¯¥à 樨 Union, ¢ë¯®«ïîâáï § ¢à¥¬ï O(lg n) ¢ åã¤è¥¬ á«ãç ¥ ( ¥ª®â®àë¥ ¨§ ®¯¥à 権 | ¥éñ ¡ëáâ॥). ® ¤«ï ¢ë¯®«¥¨ï ®¯¥à 樨 Union ¬ ¯à¨å®¤¨âáï ¯à¨¯¨áë¢ âì ®¤¨ ¬ áᨢ ª ¤à㣮¬ã ¨ § ⥬ ¢ë¯®«ïâì ¯à®æ¥¤ãàã Heapify, çâ® âॡã¥â ¢à¥¬¥¨ (n). í⮩ £« ¢¥ ¬ë à á᪠¦¥¬ ® "¡¨®¬¨ «ìëå ªãç å" (¢â®à®© á⮫¡¥æ â ¡«¨æë). ¡à â¨â¥ ¢¨¬ ¨¥, çâ® ®¡ê¥¤¨¥¨¥ ¤¢ãå ¡¨- ¨®¬¨ «ìë¥ ¤¥à¥¢ìï ¨ ¡¨®¬¨ «ìë¥ ªãç¨ 395 ¢®¨çë¥ ªãç¨ ¨®¬¨ «ìë¥ ªãç¨ ¨¡® ç稥¢ë ªãç¨ (¢ åã¤è¥¬ á«ãç ¥) (¢ åã¤è¥¬ á«ãç ¥) (¢ á।¥¬) Make-Heap (1) (1) (1) Insert (lg n) O(lg n) (1) Minimum (1) O(lg n) (1) Extract-Min (lg n) (lg n) O(lg n) Union (n) O(lg n) (1) Decrease-Key (lg n) (lg n) (1) Delete (lg n) (lg n) O(lg n) à®æ¥¤ãà ¨á㮪 20.1 à¥¬ï ¢ë¯®«¥¨ï à §«¨çëå ®¯¥à 権 ¤«ï âàñå ¢¨¤®¢ ᫨¢ ¥¬ëå ªãç (n | ®¡é¥¥ ç¨á«® í«¥¬¥â®¢ ¢ ªãç å ¬®¬¥â ®¯¥à 樨). ®¬¨ «ìëå ªãç, ᮤ¥à¦ é¨å ¢ á㬬¥ n í«¥¬¥â®¢, âॡã¥â ¢á¥£® «¨èì O(lg n) ®¯¥à 権. £« ¢¥ 21 ¬ë à áᬠâਢ ¥¬ "䨡® ç稥¢ë ªãç¨", ª®â®àë¥ ¥éñ ¡®«¥¥ íä䥪⨢ë (âà¥â¨© á⮫¡¥æ). ⬥⨬, ¢¯à®ç¥¬, çâ® íâ® ã«ãç襨¥ ¤®á⨣ ¥âáï «¨èì ¤«ï ãçñ⮩ á⮨¬®á⨠®¯¥à 権 ¯à¨ ¬®à⨧ 樮®¬ «¨§¥. è¨å ¯à®æ¥¤ãà å ¬ë ¥ § ¨¬ ¥¬áï ¢ë¤¥«¥¨¥¬ ¨ ®á¢®¡®¦¤¥¨¥¬ ¯ ¬ï⨠¤«ï í«¥¬¥â®¢ ªãç. ᥠâਠ¢¨¤ ªãç, 㪠§ ëå ¢ â ¡«¨æ¥, ¥ ¯®§¢®«ïîâ íä䥪⨢® ॠ«¨§®¢ âì ¯®¨áª í«¥¬¥â á ¤ ë¬ ª«î箬 (Search). ®í⮬㠯à®æ¥¤ãàë Decrease-Key ¨ Delete ¯®«ãç îâ ¢ ª ç¥á⢥ ¯ à ¬¥âà ¥ ª«îç ¢¥àè¨ë, 㪠§ â¥«ì ¥ñ (¢® ¬®£¨å á«ãç ïå íâ® âॡ®¢ ¨¥ ¥ ᮧ¤ ñ⠯஡«¥¬). à §¤¥«¥ 20.1 ®¯à¥¤¥«ïîâáï ¡¨®¬¨ «ìë¥ ¤¥à¥¢ìï ¨ ªãç¨. ¬ ¦¥ ®¯¨áë¢ ¥âáï ¯à¥¤áâ ¢«¥¨¥ ¡¨®¬¨ «ìëå ªãç ¢ ¯à®£à ¬¬¥. à §¤¥«¥ 20.2 ¯®ª § ®, ª ª ॠ«¨§®¢ âì ¢á¥ ¯¥à¥ç¨á«¥ë¥ ®¯¥à 樨 § 㪠§ ®¥ ¢ â ¡«¨æ¥ 20.1 ¢à¥¬ï. 20.1 ¨®¬¨ «ìë¥ ¤¥à¥¢ìï ¨ ¡¨®¬¨ «ìë¥ ªãç¨ ¨®¬¨ «ì ï ªãç á®á⮨⠨§ ¥áª®«ìª¨å ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢. 20.1.1 ¨®¬¨ «ìë¥ ¤¥à¥¢ìï ¨®¬¨ «ìë¥ ¤¥à¥¢ìﬨ (binomial trees) §ë¢ îâáï 㯮à冷ç¥ë¥ (¢ á¬ëá«¥ à §¤¥« 5.2.2) ¤¥à¥¢ìï B0 ; B1; B2; : : : , ®¯à¥¤¥«ï¥¬ë¥ ¨¤ãªâ¨¢®. ¥à¥¢® B0 á®á⮨⠨§ ¥¤¨á⢥®© ¢¥àè¨ë (à¨á. 20.2 ). ¥à¥¢® Bk ᪫¥¥® ¨§ ¤¢ãå íª§¥¬¯«ï஢ ¤¥à¥¢ Bk;1 : ª®à¥ì ®¤®£® ¨§ ¨å ®¡ê¥ á ¬ë¬ «¥¢ë¬ ¯®â®¬ª®¬ ª®àï ¤à㣮£®. à¨á. 20.2¡ ¯®ª § ë ¡¨®¬¨ «ìë¥ ¤¥à¥¢ìï B0{B4. 396 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ depth = £«ã¡¨ ¨á㮪 20.2 ( ) ¥ªãàᨢ®¥ ®¯à¥¤¥«¥¨¥ ¡¨®¬¨ «ì®£® ¤¥à¥¢ Bk (âà¥ã£®«ì¨ª¨ | ¯®¤¤¥à¥¢ìï á ¢ë¤¥«¥ë¬ ª®à¥¬). (¡) ¥à¥¢ìï B0 {B4 . ¨äàë 㪠§ë¢ îâ £«ã¡¨ã ¢¥àè¨ ¢ ¤¥à¥¢¥ B4 . (¢) à㣮¥ ¯à¥¤áâ ¢«¥¨¥ ¤¥à¥¢ Bk . ¥¬¬ 20.1 (¢®©á⢠¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢). ¥à¥¢® Bk 1. ᮤ¥à¦¨â 2k ¢¥àè¨; 2. ¨¬¥¥â ¢ëá®âã k; 3. ¨¬¥¥â Cki ¢¥àè¨ £«ã¡¨ë i; 4. ¨¬¥¥â ª®à¥ì, ïî騩áï ¢¥à訮© á⥯¥¨ k; ¢á¥ ®áâ «ìë¥ ¢¥àè¨ë ¨¬¥îâ ¬¥ìèãî á⥯¥ì; ¤¥â¨ ª®àï ïîâáï ª®àﬨ ¯®¤¤¥à¥¢ì¥¢ Bk;1 ; Bk;2; : : :; B1; B0 (á«¥¢ ¯à ¢®). ®ª § ⥫ìá⢮. ¯à®¢®¤¨âáï ¨¤ãªæ¨¥© ¯® k. «ï B0 ¢áñ ®ç¥¢¨¤®. ãáâì ã⢥ত¥¨¥ ¢¥à® ¤«ï Bk;1 . ®£¤ : 1. ¥à¥¢® Bk á®á⮨⠨§ ¤¢ãå ª®¯¨© Bk;1 ¨ ¯®â®¬ã ᮤ¥à¦¨â k ; 2 1 + 2k;1 = 2k ¢¥àè¨. 2. ਠᮥ¤¨¥¨¨ ¤¢ãå ª®¯¨© ®¯¨á ë¬ á¯®á®¡®¬ ¢ëá®â 㢥«¨ç¨¢ ¥âáï 1. 3. ãáâì D(k; i) | ç¨á«® ¢¥àè¨ £«ã¡¨ë i ¢ ¤¥à¥¢¥ Bk . ® ¯®áâ஥¨î ¤¥à¥¢ Bk (á¬. à¨á. 20.2 ) ¨¬¥¥â ¬¥áâ® à ¢¥á⢮ D(k; i) = D(k ; 1; i) + D(k ; 1; i ; 1) = Cki ;1 + Cki;;11 = Cki : ¨®¬¨ «ìë¥ ¤¥à¥¢ìï ¨ ¡¨®¬¨ «ìë¥ ªãç¨ 397 (ë ¢®á¯®«ì§®¢ «¨áì ¨¤ãªâ¨¢ë¬ ¯à¥¤¯®«®¦¥¨¥¬ ¨ ã¯à. 6.1-7.) 4. ® ¯à¥¤¯®«®¦¥¨î ¨¤ãªæ¨¨ ¢á¥ ¢¥àè¨ë ¢ Bk;1 ¨¬¥îâ á⥯¥ì ¥ ¡®«ìè¥ k ; 1, â ª çâ® ª®à¥ì ¤¥à¥¢ Bk ¡ã¤¥â ¢ ñ¬ ¥¤¨á⢥®© ¢¥à訮© á⥯¥¨ k. ¯à ¢®¬ ¨§ ᪫¥¨¢ ¥¬ëå ¤¥à¥¢ì¥¢ ¤¥â¨ ª®àï ¡ë«¨ ¢¥àè¨ ¬¨ ¤¥à¥¢ì¥¢ Bk;2 ; Bk;3; : : :; B1; B0, ⥯¥àì ª ¨¬ ¤®¡ ¢¨«®áì á«¥¢ ¥é¥ ¤¥à¥¢® Bk;1 . «¥¤á⢨¥ 20.2. ªá¨¬ «ì ï á⥯¥ì ¢¥àè¨ë ¢ ¡¨®¬¨ «ì®¬ ¤¥à¥¢¥ á n ¢¥àè¨ ¬¨ à ¢ lg n. ®ª § ⥫ìá⢮. ᯮ«ì§ã¥¬ ã⢥ত¥¨ï 1 ¨ 4 «¥¬¬ë 20.1. §¢ ¨¥ "¡¨®¬¨ «ì®¥ ¤¥à¥¢®" á¢ï§ ® á ã⢥ত¥¨¥¬ 3 «¥¬¬ë 20.1 (ç¨á«® Cki §ë¢ îâ ¡¨®¬¨ «ìë¬ ª®íää¨æ¨¥â®¬). ¬. â ª¦¥ ã¯à. 20.1-3. 20.1.2 ¨®¬¨ «ìë¥ ªãç¨ ¨®¬¨ «ì ï ªãç (binomial heap) | íâ® ¡®à H ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢, ¢ ¢¥àè¨ å ª®â®àëå § ¯¨á ë ª«îç¨ (ç¨á« ) ¨, ¢®§¬®¦®, ¤®¯®«¨â¥«ì ï ¨ä®à¬ æ¨ï. ਠí⮬ ¤®«¦ë ¡ëâì ¢ë¯®«¥ë â ª¨¥ ᢮©á⢠¡¨®¬¨ «ì®© ªãç¨ (binomial-heap properties): 1. ¦¤®¥ ¤¥à¥¢® ¢ H 㯮à冷祮 ¢ á¬ëá«¥ ªãç (is heap-ordered), â. ¥. ª«îç ª ¦¤®© ¢¥àè¨ë ¥ ¬¥ìè¥, 祬 ª«îç ¥ñ த¨â¥«ï. 2. H ¥â ¤¢ãå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ ®¤®£® à §¬¥à (á ®¤¨ ª®¢®© á⥯¥ìî ª®àï). ¥à¢®¥ ᢮©á⢮ £ à â¨àã¥â, çâ® ª®à¥ì ª ¦¤®£® ¨§ ¤¥à¥¢ì¥¢ ¨¬¥¥â ¨¬¥ì訩 ª«îç á।¨ ¥£® ¢¥àè¨. § ¢â®à®£® ᢮©á⢠᫥¤ã¥â, çâ® á㬬 ஥ ª®«¨ç¥á⢮ ¢¥àè¨ ¢ ¡¨®¬¨ «ì®© ªãç¥ H ®¤®§ ç® ®¯à¥¤¥«ï¥â à §¬¥àë ¢å®¤ïé¨å ¢ ¥ñ ¤¥à¥¢ì¥¢. á ¬®¬ ¤¥«¥, ®¡é¥¥ ç¨á«® ¢¥àè¨, à ¢®¥ n, ¥áâì á㬬 à §¬¥à®¢ ®â¤¥«ìëå ¤¥à¥¢ì¥¢, ª®â®àë¥ áãâì à §«¨çë¥ á⥯¥¨ ¤¢®©ª¨, â ª®¥ ¯à¥¤áâ ¢«¥¨¥ ¥¤¨á⢥® (¤¢®¨ç ï á¨á⥬ áç¨á«¥¨ï). âáî¤ ¢ë⥪ ¥â â ª¦¥, çâ® ªãç á n í«¥¬¥â ¬¨ á®á⮨⠨§ ¥ ¡®«¥¥ 祬 blg nc + 1 ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢. à¨á. 20.3 ¯®ª § ¡¨®¬¨ «ì ï ªãç H á 13 ¢¥àè¨ ¬¨. ¤¢®¨ç®© á¨á⥬¥ 13 § ¯¨áë¢ ¥âáï ª ª 1101 (13 = 8 + 4 + 1), ¨ H c®á⮨⠨§ ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ B3 , B2 ¨ B0 (á ª®«¨ç¥á⢮¬ ¢¥àè¨ 8, 4 ¨ 1). ।áâ ¢«¥¨¥ ¡¨®¬¨ «ìëå ªãç ¢ ¯à®£à ¬¬¥ ª ¯®ª § ® à¨á. 20.3¡, ª ¦¤®¥ ¡¨®¬¨ «ì®¥ ¤¥à¥¢® ¢ ¡¨®¬¨ «ì®© ªãç¥ åà ¨âáï ¢ ¯à¥¤áâ ¢«¥¨¨ "«¥¢ë© ॡñ®ª, ¯à ¢ë© á®á¥¤" (á¬. à §¤. 11.4). ¦¤ ï ¢¥àè¨ ¨¬¥¥â ¯®«¥ key (ª«îç), 398 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ ¨á㮪 20.3 ¨®¬¨ «ì ï ªãç H á n = 13 ¢¥àè¨ ¬¨. ( ) ãç á®á⮨⠨§ ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ B0 , B2 ¨ B3 , ¨¬¥îé¨å ᮮ⢥âá⢥® 1, 4 ¨ 8 ¢¥àè¨ (¢á¥£® 13 ¢¥àè¨). «îç ª ¦¤®© ¢¥àè¨ë ¥ ¬¥ìè¥, 祬 ª«îç ¥ñ த¨â¥«ï. ®à¨ ¤¥à¥¢ì¥¢ á¢ï§ ë ¢ ª®à¥¢®© ᯨ᮪ ¢ ¯®à浪¥ ¢®§à áâ ¨ï á⥯¥¨. (¡) ।áâ ¢«¥¨¥ ªãç¨ ¢ ¯à®£à ¬¬¥. ¦¤®¥ ¡¨®¬¨ «ì®¥ ¤¥à¥¢® åà ¨âáï ¢ ¯à¥¤áâ ¢«¥¨¨ "«¥¢ë© ॡñ®ª, ¯à ¢ë© á®á¥¤", ¨ ¢ ª ¦¤®© ¢¥à訥 åà ¨âáï ¥ñ á⥯¥ì (degree ). â ª¦¥ åà ¨â ¤®¯®«¨â¥«ìãî ¨ä®à¬ æ¨î. ஬¥ ⮣®, ª ¦¤ ï ¢¥àè¨ x åà ¨â 㪠§ ⥫¨ p[x] (த¨â¥«ì), child[x] (á ¬ë© «¥¢ë© ¨§ ¤¥â¥©) ¨ sibling[x] ("á«¥¤ãî騩 ¯® áâ àè¨áâ¢ã ¡à â"). ᫨ x | ª®à¥ì, â® p[x] = nil; ¥á«¨ x ¥ ¨¬¥¥â ¤¥â¥©, â® child[x] = nil, ¥á«¨ x ï¥âáï á ¬ë¬ ¯à ¢ë¬ ॡñª®¬ ᢮¥£® த¨â¥«ï, â® sibling[x] = nil. ¦¤ ï ¢¥àè¨ x ᮤ¥à¦¨â â ª¦¥ ¯®«¥ degree[x] ¢ ª®â®à®¬ åà ¨âáï á⥯¥ì (ç¨á«® ¤¥â¥©) ¢¥àè¨ë x. à¨á. 20.3 ¯®ª § ® â ª¦¥, çâ® ª®à¨ ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢, á®áâ ¢«ïîé¨å ¡¨®¬¨ «ìãî ªãçã, á¢ï§ ë ¢ ᯨ᮪, §ë¢ ¥¬ë© ª®à¥¢ë¬ ᯨ᪮¬ (root list) ¢ ¯®à浪¥ ¢®§à áâ ¨ï á⥯¥¥©. ª ¬ë ¢¨¤¥«¨, ¢ ªãç¥ á n ¢¥àè¨ ¬¨ á⥯¥¨ ª®à¥¢ëå ¢¥àè¨ ®¡à §ãîâ ¯®¤¬®¦¥á⢮ ¬®¦¥á⢠f0; 1; : : :; blg ncg. «ï ¯®áâ஥¨ï ª®à¥¢®£® ᯨ᪠¨á¯®«ì§ã¥âáï ¯®«¥ sibling : ¤«ï ª®à¥¢®© ¢¥àè¨ë ®® 㪠§ë¢ ¥â á«¥¤ãî騩 í«¥¬¥â ª®à¥¢®£® ᯨ᪠(¨ ᮤ¥à¦¨â nil ¤«ï ¯®á«¥¤¥£® ª®àï ¢ ª®à¥¢®¬ ᯨ᪥). ¯¥à 樨 á ¡¨®¬¨ «ì묨 ªãç ¬¨ 399 ¨á㮪 20.4 ¨®¬¨ «ì®¥ ¤¥à¥¢® B4 á ¢¥àè¨ ¬¨, ¯à®ã¬¥à®¢ 묨 ¢ ¯®à浪¥ "«¥¢®¥ ¯®¤¤¥à¥¢®, : : : , ¯à ¢®¥ ¯®¤¤¥à¥¢®, ¢¥àè¨ "; ®¬¥à § ¯¨á ë ¢ ¤¢®¨ç®© á¨á⥬¥. ®áâ㯠ª ¡¨®¬¨ «ì®© ªãç¥ H ®áãé¥á⢫ï¥âáï á ¯®¬®éìî ¯®«ï head[H ] | 㪠§ â¥«ï ¯¥à¢ë© ª®à¥ì ¢ ª®à¥¢®¬ ᯨ᪥ ªãç¨ H . ᫨ ªãç H ¯ãáâ , â® head[H ] = nil. ¯à ¦¥¨ï 20.1-1 ãáâì x | ¢¥àè¨ ®¤®£® ¨§ ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ ¢ ¡¨®¬¨ «ì®© ªãç¥, ¯à¨çñ¬ sibling[x] 6= nil. ª á®®â®áïâáï § 票ï degree[sibling[x]] ¨ degree[x]? (⢥⠧ ¢¨á¨â ®â ⮣®, ï¥âáï «¨ x ª®à¥¬.) 20.1-2 ãáâì x | ¥ª®à¥¢ ï ¢¥àè¨ ¡¨®¬¨ «ì®£® ¤¥à¥¢ . à ¢¨âì degree[p[x]] ¨ degree[x]. 20.1-3 ᯮ«®¦¨¬ ¢¥àè¨ë ¡¨®¬¨ «ì®£® ¤¥à¥¢ Bk ¢ â ª®¬ ¯®à浪¥, çâ®¡ë ª ¦¤ ï ¢¥àè¨ á«¥¤®¢ « § ᢮¨¬¨ ¯®â®¬ª ¬¨. ਠí⮬ á ç « ¨¤ãâ ¯®â®¬ª¨ ¥ñ «¥¢®£® ॡñª , § ⥬ á ¬ íâ®â ॡ¥®ª, § ⥬ ¯®â®¬ª¨ á«¥¤ãî饣® ॡ¥ª , ® á ¬ ¨ â. ¤. (postorder walk). à®ã¬¥à㥬 ¢¥àè¨ë, § ¯¨á ¢ ®¬¥à ¢ ¤¢®¨ç®© á¨á⥬¥ áç¨á«¥¨ï (à¨á. 20.4). ®ª ¦¨â¥, çâ® £«ã¡¨ ¢¥àè¨ë ®¯à¥¤¥«ï¥âáï ç¨á«®¬ ¥¤¨¨æ (ª®à¥ì ¨¬¥¥â ®¤¨ ¥¤¨¨æë, ¥£® ¤¥â¨ ®¤ã ¥¤¨¨æã ¬¥ìè¥ ¨ â. ¤.), á⥯¥ì ¢¥àè¨ë à ¢ï¥âáï ç¨á«ã ¥¤¨¨æ ã ¯à ¢®£® ªà ï ¤¢®¨ç®© § ¯¨á¨. ª®«ìª® ¨¬¥¥âáï ¤¢®¨çëå áâப ¤«¨ë k, ᮤ¥à¦ é¨å ஢® j ¥¤¨¨æ, ¨ £¤¥ 室ïâáï ᮮ⢥âáâ¢ãî騥 ¨¬ ¢¥àè¨ë? 20.2 ¯¥à 樨 á ¡¨®¬¨ «ì묨 ªãç ¬¨ í⮬ à §¤¥«¥ ¯à¨¢¥¤¥ë ॠ«¨§ 樨 ®¯¥à 権 á ¡¨®¬¨ «ì묨 ªãç ¬¨. ६ï à ¡®âë íâ¨å ®¯¥à 権 㪠§ ® ¢ â ¡«¨æ¥ 20.1. ë ¤®ª ¦¥¬ ⮫쪮 ¢¥à娥 ®æ¥ª¨, ®áâ ¢«ïï ¨¦¨¥ ¢ ª ç¥á⢥ ã¯à. 20.2-10. ®§¤ ¨¥ ®¢®© ªãç¨ à®æ¥¤ãà Make-Binomial-Heap ᮧ¤ ñâ ¨ ¢®§¢à é ¥â ®¡ê¥ªâ H , ¤«ï ª®â®à®£® head[H ] = nil (¢à¥¬ï à ¡®âë (1)). 400 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ ®¨áª ¬¨¨¬ «ì®£® ª«îç à®æ¥¤ãà Binomial-Heap-Minimum ¢®§¢à é ¥â 㪠§ â¥«ì ¢¥àè¨ã á ¬¨¨¬ «ìë¬ ª«î箬 ¢ ¡¨®¬¨ «ì®© ªãç¥ H , á®áâ®ï饩 ¨§ n ¢¥àè¨. ë ¨á¯®«ì§ã¥¬ á¯¥æ¨ «ì®¥ § 票¥ 1, ª®â®à®¥ ¡®«ìè¥ ¢á¥å § 票© ª«î祩 (á¬. ã¯à. 20.2-5). Binomial-Heap-Minimum(H ) 1 y nil 2 x head[H ] 3 min 1 4 while x = 6 nil 5 do if key[x] < min 6 then min key[x] 7 y x 8 x sibling[x] 9 return y ¡¨®¬¨ «ìëå ¤¥à¥¢ìïå ¨¬¥ì訥 í«¥¬¥âë áâ®ïâ ¢ ª®àïå, â ª çâ® ¤®áâ â®ç® ¢ë¡à âì ¬¨¨¬ «ìë© í«¥¬¥â ª®à¥¢®£® ᯨ᪠. à®æ¥¤ãà Binomial-Heap-Minimum ¯à®á¬ âਢ ¥â íâ®â ᯨ᮪, åà ï ¢ ¯¥à¥¬¥®© min ¬¨¨¬ «ì®¥ ¨§ ¯à®á¬®âà¥ëå § 票©, ¢ ¯¥à¥¬¥®© y | ¢¥àè¨ã, £¤¥ ®® ¤®á⨣ ¥âáï. ¯à¨¬¥à, ¤«ï ªãç¨ à¨á. 20.3 ¯à®æ¥¤ãà Binomial-HeapMinimum ¢®§¢à é ¥â 㪠§ â¥«ì ¢¥àè¨ã á ª«î箬 1. «¨ ª®à¥¢®£® ᯨ᪠¥ ¯à¥¢®á室¨â blg nc +1, ¯®í⮬㠢६ï à ¡®âë ¯à®æ¥¤ãàë Binomial-Heap-Minimum ¥áâì O(lg n). 20.2.1 ¡ê¥¤¨¥¨¥ ¤¢ãå ªãç ¯¥à æ¨ï Binomial-Heap-Union, ᮥ¤¨ïîé ï ¤¢¥ ¡¨®¬¨ «ìë¥ ªãç¨ ¢ ®¤ã, ¨á¯®«ì§ã¥âáï ¢ ª ç¥á⢥ ¯®¤¯à®£à ¬¬ë ¡®«ìè¨á⢮¬ ®áâ «ìëå ®¯¥à 権. [¤¥ï ¯à®áâ : ¯ãáâì ¥áâì ¤¢¥ ¡¨®¬¨ «ìë¥ ªãç¨ á m ¨ n í«¥¬¥â ¬¨. §¬¥àë ¤¥à¥¢ì¥¢ ¢ ¨å ᮮ⢥âáâ¢ãîâ á« £ ¥¬ë¬ ¢ à §«®¦¥¨ïå ç¨á¥« m ¨ n ¢ á㬬ã á⥯¥¥© ¤¢®©ª¨. ਠ᫮¦¥¨¨ á⮫¡¨ª®¬ ¢ ¤¢®¨ç®© á¨á⥬¥ ¯à®¨á室ïâ ¯¥à¥®áë, ª®â®àë¥ á®®â¢¥âáâ¢ãîâ ᫨ï¨ï¬ ¤¢ãå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ Bk;1 ¢ ¤¥à¥¢® Bk . ¤® ⮫쪮 ¯®á¬®âà¥âì, ¢ ª ª®¬ ¨§ ᫨¢ ¥¬ëå ¤¥à¥¢ì¥¢ ª®à¥ì ¬¥ìè¥, ¨ áç¨â âì ¥£® ¢¥à娬.] ¯¨è¥¬ ®¯¥à æ¨î ®¡ê¥¤¨¥¨ï ¯®¤à®¡®. çñ¬ á® ¢á¯®¬®£ ⥫쮩 ®¯¥à 樨 Binomial-Link, ª®â®à ï ᮥ¤¨ï¥â ¤¢ ¡¨®¬¨ «ìëå ¤¥à¥¢ ®¤®£® à §¬¥à (Bk;1 ), ª®àﬨ ª®â®àëå ïîâáï ¢¥àè¨ë y ¨ z, ¤¥« ï ¢¥àè¨ã z த¨â¥«¥¬ ¢¥àè¨ë y ¨ ª®à¥¬ ¤¥à¥¢ Bk . ¯¥à 樨 á ¡¨®¬¨ «ì묨 ªãç ¬¨ 401 Binomial-Link(y; z ) 1 2 3 4 p[y ] z sibling[y ] child[z ] child[z ] y degree[z ] degree[z ] + 1 ६ï à ¡®âë í⮩ ¯à®æ¥¤ãàë | O(1) (㤠çë¬ ®¡à §®¬ ®ª §ë¢ ¥âáï, çâ® ¢¥àè¨ã y ¤® ¤®¡ ¢¨âì ¢ ç «® ᯨ᪠¤¥â¥© ¢¥àè¨ë z, çâ® «¥£ª® ᤥ« âì ¢ ¯à¥¤áâ ¢«¥¨¨ "«¥¢ë© ॡñ®ª, ¯à ¢ë© á®á¥¤"). ¥¯¥àì ¯¨è¥¬ ¯à®æ¥¤ãàã Binomial-Heap-Union, ª®â®à ï ®¡ê¥¤¨ï¥â ¡¨®¬¨ «ìë¥ ªãç¨ H1 ¨ H2 (á ¬¨ ªãç¨ ¯à¨ í⮬ ¨á祧 îâ). ®¬¨¬® ¯à®æ¥¤ãàë Binomial-Link, ¬ ¯® ¤®¡¨âáï ¯à®æ¥¤ãà Binomial-Heap-Merge, ª®â®à ï ᫨¢ ¥â ª®à¥¢ë¥ ᯨ᪨ ªãç H1 ¨ H2 ¢ ¥¤¨ë© ᯨ᮪, ¢¥àè¨ë ¢ ª®â®à®¬ ¨¤ãâ ¢ ¯®à浪¥ ¢®§à áâ ¨ï á⥯¥¥©. (â ¯à®æ¥¤ãà «®£¨ç ¯à®æ¥¤ãॠMerge ¨§ à §¤¥« 1.3.1, ¨ ¥ñ ¬ë ®áâ ¢«ï¥¬ ç¨â â¥«î ¢ ª ç¥á⢥ ã¯à. 20.2-2.) Binomial-Heap-Union(H1; H2) 1 H Make-Binomial-Heap() 2 head[H ] Binomial-Heap-Merge (H1; H2) 3 ®á¢®¡®¤¨âì ¯ ¬ïâì, § ïâãî ¯®¤ H1 ¨ H2 (á®åà ¨¢ ᯨ᪨, ª®â®àë¥ ãª §ë¢ îâ H1 ¨ H2) 4 if head[H ] = nil 5 then return H 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 prev-x nil x head[H ] next-x sibling[x] while next-x = 6 nil do if (degree[x] 6= degree[next-x]) or (sibling[next-x] = 6 nil and degree[sibling[next-x]] = degree[x]) then prev-x x . «ãç ¨ 1 ¨ 2 x next-x . «ãç ¨ 1 ¨ 2 else if key[x] 6 key[next-x] then sibling[x] sibling[next-x] . «ãç © 3 Binomial-Link(next-x; x) . «ãç © 3 else if prev-x = nil . «ãç © 4 then head[H ] next-x . «ãç © 4 else sibling[prev-x] next-x . «ãç © 4 Binomial-Link(x; next-x) . «ãç © 4 x next-x . «ãç © 4 next-x sibling[x] return H 402 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ à¨á㪥 20.5 ¯®ª § ¯à¨¬¥à ®¡ê¥¤¨¥¨ï ¤¢ãå ªãç, ¢ ª®â®à®¬ ¢áâà¥ç îâáï ¢á¥ ç¥âëॠá«ãç ï, ¯à¥¤ãᬮâà¥ë¥ ¢ ⥪á⥠¯à®æ¥¤ãàë. ¡®â ¯à®æ¥¤ãàë Binomial-Heap-Union ç¨ ¥âáï á ᮥ¤¨¥¨ï ª®à¥¢ëå ᯨ᪮¢ ªãç H1 ¨ H2 ¢ ¥¤¨ë© ᯨ᮪ H , ¢ ª®â®à®¬ ª®à¥¢ë¥ ¢¥àè¨ë ¨¤ãâ ¢ ¯®à浪¥ ¢®§à áâ ¨ï ¨å á⥯¥¥© (¢ë§®¢ Binomial-Heap-Merge). ¯®«ã稢襬áï ᯨ᪥ ¬®¦¥â ¡ëâì ¤® ¤¢ãå ¢¥àè¨ ®¤¨ ª®¢®© á⥯¥¨. ®í⮬㠬ë ç¨ ¥¬ ᮥ¤¨ïâì ¤¥à¥¢ìï à ¢®© á⥯¥¨ á ¯®¬®éìî ¯à®æ¥¤ãàë Binomial-Link ¨ ¤¥« ¥¬ íâ® ¤® â¥å ¯®à, ¯®ª ¤¥à¥¢ì¥¢ ®¤¨ ª®¢®© á⥯¥¨ ¥ ®áâ ¥âáï. â®â ¯à®æ¥áá ᮮ⢥âáâ¢ã¥â á«®¦¥¨î á⮫¡¨ª®¬, ¨ ¢à¥¬ï ¥£® à ¡®âë ¯à®¯®à樮 «ì® ç¨á«ã ª®à¥¢ëå ¢¥àè¨. ¯¨è¥¬ à ¡®âã ¯à®æ¥¤ãàë ¡®«¥¥ ¯®¤à®¡®. ç « (áâப¨ 1{3) ¯à®¨á室¨â ᫨逸 ª®à¥¢ëå ᯨ᪮¢ ¡¨®¬¨ «ìëå ªãç H1 ¨ H2 ¢ ®¤¨ ª®à¥¢®© ᯨ᮪ H . à®æ¥¤ãà Binomial-Heap-Merge ª ¦¤®¬ è £¥ ᢮¥© à ¡®âë áà ¢¨¢ ¥â ç « ᯨ᪮¢ H1 ¨ H2 ¨ ¢¥àè¨ã á ¬¥ì襩 á⥯¥ìî ¤®¡ ¢«ï¥â ¢ ª®¥æ ᯨ᪠H . ਠí⮬ ¯®à冷ª á®åà ï¥âáï, â ª çâ® ¢ ᯨ᪥ H á⥯¥¨ ª®à¥¢ëå ¢¥àè¨ ¨¤ãâ ¢ ¥ã¡ë¢ î饬 ¯®à浪¥. à®æ¥¤ãà Binomial-Heap-Merge âॡã¥â ¢à¥¬¥¨ O(m), £¤¥ m | á㬬 à ï ¤«¨ ᯨ᪮¢ H1 ¨ H2. ᫨ ªãç¨ H1 ¨ H2 ¯ãáâë, ¡ã¤¥â ¢®§¢à é¥ ¯ãáâ ï ªãç (áâப¨ 4{5). «¥¥ ¬ë ¯à¥¤¯®« £ ¥¬, ç⮠ᯨ᮪ H ᮤ¥à¦¨â å®âï ¡ë ®¤ã ¢¥àè¨ã. 横«¥ ¨á¯®«ì§ãîâáï âਠ㪠§ ⥫ï: x 㪠§ë¢ ¥â ⥪ãéãî ª®à¥¢ãî ¢¥àè¨ã; prev-x 㪠§ë¢ ¥â ¯à¥¤è¥áâ¢ãîéãî ¢¥àè¨ã (sibling[prev-x] = x); next-x 㪠§ë¢ ¥â ¢¥àè¨ã, á«¥¤ãîéãî § x ¢ ᯨ᪥ (sibling[x] = next-x). § ç «ì® ¢ ᯨ᪥ H ¬®¦¥â ¡ëâì ¥ ¡®«¥¥ ¤¢ãå ¢¥àè¨ ¤ ®© á⥯¥¨, â ª ª ª ª ¦¤ ï ¨§ ¡¨®¬¨ «ìëå ªãç H1 ¨ H2 ᮤ¥à¦¨â ¥ ¡®«¥¥ ®¤®© ¢¥àè¨ë ¤ ®© á⥯¥¨. ®áª®«ìªã á⥯¥¨ ¥ ã¡ë¢ îâ, ¢¥àè¨ë ®¤¨ ª®¢®© á⥯¥¨ ¡ã¤ãâ á®á¥¤¨¬¨. ਠ᫮¦¥¨¨ ¤¢®¨çëå ç¨á¥« á⮫¡¨ª®¬ ¢ ®¤®¬ à §à拉 ¬®¦¥â ¡ëâì âਠ¥¤¨¨æë (¤¢¥ ¢ á« £ ¥¬ëå ¨ ®¤ § áçñâ ¯¥à¥®á ). ® «®£¨çë¬ ¯à¨ç¨ ¬ ¢ 室¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë BinomialHeap-Union ¢ ᯨ᪥ H ¬®£ãâ ®ª § âìáï âਠ¢¥àè¨ë ®¤¨ ª®¢®© á⥯¥¨. ®í⮬ã, ¢¨¤ï ¢ áâப¥ 10 ¤¢¥ á®á¥¤¨¥ ¢¥àè¨ë ®¤¨ ª®¢®© á⥯¥¨, ¬ë ¯à®¢¥à塞, ¥ ¨¤ñâ «¨ § ¨¬¨ ¥éñ ®¤ ¢¥àè¨ â®© ¦¥ á⥯¥¨. ¬¥â¨¬, çâ® ¢ ç «¥ ª ¦¤®© ¨â¥à 樨 横« while (áâப¨ 9{ 21) ¨ ®¤¨ ¨§ 㪠§ ⥫¥© x ¨ next-x ¥ à ¢¥ nil. «ãç © 1, ¨§®¡à ¦¥ë© à¨á㪥 20.6 , ¢®§¨ª ¥â, ª®£¤ ¯¥à 樨 á ¡¨®¬¨ «ì묨 ªãç ¬¨ 403 ¨á㮪 20.5 ᯮ«¥¨¥ ¯à®æ¥¤ãàë Binomial-Heap-Union. ( ) ¨®¬¨ «ìë¥ ªãç¨ H1 ¨ H2 . (¡) ãç H , ¢®§¨ª îé ï ¯®á«¥ ¢ë¯®«¥¨ï BinomialHeap-Merge(H1 ; H2 ); ¢ ¯¥à¥¬¥®© x 室¨âáï ¯¥à¢ë© ª®à¥ì ¨§ ᯨ᪠. ¡¥ ¢¥àè¨ë x ¨ next-x ¨¬¥îâ á⥯¥ì 0, ¯à¨ç¥¬ key[x] < key[next-x] (á«ãç © 3). (¢) ®á«¥ á¢ï§ë¢ ¨ï ¢¥àè¨ (Binomial-Link) x áâ ®¢¨âáï ¯¥à¢ë¬ ¨§ âàñå ª®à¥© ®¤¨ ª®¢®© á⥯¥¨ (á«ãç © 2) (£) ª § ⥫¨ ¯à®¤¢¨ãâë ¢¯¥àñ¤ ®¤ã ¯®§¨æ¨î ¢¤®«ì ª®à¥¢®£® ᯨ᪠, x ï¥âáï ¯¥à¢ë¬ ¨§ ¤¢ãå ª®à¥© ®¤¨ ª®¢®© á⥯¥¨ (á«ãç © 4). (¤) ®á«¥ á¢ï§ë¢ ¨ï ¢¥àè¨ ¢®§¨ª ¥â á«ãç © 3. (¥) éñ ®¤® á¢ï§ë¢ ¨¥ ¯à¨¢®¤¨â ª á«ãç î 1 (á⥯¥ì ¢¥àè¨ë x à ¢ 3, á⥯¥ì next-x à ¢ 4). த¢¨¦¥¨¥ 㪠§ ⥫¥© ¯à¨¢¥¤¥â ª ¢ë室㠨§ 横« , â ª ª ª next-x áâ ¥â à ¢ë¬ nil. 404 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ degree[x] 6= degree[next-x], â. ¥. ª®£¤ x ï¥âáï ª®à¥¬ ¤¥à¥¢ Bk , next-x | ª®à¥¬ ¤¥à¥¢ Bl ¤«ï ¥ª®â®à®£® l > k. ®¬ã á«ãç î ᮮ⢥âáâ¢ãîâ áâப¨ 11{12. í⮬ á«ãç ¥ ¬ë ¯à®áâ® ¯à®¤¢¨£ ¥¬ 㪠§ ⥫¨ ®¤ã ¯®§¨æ¨î (®¡®¢«¥¨¥ 㪠§ ⥫ï next-x ¡ã¤¥â ¢ë¯®«¥® ¢ áâப¥ 21). «ãç © 2, ¨§®¡à ¦¥ë© à¨á㪥 20.6¡, ¢®§¨ª ¥â, ª®£¤ ¢¥à- è¨ x ï¥âáï ¯¥à¢®© á।¨ âàñå ª®à¥¢ëå ¢¥àè¨ ®¤¨ ª®¢®© á⥯¥¨ (degree[x] = degree[next-x] = degree[sibling[next-x]]). ¢ í⮬ á«ãç ¥ ¬ë ¯à®¤¢¨£ ¥¬ 㪠§ ⥫¨ ¢¤®«ì ᯨ᪠. áâப¥ 10 ¬ë ¯à®¢¥à塞, ¨¬¥¥â «¨ ¬¥áâ® ®¤¨ ¨§ á«ãç ¥¢ 1 ¨«¨ 2, ¨ ¢ áâப å 11{12 ¢ë¯®«ï¥¬ ¯à®¤¢¨¦¥¨¥ 㪠§ ⥫¥©. á«ãç ïå 3 ¨ 4 § ¢¥à訮© x á«¥¤ã¥â ஢® ®¤ ¢¥àè¨ â®© ¦¥ á⥯¥¨: degree[x] = degree[next-x] = 6 degree[sibling[next-x]]. â® ¬®¦¥â ¯à®¨§®©â¨ ¯®á«¥ ®¡à ¡®âª¨ «î¡®£® ¨§ á«ãç ¥¢ 1{4, ® ¯®á«¥ á«ãç ï 2 ¯à®¨§®©¤ñâ ¢¥àïª . ë á¢ï§ë¢ ¥¬ ¢¥àè¨ë x ¨ next-x; ª ª ï ¨§ ¨å ®áâ ñâáï ª®à¥¬, § ¢¨á¨â ®â ⮣®, ª ª á®®â®áïâáï ª«îç¨ ¢ íâ¨å ¤¢ãå ¢¥àè¨ å. á«ãç ¥ 3 (à¨á. 20.6¢) key[x] 6 key[next-x], ¯®í⮬㠢¥àè¨ next-x ¯®¤¢¥è¨¢ ¥âáï ª ¢¥à訥 x. âப 14 㤠«ï¥â ¢¥àè¨ã next-x ¨§ ª®à¥¢®£® ᯨ᪠, áâப 15 ¤¥« ¥â ¢¥àè¨ã next-x «¥- ¯¥à 樨 á ¡¨®¬¨ «ì묨 ªãç ¬¨ 405 ¨á㮪 20.6 ¥âëॠá«ãç ï ¢ ¯à®æ¥¤ãॠBinomial-Heap-Union. ¢á¥å à¨áãª å ¢¥àè¨ x | ª®à¥ì ¤¥à¥¢ Bk ¨ l > k. ( ) «ãç © 1: degree[x] 6= degree[next-x]. ª § ⥫¨ ¯à®¤¢¨£ îâáï ®¤ã ¯®§¨æ¨î. (¡) «ãç © 2: degree[x] = degree[next-x] = degree[sibling[next-x]]. ¢ í⮬ á«ãç ¥ 㪠§ ⥫¨ ¯à®¤¢¨£ îâáï, ¨ ¯à¨ á«¥¤ãî饩 ¨â¥à 樨 横« ¢®§¨ª¥â á«ãç © 3 ¨«¨ 4. (¢) «ãç © 3: degree[x] = degree[next-x] 6= degree[sibling[next-x]], ¨ key[x] 6 key[next-x]. ë 㤠«ï¥¬ ¢¥àè¨ã next-x ¨§ ª®à¥¢®£® ᯨ᪠¨ ¯®¤¢¥è¨¢ ¥¬ ¥ñ ª ¢¥à訥 x, ¯®«ãç ï ¤¥à¥¢® Bk+1 . (£) «ãç © 4: degree[x] = degree[next-x] 6= degree[sibling[next-x]], ¨ key[next-x] < key[x]. ë 㤠«ï¥¬ ¢¥àè¨ã x ¨§ ª®à¥¢®£® ᯨ᪠¨ ¯®¤¢¥è¨¢ ¥¬ ¥ñ ª ¢¥à訥 next-x, ®¯ïâì-â ª¨ ¯®«ãç ï ¤¥à¥¢® Bk+1 . 406 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ ¢ë¬ ॡñª®¬ ¢¥àè¨ë x. á«ãç ¥ 4 (à¨á. 20.6£) ¬¥ì訩 ª«îç ¨¬¥¥â ¢¥àè¨ next-x, ¯®í⮬㠢¥àè¨ x ¯®¤¢¥è¨¢ ¥âáï ª ¢¥à訥 next-x. âப¨ 16{18 㤠«ïîâ ¢¥àè¨ã x ¨§ ª®à¥¢®£® ᯨ᪠; ¢ ¦® à §«¨ç âì, ï¥âáï «¨ ¢¥àè¨ x ¯¥à¢®© ¢ ᯨ᪥ (áâப 17) ¨«¨ ¥â (áâப 18). âப 19 ¤¥« ¥â ¢¥àè¨ã x «¥¢ë¬ ॡñª®¬ ¢¥àè¨ë next-x, áâப 20 ®¡®¢«ï¥â x ¤«ï á«¥¤ãî饩 ¨â¥à 樨. á«ãç ïå 3 ¨ 4 ®¡à §®¢ «®áì ®¢®¥ Bk+1 -¤¥à¥¢®, ª®â®à®¥ 㪠§ë¢ ¥â x. ¨¬ ¬®¦¥â 室¨âìáï ®â ã«ï ¤® ¤¢ãå ¤¥à¥¢ì¥¢ â ª®£® ¦¥ à §¬¥à . á«¥¤ãî饩 ¨â¥à 樨 横« íâ® ¯à¨¢¥¤ñâ ª á«ãç ï¬ 1, 3{4 ¨ 2 ᮮ⢥âá⢥®. ६ï à ¡®âë ¯à®æ¥¤ãàë Binomial-Heap-Union ¥áâì O(lg n), £¤¥ n | á㬬 ஥ ç¨á«® ¢¥àè¨ ¢ ªãç å H1 ¨ H2: ¢ á ¬®¬ ¤¥«¥, à §¬¥àë ª®à¥¢ëå ᯨ᪮¢ ¢ ªãç å H1 ¨ H2 áãâì O(lg n) (ª®«¨ç¥á⢮ í«¥¬¥â®¢ ¢ ®¡¥¨å ªãç å ¥ ¡®«ìè¥ n), ¨ ¯®á«¥ ᫨ï¨ï ¢ ᯨ᪥ H ¡ã¤¥â O(lg n) í«¥¬¥â®¢. ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Binomial-Merge, ¨ ç¨á«® ¨â¥à 権 横« ¢ áâப å 9{21 ¯à®¯®à樮 «ì® ç «ì®© ¤«¨¥ ᯨ᪠H . ¦¤ ï ¨â¥à æ¨ï âॡã¥â ¢à¥¬¥¨ O(1), â ª çâ® ®¡é¥¥ ¢à¥¬ï ¤¥©áâ¢¨â¥«ì® ¥áâì O(lg n). ®¡ ¢«¥¨¥ ¢¥àè¨ë «¥¤ãîé ï ¯à®æ¥¤ãà ¤®¡ ¢«ï¥â í«¥¬¥â x ¢ ¡¨®¬¨ «ìãî ªãçã H . ।¯®« £ ¥âáï, çâ® í«¥¬¥â x 㦥 à §¬¥éñ ¢ ¯ ¬ïâ¨, ¨ ¯®«¥ ª«îç key[x] § ¯®«¥®. Binomial-Heap-Insert (H; x) 1 H 0 Make-Binomial-Heap() 2 p[x] nil 3 child[x] nil 4 sibling[x] nil 5 degree[x] 0 6 head[H 0] x 7 H Binomial-Heap-Union(H; H 0) ¤¥ï ¯à®áâ : § ¢à¥¬ï O(1) ¬ë ᮧ¤ ñ¬ ¡¨®¬¨ «ìãî ªãçã H 0 ¨§ ®¤®© ¢¥àè¨ë x ¨ § ¢à¥¬ï O(lg n) ®¡ê¥¤¨ï¥¬ ¥ñ á ¡¨®¬¨ «ì®© ªã祩 H , á®áâ®ï饩 ¨§ n ¢¥àè¨. (®á«¥ í⮣® ¯ ¬ïâì, ¢à¥¬¥® ®â¢¥¤ñ ï ¤«ï H 0, ®á¢®¡®¦¤ ¥âáï). ¥ «¨§ æ¨ï ¯à®æ¥¤ãàë Binomial-Heap-Insert ¡¥§ áá뫪¨ Binomial-Heap-Union á®áâ ¢«ï¥â ã¯à. 20.2-8. ¯¥à 樨 á ¡¨®¬¨ «ì묨 ªãç ¬¨ 407 ¤ «¥¨¥ ¢¥àè¨ë á ¬¨¨¬ «ìë¬ ª«î箬 «¥¤ãîé ï ¯à®æ¥¤ãà ¨§ë¬ ¥â ¨§ ¡¨®¬¨ «ì®© ªãç¨ H ¢¥àè¨ã á ¬¨¨¬ «ìë¬ ª«î箬 ¨ ¢®§¢à é ¥â 㪠§ â¥«ì ¨§êïâãî ¢¥àè¨ã. ®áª®«ìªã ¬¨¨¬ «ìë© í«¥¬¥â 室¨âáï ¢ ª®à¥¢®¬ ᯨ᪥, ©â¨ ¥£® «¥£ª®; ¯®á«¥ ¥£® 㤠«¥¨ï ᮮ⢥âáâ¢ãî饥 ¤¥à¥¢® à ááë¯ ¥âáï ¢ ¡®à ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ ¬¥ì襣® à §¬¥à , ª®â®àë© ¤® ®¡ê¥¤¨¨âì á ®á⠢襩áï ç áâìî ªãç¨. Binomial-Heap-Extract-Min(H ) 1 ¢ ª®à¥¢®¬ ᯨ᪥ H ©â¨ ¢¥àè¨ã x á ¬¨¨¬ «ìë¬ ª«î箬 ¨ 㤠«¨âì x ¨§ ª®à¥¢®£® ᯨ᪠2 H 0 Make-Binomial-Heap() 3 ®¡à â¨âì ¯®à冷ª ¢ ᯨ᪥ ¤¥â¥© ¢¥àè¨ë x ¨ ¯®¬¥áâ¨âì ¢ head[H 0] 㪠§ ⥫ì ç «® ¯®«ã稢襣®áï ᯨ᪠4 H Binomial-Heap-Union(H; H 0) 5 return x ¡®â ¯à®æ¥¤ãàë ¯®ª § à¨á㪥 20.7. ᥠ¤¥©áâ¢¨ï ¢ë¯®«ïîâáï § ¢à¥¬ï O(lg n), â ª çâ® ®¡é¥¥ ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Binomial-Heap-Extract-Min ¥áâì O(log n). ¬¥ì襨¥ ª«îç «¥¤ãîé ï ¯à®æ¥¤ãà 㬥ìè ¥â ª«îç í«¥¬¥â x ¡¨®¬¨ «ì®© ªãç¨ H , ¯à¨á¢ ¨¢ ï ¥¬ã ®¢®¥ § 票¥ k (¥á«¨ k ¡®«ìè¥, 祬 ⥪ã饥 § 票¥ ª«îç , ¢ë¤ ñâáï á®®¡é¥¨¥ ®¡ ®è¨¡ª¥). Binomial-Heap-Decrease-Key (H; x; k) 1 if k > key[x] 2 then error "®¢®¥ § 票¥ ª«îç ¡®«ìè¥ â¥ªã饣®" 3 key[x] k 4 y x 5 z p[y ] 6 while z = 6 nil and key[y] < key[z] 7 do ®¡¬¥ key[y ] $ key[z ] 8 . (¢¬¥áâ¥ á ¤®¯®«¨â¥«ì®© ¨ä®à¬ 樥©). 9 y z 10 z p[y ] ¤ ®© ¯à®æ¥¤ãॠ¨á¯®«ì§ã¥âáï â®â ¦¥ ¯à¨ñ¬, çâ® ¨ ¢ £« ¢¥ 7: ¢¥àè¨ , ª«îç ª®â®à®© ¡ë« 㬥ìè¥, "¢á¯«ë¢ ¥â" ¢¥àå (à¨á. 20.8). ®á«¥ ¯à®¢¥àª¨ ª®à४â®á⨠¢å®¤ëå ¤ ëå (áâப¨ 1{2) ¢ ¢¥à訥 x ¬¥ï¥âáï § 票¥ ª«îç . ®á«¥ áâப 4 ¨ 5 ¯¥à¥¬¥- 408 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ ¨á㮪 20.7 ¡®â ¯à®æ¥¤ãàë Binomial-Heap-Extract-Min. ( ) á室 ï ¡¨®¬¨ «ì ï ªãç H . (¡) ®à¥¢ ï ¢¥àè¨ x, ¨¬¥îé ï ¬¨¨¬ «ìë© ª«îç, 㤠«¥ ¨§ ª®à¥¢®£® ᯨ᪠H . ¡ë« ª®à¥¬ Bk -¤¥à¥¢ , ¥ñ ¤¥â¨ ¡ë«¨ ª®àﬨ Bk;1 -, Bk;2 -, : : : , B0 -¤¥à¥¢ì¥¢. (¢) ¡à é ï ¯®à冷ª, ¬ë ᮡ¨à ¥¬ 0 . (£) ¥§ã«ìâ â ᮥ¤¨¥¨ï ªãç ¯®â®¬ª®¢ ¢¥àè¨ë x ¢ ¡¨®¬¨ «ìãî ªãçã H H ¨ H 0. ¯¥à 樨 á ¡¨®¬¨ «ì묨 ªãç ¬¨ 409 ¨á㮪 20.8 ¡®â ¯à®æ¥¤ãàë Binomial-Heap-Decrease-Key. ( ) ¥à¥¤ ç «®¬ 横« (ª«îç ¢¥àè¨ë y ¡ë« 㬥ìè¥ ¨ áâ « ¬¥ìè¥ ª«îç த¨â¥«ì᪮© ¢¥àè¨ë z ). (¡) ¥à¥¤ ¢â®à®© ¨â¥à 樥© 横« . ந§®èñ« ®¡¬¥ ª«îç ¬¨, 㪠§ ⥫¨ y ¨ z ¯à®¤¢¨ãâë ¢¢¥àå, ® ᢮©á⢮ ¯®à浪 ¯®ª àã襮. (¢) ®á«¥ á«¥¤ãî饣® ®¡¬¥ ¨ ᤢ¨£ 㪠§ ⥫¥© y ¨ z ¢¢¥àå ᢮©á⢮ 㯮à冷祮á⨠¢ë¯®«¥®, ¨ 横« ¯à¥ªà é ¥âáï. ï y ᮤ¥à¦¨â ¥¤¨á⢥ãî ¢¥àè¨ã, ¢ ª®â®à®© ª«îç ¬®¦¥â ¡ëâì ¬¥ìè¥ ª«î祩 ¯à¥¤ª®¢, z | ¥ñ த¨â¥«ï. ç¨ ¥âáï 横«: ¥á«¨ key[y ] > key[z ] ¨«¨ ¥á«¨ ¢¥àè¨ y ï¥âáï ª®à¥¢®©, â® ¤¥à¥¢® 㯮à冷祮. ¯à®â¨¢®¬ á«ãç ¥ ¬ë ¬¥ï¥¬ ¬¥áâ ¬¨ ᮤ¥à¦¨¬®¥ ¢¥àè¨ y ¨ z, ⥬ á ¬ë¬ á¤¢¨£ ï ¬¥áâ® àãè¥¨ï ¢¢¥àå ¯® ¤¥à¥¢ã, çâ® ®âà ¦¥® ¢ áâப å 9{10. à®æ¥¤ãà Binomial-Heap-Decrease-Key ¢ë¯®«ï¥âáï § ¢à¥¬ï O(lg n), ¯®áª®«ìªã £«ã¡¨ ¢¥àè¨ë x ¥áâì O(lg n) (ã⢥ত¥¨¥ 2 «¥¬¬ë 20.1), ¯à¨ ª ¦¤®© ¨â¥à 樨 横« while ¬ë ¯®¤¨¬ ¥¬áï ¢¢¥àå. ¤ «¥¨¥ ¢¥àè¨ë ¤ «¥¨¥ ¢¥àè¨ë ᢮¤¨âáï ª ¤¢ã¬ ¯à¥¤ë¤ã騬 ®¯¥à æ¨ï¬: ¬ë 㬥ìè ¥¬ ª«îç ¤® ;1 (á¯¥æ¨ «ì®¥ § 票¥, ¯à® ª®â®à®¥ ¬ë ¯à¥¤¯®« £ ¥¬, çâ® ®® ¬¥ìè¥ ¢á¥å ª«î祩), § ⥬ 㤠«ï¥¬ ¢¥à- 410 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ è¨ã á ¬¨¨¬ «ìë¬ ª«î箬. ¯à®æ¥áᥠ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë Binomial-Heap-DecreaseKey á¯¥æ¨ «ì®¥ § 票¥ ;1 (¥¤¨á⢥®¥ ¢ ªãç¥) ¢á¯«ë¢ ¥â ¢¢¥àå, ®âªã¤ ¨ 㤠«ï¥âáï ¯à®æ¥¤ãன Binomial-Heap-ExtractMin. Binomial-Heap-Delete (H; x) 1 Binomial-Heap-Decrease-Key(H; x; ;1) 2 Binomial-Heap-Extract-Min(H ) ( ã¯à. 20.2-6 ¯à¥¤« £ ¥âáï ¯¥à¥¯¨á âì ¯à®æ¥¤ãàã Binomial-HeapDelete ¡¥§ ¨á¯®«ì§®¢ ¨ï ¤®¯®«¨â¥«ì®£® § 票ï ;1.) à®æ¥¤ãà Binomial-Heap-Delete ¢ë¯®«ï¥âáï § ¢à¥¬ï O(lg n). ¯à ¦¥¨ï ¡êïá¨â¥, ¯®ç¥¬ã ᫨逸 ¤¢®¨çëå ªãç ¢ á¬ëá«¥ £« ¢ë 7 âॡã¥â ¢à¥¬¥¨ (n). 20.2-2 ¯¨è¨â¥ ¯à®æ¥¤ãàã Binomial-Heap-Merge. 20.2-3 à¨áã©â¥ ¡¨®¬¨ «ìãî ªãçã, ª®â®à ï ¯®«ãç ¥âáï ¯à¨ ¤®¡ ¢«¥¨¨ ¢¥àè¨ë á ª«î箬 24 ª ªãç¥ à¨á. 20.7£. 20.2-4 à¨áã©â¥ ¡¨®¬¨ «ìãî ªãçã, ª®â®à ï ¯®«ãç ¥âáï ¯à¨ ã¤ «¥¨¨ ª«îç 28 ¨§ ªãç¨ à¨á. 20.8¢. 20.2-5 ®ç¥¬ã ¯à®æ¥¤ãà Binomial-Heap-Minimum ¥ £®¤¨âáï, ¥á«¨ ¥ª®â®àë¥ ¨§ ª«î祩 ¨¬¥îâ § 票¥ 1? ª ᤥ« âì ¥ñ ¯à¨£®¤®© ¨ ¤«ï í⮣® á«ãç ï? 20.2-6 ¥ ¯®«ì§ãïáì á¯¥æ¨ «ìë¬ § 票¥¬ ;1, ¯¥à¥¯¨è¨â¥ ¯à®æ¥¤ãàã Binomial-Heap-Delete. (楪 O(log n) ¤«ï ¢à¥¬¥¨ à ¡®âë ¤®«¦ á®åà ¨âìáï.) 20.2-7 çñ¬ á®á⮨â 㯮¬¨ ¢è ïáï á¢ï§ì ¬¥¦¤ã ᮥ¤¨¥¨¥¬ ¡¨®¬¨ «ìëå ªãç ¨ á«®¦¥¨¥¬ ¤¢®¨çëå ç¨á¥«? ¡êïá¨â¥ á¢ï§ì ¬¥¦¤ã ¤®¡ ¢«¥¨¥¬ ¢¥àè¨ë ¢ ¡¨®¬¨ «ìãî ªãçã ¨ ¯à¨¡ ¢«¥¨¥¬ ¥¤¨¨æë ª ¤¢®¨ç®¬ã ç¨á«ã. 20.2-8 ¬¥ï ¢ ¢¨¤ã ᮮ⢥âá⢨¥, 㯮¬ïã⮥ ¢ ã¯à. 20.2-7, ¯¥à¥¯¨è¨â¥ ¯à®æ¥¤ãàã Binomial-Heap-Insert â ª, çâ®¡ë ® ¤®¡ ¢«ï« ¢¥àè¨ã ¢ ¡¨®¬¨ «ìãî ªãçã ¥¯®á।á⢥®, ¥ ¢ë§ë¢ « Binomial-Heap-Union. 20.2-9 ®ª ¦¨â¥, çâ® ¥á«¨ à ᯮ« £ âì ¢¥àè¨ë ¢ ª®à¥¢ëå á¯¨áª å ¢ ¯®à浪¥ 㬥ì襨ï ( ¥ 㢥«¨ç¥¨ï) á⥯¥¥©, â® ¯®¯à¥¦¥¬ã ¢á¥ ®¯¥à 樨 ¤ ¡¨®¬¨ «ì묨 ªãç ¬¨ ¬®¦® ॠ«¨20.2-1 ¤ ç¨ ª £« ¢¥ 20 411 §®¢ âì á ⥬¨ ¦¥ ᨬ¯â®â¨ç¥áª¨¬¨ ®æ¥ª ¬¨. 20.2-10 ®ª ¦¨â¥, çâ® ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãà Binomial-HeapExtract-Min, Binomial-Heap-Decrease-Key ¨ BinomialHeap-Delete ¢ åã¤è¥¬ á«ãç ¥ ¢å®¤ å à §¬¥à n ¥áâì (lg n). ¡êïá¨â¥, ¯®ç¥¬ã ¢à¥¬ï ¢ë¯®«¥¨ï ¯à®æ¥¤ãà Binomial-HeapInsert ¨ Binomial-Heap-Minimum ¢ åã¤è¥¬ á«ãç ¥ á®áâ ¢«ï¥â 1 (lg n) (á¬. § ¤. 2-5), ¥ (lg n). ¤ ç¨ 20-1 2-3-4-ªãç¨ £« ¢¥ 19 à áᬠâਢ «¨áì 2-3-4-¤¥à¥¢ìï, ¢ ª®â®àëå ª ¦¤ ï ¢¥àè¨ , ¥ ïîé ïáï ª®à¥¬ ¨«¨ «¨á⮬, ¨¬¥¥â ¤¢ãå, âà¥å ¨«¨ ç¥âëàñå ¤¥â¥©, ¨ ¢á¥ «¨áâìï à ᯮ« £ îâáï ®¤¨ ª®¢®© £«ã¡¨¥. ¯à¥¤¥«¨¬ 2-3-4-ªãç¨ (2-3-4 heaps), ¤ ª®â®à묨 ¬®¦® ¯à®¨§¢®¤¨âì ®¯¥à 樨, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç. ª ï ªãç ¯®«ãç ¥âáï, ¥á«¨ ¢ ª ¦¤®¬ «¨á⥠§ ¯¨á âì ª«îç, ¢ ª ¦¤®© ¢ãâ॥© ¢¥à訥 åà ¨âì ¨¬¥ì襥 § 票¥ ª«î祩 ¢ «¨áâìïå, ïîé¨åáï ¯®â®¬ª ¬¨ í⮩ ¢¥àè¨ë. ç¥¨ï ª«î祩 ¢ «¨áâìïå ¬®£ãâ ¡ëâì «î¡ë¬¨ (âॡ®¢ ¨ï 㯮à冷祮á⨠¥â). ª®à¥ åà ¨âáï ¢ëá®â ¤¥à¥¢ . ਤ㬠©â¥ ᯮᮡ ॠ«¨§ 樨 ¯¥à¥ç¨á«¥ëå ¨¦¥ ®¯¥à 権 ¤ 2-3-4-ªãç ¬¨ § ¢à¥¬ï O(lg n), £¤¥ n | ç¨á«® í«¥¬¥â®¢ 2-34-ªãç¨. ¯¥à æ¨ï Union ¢ ¯ãªâ¥ ¥ ¤®«¦ ¢ë¯®«ïâìáï § ¢à¥¬ï O(lg n), £¤¥ n | á㬬 ஥ ç¨á«® í«¥¬¥â®¢ ¢ ¤¢ãå ®¡ê¥¤¨ï¥¬ëå ªãç å. . Minimum ¢®§¢à é ¥â 㪠§ â¥«ì «¨áâ á ¨¬¥ì訬 ª«î箬. ¡. Decrease-Key 㬥ìè ¥â ª«îç § ¤ ®£® «¨áâ x, ¯à¨á¢ ¨¢ ï ª«îçã § ¤ ®¥ § 票¥ k 6 key[x]. ¢. Insert ¤®¡ ¢«ï¥â «¨áâ x á ª«î箬 k. £. Delete 㤠«ï¥â § ¤ ë© «¨áâ x. ¤. Extract-Min ¨§ë¬ ¥â «¨áâ á ¨¬¥ì訬 ª«î箬. ¥. Union ®¡ê¥¤¨ï¥â ¤¢¥ 2-3-4-ªãç¨ ¢ ®¤ã (¨áå®¤ë¥ ªãç¨ ¯à®¯ ¤ îâ). 20-2 ®¨áª ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ á ¨á¯®«ì§®¢ ¨¥¬ ᫨¢ ¥¬ëå ªãç £« ¢¥ 24 ¯à¨¢®¤ïâáï ¤¢ «£®à¨â¬ ¯®áâ஥¨ï ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ ¤«ï ¥®à¨¥â¨à®¢ ®£® £à ä . ¥©ç á ¬ë 㪠¦¥¬ ¥éñ ®¤¨ ᯮᮡ à¥è¥¨ï í⮩ § ¤ ç¨, ¨á¯®«ì§ãî騩 ᫨¢ ¥¬ë¥ ªãç¨. ãáâì G = (V; E ) | á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä, a w : E ! 412 « ¢ 20 ¨®¬¨ «ìë¥ ªãç¨ | ¢¥á®¢ ï äãªæ¨ï, áâ ¢ïé ï ¢ ᮮ⢥âá⢨¥ ª ¦¤®¬ã ॡàã (u; v ) ¥£® ¢¥á w(u; v ). ë å®â¨¬ ©â¨ ¬¨¨¬ «ì®¥ ¯®ªàë¢ î饥 ¤¥à¥¢® £à ä G, â. ¥. 横«¨ç¥áª®¥ ¬®¦¥á⢮ T E , ª®â®à®¥ ᮥ¤¨ï¥â ¢á¥ ¢¥àè¨ë £à ä , ¤«ï ª®â®à®£® á㬬 àë© ¢¥á P w(T ) = w(u; v) ¬¨¨¬ «¥. R (u;v)2T «¥¤ãîé ï ¯à®£à ¬¬ (¥ñ ª®à४â®áâì ¤®ª §ë¢ ¥âáï á ¨á¯®«ì§®¢ ¨¥¬ ¬¥â®¤®¢ à §¤¥« 24.1) áâந⠬¨¨¬ «ì®¥ ¯®ªàë¢ î饥 ¤¥à¥¢® T . à®£à ¬¬ åà ¨â à §¡¨¥¨¥ fVig ¬®¦¥á⢠¢¥àè¨ V , ¨ ¤«ï ª ¦¤®£® ¨§ ¬®¦¥á⢠Vi åà ¨â ¥ª®â®à®¥ ¬®¦¥á⢮ Ei f(u; v) : u 2 Vi ¨«¨ v 2 Vig àñ¡¥à, ¨æ¨¤¥âëå ¢¥àè¨ ¬ ¨§ Vi. MST-Mergeable-Heap (G) 1 T ; 2 for (¤«ï) ª ¦¤®© ¢¥àè¨ë vi 2 V [G] 3 do Vi fvi g 4 Ei f(vi ; v) 2 E [G]g 5 while (¯®ª ) ¨¬¥¥âáï ¡®«¥¥ ®¤®£® ¬®¦¥á⢠Vi 6 do ¢ë¡à âì «î¡®¥ ¬®¦¥á⢮ Vi 7 ¨§êïâì ¨§ Ei ॡ஠(u; v), ¨¬¥î饥 ¬¨¨¬ «ìë© ¢¥á 8 (¡ã¤¥¬ áç¨â âì, çâ® u 2 Vi ¨ v 2 Vj ) 9 if i = 6 j 10 then T T [ f(u; v )g 11 Vi Vi [ Vj , (Vj ¯à®¯ ¤ ¥â) 12 Ei Ei [ Ej ¯¨è¨â¥, ª ª ॠ«¨§®¢ âì íâ®â «£®à¨â¬ á ¯®¬®éìî ®¯¥à 権 ᮠ᫨¢ ¥¬ë¬¨ ªãç ¬¨, ¯¥à¥ç¨á«¥ëå ¢ â ¡«¨æ¥ 20.1. 楨⥠¢à¥¬ï à ¡®âë «£®à¨â¬ , ¥á«¨ ¢ ª ç¥á⢥ ᫨¢ ¥¬ëå ªãç ¨á¯®«ì§ãîâáï ¡¨®¬¨ «ìë¥ ªãç¨. ¬¥ç ¨ï ¨®¬¨ «ìë¥ ªãç¨ ¡ë«¨ ¢¢¥¤¥ë ¢ 1978 £®¤ã ¨««¥¬¨®¬ [196]. ®¤à®¡® ¨å ᢮©á⢠¨§ãç « à ã [36,37]. 21 ¨¡® ç稥¢ë ªãç¨ £« ¢¥ 20 ¬ë ¨§ãç «¨ ¡¨®¬¨ «ìë¥ ªãç¨, á ¯®¬®éìî ª®â®àëå ¬®¦® ॠ«¨§®¢ âì § ¢à¥¬ï O(lg n) (¢ åã¤è¥¬ á«ãç ¥) ®¯¥à 樨 Insert, Minimum, Extract-Min, Union, â ª¦¥ Decrease-Key ¨ Delete. (âàãªâãàë ¤ ëå, ¯®¤¤¥à¦¨¢ î騥 ¯¥à¢ë¥ ç¥âëॠ¨§ ¯¥à¥ç¨á«¥ëå ®¯¥à 権, §ë¢ îâáï "᫨¢ ¥¬ë¬¨ ªãç ¬¨".) í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ 䨡® ç稥¢ë ªãç¨, ª®â®àë¥ ¯®¤¤¥à¦¨¢ îâ ⥠¦¥ è¥áâì ®¯¥à 権, ® ¡®«¥¥ íä䥪⨢®: ®¯¥à 樨, ¥ âॡãî騥 㤠«¥¨ï í«¥¬¥â®¢, ¨¬¥îâ ãçñâãî á⮨¬®áâì O(1). ¥®à¥â¨ç¥áª¨ 䨡® ç稥¢ë ªãç¨ ®á®¡¥® ¯®«¥§ë, ¥á«¨ ç¨á«® ®¯¥à 権 Extract-Min ¨ Delete ¬ «® ¯® áà ¢¥¨î á ®áâ «ì묨 ®¯¥à æ¨ï¬¨. ª ï á¨âã æ¨ï ¢®§¨ª ¥â ¢® ¬®£¨å ¯à¨«®¦¥¨ïå. ¯à¨¬¥à, «£®à¨â¬, ®¡à ¡ âë¢ î騩 £à ä, ¬®¦¥â ¢ë§ë¢ âì ¯à®æ¥¤ãàã Decrease-Key ¤«ï ª ¦¤®£® à¥¡à £à ä . «ï ¯«®âëå £à 䮢, ¨¬¥îé¨å ¬®£® àñ¡¥à, ¯¥à¥å®¤ ®â O(lg n) ª O(1) ¢ ®æ¥ª¥ ¢à¥¬¥¨ à ¡®âë ¤«ï ®¯¥à 樨 Decrease-Key ¬®¦¥â ¯à¨¢¥á⨠ª § ¬¥â®¬ã 㬥ìè¥¨î ®¡é¥£® ¢à¥¬¥¨ à ¡®âë. ¨¡®«¥¥ ¡ëáâàë¥ ¨§¢¥áâë¥ «£®à¨â¬ë ¤«ï § ¤ ç ¯®áâ஥¨ï ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ (£« ¢ 24) ¨«¨ ¯®¨áª ªà âç ©è¨å ¯ã⥩ ¨§ ®¤®© ¢¥àè¨ë (£« ¢ 25) áãé¥á⢥® ¨á¯®«ì§ãîâ 䨡® ç稥¢ë ªãç¨. ᮦ «¥¨î, áªàëâë¥ ª®áâ âë ¢ ᨬ¯â®â¨ç¥áª®© § ¯¨á¨ ¢¥«¨ª¨, ¨ ¨á¯®«ì§®¢ ¨¥ 䨡® ç稥¢ëå ªãç ।ª® ®ª §ë¢ ¥âáï 楫¥á®®¡à §ë¬: ®¡ëçë¥ ¤¢®¨çë¥ (¨«¨ k-¨çë¥) ªãç¨ ¯à ªâ¨ª¥ íä䥪⨢¥¥. ¯à ªâ¨ç¥áª®© â®çª¨ §à¥¨ï ¡ë«® ¡ë ®ç¥ì ¦¥« â¥«ì® ¯à¨¤ã¬ âì áâàãªâãàã ¤ ëå á ⥬¨ ¦¥ ᨬ¯â®â¨ç¥áª¨¬¨ ®æ¥ª ¬¨, ® á ¬¥ì訬¨ ª®áâ â ¬¨. ᯮ«ì§ãï ¡¨®¬¨ «ìë¥ ªãç¨ ¤«ï åà ¥¨ï ¡®à ¬®¦¥áâ¢, ¬ë åà ¨«¨ ª ¦¤®¥ ¨§ ¬®¦¥á⢠¡®à ¢ ¥áª®«ìª¨å ¡¨®¬¨ «ìëå ¤¥à¥¢ìïå, á¢ï§ ëå ¢ ᯨ᮪. ¥©ç á ¬ë ¡ã¤¥¬ ¯®áâ㯠âì «®£¨çë¬ ®¡à §®¬, ¨á¯®«ì§ãï 䨡® ç稥¢ë ¤¥à¥¢ìï (ª®â®àë¥ ¬ë ¢áª®à¥ ®¯à¥¤¥«¨¬) ¢¬¥áâ® ¡¨®¬¨ «ìëå. ᫨ ¬ë ¨ª®£¤ ¥ ¢ë¯®«ï¥¬ ®¯¥à 樨 Decrease-Key ¨ Delete, â® ¢®§¨ª î騥 䨡® ç稥¢ë ¤¥à¥¢ìï ¡ã¤ãâ ¨¬¥âì âã ¦¥ áâàãªâãàã, çâ® ¨ ¡¨®¬¨ «ìë¥ ¤¥à¥¢ìï. ® ¢ ®¡é¥¬ á«ãç ¥ 414 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ ä¨¡® ç稥¢ë ¤¥à¥¢ìï ®¡« ¤ îâ ¡®«ì襩 £¨¡ª®áâìî, 祬 ¡¨®¬¨ «ìë¥ (¨§ ¨å ¬®¦® 㤠«ïâì ¥ª®â®àë¥ ¢¥àè¨ë, ®âª« ¤ë¢ ï ¯¥à¥áâனªã ¤¥à¥¢ ¤® 㤮¡®£® á«ãç ï). ª ¨ ¤¨ ¬¨ç¥áª¨¥ â ¡«¨æë à §¤¥« 18.4, 䨡® ç稥¢ë ªãç¨ ï¢«ïîâáï ¯à¨¬¥à®¬ áâàãªâãàë ¤ ëå, à §à ¡®â ®© á ãçñ⮬ ¬®à⨧ 樮®£® «¨§ (á¬. £«. 18, ®á®¡¥® à §¤. 18.3 ® ¬¥â®¤¥ ¯®â¥æ¨ « ). ë ¯à¥¤¯®« £ ¥¬, çâ® ¢ë ¯à®ç«¨ ¯à¥¤ë¤ãéãî £« ¢ã (® ¡¨®¬¨ «ìëå ªãç å). ¬ ¡ë« ¯à¨¢¥¤¥ â ¡«¨æ (à¨á. 20.1), £¤¥ 㪠§ ë ®æ¥ª¨ ¢à¥¬¥¨ à ¡®âë à §«¨çëå ®¯¥à 権 á ¡¨®¬¨ «ì묨 ¨ 䨡® ç稥¢ë¬¨ ªãç ¬¨. ª ¨ ¡¨®¬¨ «ìë¥ ªãç¨, 䨡® ç稥¢ë ªãç¨ ¥ ®¡¥á¯¥ç¨¢ îâ íä䥪⨢®£® ¢ë¯®«¥¨ï ¯®¨áª (Search). ®í⮬㠯¥à¥¤ ¢ ï ¢¥àè¨ã ¢ ª ç¥á⢥ ¯ à ¬¥âà , ¬ë 㪠§ë¢ ¥¬ ¥ ª«îç ¢¥àè¨ë, 㪠§ â¥«ì ¥ñ. à §¤¥«¥ 21.1 ¬ë ®¯à¥¤¥«¨¬ 䨡® ç稥¢ë ªãç¨, ®¡á㤨¬ ¨å ¯à¥¤áâ ¢«¥¨¥ ¢ ¯à®£à ¬¬¥ ¨ ¢¢¥¤ñ¬ ¯®â¥æ¨ «ìãî äãªæ¨î. à §¤¥«¥ 21.2 ¬ë ¯®ª ¦¥¬, ª ª ॠ«¨§®¢ âì ®¯¥à 樨, ¯à¨áã騥 ᫨¢ ¥¬ë¬ ªãç ¬, á ®æ¥ª ¬¨ ãçñ⮩ á⮨¬®áâ¨, 㪠§ 묨 ¢ â ¡«¨æ¥ (à¨á. 20.1). á⠢訥áï ¤¢¥ ®¯¥à 樨 (Decrease-Key ¨ Delete) ®¯¨á ë ¢ à §¤¥«¥ 21.3. ª®¥æ, ¢ à §¤¥«¥ 21.4 ¬ë ¤®ª §ë¢ ¥¬ «¥¬¬ã, ¨á¯®«ì§®¢ ãî ¯à¨ «¨§¥ ¯®áâ஥ëå ¯à®æ¥¤ãà. 21.1 â஥¨¥ 䨡® ç稥¢®© ªãç¨ à¨ ¨á¯®«ì§®¢ ¨¨ 䨡® ç稥¢ëå ªãç ¤«ï åà ¥¨ï ¡®à ¬®¦¥á⢠ª ¦¤®¥ ¬®¦¥á⢮ § ¨¬ ¥â ¥áª®«ìª® ¤¥à¥¢ì¥¢, ª®à¨ ª®â®àëå á¢ï§ ë ¢ ᯨ᮪. ª®© ª®£«®¬¥à â ¬ë ¡ã¤¥¬ §ë¢ âì 䨡® ç稥¢®© ªã祩 (Fibonacci heap). ª¨¬ ®¡à §®¬, ª ¦¤ ï 䨡® ç稥¢ ªãç á®á⮨⠨§ ¥áª®«ìª¨å ¤¥à¥¢ì¥¢; ¤«ï ª ¦¤®£® åà ¨¬®£® ¬®¦¥á⢠®â¢®¤¨âáï á¢®ï ªãç . ª ¦¤®¬ ¨§ ¤¥à¥¢ì¥¢, ¢å®¤ïé¨å ¢ ªãçã, ¢ë¯®«¥® â ª®¥ ᢮©á⢮: ª«îç ª ¦¤®© ¢¥àè¨ë ¥ ¡®«ìè¥ ª«î祩 ¥ñ ¤¥â¥©. ¥à¥¢ìï, ®¤ ª®, ¡®«¥¥ ¥ ®¡ï§ ë ¡ëâì ¡¨®¬¨ «ì묨. ਬ¥à 䨡® ç稥¢®© ªãç¨ ¯à¨¢¥¤ñ à¨á. 21.1 . ¡¨®¬¨ «ìëå ¤¥à¥¢ìïå ¤¥âïå «î¡®© ¢¥àè¨ë 䨪á¨à®¢ ¯®à冷ª; ¢ 䨡® ç稥¢ëå ¤¥à¥¢ìïå â ª®£® ¯®à浪 ¥â (¤¥â¨ «î¡®© ¢¥àè¨ë á¢ï§ ë ¢ ªà㣮¢®© ¤¢ãáâ®à®¨© ᯨ᮪, ® ¯®à冷ª ¢ ñ¬ ¥áãé¥á⢥). ª ¯®ª § ® à¨á. 21.1¡, ª ¦¤ ï ¢¥àè¨ x ᮤ¥à¦¨â 㪠§ ⥫ì p[x] ᢮¥£® த¨â¥«ï ¨ 㪠§ ⥫ì child[x] ª ª®£®-¨¡ã¤ì ¨§ ᢮¨å ¤¥â¥©. ¥â¨ ¢¥àè¨ë x á¢ï§ ë ¢ ¤¢ãáâ®à®¨© 横«¨ç¥áª¨© ᯨ᮪, §ë¢ ¥¬ë© ᯨ᪮¬ ¤¥â¥© (child list) ¢¥àè¨ë x. ¦¤ ï ¢¥àè¨ y í⮣® ᯨ᪠¨¬¥¥â ¯®«ï left[y] ¨ right[y], 㪠§ë¢ î騥 ¥ñ á®á¥¤¥© â஥¨¥ 䨡® ç稥¢®© ªãç¨ 415 ¨á㮪 21.1 ( ) ¨¡® ç稥¢ ªãç , ᮤ¥à¦ é ï 5 ¤¥à¥¢ì¥¢ ¨ 14 ¢¥àè¨. ãªâ¨à®© «¨¨¥© ¯®ª § ª®à¥¢®© ᯨ᮪. ¨¨¬ «ì ï ¢¥àè¨ á®¤¥à¦¨â ª«îç 3. ਠ®â¬¥ç¥ë¥ ¢¥àè¨ë ¢ë¤¥«¥ë çñàë¬ æ¢¥â®¬. ®â¥æ¨ « í⮩ ªãç¨ à ¢¥ 5 + 2 3 = 11. (¡) ¦¥ ªãç ¢¬¥á⥠ᮠáâ५ª ¬¨, ¯®ª §ë¢ î騬¨ § ç¥¨ï ¯®«¥© p (áâ५ª¨ ¢¢¥àå), child (áâ५ª¨ ¢¨§) ¨ left ¨ right (áâ५ª¨ ¢ áâ®à®ë). ®áâ «ìëå à¨á㪠å í⮩ £« ¢ë â ª¨¥ áâ५ª¨ ®¯ãé¥ë, â ª ª ª ®¨ ¢®ááâ ¢«¨¢ îâáï ®¤®§ ç®. ¢ ᯨ᪥ («¥¢®£® ¨ ¯à ¢®£®). ᫨ ¢¥àè¨ y ï¥âáï ¥¤¨áâ¢¥ë¬ à¥¡ñª®¬ ᢮¥£® த¨â¥«ï, â® left[y] = right[y] = y. ¢ãáâ®à®¨¥ 横«¨ç¥áª¨¥ ᯨ᪨ (á¬. à §¤. 11.2) 㤮¡ë ¯® ¤¢ã¬ ¯à¨ç¨ ¬. ®-¯¥à¢ëå, ¨§ â ª®£® ᯨ᪠¬®¦® 㤠«¨âì «î¡ãî ¢¥àè¨ã § ¢à¥¬ï O(1). ®-¢â®àëå, ¤¢ â ª¨å ᯨ᪠¬®¦® ᮥ¤¨¨âì ¢ ®¤¨ § ¢à¥¬ï O(1). ®¬¨¬® 㪠§ ®© ¨ä®à¬ 樨, ª ¦¤ ï ¢¥àè¨ ¨¬¥¥â ¯®«¥ degree[x], £¤¥ åà ¨âáï ¥ñ á⥯¥ì (ç¨á«® ¤¥â¥©), â ª¦¥ ¯®«¥ mark[x]. í⮬ ¯®«¥ åà ¨âáï ¡ã«¥¢áª®¥ § 票¥. ¬ëá« ¥£® â ª®¢: mark[x] ¨á⨮, ¥á«¨ ¢¥àè¨ x ¯®â¥àï« à¥¡ñª ¯®á«¥ ⮣®, ª ª ® ¢ ¯®á«¥¤¨© à § ᤥ« « áì ç쨬-«¨¡® ¯®â®¬ª®¬. ë ®¡êïᨬ ¯®§¦¥, ª ª ¨ ª®£¤ íâ® ¯®«¥ ¨á¯®«ì§ã¥âáï. ®à¨ ¤¥à¥¢ì¥¢, á®áâ ¢«ïîé¨å 䨡® ç稥¢ã ªãçã, á¢ï§ ë á ¯®¬®éìî 㪠§ ⥫¥© left ¨ right ¢ ¤¢ãáâ®à®¨© 横«¨ç¥áª¨© ᯨ᮪, §ë¢ ¥¬ë© ª®à¥¢ë¬ ᯨ᪮¬ (root list). ®áâ㯠ª 䨡® ç稥¢®© ªãç¥ H ®áãé¥á⢫ï¥âáï á ¯®¬®éìî âਡãâ min[H ], ª®â®àë© ãª §ë¢ ¥â ¢¥àè¨ã ª®à¥¢®£® á¯¨áª á ¬¨¨¬ «ìë¬ ª«î箬. â ¢¥àè¨ §ë¢ ¥âáï ¬¨¨¬ «ì®© ¢¥à訮© (minimum node) ªãç¨. ñ ª«îç ¡ã¤¥â ¬¨¨¬ «ìë¬ ª«î箬 ¢ ªãç¥, ¯®áª®«ìªã ¬¨¨¬ «ìë© ª«îç 䨡® ç稥¢ ¤¥à¥¢ 室¨âáï ¢ ¥£® ª®à¥. ®à冷ª ¢¥àè¨ ¢ ª®à¥¢®¬ ᯨ᪥ § ç¥¨ï ¥ ¨¬¥¥â. ᫨ 䨡® ç稥¢ ªãç H ¯ãáâ , â® min[H ] = nil. 416 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ ª®¥æ, âਡãâ n[H ] ᮤ¥à¦¨â ç¨á«® ¢¥àè¨ ¢ ªãç¥ H . ®â¥æ¨ « ਠ«¨§¥ ãçñ⮩ á⮨¬®á⨠®¯¥à 権 ¬ë ¨á¯®«ì§ã¥¬ ¬¥â®¤ ¯®â¥æ¨ « (à §¤¥« 18.3). ãáâì t(H ) | ç¨á«® ¤¥à¥¢ì¥¢ ¢ ª®à¥¢®¬ ᯨ᪥ ªãç¨ H , m(H ) | ª®«¨ç¥á⢮ ®â¬¥ç¥ëå ¢¥àè¨. ®â¥æ¨ « ®¯à¥¤¥«ï¥âáï ä®à¬ã«®© (H ) = t(H ) + 2m(H ): (21.1) ¯à¨¬¥à, ¯®â¥æ¨ « ªãç¨ à¨á. 21.1 à ¢¥ 5 + 2 3 = 11. ª ¦¤ë© ¬®¬¥â ¢à¥¬¥¨ ¢ ¯ ¬ï⨠åà ¨âáï ¥áª®«ìª® ªãç; ®¡é¨© ¯®â¥æ¨ « ¯® ®¯à¥¤¥«¥¨î à ¢¥ á㬬¥ ¯®â¥æ¨ «®¢ ¢á¥å íâ¨å ªãç. ¤ «ì¥©è¥¬ ¬ë ¢ë¡¥à¥¬ "¥¤¨¨æã ¨§¬¥à¥¨ï ¯®â¥æ¨ « " â ª, çâ®¡ë ¥¤¨¨ç®£® ¨§¬¥¥¨ï ¯®â¥æ¨ « å¢ â «® ¤«ï ®¯« âë O(1) ®¯¥à 権 (ä®à¬ «ì® £®¢®àï, ¬ë 㬮¦¨¬ ¯®â¥æ¨ « ¯®¤å®¤ïéãî ª®áâ âã). ç «ì®¬ á®áâ®ï¨¨ ¥â ¨ ®¤®© ªãç¨, ¨ ¯®â¥æ¨ « à ¢¥ 0. ª ¨ ¯®«®¦¥® (á¬. à §¤. 18.3), ¯®â¥æ¨ « ¢á¥£¤ ¥®âà¨æ ⥫¥. ªá¨¬ «ì ï á⥯¥ì ë ¡ã¤¥¬ ¯à¥¤¯®« £ âì ¨§¢¥á⮩ ¥ª®â®àãî ¢¥àåîî £à ¨æã D(n) ¤«ï á⥯¥¥© ¢¥àè¨ ¢ ªãç å, ª®â®àë¥ ¬®£ãâ ¯®ï¢¨âìáï ¯à¨ ¢ë¯®«¥¨¨ è¨å ¯à®æ¥¤ãà. (à£ã¬¥â®¬ äãªæ¨¨ D ï¥âáï ®¡é¥¥ ç¨á«® ¢á¥å ¢¥àè¨ ¢ ªãç¥, ®¡®§ ç ¥¬®¥ ç¥à¥§ n.) ᫨ ¬ë ¨á¯®«ì§ã¥¬ ⮫쪮 ®¯¥à 樨, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç, â® ¬®¦® ¯®«®¦¨âì D(n) = blg nc (ã¯à. 21.2-3). à §¤¥«¥ 21.3 ¬ë ¤®ª ¦¥¬ (¤«ï ®¡é¥£® á«ãç ï, ª®£¤ à §à¥è¥ë â ª¦¥ ®¯¥à 樨 Decrease-Key ¨ Delete), çâ® D(n) = O(lg n). 21.2 ¯¥à 樨, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç «ï ç « ¬ë ¡ã¤¥¬ à áᬠâਢ âì «¨èì ®¯¥à 樨 MakeHeap, Insert, Minimum, Extract-Min ¨ Union, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç. í⮬ á«ãç ¥ ªãç¨ ¡ã¤ã⠯।áâ ¢«ïâì ᮡ®© ¡®à "¥ã¯®à冷ç¥ëå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢", ª®à¨ ª®â®àëå á¢ï§ ë ¢ 横«¨ç¥áª¨© ᯨ᮪. ¥ã¯®à冷祮¥ ¡¨®¬¨ «ì®¥ ¤¥à¥¢® (unordered binomial tree) ¯®«ãç ¥âáï ¨§ 㯮à冷祮£®, ¥á«¨ ¬ë ¯¥à¥áâ ñ¬ ®¡à é âì ¢¨¬ ¨¥ ¯®à冷ª á।¨ ¢¥àè¨, ¨¬¥îé¨å ®¡é¥£® த¨â¥«ï. à㣨¬¨ á«®¢ ¬¨, ¥ã¯®à冷祮¥ ¡¨®¬¨ «ì®¥ ¤¥à¥¢® U0 á®á⮨⠨§ ¥¤¨á⢥®© ¢¥àè¨ë, ¥ã¯®à冷祮¥ ¡¨®¬¨ «ì®¥ ¤¥à¥¢® Uk ¯¥à 樨, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç 417 ¯®«ãç ¥âáï ¨§ ¤¢ãå íª§¥¬¯«ï஢ ¤¥à¥¢ì¥¢ Uk;1 , ¥á«¨ ª®à¥ì ®¤®£® ¤®¡ ¢¨âì ª ç¨á«ã ¤¥â¥© ª®àï ¤à㣮£®. ( ª¨¬ ®¡à §®¬, ¤¥â¨ ª®àï ¢ ¤¥à¥¢¥ Uk ïîâáï ¢¥àè¨ ¬¨ ¤¥à¥¢ì¥¢ U0; U1; : : :; Uk;1.) ¥¬¬ 20.1 ®áâ ¥âáï ¢¥à®© ¨ ¤«ï ¥ã¯®à冷ç¥ëå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ ( ¤® ⮫쪮 ¨áª«îç¨âì ¢ ᢮©á⢥ 4 㯮¬¨ ¨¥ ® ¯®à浪¥). ç áâ®áâ¨, á⥯¥¨ ¢á¥å ¢¥àè¨ ¢ 䨡® ç稥¢®© ªãç¥ à §¬¥à n, á®áâ ¢«¥®© ¨§ ¥ã¯®à冷ç¥ëå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢, ®£à ¨ç¥ë ¢¥«¨ç¨®© D(n) = lg n. ®â«¨ç¨¥ ®â ¡¨®¬¨ «ìëå ªãç, ⥯¥àì á।¨ ¢å®¤ïé¨å ¢ ªãçã ¤¥à¥¢ì¥¢ ¬®¦¥â ¡ëâì ¥áª®«ìª® ¤¥à¥¢ì¥¢ á ®¤®© ¨ ⮩ ¦¥ á⥯¥ìî ª®àï. å "ª®á®«¨¤ æ¨ï" ®âª« ¤ë¢ ¥âáï ¤® ¬®¬¥â ¢ë¯®«¥¨ï ®¯¥à 樨 Extract-Min, ª®£¤ ¤¥à¥¢ìï á ª®àﬨ ®¤¨ ª®¢®© á⥯¥¨ ®¡ê¥¤¨ïîâáï. ®§¤ ¨¥ ®¢®© 䨡® ç稥¢®© ªãç¨ à®æ¥¤ãà Make-Fib-Heap ᮧ¤ ñâ ¨ ¢®§¢à é ¥â ®¡ê¥ªâ H , ¤«ï ª®â®à®£® n[H ] = 0 ¨ min[H ] = nil: ª®à¥¢®© ᯨ᮪ í⮩ ªãç¨ ¯ãáâ. ਠí⮬ t(H ) = 0 ¨ m(H ) = 0, â ª çâ® ¯®â¥æ¨ « ªãç¨ à ¢¥ 0, á㬬 àë© ¯®â¥æ¨ « ¥ ¬¥ï¥âáï. çñâ ï á⮨¬®áâì ®¯¥à 樨 Make-Fib-Heap à ¢ ¥ñ ä ªâ¨ç¥áª®© á⮨¬®á⨠O(1). ®¡ ¢«¥¨¥ ¢¥àè¨ë «¥¤ãîé ï ¯à®æ¥¤ãà ¤®¡ ¢«ï¥â ¢¥àè¨ã x ¢ 䨡® ç稥¢ã ªãçã H (¯à¥¤¯®« £ ¥¬, çâ® ¢¥àè¨ x 㦥 à §¬¥é¥ ¢ ¯ ¬ï⨠¨ ¯®«¥ ª«îç key[x] § ¯®«¥®). Fib-Heap-Insert (H; x) 1 degree[x] 0 2 p[x] nil 3 child[x] nil 4 left[x] x 5 right[x] x 6 mark[x] false 7 ᮥ¤¨¨âì ¯®«ãç¥ë© ª®à¥¢®© ᯨ᮪ (á®áâ®ï騩 ¨§ ¢¥àè¨ë x) á ª®à¥¢ë¬ ᯨ᪮¬ ªãç¨ H 8 if min[H ] = nil or key[x] < key[min[H ]] 9 then min[H ] x 10 n[H ] n[H ] + 1 âப¨ 1{6 ä®à¬¨àãîâ 横«¨ç¥áª¨© ᯨ᮪ ¨§ ¥¤¨á⢥®© ¢¥àè¨ë x, ¨ ¢ áâப¥ 7 íâ ¢¥àè¨ ¤®¡ ¢«ï¥âáï (§ ¢à¥¬ï O(1)) ª ª®à¥¢®¬ã ᯨáªã ªãç¨ H , ¢ ª®â®à®© ¯®ï¢«ï¥âáï ®¢®¥ ®¤®í«¥¬¥â- 418 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ ¨á㮪 21.2 ®¡ ¢«¥¨¥ ¢¥àè¨ë. ( ) ¨¡® ç稥¢ ªãç H . (¡) ¦¥ ªãç H ¯®á«¥ ¤®¡ ¢«¥¨ï ¢¥àè¨ë á ª«î箬 21. (âã ¢¥àè¨ã ᤥ« «¨ ®¤®í«¥¬¥âë¬ ¤¥à¥¢®¬, § ⥬ ¤®¡ ¢¨«¨ ¢ ª®à¥¢®© ᯨ᮪ á«¥¢ ®â ¬¨¨¬ «ì®© ¢¥àè¨ë, ª®â®à ï ¢ ¤ ®¬ á«ãç ¥ ®áâ « áì ¬¨¨¬ «ì®©.) ®¥ ¤¥à¥¢®. ¥àè¨ x ¥ ¨¬¥¥â ¯®â®¬ª®¢ ¨ ¥ ®â¬¥ç¥ . áâப å 8{9 ®¡®¢«ï¥âáï (¥á«¨ ¥®¡å®¤¨¬®) 㪠§ â¥«ì ¬¨¨¬ «ìãî ¢¥àè¨ã. ª®¥æ, áâப 10 㢥«¨ç¨¢ ¥â § 票¥ n[H ]. à¨á. 21.2 ¯®ª § ® ¤®¡ ¢«¥¨¥ ¢¥àè¨ë á ª«î箬 21 ¢ 䨡® ç稥¢ã ªãçã à¨á. 21.1. ®â«¨ç¨¥ ®â ¯à®æ¥¤ãàë Binomial-Heap-Insert, ¯à®æ¥¤ãà FibHeap-Insert ¥ ¯ëâ ¥âáï ᮥ¤¨ïâì ¤¥à¥¢ìï á ®¤¨ ª®¢®© á⥯¥ìî ¢¥àè¨ë. ᫨ ¢ë¯®«¨âì ¯®¤àï¤ k ®¯¥à 権 Fib-HeapInsert, â® ¢ ª®à¥¢®© ᯨ᮪ ¡ã¤ãâ ¤®¡ ¢«¥ë k ¤¥à¥¢ì¥¢ ¯® ®¤®© ¢¥à訥 ¢ ª ¦¤®¬. ©¤ñ¬ ãçñâãî á⮨¬®áâì ®¯¥à 樨 Fib-Heap-Insert. ñ ä ªâ¨ç¥áª ï á⮨¬®áâì ¥áâì| O(1), ¨ 㢥«¨ç¥¨¥ ¯®â¥æ¨ « â ª¦¥ ¥áâì O(1) (¢ ª®à¥¢®© ᯨ᮪ ¤®¡ ¢¨« áì ®¤ ¢¥àè¨ ). ª¨¬ ®¡à §®¬, ãçñâ ï á⮨¬®áâì á®áâ ¢«ï¥â O(1). ®¨áª ¬¨¨¬ «ì®© ¢¥àè¨ë ª § â¥«ì ¥ñ åà ¨âáï ¢ min[H ], â ª çâ® ä ªâ¨ç¥áª ï á⮨¬®áâì í⮩ ®¯¥à 樨 ¥áâì O(1). ®â¥æ¨ « ¯à¨ í⮬ ¥ ¬¥ï¥âáï, â ª çâ® ¨ ãçñâ ï á⮨¬®áâì ¥áâì O(1). ®¥¤¨¥¨¥ ¤¢ãå 䨡® ç稥¢ëå ªãç «¥¤ãîé ï ¯à®æ¥¤ãà ¨§ ¤¢ãå 䨡® ç稥¢ëå ªãç H1 ¨ H2, ¤¥« ¥â ®¤ã (¯à¨ í⮬ ¨áå®¤ë¥ ªãç¨ ¨á祧 îâ). ¯¥à 樨, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç 419 Fib-Heap-Union(H1; H2) 1 H Make-Fib-Heap() min[H1 ] ᮥ¤¨¨âì ª®à¥¢®© ᯨ᮪ H2 c ª®à¥¢ë¬ ᯨ᪮¬ H if (min[H1 ] = nil) or (min[H2] 6= nil and min[H2] < min[H1]) then min[H ] min[H2] n[H ] n[H1] + n[H2] ®á¢®¡®¤¨âì ¯ ¬ïâì, § ïâãî ¯®¤ § £®«®¢ª¨ ®¡ê¥ªâ®¢ H1 ¨ H2 return H âப¨ 1{3 ®¡ê¥¤¨ïîâ ª®à¥¢ë¥ ᯨ᪨ ªãç H1 ¨ H2 ¢ ª®à¥¢®© ᯨ᮪ ®¢®© ªãç¨ H . âப¨ 2, 4 ¨ 5 § ¯®«ïîâ min[H ], áâப 6 ãáâ ¢«¨¢ ¥â n[H ] à ¢ë¬ á㬬 ஬㠪®«¨ç¥áâ¢ã ¢¥àè¨. ¡ê¥ªâë H1 ¨ H2 ®á¢®¡®¦¤ îâáï ¢ áâப¥ 7, áâப 8 ¢®§¢à é ¥â १ã«ìâ¨àãîéãî 䨡® ç稥¢ã ªãçã H . ⬥⨬, çâ® (ª ª ¨ ¢ ¯à®æ¥¤ãॠFib-Heap-Insert) ᮥ¤¨¥¨ï ¤¥à¥¢ì¥¢ ¥ ¯à®¨á室¨â. ®â¥æ¨ « ¥ ¬¥ï¥âáï (®¡é¥¥ ç¨á«® ¢¥àè¨ ¢ ª®à¥¢ëå á¯¨áª å ¨ ®¡é¥¥ ç¨á«® ¯®¬¥ç¥ëå ¢¥àè¨ ®áâ ñâáï ⥬ ¦¥). ®í⮬ã ãçñâ ï á⮨¬®áâì ®¯¥à 樨 Fib-Heap-Union à ¢ ¥ñ ä ªâ¨ç¥áª®© á⮨¬®áâ¨, â. ¥. O(1). 2 3 4 5 6 7 8 min[H ] §êï⨥ ¬¨¨¬ «ì®© ¢¥àè¨ë ¬¥® ¯à¨ í⮩ ®¯¥à 樨 ¯à®¨á室¨â ¯à¥®¡à §®¢ ¨¥ áâàãªâãàë ªãç¨ (à §ë¥ ¤¥à¥¢ìï ᮥ¤¨ïîâáï ¢ ®¤®), ¯®í⮬㠮 áãé¥á⢥® á«®¦¥¥ ¯à¥¤ë¤ãé¨å ®¯¥à 権 í⮣® à §¤¥« . « ¤¥©á⢨© â ª®¢: ¯®á«¥ ¨§êïâ¨ï ¬¨¨¬ «ì®© ¢¥àè¨ë â® ¤¥à¥¢®, £¤¥ ® ¡ë« ª®à¥¬, à ááë¯ ¥âáï ¢ ¡®à ᢮¨å ¯®¤¤¥à¥¢ì¥¢, ª®â®àë¥ ¤®¡ ¢«ïîâáï ª ª®à¥¢®¬ã ᯨáªã. ⥬ § ¯ã᪠¥âáï ¯à®æ¥¤ãà Consolidate, ᮥ¤¨ïîé ï ¤¥à¥¢ìï, ¯®á«¥ 祣® ¢ ª®à¥¢®¬ ᯨ᪥ ®áâ ñâáï ¥ ¡®«¥¥ ®¤®£® ¤¥à¥¢ ª ¦¤®© á⥯¥¨. ë áç¨â ¥¬, çâ® ¯à¨ 㤠«¥¨¨ ¢¥àè¨ë ¨§ á¢ï§ ®£® ᯨ᪠(áâப 6) ¯®«ï left ¨ right í⮩ ¢¥àè¨ë ®áâ îâáï ¥¨§¬¥ë¬¨ (® ¯®«ï ¥ñ á®á¥¤¥©, ª®â®àë¥ ãª §ë¢ «¨ íâã ¢¥àè¨ã, ®¡®¢«ïîâáï). 420 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ Fib-Heap-Extract-Min(H ) 1 z min[H ] 2 if z 6= nil 3 then for (¤«ï) ª ¦¤®£® ॡñª x ¢¥àè¨ë z 4 do ¤®¡ ¢¨âì x ¢ ª®à¥¢®© ᯨ᮪ H 5 p[x] nil 6 㤠«¨âì z ¨§ ª®à¥¢®£® ᯨ᪠H 7 if z = right[z ] 8 then min[H ] nil 9 else min[H ] right[z ] 10 Consolidate(H ) 11 n[H ] n[H ] ; 1 12 return z à®æ¥¤ãà Fib-Heap-Extract-Min ¯¥à¥¬¥é ¥â ¢á¥å ¤¥â¥© 㤠«ï¥¬®© (¬¨¨¬ «ì®©) ¢¥àè¨ë ¢ ª®à¥¢®© ᯨ᮪ ªãç¨ H , á ¬ã ¬¨¨¬ «ìãî ¢¥àè¨ã 㤠«ï¥â ¨§ ª®à¥¢®£® ᯨ᪠. ⥬ ¯à®¨§¢®¤¨âáï 㯫®â¥¨¥ ª®à¥¢®£® á¯¨áª á ¯®¬®éìî ¯à®æ¥¤ãàë Consolidate. áâப¥ 1 㪠§ â¥«ì ¬¨¨¬ «ìãî ¢¥àè¨ã á®åà ï¥âáï ¢ ¯¥à¥¬¥®© z (íâ®â 㪠§ â¥«ì ¢®§¢à é ¥âáï ¯à®æ¥¤ãன ¢ áâப¥ 12). ᫨ z = nil, ¨á室 ï ªãç ¯ãáâ , ¨ à ¡®â § ª 稢 ¥âáï. ¯à®â¨¢®¬ á«ãç ¥ ¬ë 㤠«ï¥¬ z ¨§ ª®à¥¢®£® ᯨ᪠H (áâப 6), ¯à¥¤¢ à¨â¥«ì® ¯®¬¥á⨢ ¢ ¥£® ¢á¥å ¤¥â¥© ¢¥àè¨ë z (áâப¨ 3{ 5). ᫨ ¯®á«¥ í⮣® z = right[z ], â® ¢¥àè¨ z ¥ ⮫쪮 ¡ë« ¥¤¨á⢥®© ¢¥à訮© ¢ ª®à¥¢®¬ ᯨ᪥, ® ¨ ¥ ¨¬¥« ¯®â®¬ª®¢, â ª ç⮠⥯¥àì ®áâ ¥âáï «¨èì ᤥ« âì ªãçã ¯ãá⮩ (áâப 8) ¨ ¢®§¢à â¨âì z. ¯à®â¨¢®¬ á«ãç ¥ ¬ë ¬¥ï¥¬ § 票¥ 㪠§ ⥫ï min[H ] â ª, çâ®¡ë ® 㪠§ë¢ « ª ªãî-«¨¡® ¢¥àè¨ã ª®à¥¢®£® ᯨ᪠, ®â«¨çãî ®â z (¢ ¤ ®¬ á«ãç ¥ | ¢¥àè¨ã right[z]). à¨á. 21.3¡ ¯®ª § ® á®áâ®ï¨¥ ªãç¨ à¨á. 21.3 ¯®á«¥ ¢ë¯®«¥¨ï áâப¨ 9. áâ ñâáï ¢ë§¢ âì ¯à®æ¥¤ãàã Consolidate (® ª®â®à®© ¬ë £®¢®à¨¬ ¤ «ìè¥) ¤«ï 㯫®â¥¨ï (consolidating) ªãç¨. ¯«®â¥¨¥ ¯à®¨á室¨â § áçñâ ⮣®, çâ® ¤¢ ¤¥à¥¢ á ¢¥àè¨ ¬¨ ®¤¨ ª®¢®© á⥯¥¨ ᮥ¤¨ïîâáï ¢ ®¤® (¥£® ¢¥àè¨ ¡ã¤¥â ¨¬¥âì ¥¤¨¨æã ¡®«ìèãî á⥯¥ì). â ®¯¥à æ¨ï (¯à®æ¥¤ãà Fib-Heap-Link) ¯à®¨§¢®¤¨âáï ¤® â¥å ¯®à, ¯®ª ¢ ª®à¥¢®¬ ᯨ᪥ ¥ ®áâ ¥âáï ¢¥àè¨ ®¤¨ ª®¢®© á⥯¥¨. ਠᮥ¤¨¥¨¨ ¤¢ãå ¢¥àè¨ á ¯®¬®éìî ®¯¥à 樨 Fib-HeapLink ¢¥àè¨ á ¡®«ì訬 ª«î箬 ( §®¢ñ¬ ¥ñ y ) áâ ®¢¨âáï ॡñª®¬ ¢¥àè¨ë á ¬¥ì訬 ª«î箬 ( §®¢ñ¬ ¥ñ x). ਠí⮬ degree[x] 㢥«¨ç¨¢ ¥âáï, ¢¥àè¨ y ¯¥à¥áâ ñâ ¡ëâì ®â¬¥ç¥®© (¥á«¨ ¡ë« â ª®¢®©). à®æ¥¤ãà Consolidate ¨á¯®«ì§ã¥â ¢á¯®¬®£ ⥫ìë© ¬ áᨢ ¯¥à 樨, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç 421 A[0 : :D(n[H ])]. ®§¨æ¨ï á ®¬¥à®¬ i ¢ í⮬ ¬ áᨢ¥ ¯à¥¤ § ç¥ ¤«ï åà ¥¨ï 㪠§ â¥«ï ª®à¥ì 䨡® ç稥¢ ¤¥à¥¢ á⥯¥¨ i. ç «¥ ¬ áᨢ ¯ãáâ (¢á¥ ¥£® ï祩ª¨ ᮤ¥à¦ â nil). ®á⥯¥® ¢ ¥£® ¯¥à¥¯¨áë¢ îâáï ¢¥àè¨ë ¨§ ª®à¥¢®£® ᯨ᪠. ᫨ ¯à¨ í⮬ ®ª §ë¢ ¥âáï, çâ® ï祩ª ¤«ï ¢¥àè¨ë 㦮© á⥯¥¨ 㦥 § ïâ , â® ã á ¥áâì ¤¢ ¤¥à¥¢ í⮩ á⥯¥¨, ®¨ ®¡ê¥¤¨ïîâáï, ¨ ¬ë ¯ëâ ¥¬áï § ¯¨á âì ®¡ê¥¤¨ñ®¥ ¤¥à¥¢® ¢ á«¥¤ãîéãî ï祩ªã ¬ áᨢ A. ᫨ ¨ ® § ïâ , â® ¬ë ᮢ ¯à®¨§¢®¤¨¬ ®¯¥à æ¨î ®¡ê¥¤¨¥¨ï, ¯®«ãç ¥¬ ¤¥à¥¢® ¥éñ ¥¤¨¨æã ¡®«ì襩 á⥯¥¨ ¨ â. ¤. Consolidate(H ) 1 for i 0 to D(n[H ]) 2 do A[i] nil 3 for (¤«ï) ª ¦¤®© ¢¥àè¨ë w ª®à¥¢®£® ᯨ᪠ªãç¨ H 4 do x w 5 d degree[x] 6 while A[d] = 6 nil 7 do y A[d] 8 if key[x] > key[y ] 9 then ®¡¬¥ x $ y 10 Fib-Heap-Link(H; y; x) 11 A[d] nil 12 d d+1 13 A[d] x 14 min[H ] nil 15 for i 0 to D(n[H ]) 16 do if A[i] = 6 nil 17 then ¤®¡ ¢¨âì A[i] ¢ ª®à¥¢®© ᯨ᮪ H 18 if min[H ] = nil or key[A[i]] < key[min[H ]] 19 then min[H ] A[i] Fib-Heap-Link(H; y; x) 1 㤠«¨âì y ¨§ ª®à¥¢®£® ᯨ᪠ªãç¨ H 2 ¢ª«îç¨âì y ¢ ᯨ᮪ ¤¥â¥© ¢¥àè¨ë x, 㢥«¨ç¨¢ degree[x] 3 mark[y ] false ¯¨è¥¬ à ¡®âã ¯à®æ¥¤ãàë Consolidate ¡®«¥¥ ¯®¤à®¡®. áâப å 1{2 ¬ áᨢ A § ¯®«ï¥âáï § 票ﬨ nil. 横«¥ for (áâப¨ 3{13) ¬ë ¯¥à¥¡¨à ¥¬ ¢á¥ ª®à¥¢ë¥ ¢¥àè¨ë w. ¦¤ãî ¨§ ¨å ¬ë ¤®¡ ¢«ï¥¬ ª ¬ áᨢã A (ᮥ¤¨ïï ¥ñ á ¨¬¥î騬¨áï â ¬ ¢¥àè¨ ¬¨, ¥á«¨ 㦮). ¡à ¡®âª ª ¦¤®© ¨§ ª®à¥¢ëå ¢¥àè¨ w ¬®¦¥â ¯®âॡ®¢ âì ¥áª®«ìª¨å ®¯¥à 権 Fib-Heap-Link ¨ § ª 稢 ¥âáï ᮧ¤ ¨¥¬ ¤¥à¥¢ , ª®à¥¢ ï ¢¥àè¨ x ª®â®à®£® ¬®¦¥â ᮢ¯ ¤ âì, ¬®¦¥â ¨ ¥ ᮢ¯ ¤ âì á w, ® ¢ «î¡®¬ á«ãç ¥ íâ® ¤¥à¥¢® ᮤ¥à¦¨â ¢¥àè¨ã w. ®á«¥ í⮣® í«¥¬¥â ¬ áᨢ A[degree[x]] ãáâ ¢«¨¢ ¥âáï â ª¨¬ ®¡à §®¬, çâ®¡ë ® 㪠§ë¢ « x. ¯à®æ¥áᥠíâ¨å 422 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ ¨á㮪 21.3 ¡®â ¯à®æ¥¤ãàë Fib-Heap-Extract-Min. ( ) ¨¡® ç稥¢ ªãç H . (¡) ¨¨¬ «ì ï ¢¥àè¨ z 㤠«¥ ¨§ ª®à¥¢®£® ᯨ᪠; ¥ñ ¯®â®¬ª¨ ¢ª«îç¥ë ¢ ª®à¥¢®© ᯨ᮪. (¢){(¤) áᨢ A ¨ ¤¥à¥¢ìï ¯®á«¥ ª ¦¤®© ¨§ ¯¥à¢ëå âàñå ¨â¥à 権 横« for (áâப¨ 3{13 ¯à®æ¥¤ãàë Consolidate). ®à¥¢®© ᯨ᮪ ¯à®á¬ âਢ ¥âáï á«¥¢ ¯à ¢® ¯® ªàã£ã, ç¨ ï á min[H ]. (¥)-(§) «¥¤ãîé ï ¨â¥à æ¨ï 横« for. ¨á. (¥) ¯®ª §ë¢ ¥â á®áâ®ï¨¥ ¯®á«¥ ¯¥à¢®£® ¨á¯®«¥¨ï ⥫ 横« while: ¢¥àè¨ á ª«î箬 23 ¯®¤¢¥è¥ ª ¢¥à訥 á ª«î箬 7, ª®â®àãî ⥯¥àì 㪠§ë¢ ¥â x. ⥬ ¢¥àè¨ á ª«î箬 17 ¯®¤¢¥è¨¢ ¥âáï ª ª ¢¥à訥 á ª«î箬 7 (¦), ¯®â®¬ ¨ ¢¥àè¨ á ª«î箬 24 ¯®¤¢¥è¨¢ ¥âáï ª ¢¥à訥 á ª«î箬 7 (§). ®áª®«ìªã ï祩ª A[3] ¡ë« ᢮¡®¤®©, 横« for § ¢¥àè ¥âáï ¨ A[3] 㪠§ë¢ ¥â ª®à¥ì ¯®«ã祮£® ¤¥à¥¢ . (¨)-(«) ®áâ®ï¨ï ¯®á«¥ ª ¦¤®© ¨§ á«¥¤ãîé¨å ç¥âëà¥å ¨â¥à 権 横« while. (¬) ¨¡® ç稥¢ ªãç H ¯®á«¥ ¯à¥®¡à §®¢ ¨ï ¬ áᨢ A ¢ ª®à¥¢®© ᯨ᮪ ¨ ãáâ ®¢ª¨ ®¢®£® § 票ï 㪠§ ⥫ï min[H ]. ¯¥à 樨, ¯à¥¤ãᬮâà¥ë¥ ¤«ï ᫨¢ ¥¬ëå ªãç 423 ¯à¥®¡à §®¢ ¨© ¢¥àè¨ w ®áâ ñâáï ¯®â®¬ª®¬ ¢¥àè¨ë x. ¢ ਠâ 横« while (áâப¨ 6{12) â ª®¢: "d = degree[x]; ®áâ «®áì ¤®¡ ¢¨âì ¤¥à¥¢® á ª®à¥¬ ¢ x ª ¬®¦¥áâ¢ã, ¯à¥¤áâ ¢«¥®¬ã ¬ áᨢ®¬ A". ᫨ ¯à¨ í⮬ A[d] = nil, â® ¬ë ¢ë¯®«ï¥¬ íâã ®¯¥à æ¨î (¤®¡ ¢«¥¨¥) ¢ áâப¥ 13. ᫨ ¦¥ A[d] = 6 nil, â® ¬ë ¨¬¥¥¬ ¤¢ ¤¥à¥¢ á⥯¥¨ d á ª®àﬨ ¢ x ¨ y = A[d], ¨ ¢ áâப å 8{10 ᮥ¤¨ï¥¬ ¨å ¢ ®¤® ¤¥à¥¢® á ª®à¥¬ ¢ x (®¤®¢à¥¬¥® ®ç¨é ï ï祩ªã A[d] ¨ á®åà ïï ¨¢ ਠâ). §«¨çë¥ áâ ¤¨¨ í⮣® ¯à®æ¥áá ¯®ª § ë à¨á. 21.3. ®á«¥ í⮣® ®áâ ñâáï ¯à¥®¡à §®¢ âì ¬ áᨢ A ¢ ª®à¥¢®© ᯨ᮪: ¢ áâப¥ 14 ¬ë ᮧ¤ ñ¬ ¯ãá⮩ ᯨ᮪, ¢ 横«¥ ¢ áâப å 15{19 ¤®¡ ¢«ï¥¬ ¢ ¥£® ¯® ®ç¥à¥¤¨ ¢á¥ ¢¥àè¨ë, ¨¬¥î騥áï ¢ ¬ áᨢ¥ A. ¥§ã«ìâ â ¯®ª § à¨á. 21.3¬. í⮬ ¯à®æ¥áá 㯫®â¥¨ï § ª 稢 ¥âáï, ¨ ã¯à ¢«¥¨¥ ¢®§¢à é ¥âáï ¢ ¯à®æ¥¤ãàã Fib-Heap-Extract-Min, ª®â®à ï 㬥ìè ¥â n[H ] 1 ¨ ¢®§¢à é ¥â 㪠§ â¥«ì ¨§êïâãî ¢¥àè¨ã z (áâப¨ 11{12). ¬¥â¨¬, çâ® ¥á«¨ ¯¥à¥¤ ¢ë¯®«¥¨¥¬ ®¯¥à 樨 Fib-HeapExtract-Min ¢á¥ ¤¥à¥¢ìï ¢ H ¡ë«¨ ¥ã¯®à冷ç¥ë¬¨ ¡¨®¬¨ «ì묨 ¤¥à¥¢ìﬨ, â® ¨ ¯®á«¥ ¢ë¯®«¥¨ï ®¯¥à 樨 H ¡ã¤¥â á®áâ®ïâì ¨§ ¥ã¯®à冷ç¥ëå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢. á ¬®¬ ¤¥«¥, ᮥ¤¨¥¨¥ ¤¢ãå ¥ã¯®à冷ç¥ëå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢ á 424 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ ®¤¨ ª®¢ë¬¨ á⥯¥ï¬¨ ª®àï (¯à®æ¥¤ãà Fib-Heap-Link) ¤ ñâ (¥ã¯®à冷祮¥) ¡¨®¬¨ «ì®¥ ¤¥à¥¢® (á⥯¥ì ¥£® ª®àï ¥¤¨¨æã ¡®«ìè¥). ¬ ®áâ «®áì ¯®ª § âì, çâ® ãçñâ ï á⮨¬®áâì ¨§êïâ¨ï ¬¨¨¬ «ì®© ¢¥àè¨ë ¨§ n-í«¥¬¥â®© 䨡® ç稥¢®© ªãç¨ ¥áâì O(D(n)). ®á¬®âਬ, ª ª¨¥ ®¯¥à 樨 ¬ ¯à¨è«®áì ¢ë¯®«¨âì. ०¤¥ ¢á¥£® 㦮 O(D(n)) ¤¥©á⢨©, çâ®¡ë ¯®¬¥áâ¨âì ¢á¥å ¯®â®¬ª®¢ 㤠«ï¥¬®© ¢¥àè¨ë z ¢ ª®à¥¢®© ᯨ᮪. ç «ìë© ¨ ª®¥çë© íâ ¯ë à ¡®âë ¯à®æ¥¤ãàë Consolidate (áâப¨ 1{2 ¨ 15{ 19) â ª¦¥ âॡã¥â ¢à¥¬¥¨ O(D(n)). áâ ñâáï ãç¥áâì ¢ª« ¤ 横« for, à ᯮ«®¦¥®£® ¢ áâப å 3{13. â® ç¨á«® ®æ¥¨¢ ¥âáï ᢥàåã ª ª O(D(n)) (à §¬¥à ¬ áᨢ A) ¯«îá ª®áâ â , 㬮¦¥ ï ç¨á«® ®¡à 饨© ª ¯à®æ¥¤ãॠFib-Heap-Link. ® ¯à¨ ª ¦¤®¬ â ª®¬ ®¡à 饨¨ ¤¢ ¤¥à¥¢ ᫨¢ îâáï, çâ® ¯à¨¢®¤¨â ¢ ¨â®£¥ ª 㬥ìè¥¨î ¤«¨ë ª®à¥¢®£® ᯨ᪠1 ¨ ª 㬥ìè¥¨î ¯®â¥æ¨ « ¯® ªà ©¥© ¬¥à¥ 1 (ç¨á«® ®â¬¥ç¥ëå ¢¥àè¨ ¬®¦¥â 㬥ìè¨âìáï, ® ¥ 㢥«¨ç¨âìáï). ª ç⮠㬮¦¨¢ ¯®â¥æ¨ « ¯®¤å®¤ïéãî ª®áâ âã, ¬ë ¬®¦¥¬ áç¨â âì, çâ® ãçñâ ï á⮨¬®áâì ®¯¥à 樨 㤠«¥¨ï ¥áâì O(D(n)). à㣨¬¨ á«®¢ ¬¨, ®¯¥à 樨 á¢ï§ë¢ ¨ï ¤¥à¥¢ì¥¢ ®¤¨ ª®¢®© á⥯¥¨ (ª®â®àëå ¬®¦¥â ¡ëâì ¬®£®, ¥á«¨ ª®à¥¢®© ᯨ᮪ ¤«¨ë©) ®¯« 稢 îâáï ª ª à § § áçñâ 㬥ìè¥¨ï ¤«¨ë ª®à¥¢®£® ᯨ᪠! ¯à ¦¥¨ï à¨áã©â¥ 䨡® ç稥¢ã ªãçã, ª®â®à ï ¯®«ãç¨âáï ¢ १ã«ìâ ⥠¨§êïâ¨ï ¬¨¨¬ «ì®© ¢¥àè¨ë (á ¯®¬®éìî ¯à®æ¥¤ãàë Fib-Heap-Extract-Min) ¨§ ªãç¨ à¨á. 21.3¬. 21.2-2 ®ª ¦¨â¥, çâ® «¥¬¬ 20.1 ®áâ ñâáï ¢¥à®© ¤«ï ¥ã¯®à冷ç¥ëå ¡¨®¬¨ «ìëå ¤¥à¥¢ì¥¢, ¥á«¨ ᢮©á⢮ 4 § ¬¥¨âì ᢮©á⢮ 40: ª®à¥ì ¥ã¯®à冷祮£® ¡¨®¬¨ «ì®£® ¤¥à¥¢ Uk ¨¬¥¥â á⥯¥ì k, ª®â®à ï ï¥âáï ¬ ªá¨¬ «ì®© á⥯¥ìî ¢¥àè¨ë ¢ ¤¥à¥¢¥; ¤¥â¨ ª®àï ïîâáï ¢¥àè¨ ¬¨ ¤¥à¥¢ì¥¢ U0; U1; : : :; Uk;1 (¢ ¥ª®â®à®¬ ¯®à浪¥). 21.2-3 ®ª ¦¨â¥, çâ® ¥á«¨ ¢ë¯®«ïîâáï «¨èì ®¯¥à 樨, ®¯¨á ë¥ ¢ à §¤¥«¥ 21.2, â® ¢ ªãç¥ á n ¢¥àè¨ ¬¨ ¢á¥ ¢¥àè¨ë ¨¬¥îâ á⥯¥ì ¥ ¡®«ìè¥ blg nc. 21.2-4 à®ä¥áá®à ¯à¨¤ã¬ « ®¢ãî áâàãªâãàã ¤ ëå, ®á®¢ ãî 䨡® ç稥¢ëå ªãç å: ®¯¥à 樨 ¢ë¯®«ïîâáï ª ª ®¯¨á ® ¢ à §¤¥«¥ 21.2, ® ⮫쪮 ¯®á«¥ ¤®¡ ¢«¥¨ï ¢¥àè¨ë ¨ ᮥ¤¨¥¨ï ¤¢ãå ªãç áà §ã ¦¥ ¯à®¨§¢®¤¨âáï 㯫®â¥¨¥ ª®à¥¢®£® ᯨ᪠. ª®¢® ¢à¥¬ï ¢ë¯®«¥¨ï à §«¨çëå ®¯¥à 権 ¤ â ª¨¬¨ ªãç ¬¨ ¢ åã¤è¥¬ á«ãç ¥? 㤥⠫¨ â ª ï áâàãªâãà ¤ ëå 祬-â® ®¢ë¬? 21.2-1 ¬¥ì襨¥ ª«îç ¨ 㤠«¥¨¥ ¢¥àè¨ë 425 21.2-5 㤥¬ áç¨â âì, çâ® ª«îç¨ ¬®¦® ⮫쪮 áà ¢¨¢ âì (¨å ¢ãâà¥ïï áâàãªâãà ¬ ¥¤®áâ㯠). ®¦® «¨ ⮣¤ ॠ«¨§®¢ âì ®¯¥à 樨 ¤ ᫨¢ ¥¬ë¬¨ ªãç ¬¨ â ª, çâ®¡ë ª ¦¤ ï ¨§ ¨å ¨¬¥« ãçñâãî á⮨¬®áâì O(1)? (ª § ¨¥: ¨á¯®«ì§ã©â¥ ®æ¥ª¨ ¤«ï ¢à¥¬¥¨ á®àâ¨à®¢ª¨.) 21.3 ¬¥ì襨¥ ª«îç ¨ 㤠«¥¨¥ ¢¥àè¨ë í⮬ à §¤¥«¥ ¬ë ¯®ª ¦¥¬, ª ª ॠ«¨§®¢ âì ®¯¥à æ¨î 㬥ìè¥¨ï ª«îç § ¤ ®© ¢¥àè¨ë á ãçñ⮩ á⮨¬®áâìî O(1), â ª¦¥ ®¯¥à æ¨î 㤠«¥¨ï ¢¥àè¨ë ¨§ 䨡® ç稥¢®© ªãç¨ á ãçñ⮩ á⮨¬®áâìî O(D(n)) (£¤¥ n | ç¨á«® ¢¥àè¨ ¢ ªãç¥), D(n) | ®æ¥ª ¤«ï ¬ ªá¨¬ «ì®© á⥯¥¨ ¢¥àè¨ë. ®á«¥ íâ¨å ®¯¥à 権 ¢å®¤ï騥 ¢ ªãçã ¤¥à¥¢ìï ¯¥à¥áâ îâ ¡ëâì ¡¨®¬¨ «ì묨, ® ¥ ᫨誮¬ ¤ «¥ª® ®âª«®ïîâáï ®â ¨å, â ª çâ® ¬ ªá¨¬ «ì ï á⥯¥ì ¢¥àè¨ë ®áâ ñâáï à ¢®© O(lg n). ª¨¬ ®¡à §®¬, ®¯¥à 樨 Fib-Heap-Extract-Min ¨ Fib-Heap-Delete ¨¬¥îâ ãçñâãî á⮨¬®áâì O(lg n). ¬¥ì襨¥ ª«îç á«¥¤ãî饩 ¯à®æ¥¤ãॠ㬥ìè¥¨ï ª«îç (Fib-HeapDecrease-Key) ¬ë ¯à¥¤¯®« £ ¥¬, çâ® ¯®á«¥ ¨§êïâ¨ï ¢¥àè¨ë ¨§ ᯨ᪠áá뫪 ¢¥àè¨ã-ॡñª ¥ ¬¥ï¥âáï (â ª çâ® ¯à®æ¥¤ãà Cut ¢ë१ ¥â 楫®¥ ¯®¤¤¥à¥¢®, á¬. ¨¦¥) Fib-Heap-Decrease-Key (H; x; k) 1 if k > key[x] 2 then error "®¢®¥ § 票¥ ª«îç ¡®«ìè¥ áâ ண®" 3 key[x] k 4 y p[x] 5 if y = 6 nil and key[x] < key[y] 6 then Cut(H; x; y ) 7 Cascading-Cut(H; y ) 8 if key[x] < key[min[H ]] 9 then min[H ] x Cut(H; x; y ) 1 2 3 4 㤠«¨âì x ¨§ ᯨ᪠¤¥â¥© ¢¥àè¨ë y, 㬥ì訢 degree[y] 1 ¤®¡ ¢¨âì x ¢ ª®à¥¢®© ᯨ᮪ ªãç¨ H p[x] nil mark[x] false 426 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ Cascading-Cut(H; y ) 1 z p[y ] 2 if z 6= nil 3 then if mark[y ] = false 4 then mark[y ] true 5 else Cut(H; y; z ) 6 Cascading-Cut(H; z ) à®æ¥¤ãà Fib-Heap-Decrease-Key à ¡®â ¥â â ª. ç « (áâப¨ 1{3) ¯à®¢¥àï¥âáï, ¤¥©áâ¢¨â¥«ì® «¨ ®¢®¥ § 票¥ ª«îç ¬¥ìè¥ áâ ண®. ᫨ ¤ , â® áâ ஥ § 票¥ § ¬¥ï¥âáï ®¢®¥. ®§¬®¦®, ®¢®¥ § 票¥ ¯®-¯à¥¦¥¬ã ¡®«ìè¥ § ç¥¨ï ¢ ¢¥à訥-த¨â¥«¥, ⮣¤ ¢áñ ¢ ¯®à浪¥. ᫨ ¦¥ ¥â, â® ¢ áâப å 6{7 ¯®¤¤¥à¥¢® á ª®à¥¬ x ¢ë१ ¥âáï ¨ ¯¥à¥®á¨âáï ¢ ª®à¥¢®© ᯨ᮪ á ¯®¬®éìî ¯à®æ¥¤ãà "ª ᪠¤®£® ¢ë१ ¨ï". ¤¥ï âãâ ¯à®áâ : ¬ë ¥ å®â¨¬ ¯®§¢®«ïâì ¢¥à訥 ¢á¯«ë¢ âì ¤® ª®àï ( ¯®¬¨¬: ¬ 㦠®æ¥ª O(1) ¤«ï ãçñ⮩ á⮨¬®áâ¨). à¨å®¤¨âáï ¥ñ ¢ë१ âì 楫¨ª®¬ ¨ ¯®¬¥é âì ¢ ª®à¥¢®© ᯨ᮪. â í⮣® à áâñâ ¯®â¥æ¨ «, ® ¢á¥£® O(1), â ª çâ® íâ® ¥ áâà è®. ® ¬ë ¤®«¦ë á«¥¤¨âì § áâàãªâãன ¤¥à¥¢ , ¯®áª®«ìªã å®â¨¬ ¨¬¥âì «®£ à¨ä¬¨ç¥áªãî ®æ¥ªã ¬ ªá¨¬ «ìãî á⥯¥ì ¢¥àè¨ë (D(n) = O(lg n)). ¡¥£ ï ¢¯¥àñ¤, ®â¬¥â¨¬, çâ® ¢ëá®â ¤¥à¥¢ ¥ ®¡ï§ ¡ëâì «®£ à¨ä¬¨ç¥áª®© (á¬. ã¯à. 21.4-1). ë ¡ã¤¥¬ á«¥¤¨âì, ç⮡ë ã ®¤®© ¨ ⮩ ¦¥ ¢¥àè¨ë, ¥ ¢å®¤ï饩 ¢ ª®à¥¢®© ᯨ᮪, ¥ 㤠«ï«®áì ¥áª®«ìª® ¤¥â¥©. «ï í⮣® ¨á¯®«ì§ãîâáï ¯®¬¥âª¨ (¯®«¥ mark ): ¯®á«¥ 㤠«¥¨ï ॡñª (¯¥à¥¥á¥¨ï ¥£® ¢ ª®à¥¢®© ᯨ᮪ á ¯®¬®éìî ¯à®æ¥¤ãàë Cut) ¢¥àè¨ ¤¥« ¥âáï ®â¬¥ç¥®©, ¥á«¨ ® à ¥¥ ¥ ¡ë« ®â¬¥ç¥®© ¨ ¥ ¡ë« ª®à¥¬ (áâப¨ 3{4 ¯à®æ¥¤ãàë Cascading-Cut). ᫨ ¦¥ ¢¥àè¨ , ã ª®â®à®© 㤠«ñ ॡñ®ª, 㦥 ¡ë« ®â¬¥ç¥®©, â® ® á ¬ ¯¥à¥®á¨âáï ¢ ª®à¥¢®© ᯨ᮪, ¤«ï ¥ñ த¨â¥«ï ¯®¢â®àï¥âáï â ¦¥ ¯à®æ¥¤ãà . ®á«¥ ¢ë¯®«¥¨ï ®¯¥à 権 ¢ë१ ¨ï ®áâ ñâáï ⮫쪮 ᪮à४â¨à®¢ âì âਡãâ min[H ]. ¬¥â¨¬, çâ® ¬¨¨¬ «ì®© ¬®¦¥â ¡ëâì «¨¡® ¢¥àè¨ á 㬥ìè¥ë¬ ª«î箬, «¨¡® ¯à¥¦ïï ¬¨¨¬ «ì ï ¢¥àè¨ . ª¨¬ ®¡à §®¬, ¦¨§¥ë© 横« ¢¥àè¨ë ¢ë£«ï¤¨â â ª. ç « ® ¤®¡ ¢«ï¥âáï ¢ ¤¥à¥¢®, ¯®¯ ¤ ï ¢ ¥£® ª®à¥¢®© ᯨ᮪. ਠ¢ë¯®«¥¨¨ ®¯¥à 樨 Consolidate ¤¥à¥¢ìï ¢ ª®à¥¢®¬ ᯨ᪥ ®¡ê¥¤¨ïîâáï. ਠí⮬ ¢¥àè¨ ¬®¦¥â «¨¡® ®áâ âìáï ¢ ª®à¥¢®¬ ᯨ᪥, ¯à¨®¡à¥âï ®¢®£® ॡñª (¥á«¨ ¥ñ ª«îç ¬¥ìè¥ ª«îç ¤à㣮© ¢¥àè¨ë, á ª®â®à®© ® ®¡ê¥¤¨ï¥âáï), «¨¡® áâ âì ॡñª®¬ ¤à㣮© ¢¥àè¨ë ª®à¥¢®£® ᯨ᪠. ¥àè¨ ª®à¥¢®£® ᯨ᪠¬®¦¥â ¥ ⮫쪮 ¯à¨®¡à¥â âì ¤¥â¥©, ® ¨ â¥àïâì ¨å (¯à®æ¥¤ãà Cut); ®â¬¥â¨¬, çâ® ¯à¨ í⮬ ® ¥ áâ ®¢¨âáï ¯®¬¥ç¥®© (áâப 4 ¯à®- ¬¥ì襨¥ ª«îç ¨ 㤠«¥¨¥ ¢¥àè¨ë 427 楤ãàë Cascading-Cut ¢ë¯®«ï¥âáï, «¨èì ¥á«¨ ¢ë¯®«¥® ãá«®¢¨¥ ¢ áâப¥ 2). ª ª®©-â® ¬®¬¥â ¢¥àè¨ ¨áª«îç ¥âáï ¨§ ª®à¥¢®£® ᯨ᪠, áâ ®¢ïáì ॡñª®¬ ¤à㣮© ¢¥àè¨ë ¯à¨ ¢ë¯®«¥¨¨ ¯à®æ¥¤ãàë Consolidate. ਠí⮬ ¥ñ ¯®¬¥âª (¥á«¨ ® ¡ë« ) 㤠«ï¥âáï (áâப 3 ¯à®æ¥¤ãàë Fib-Link). í⮣® ¬®¬¥â ®¢ëå ¤¥â¥© ã ¥ñ ¥ ¯à¨¡ ¢«ï¥âáï, ® ¬®¦¥â ¡ëâì 㤠«ñ ®¤¨ ॡñ®ª, ®â祣® ® á⠥⠯®¬¥ç¥®©. ਠ㤠«¥¨¨ ¢â®à®£® ॡñª ¢¥àè¨ ¢®¢ì ¯¥à¥¬¥é ¥âáï ¢ ª®à¥¢®© ᯨ᮪, áâ ®¢ïáì ¥¯®¬¥ç¥®©. à㣮© ᯮᮡ ¢¥àãâìáï ¢ ª®à¥¢®© ᯨ᮪ | ®ª § âìáï ॡñª®¬ ¨§ë¬ ¥¬®© ¢¥àè¨ë ¯à¨ ®¯¥à 樨 Fib-Heap-Extract-Min (¯à¨ í⮬ ¯®¬¥âª ¥ ¬¥ï¥âáï). ®á«¥ ¢®§¢à é¥¨ï ¢ ª®à¥¢®© ᯨ᮪ ª ¢¥à訥 ¢®¢ì ¬®£ãâ ¤®¡ ¢«ïâìáï ¤¥â¨ (¯à¨ ®¯¥à 樨 Consolidate). ¥â¨ ¬®£ãâ ¨ 㤠«ïâìáï (®¯¥à æ¨ï Cut). ª ª®©-â® ¬®¬¥â ¢¥àè¨ á®¢ ¬®¦¥â ®ª § âìáï ॡñª®¬ ¤à㣮© ¢¥àè¨ë ª®à¥¢®£® ᯨ᪠, ¨ â ª ¤ «¥¥ | ¤® â¥å ¯®à, ¯®ª íâ ¢¥àè¨ ¥ ¡ã¤¥â ¨§êïâ ¨§ ¤¥à¥¢ (¨«¨ ¥ ¡ã¤¥â 㬥ìè¥ ª«îç). à¨á. 21.4 ¯®ª § ë ¤¢¥ ®¯¥à 樨 Fib-Heap-Decrease-Key, ¯¥à¢ ï ¨§ ª®â®àëå ¥ ¢ë§ë¢ ¥â 楯®çª¨ ®¯¥à 権 Cut, ¢â®à ï ¢ë§ë¢ ¥â. ®ª ¦¥¬, çâ® ãçñâ ï á⮨¬®áâì ®¯¥à 樨 Fib-Heap-DecreaseKey á®áâ ¢«ï¥â O(1). 祬 á ®¯à¥¤¥«¥¨ï ä ªâ¨ç¥áª®© á⮨¬®áâ¨. à®æ¥¤ãàë Fib-Heap-Decrease-Key, Cut ¨ Cascading-Cut ¥ ᮤ¥à¦ â 横«®¢, â ª çâ® ¢à¥¬ï à ¡®âë ¯à®¯®à樮 «ì® ¤«¨¥ 楯®çª¨ ४ãàᨢëå ¢ë§®¢®¢ (ª®â®àãî ¬ë ®¡®§ 稬 ç¥à¥§ c). ª ¯à¨ í⮬ ¬¥ï¥âáï ¯®â¥æ¨ «? ¥¯®çª ४ãàᨢëå ¢ë§®¢®¢ ᮮ⢥âáâ¢ã¥â 楯®çª¥ ¯®¬¥ç¥ëå ¢¥àè¨ ¢ ¤¥à¥¢¥, ª ¦¤ ï ¨§ ª®â®àëå ï¥âáï ॡñª®¬ á«¥¤ãî饩. ⨠¢¥àè¨ë ¯¥à¥¬¥é îâáï ¢ ª®à¥¢®© ᯨ᮪ ¨ áâ ®¢ïâáï ¥¯®¬¥ç¥ë¬¨. ª¨¬ ®¡à §®¬, ¯®â¥æ¨ « 㢥«¨ç¨¢ ¥âáï ¯à¨¬¥à® c § áçñâ 㢥«¨ç¥¨ï ç¨á« ¢¥àè¨ ¢ ª®à¥¢®¬ ᯨ᪥, ® ¨ 㬥ìè ¥âáï ¯à¨¬¥à® 2c § áçñâ ⮣®, ç⮠㬥ìè ¥âáï ç¨á«® ¯®¬¥ç¥ëå ¢¥àè¨. (à ¢¤ , ¬®¦¥â ¯®ï¢¨âìáï ®¢ ï ¯®¬¥ç¥ ï ¢¥àè¨ , ® íâ ¯®¯à ¢ª ¨¬¥¥â ¯®à冷ª O(1).) ¨â®£¥ ¯®â¥æ¨ « 㬥ìè ¥âáï c + O(1). (¥¯¥àì ïá®, ¯®ç¥¬ã ¯à¨ ®¯à¥¤¥«¥¨¨ ¯®â¥æ¨ « ç¨á«® ¯®¬¥ç¥ëå ¢¥àè¨ ãç¨âë¢ «®áì á® ¢¤¢®¥ ¡®«ì訬 ¢¥á®¬, 祬 ç¨á«® ¢¥àè¨ ¢ ª®à¥¢®¬ ᯨ᪥!) ¬®¦ ï ¯®â¥æ¨ « ¤®áâ â®çãî ª®áâ âã (¢ë¡¨à ï ¡®«ìèãî " ¥¤¨¨æã à ¡®âë"), ¬®¦® áç¨â âì, ç⮠㬥ì襨¥ ¯®â¥æ¨ « ª®¬¯¥á¨àã¥â ä ªâ¨ç¥áªãî á⮨¬®áâì 楯®çª¨ ४ãàᨢëå ¢ë§®¢®¢, â ª çâ® ãçñâ ï á⮨¬®áâì ®¯¥à 樨 Fib-HeapDecrease-Key ¥áâì O(1). 428 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ ¨á㮪 21.4 ¢ ¢ë§®¢ ¯à®æ¥¤ãàë Fib-Heap-Decrease-Key. ( ) á室 ï 䨡® ç稥¢ ªãç . (¡) «îç 46 㬥ìè ¥âáï ¤® 15, ᮮ⢥âáâ¢ãîé ï ¢¥àè¨ áâ ®¢¨âáï ª®à¥¢®©, ¥ñ த¨â¥«ì (á ª«î箬 24) | ®â¬¥ç¥ë¬. (¢){(¤) «îç 35 㬥ìè ¥âáï ¤® 5; ¢¥àè¨ áâ « ª®à¥¢®© (¢). ñ த¨â¥«ì (á ª«î箬 26) ¡ë« ®â¬¥ç¥, â ª çâ® ¥£® ¯à¨å®¤¨âáï â ª¦¥ ¯¥à¥¥á⨠¢ ª®à¥¢®© ᯨ᮪ (£); § ⥬ â® ¦¥ á ¬®¥ ¯à®¨á室¨â ¨ á ª«î箬 24. í⮬ ª ᪠¤ ¢ë१ ¨© § ª 稢 ¥âáï, â ª ª ª ¢¥àè¨ á ª«î箬 7 | ª®à¥¢ ï. ( ᫨ ¡ë ® ¥ ¡ë« ª®à¥¢®©, â® ® áâ « ¡ë ®â¬¥ç¥®©, ¨ ª ᪠¤ ¢áñ à ¢® § ª®ç¨«áï ¡ë.) ®á«¥ í⮣® ®áâ ñâáï ¯¥à¥¥á⨠㪠§ ⥫ì min[H ] ®¢ãî ¬¨¨¬ «ìãî ¢¥àè¨ã (¤). ¤ «¥¨¥ ¢¥àè¨ë â ®¯¥à æ¨ï ᢮¤¨âáï ª ¤¢ã¬ à áᬮâà¥ë¬ à ¥¥ (¬ë áç¨â ¥¬, çâ® ª«îç ;1 ¬¥ìè¥ ¢á¥å ª«î祩 ªãç¨). Fib-Heap-Delete (H; x) 1 Fib-Heap-Decrease-Key (H; x; ;1) 2 Fib-Heap-Extract-Min(H ) «®£¨çë¬ ®¡à §®¬ ¬ë ¯®áâ㯠«¨ ¨ á ¡¨®¬¨ «ì묨 ¤¥à¥¢ìﬨ. ç « ¢¥àè¨ x ¤¥« ¥âáï ¬¨¨¬ «ì®©, § ⥬ 㤠«ï¥âáï. çñâ ï á⮨¬®áâì â ª¨å ¤¥©á⢨© à ¢ á㬬¥ ãçñ⮩ á⮨¬®á⨠®¯¥à 樨 Fib-Heap-Decrease-Key (ª®â®à ï ¥áâì O(1)) ¨ ®¯¥à 樨 Fib-Heap-Extract-Min (ª®â®à ï ¥áâì O(D(n))). 楪 ¬ ªá¨¬ «ì®© á⥯¥¨ 429 ¯à ¦¥¨ï 21.3-1 ª¨¬ ®¡à §®¬ ¬®¦¥â ¯®ï¢¨âìáï ¯®¬¥ç¥ ï ¢¥àè¨ ¢ ª®à¥¢®¬ ᯨ᪥? 21.3-2 ®ª ¦¨â¥ ®æ¥ªã O(1) ¤«ï ãçñ⮩ á⮨¬®á⨠®¯¥à 樨 Fib-Heap-Decrease-Key, ¨á¯®«ì§ãï ¬¥â®¤ £à㯯¨à®¢ª¨ (à §¤¥« 18.1). 21.4 楪 ¬ ªá¨¬ «ì®© á⥯¥¨ «ï ¯®«ãç¥¨ï ®¡¥é ëå ®æ¥®ª O(lg n) ¤«ï ãçñ⮩ á⮨¬®á⨠®¯¥à 権 Fib-Heap-Extract-Min ¨ Fib-Heap-Delete ®áâ «®áì ¯®ª § âì, çâ® ¬ ªá¨¬ «ì ï á⥯¥ì D(n), ª®â®àãî ¬®¦¥â ¨¬¥âì ª ª ï-«¨¡® ¢¥àè¨ ¢ 䨡® ç稥¢®© ªãç¥ á n ¢¥àè¨ ¬¨, ¥ ¯à¥¢®á室¨â O(lg n). ª ¯®ª §ë¢ ¥â ã¯à ¦¥¨¥ 21.2-3, ¥á«¨ ¢á¥ ¤¥à¥¢ìï ¢ 䨡® ç稥¢®© ªãç¥ ï¢«ïîâáï ¥ã¯®à冷ç¥ë¬¨ ¡¨®¬¨ «ì묨 ¤¥à¥¢ìﬨ, â® D(n) = blg nc. ® ®¯¥à 樨 ¢ë१ ¨ï, ª®â®àë¥ ¯à®¨á室ïâ ¢® ¢à¥¬ï ¨á¯®«¥¨ï ¯à®æ¥¤ãàë Fib-Heap-Decrease-Key, ¯à¨¢®¤ïâ ª ⮬ã, çâ® ¤¥à¥¢ìï ¢ 䨡® ç稥¢®© ªãç¥ ¡®«¥¥ ¥ ïîâáï ¡¨®¬¨ «ì묨. ë ¯®ª ¦¥¬, ç⮠⥬ ¥ ¬¥¥¥ ¯à¨ ¢ë¯®«¥¨¨ ®¯¨á ëå ®¯¥à 権 ®áâ ñâáï ¢ ᨫ¥ ®æ¥ª D(n) =pO(lg2 n). ®ç¥¥, ¬ë ãáâ ®¢¨¬, çâ® D(n) 6 blog' nc, £¤¥ ' = (1 + 5)=2. «ï ª ¦¤®© ¢¥àè¨ë 䨡® ç稥¢®© ªãç¨ ç¥à¥§ size(x) ®¡®§ 稬 ç¨á«® ¢¥àè¨ ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ x, áç¨â ï á ¬ã ¢¥àè¨ã x. (¥àè¨ x ¥ ®¡ï§ ¡ëâì ª®à¥¢®© ¢¥à訮© ªãç¨.) ë ¯®ª ¦¥¬, çâ® ¢¥«¨ç¨ size(x) íªá¯®¥æ¨ «ì® § ¢¨á¨â ®â degree[x]. ( ¯®¬¨¬, çâ® ¯®«¥ degree[x] ¯®¤¤¥à¦¨¢ ¥âáï à ¢ë¬ á⥯¥¨ ¢¥àè¨ë x.) ¥¬¬ 21.1. ãáâì x | ¯à®¨§¢®«ì ï ¢¥àè¨ ä¨¡® ç稥¢®© ªãç¨, ¨ ¯ãáâì degree[x] = k. ®£¤ á⥯¥¨ k ¤¥â¥© ¢¥àè¨ë x ¥ ¬¥ìè¥ 0; 0; 1; 2; 3; : : :; k ; 2, ¥á«¨ ¨å à ᯮ«®¦¨âì ¢ ¤«¥¦ 饬 ¯®à浪¥. ®ª § ⥫ìá⢮. «ï ¢¥àè¨, ¥ ¢å®¤ïé¨å ¢ ª®à¥¢®© ᯨ᮪, ®¯à¥¤¥«¨¬ " ¬®¤¨ä¨æ¨à®¢ ãî á⥯¥ì", ª®â®à ï ¥¤¨¨æã ¡®«ìè¥ à¥ «ì®© á⥯¥¨ ¤«ï ¯®¬¥ç¥ëå (¨ ᮢ¯ ¤ ¥â á ¥© ¤«ï ¥¯®¬¥ç¥ëå). ¬ëá« í⮣® â ª®©: ¯®áª®«ìªã ¯à¨ 㤠«¥¨¨ ॡñª ã ¢¥àè¨ë ¤¥« ¥âáï ¯®¬¥âª , â® ¥ñ ¬®¤¨ä¨æ¨à®¢ ï á⥯¥ì ¥ ¬¥ï¥âáï, ¤®¡ ¢«¥¨¥ ¤¥â¥© ¢®§¬®¦® ⮫쪮 ¤«ï ¢¥àè¨ ¢ ª®à¥¢®¬ ᯨ᪥. ª¨¬ ®¡à §®¬, ¬®¤¨ä¨æ¨à®¢ ï á⥯¥ì ¥áâì á⥯¥ì ¬®¬¥â (¯®á«¥¤¥£®) ¢ë¡ëâ¨ï ¢¥àè¨ë ¨§ ª®à¥¢®£® ᯨ᪠. ®áª®«ìªã ¬®¤¨ä¨æ¨à®¢ ï á⥯¥ì ®â«¨ç ¥âáï ®â ॠ«ì®© 430 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ ¥ ¡®«¥¥ 祬 1, ¤®áâ â®ç® ¤®ª § âì, çâ® ã ¢¥àè¨ë (ॠ«ì®©) á⥯¥¨ k ¤¥â¨ ¨¬¥îâ ¬®¤¨ä¨æ¨à®¢ ãî á⥯¥ì ¥ ¬¥¥¥ 0; 1; 2; : : :; k ; 1. á®, çâ® í⮠᢮©á⢮ á®åà ï¥âáï ¯à¨ ã¤ «¥¨¨ ®¤®£® ¨§ ¤¥â¥©. ஬¥ ⮣®, ®® á®åà ï¥âáï ¯à¨ ¤®¡ ¢«¥¨¨ ª ¢¥à訥 á⥯¥¨ k ¤à㣮© ¢¥àè¨ë á⥯¥¨ k (¯à¨ ¯®¤ç¨¥¨¨ ®¤®© ¢¥àè¨ë ª®à¥¢®£® ᯨ᪠¤à㣮© ¯¥à¢ ï ¤¥« ¥âáï ¥¯®¬¥ç¥®©, â ª çâ® ¥ñ ॠ«ì ï á⥯¥ì à ¢ ¬®¤¨ä¨æ¨à®¢ ®©). ¥¯¥àì ®æ¥¨¬ ç¨á«® ¯®â®¬ª®¢ ¤«ï ¢¥àè¨ë á⥯¥¨ k, ¨á¯®«ì§ãï ç¨á« ¨¡® çç¨. ¯®¬¨¬, çâ® k-¥ ç¨á«® ¨¡® çç¨ Fk ®¯à¥¤¥«ï¥âáï â ª: 8 > < 0 ¥á«¨ k = 0, Fk = > 1 ¥á«¨ k = 1, : Fk;1 + Fk;2 ¥á«¨ k > 2. ¥¬¬ 21.2. Fk+2 = 1 + k X i=0 Fi ¤«ï «î¡®£® k > 0. ®ª § ⥫ìá⢮. ਠk = 0 íâ® ¢¥à®: 1 + P0i=0 Fi = 1 + F0 = 1 + 0 = 1 = F2 . ;1 F i . áá㦤 ï ¯® ¨¤ãªæ¨¨, ¯à¥¤¯®« £ ¥¬, çâ® Fk+1 = 1 + Pki=0 ®£¤ Fk+2 = Fk + Fk+1 = Fk + 1 + kX ;1 i=0 ! Fi = 1 + k X i=0 Fi : ¥¯¥àì ¬ë 㦥 ¬®¦¥¬ ®æ¥¨âì ç¨á«® ¢¥àè¨ ¢ ¯®¤¤¥à¥¢¥, ¥á«¨ ¨§¢¥áâ á⥯¥ì ¥£® ª®àï. ¯®¬¨¬, çâ® Fk+2 > 'k , £¤¥ ' = (1 + p 5)=2 = 1:61803 : : : | "§®«®â®¥ á¥ç¥¨¥" (2.14). (â® ¥à ¢¥á⢮ ¤®ª § ® ¢ ã¯à. 2.2-8.) ¥¬¬ 21.3. ãáâì x | ¢¥àè¨ ä¨¡® ç稥¢®© ªãç¨, ¨¬¥îé ï á⥯¥ì p k ¨«¨ ¡®«ìè¥. ®£¤ size(x) > Fk+2 > 'k , £¤¥ ' = (1 + 5)=2. ®ª § ⥫ìá⢮. ® «¥¬¬¥ 21.1 ¢¥àè¨ x ¨¬¥¥â á।¨ ᢮¨å ¤¥â¥© ¢¥àè¨ë á⥯¥¨ ¥ ¬¥¥¥ 0; 0; 1; 2; 3; : : :; k ;2. áá㦤 ï ¯® ¨¤ãªæ¨¨, ¬ë ¬®¦¥¬ áç¨â âì, çâ® ¤«ï ¤¥â¥© ¤®ª §ë¢ ¥¬®¥ ã⢥ত¥¨¥ ¢¥à®. (ਠk = 0 ç¨á«® Fk+2 à ¢® 1 ¨ ®æ¥ª ®ç¥¢¨¤ .) ª« ¤ë¢ ï ç¨á«® ¢¥àè¨ ¢ ¯®¤¤¥à¥¢ìïå ¨ ¯à¨¡ ¢«ïï á ¬ã ¢¥àè¨ã x, ¤ ç¨ ª £« ¢¥ 21 431 ¯®«ãç ¥¬, çâ® size(x) > (F2 + F2 + F3 + F4 + : : : + Fk ) + 1 = = (F0 + F1 + F2 + : : : + Fk ) + 1 = Fk+2 (¬ë ¨á¯®«ì§ã¥¬ à ¢¥á⢮ F0 + F1 = F2 ¨ «¥¬¬ã 21.2). «¥¤á⢨¥ 21.4. ªá¨¬ «ì ï á⥯¥ì D(n) ª ª®©-«¨¡® ¢¥àè¨ë ¢ 䨡® ç稥¢®© ªãç¥ á n ¢¥àè¨ ¬¨ ¥áâì O(lg n). ®ª § ⥫ìá⢮. ãáâì x | ¯à®¨§¢®«ì ï ¢¥àè¨ â ª®© ªãç¨ ¨ ¯ãáâì k = degree[x]. ® «¥¬¬¥ 21.3 ¨¬¥¥¬ n > size(x) > 'k , ®áâ ñâáï ¢§ïâì «®£ à¨ä¬ ¯® ®á®¢ ¨î '. ¯à ¦¥¨ï à®ä¥áá®à ã⢥ত ¥â, çâ® ¢ëá®â 䨡® ç稥¢®© ªãç¨ ¨§ n í«¥¬¥â®¢ ¥ ¯à¥¢ëè ¥â O(lg n). ®ª ¦¨â¥, çâ® ® ®è¨¡ ¥âáï ¨ çâ® áãé¥áâ¢ã¥â ¯®á«¥¤®¢ ⥫ì®áâì ®¯¥à 権 à áᬮâà¥ëå ¬¨ ⨯®¢, ª®â®à ï ¯à¨¢®¤¨â ª ªãç¥, á®áâ®ï饩 ஢® ¨§ ®¤®£® ¤¥à¥¢ , ïî饣®áï «¨¥©®© 楯ìî ¨§ n ¢¥àè¨. 21.4-2 §¬¥¨¬ ¯à ¢¨« ¨ ¡ã¤¥¬ áç¨â âì, çâ® ¢¥àè¨ ¯¥à¥¬¥é ¥âáï ¢ ª®à¥¢®© ᯨ᮪, ª®£¤ ® ¯®â¥àï« k ᢮¨å ¯®â®¬ª®¢, £¤¥ k | ¥ª®â®à ï ª®áâ â (¤® á¨å ¯®à ¬ë áç¨â «¨, çâ® k = 2). ਠª ª¨å § 票ïå k ¬®¦® ã⢥ত âì, çâ® D(n) = O(lg n)? 21.4-1 ¤ ç¨ 21-1 à㣮© ᯮᮡ 㤠«¥¨ï í«¥¬¥â à®ä¥áá®à ¯à¥¤«®¦¨« á«¥¤ãî騩 ¢ ਠ⠯à®æ¥¤ãàë Fib-HeapDelete, ã⢥ত ï, çâ® ®¢ ï ¯à®æ¥¤ãà à ¡®â ¥â ¡ëáâ॥ ¢ ⮬ á«ãç ¥, ª®£¤ 㤠«ï¥¬ ï ¢¥àè¨ | ¥ ¬¨¨¬ «ì ï. New-Delete (H; x) 1 if x = min[H ] 2 then Fib-Heap-Extract-Min(H ) 3 else y p[x] 4 if y = 6 nil 5 then Cut(H; x; y ) 6 Cascading-Cut(H; y ) 7 ¤®¡ ¢¨âì ¤¥â¥© ¢¥àè¨ë x ¢ ª®à¥¢®© ᯨ᮪ ªãç¨ H 8 㤠«¨âì x ¨§ ª®à¥¢®£® ᯨ᪠ªãç¨ H 432 « ¢ 21 ¨¡® ç稥¢ë ªãç¨ a. à®ä¥áá®à £®¢®à¨â, çâ® ¤ ï ¯à®æ¥¤ãà à ¡®â ¥â ¡ëáâà®, ¯®áª®«ìªã ä ªâ¨ç¥áª®¥ ¢à¥¬ï ¨á¯®«¥¨ï áâப¨ 7 ¥áâì O(1). ª®¥ ®¡áâ®ï⥫ìá⢮ ® ã¯ã᪠¥â ¨§ ¢¨¤ã? ¡. 楨⥠ᢥàåã ¢à¥¬ï ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë New-Delete ¤«ï á«ãç ï x 6= min[H ] ¢ â¥à¬¨ å degree[x] ¨ ç¨á« c ¢ë§®¢®¢ ¯à®æ¥¤ãàë Cascading-Cut. ¢. ãáâì H 0 | 䨡® ç稥¢ ªãç , ¯®«ãç îé ïáï ¢ १ã«ìâ ⥠¢ë¯®«¥¨ï ¯à®æ¥¤ãàë New-Delete(H; x). ।¯®« £ ï, çâ® ¢¥àè¨ x ¥ ï¥âáï ª®à¥¬, ®æ¥¨â¥ ¯®â¥æ¨ « ªãç¨ H 0 ¢ â¥à¬¨ å ¢¥«¨ç¨ degree[x], c, t[H ] (ç¨á«® ¤¥à¥¢ì¥¢ ¢ ª®à¥¢®¬ ᯨ᪥) ¨ m[H ] (ç¨á«® ®â¬¥ç¥ëå ¢¥àè¨). £. ®«ãç¨â¥ ®æ¥ªã ¤«ï ãçñ⮩ á⮨¬®á⨠¢ë¯®«¥¨ï NewDelete ¤«ï á«ãç ï x 6= min[H ]. 㤥⠫¨ ® «ãçè¥ ¯à¥¦¥©? 21-2 ®¯®«¨â¥«ìë¥ ®¯¥à 樨 ¤ 䨡® ç稥¢ë¬¨ ªãç ¬¨ ë å®â¨¬ ॠ«¨§®¢ âì ¥éñ ¤¢¥ ®¯¥à 樨, ¥ ¬¥ïï ãçñ⮩ á⮨¬®áâ¨ à ¥¥ à áᬮâà¥ëå ®¯¥à 権. . ਤ㬠©â¥ íä䥪⨢ãî ॠ«¨§ æ¨î ®¯¥à 樨 Fib-HeapChange-Key(H; x; k) ª®â®à ï ¯à¨á¢ ¨¢ ¥â ª«îçã ¢¥àè¨ë x ®¢®¥ § 票¥ k. 楨⥠ãçñâãî á⮨¬®áâì í⮩ ®¯¥à 樨 (¯à¨ ¢ 襩 ॠ«¨§ 樨) ¤«ï á«ãç ¥¢ k < key[x], k = key[x], k > key[x]. ¡. ਤ㬠©â¥ íä䥪⨢ãî ॠ«¨§ æ¨î ®¯¥à 樨 Fib-HeapPrune(H; r) ª®â®à ï 㤠«ï¥â min(r; n[H ]) ¢¥àè¨ ¨§ H (¢áñ à ¢® ª ª¨å). 楨⥠ãçñâãî á⮨¬®áâì í⮩ ®¯¥à 樨 (¤«ï ¢ 襩 ॠ«¨§ 樨). (ª § ¨¥: ¬®¦¥â ¯®âॡ®¢ âìáï ¨§¬¥¥¨¥ áâàãªâãàë ¤ ëå ¨ ¯®â¥æ¨ «ì®© äãªæ¨¨.) ¬¥ç ¨ï ¨¡® ç稥¢ë ªãç¨ ¢¢¥«¨ ।¬ ¨ àìï [75]. ¨å áâ âì¥ ®¯¨á ë â ª¦¥ ¯à¨«®¦¥¨ï 䨡® ç稥¢ëå ªãç ª § ¤ ç ¬ ® ªà âç ©è¨å ¯ãâïå ¨§ ®¤®© ¢¥àè¨ë, ® ªà âç ©è¨å ¯ãâïå ¤«ï ¢á¥å ¯ à ¢¥àè¨, ® ¯ à®á®ç¥â ¨ïå á ¢¥á ¬¨ ¨ ® ¬¨¨¬ «ì®¬ ¯®ªàë¢ î饬 ¤¥à¥¢¥. ¯®á«¥¤á⢨¨ à¨áª®««, à ª, «¥ â®à ¨ àìï à §à ¡®â «¨ áâàãªâãàã ¤ ëå, §ë¢ ¥¬ãî "relaxed heaps", ª ª § ¬¥ã ¤«ï 䨡® ç稥¢ëå ªãç. áâì ¤¢¥ à §®¢¨¤®á⨠⠪®© áâàãªâãàë ¤ ëå. ¤ ¨§ ¨å ¤ ñâ ⥠¦¥ ®æ¥ª¨ ãçñ⮩ á⮨¬®áâ¨, çâ® ¨ 䨡® ç稥¢ë ªãç¨. àã£ ï ¯®§¢®«ï¥â ¢ë¯®«ïâì ®¯¥à æ¨î DecreaseKey § ¢à¥¬ï O(1) ¢ åã¤è¥¬ á«ãç ¥ (¥ ãçñ⮥), ®¯¥à 樨 Extract-Min ¨ Delete | § ¢à¥¬ï O(lg n) ¢ åã¤è¥¬ á«ãç ¥. â áâàãªâãà ¤ ëå ¨¬¥¥â â ª¦¥ ¥ª®â®àë¥ ¯à¥¨¬ãé¥á⢠(¯® áà ¢- ¬¥ç ¨ï ª £« ¢¥ 21 433 ¥¨î á 䨡® ç稥¢ë¬¨ ªãç ¬¨) ¯à¨ ¨á¯®«ì§®¢ ¨¨ ¢ ¯ à ««¥«ìëå «£®à¨â¬ å. 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¥ª®â®àëå ¯à¨«®¦¥¨ïå ¯®«¥§ á«¥¤ãîé ï áâàãªâãà ¤ ëå: n í«¥¬¥â®¢ à §¡¨âë ¢ ®¡ê¥¤¨¥¨¥ ¥¯ãáâëå ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢, ¯à¨ç¥¬ ¯®¤¤¥à¦¨¢ îâáï ®¯¥à 樨 " ®¡ê¥¤¨¥¨¥" (¤¢ ¤ ëå ¬®¦¥á⢠§ ¬¥ïîâáï ¨å ®¡ê¥¤¨¥¨¥) ¨ " ©â¨ ¬®¦¥á⢮" (¯® ¤ ®¬ã í«¥¬¥âã ¢ëïá¨âì, ¢ ª ª®¬ ¨§ ¬®¦¥á⢠® «¥¦¨â). í⮩ £« ¢¥ à á᪠§ ®, ª ª ¬®¦® ॠ«¨§®¢ âì â ªãî áâàãªâãàã ¤ ëå. à §¤¥«¥ 22.1 ¬ë ¤ ñ¬ â®ç®¥ ®¯à¥¤¥«¥¨¥ ¨â¥à¥áãî饩 á áâàãªâãàë ¤ ëå ¨ ¯à¨¢®¤¨¬ ¯à®á⮩ ¯à¨¬¥à ¥¥ ¯à¨¬¥¥¨ï. à §¤¥«¥ 22.2 ®¡á㦤 ¥âáï ¯à®á⥩è ï ॠ«¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢. §¤¥« 22.3 ¯®á¢ïéñ ¡®«¥¥ íä䥪⨢®© ॠ«¨§ 樨 á ¯®¬®éìî «¥á . «ï ¥ñ ¢à¥¬ï ¢ë¯®«¥¨ï m ®¯¥à 権 ¥¬®£® ¯à¥¢®á室¨â O(m) | á⮫쪮 ¥¬®£®, çâ® ¤«ï ¢á¥å ¯à ªâ¨ç¥áª¨å 楫¥© ¬®¦® áç¨â âì, çâ® ¢à¥¬ï ¢ë¯®«¥¨ï m ®¯¥à 権 ¥áâì O(m). ®«¥¥ â®ç®, ¢à¥¬ï ¢ë¯®«¥¨ï m ®¯¥à 権 ¥ ¯à¥¢®á室¨â C (m)m, £¤¥ C (m) à áâñâ á à®á⮬ m, ® ®ç¥ì ¬¥¤«¥®: ª®íää¨æ¨¥â C (m) ¬®¦® ®æ¥¨âì ᢥàåã á ¯®¬®éìî â ª §ë¢ ¥¬®© "®¡à ⮩ äãªæ¨¨ ªª¥à¬ ". ¯à¥¤¥«¥¨¥ ®¡à ⮩ äãªæ¨¨ ªª¥à¬ ¤ ñâáï ¢ à §¤¥«¥ 22.4. ¬ ¦¥ ¤®ª §ë¢ ¥âáï ¡®«¥¥ á« ¡ ï (¨ ¡®«¥¥ ¯à®áâ® ¤®ª §ë¢ ¥¬ ï) ¢¥àåïï ®æ¥ª ¢à¥¬¥¨ à ¡®âë. 22.1 ¯¥à 樨 á ¥¯¥à¥á¥ª î騬¨áï ¬®¦¥á⢠¬¨ ¨á⥬ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠(disjoint-set data structure) ¥áâì ¡®à ¥¯¥à¥á¥ª îé¨åáï ¥¯ãáâëå ¬®¦¥áâ¢, ¢ ª ¦¤®¬ ¨§ ª®â®àëå § 䨪á¨à®¢ ®¤¨ ¨§ í«¥¬¥â®¢ | ¯à¥¤áâ ¢¨â¥«ì (representative). ਠí⮬ ¤®«¦ë ¯®¤¤¥à¦¨¢ âìáï á«¥¤ãî騥 ®¯¥à 樨: Make-Set(x) ("ᮧ¤ âì ¬®¦¥á⢮"). ®§¤ ñâ ®¢®¥ ¬®¦¥á⢮, ¥¤¨áâ¢¥ë¬ í«¥¬¥â®¬ (¨ ⥬ á ¬ë¬ ¯à¥¤áâ ¢¨â¥«¥¬) ª®â®à®£® ï¥âáï x. ®áª®«ìªã ¬®¦¥á⢠¥ ¤®«¦ë ¯¥à¥á¥ª âìáï, âॡã¥âáï, ç⮡ë í«¥¬¥â x ¥ «¥¦ « ¨ ¢ ®¤®¬ ¨§ 㦥 ¨¬¥îé¨åáï ¬®¦¥áâ¢. ¯¥à 樨 á ¥¯¥à¥á¥ª î騬¨áï ¬®¦¥á⢠¬¨ 435 Find-Set(x) (" ©â¨ ¬®¦¥á⢮"). ®§¢à é ¥â 㪠§ â¥«ì ¯à¥¤áâ ¢¨â¥«ì (¥¤¨á⢥®£®) ¬®¦¥á⢠, ᮤ¥à¦ 饣® í«¥¬¥â x. Union(x; y ) ("®¡ê¥¤¨¥¨¥"). ਬ¥¨¬ , ¥á«¨ í«¥¬¥âë x ¨ y ᮤ¥à¦ âáï ¢ à §«¨çëå ¬®¦¥á⢠å Sx ¨ Sy , ¨ § ¬¥ï¥â í⨠¬®¦¥á⢠®¡ê¥¤¨¥¨¥ Sx [ Sy ; ¯à¨ í⮬ ¢ë¡¨à ¥âáï ¥ª®â®àë© ¯à¥¤áâ ¢¨â¥«ì ¤«ï Sx [ Sy . ¬¨ ¬®¦¥á⢠Sx ¨ Sy ¯à¨ í⮬ 㤠«ïîâáï. ¥ª®â®àëå ¯à¨«®¦¥¨ïå ¢ë¡®à ¯à¥¤áâ ¢¨â¥«ï ¢ ¬®¦¥á⢥ ¤®«¦¥ ¯®¤ç¨ïâìáï ª ª¨¬-â® ¯à ¢¨« ¬ ( ¯à¨¬¥à, í«¥¬¥âë ¬®£ãâ ¡ëâì 㯮à冷ç¥ë ¨ ¯à¥¤áâ ¢¨â¥«¥¬ ï¥âáï ¨¬¥ì訩 í«¥¬¥â ¬®¦¥á⢠). «î¡®¬ á«ãç ¥ áãé¥á⢥®, çâ® ¯à¥¤áâ ¢¨â¥«ì ¬®¦¥á⢠¥ ¬¥ï¥âáï, ¯®ª á ¬® ¬®¦¥á⢮ ®áâ ¥âáï ¥¨§¬¥ë¬. í⮩ £« ¢¥ ¬ë ®æ¥¨¬ ¢à¥¬ï à ¡®âë ®¯¥à 権 ¤ á¨á⥬ ¬¨ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢. à ¬¥âà ¬¨ ¡ã¤ãâ ç¨á«® ®¯¥à 権 Make-Set (â® ¥áâì ®¡é¥¥ ç¨á«® í«¥¬¥â®¢ ¢® ¢á¥å ¬®¦¥á⢠å), ª®â®à®¥ ¬ë ®¡®§ 稬 ç¥à¥§ n, â ª¦¥ á㬬 ஥ ç¨á«® ®¯¥à 権 Union, Make-Set ¨ Find-Set, ª®â®à®¥ ¬ë ®¡®§ 稬 ç¥à¥§ m. ०¤¥ ¢á¥£® § ¬¥â¨¬, çâ® (¯® ®¯à¥¤¥«¥¨î) m > n, â ª¦¥ çâ® ç¨á«® ®¯¥à 権 Union ¥ ¯à¥¢®á室¨â n ; 1 (¯®á«¥ ª ¦¤®© ¨§ ¨å ª®«¨ç¥á⢮ ¬®¦¥á⢠㬥ìè ¥âáï ¥¤¨¨æã). ਬ¥à ¨á¯®«ì§®¢ ¨ï á¨á⥬ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠ਬ¥¨¬ á¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠ª § ¤ ç¥ ® á¢ï§ëå ª®¬¯®¥â å ¥®à¨¥â¨à®¢ ®£® £à ä (á¬. à §¤¥« 5.4; ¯à¨¬¥à £à ä á ç¥âëàì¬ï á¢ï§ë¬¨ ª®¬¯®¥â ¬¨ ¤ à¨á. 22.1 ). «£®à¨â¬ Connected-Components (á¢ï§ë¥ ª®¬¯®¥âë), ¯à¨¢¥¤ñë© ¨¦¥, à §¡¨¢ ¥â ¬®¦¥á⢮ ¢¥àè¨ £à ä ¥¯¥à¥á¥ª î騥áï ¬®¦¥á⢠, ᮮ⢥âáâ¢ãî騥 á¢ï§ë¬ ª®¬¯®¥â ¬; ¯®á«¥ í⮣® ¬®¦® á ¯®¬®éìî ¯à®æ¥¤ãàë Same-Component ¢ëïá¨âì, «¥¦ â «¨ ¤¢¥ ¤ ë¥ ¢¥àè¨ë ¢ ®¤®© ª®¬¯®¥â¥. ᫨ £à ä § ¤ § à ¥¥ ("०¨¬ o-line"), ¡ëáâ॥ ©â¨ ¥£® á¢ï§ë¥ ª®¬¯®¥âë á ¯®¬®éìî ¯®¨áª ¢ £«ã¡¨ã (ã¯à ¦¥¨¥ 23.3-9); ®¤ ª® ¥á«¨ £à ä áâநâáï ¯®á⥯¥® ¨ ¢ «î¡®© ¬®¬¥â ¤® 㬥âì ®â¢¥ç âì ¢®¯à®á, ª ª®¢ë ¥£® á¢ï§ë¥ ª®¬¯®¥âë ("०¨¬ on-line"), â® ¬®¦¥â ®ª § âìáï ¢ë£®¤¥¥ ¯à¨¬¥¨âì è «£®à¨â¬, ¥ ¯à®¢®¤¨âì § ®¢® ¯®¨áª ¢ £«ã¡¨ã ¯®á«¥ ¤®¡ ¢«¥¨ï ª ¦¤®£® ¨§ àñ¡¥à. ¨¦¥ E [G] ¨ V [G] ®¡®§ ç îâ ¬®¦¥á⢠ᮮ⢥âá⢥® àñ¡¥à ¨ ¢¥àè¨ £à ä G. Connected-Components(G) 1 for (¤«ï) ª ¦¤®© ¢¥àè¨ë v\in V[G] 2 do Make-Set(v) 3 for (¤«ï) ª ¦¤®£® ॡà (u,v) \in E[G] 4 do if Find-Set(u)\ne Find-Set(v) 5 then Union(u,v) 436 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¨á. 22.1 (ç áâì (¡) ï ¤ ¦¥ ¡-¬ à¨á®¢ «) ®¡à ¡®â ®¥ ॡ஠¥¯¥à¥á¥ª î騥áï ¬®¦¥á⢠¢ ç «¥ fag fbg fcg fdg feg ff g fgg (b; d) fag fb; dg fcg feg ff g fgg (e; g ) fag fb; dg fcg fe; gg ff g fa; cg fb; dg fe; gg ff g (a; c) (h; i) fa; cg fb; dg fe; gg ff g fa; b; c; dg fe; gg ff g (a; b) (e; f ) fa; b; c; dg fe; f; gg fa; b; c; dg fe; f; gg (b; c) fhg fhg fhg fhg fh; ig fh; ig fh; ig fh; ig fig fig fig fig fj g fj g fj g fj g fj g fj g fj g fj g 22.1 22.1 ) à ä, á®áâ®ï騩 ¨§ ç¥âëà¥å á¢ï§ëå ª®¬¯®¥â: fa; b; c; dg, fe; f; gg, fh; ig ¨ fj g. ¡) ®á«¥¤®¢ ⥫ìë¥ á®áâ®ï¨ï á¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¢ ¯à®æ¥áá¥ à ¡®âë «£®à¨â¬ Connected-Components. ¨á㮪 Same-Component(u,v) 1 if Find-Set(u)=Find-Set(v) 2 then return true 3 else return false «£®à¨â¬ Connected-Components à ¡®â ¥â â ª. ç « ª ¦¤ ï ¢¥àè¨ à áᬠâਢ ¥âáï ª ª ®¤®í«¥¬¥â®¥ ¯®¤¬®¦¥á⢮. «¥¥ ¤«ï ª ¦¤®£® à¥¡à £à ä ¬ë ®¡ê¥¤¨ï¥¬ ¯®¤¬®¦¥á⢠, ¢ ª®â®àë¥ ¯®¯ «¨ ª®æë í⮣® ॡà (à¨á. 22.1¡). ®£¤ ¢á¥ àñ¡à ®¡à ¡®â ë, ¬®¦¥á⢮ ¢¥àè¨ à §¡¨¢ ¥âáï á¢ï§ë¥ ª®¬¯®¥âë (ã¯à. 22.1-2). ¥¯¥àì ¯à®æ¥¤ãà Same-Component ®¯à¥¤¥«ï¥â, «¥¦ â «¨ ¤¢¥ ¤ ë¥ ¢¥àè¨ë ¢ ®¤®© á¢ï§®© ª®¬¯®¥â¥, ¤¢ ¦¤ë ¢ë§¢ ¢ ¯à®æ¥¤ãàã Find-Set. ¯à ¦¥¨ï 22.1-1 «¥¤ãï ®¡à §æã à¨á. 22.1, ®¯¨è¨â¥ ¢ë¯®«¥¨¥ «£®à¨â¬ Connected-Components ¤«ï £à ä G, ã ª®â®à®£® V [G] = fa; b; c; d; e; f; g; h; i; j; kg ¨ E [G] = f (d; i); (f; k); (g; i); (b; g); (a; h); (i; j); (d; k); (b; j); (d; f ); ñ¡à ®¡à ¡ âë¢ îâáï ¢ ⮬ ¯®à浪¥, ¢ ª®â®à®¬ ®¨ ¢ë¯¨á ë. 22.1-2 ®ª ¦¨â¥, çâ® «£®à¨â¬ Connected-Components ¤¥©áâ¢¨â¥«ì® å®¤¨â á¢ï§ë¥ ª®¬¯®¥âë £à ä . 22.1-3 «£®à¨â¬ Connected-Components ¯à¨¬¥¨«¨ ª £à äã á v ¢¥àè¨ ¬¨ ¨ e à¥¡à ¬¨, á®áâ®ï饬㠨§ k á¢ï§ëå ª®¬¯®¥â. ª®«ìª® ¯à¨ í⮬ ¡ë«® ¢ë§®¢®¢ ¯à®æ¥¤ãà Find-Set ¨ Union? ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 437 ¨á. 22.2 ®¤¯¨áì: ) ।áâ ¢«¥¨¥ ¤¢ãå ¬®¦¥áâ¢ á ¯®¬®éìî ᯨ᪮¢. ।áâ ¢¨â¥«¥¬ ¬®¦¥á⢠fb; c; e; hg ï¥âáï í«¥¬¥â c, ¯à¥¤áâ ¢¨â¥«¥¬ fd; f; gg ï¥âáï f . ¦¤ë© ®¡ê¥ªâ ¢ ᯨ᪥ ᮤ¥à¦¨â í«¥¬¥â ¬®¦¥á⢠, 㪠§ ⥫ì á«¥¤ãî騩 í«¥¬¥â ¨ 㪠§ â¥«ì ¯à¥¤áâ ¢¨â¥«ï (â® ¥áâì ç «® ᯨ᪠). ¡) ¥§ã«ìâ ⠢믮«¥¨ï ®¯¥à 樨 Union(e; g). ।áâ ¢¨â¥«ì ®¡ê¥¤¨¥¨ï ¬®¦¥á⢠¥áâì f. 22.2 ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ ¬ë© ¯à®á⮩ ¢ ਠâ ॠ«¨§ 樨 á¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠åà ¨â ª ¦¤®¥ ¬®¦¥á⢮ ¢ ¢¨¤¥ ᯨ᪠. ਠí⮬ ¯à¥¤áâ ¢¨â¥«¥¬ ¬®¦¥á⢠áç¨â ¥âáï ¯¥à¢ë© í«¥¬¥â ᯨ᪠, ¨ ª ¦¤ë© í«¥¬¥â ᯨ᪠ᮤ¥à¦¨â áá뫪¨ á«¥¤ãî騩 í«¥¬¥â ᯨ᪠¨ ¯¥à¢ë© í«¥¬¥â ᯨ᪠(ª®â®àë© áç¨â ¥âáï ¯à¥¤áâ ¢¨â¥«¥¬ ᯨ᪠). «ï ª ¦¤®£® ᯨ᪠¬ë åà ¨¬ 㪠§ ⥫¨ ¥£® ¯¥à¢ë© ¨ ¯®á«¥¤¨© í«¥¬¥âë (¢â®à®© ¨§ ¨å 㦥 ¯à¨ ¤®¡ ¢«¥¨¨ í«¥¬¥â®¢ ¢ ª®¥æ ᯨ᪠). ®à冷ª í«¥¬¥â®¢ ¢ ᯨ᪥ ¬®¦¥â ¡ëâì «î¡ë¬. à¨á. 22.2 (a) ¨§®¡à ¦¥ë ¤¢ ¯à¥¤áâ ¢«¥ëå â ª¨¬ ®¡à §®¬ ¬®¦¥á⢠. ਠ⠪®© ॠ«¨§ 樨 ®¯¥à 樨 Make-Set ¨ Find-Set âॡãî⠢६¥¨ O(1): Make-Set ᮧ¤ ñâ ᯨ᮪ ¨§ ®¤®£® í«¥¬¥â , Find-Set ¢®§¢à é ¥â 㪠§ ⥫ì ç «® ᯨ᪠. à®á⥩è ï ॠ«¨§ æ¨ï ®¡ê¥¤¨¥¨ï ਠ¥áâ¥á⢥®© ॠ«¨§ 樨 ®¯¥à æ¨ï Union ®ª §ë¢ ¥âáï ¤®à®£®áâ®ï饩. 믮«ïï Union(x; y), ¬ë ¤®¡ ¢«ï¥¬ ᯨ᮪, ᮤ¥à¦ 騩 x, ª ª®æã ᯨ᪠, ᮤ¥à¦ 饣® y (à¨á. 22.2 b). ।áâ ¢¨â¥«¥¬ ®¢®£® ¬®¦¥á⢠¯à¨ í⮬ ¡ã¤¥â ç «® ®¢®£® ᯨ᪠, â® ¥áâì ¯à¥¤áâ ¢¨â¥«ì ¬®¦¥á⢠, ᮤ¥à¦ 饣® y. ਠí⮬ 㦮 ¥éñ ãáâ ®¢¨âì ¯à ¢¨«ìë¥ ãª § ⥫¨ ç «® ᯨ᪠¤«ï ¢á¥å ¡ë¢è¨å í«¥¬¥â®¢ ¬®¦¥á⢠, ᮤ¥à¦ 饣® x, ¨ ¢à¥¬ï ¢ë¯®«¥¨¥ í⮩ ®¯¥à 樨 «¨¥©® § ¢¨á¨â ®â à §¬¥à 㪠§ ®£® ¬®¦¥á⢠. ¥£ª® ¯à¨¢¥á⨠¯à¨¬¥à, ¢ ª®â®à®¬ ¢à¥¬ï ¢ë¯®«¥¨ï ª¢ ¤à â¨ç® § ¢¨á¨â ®â ç¨á« ®¯¥à 権 (à¨á. 22.3). ãáâì ¤ ë n í«¥¬¥â®¢ x1; x2; : : :; xn. 믮«¨¬ ®¯¥à 樨 Make-Set(xi) ¤«ï ¢á¥å i = 1; 2; : : :; n, § ⥬ n ; 1 ®¯¥à 権 Union(x1; x2), Union(x2; x3), : : : , Union(xn;1 ; xn). ®áª®«ìªã á⮨¬®áâì ®¯¥à 樨 Union(xi; xi+1) ¯à®¯®à樮 «ì i, á㬬 à ï á⮨¬®áâì ¢ë¯®«¥¨ï 2n ; 1 ®¯¥à - 438 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¯¥à æ¨ï Make-set(x1 ) Make-set(x2 ) ¨á«® § âà®ãâëå ®¡ê¥ªâ®¢ 1 1 .. . 1 1 2 3 .. . .. . Make-set(xn ) Union(x1; x2) Union(x2; x3) Union(x3; x4) .. . n;1 Union(xn;1 ; xn) ¨á㮪 22.2 22.3 à¥¬ï ¢ë¯®«¥¨ï ª¢ ¤à â¨ç® § ¢¨á¨â ®â ç¨á« ®¯¥à 権. 権 ¡ã¤¥â ¯à®¯®à樮 «ì n+ nX ;1 i=1 i = (n2 ): ¥á®¢ ï í¢à¨á⨪ à®á⥩è ï ॠ«¨§ æ¨ï ®¯¥à 樨 Union à ¡®â ¥â ¬¥¤«¥® ¨§§ ⮣®, çâ® ¯à¨ ¤®¡ ¢«¥¨¨ ¤«¨®£® ᯨ᪠ª ª®à®âª®¬ã ¯à¨å®¤¨âáï ¯à¨á¢ ¨¢ âì ®¢ë¥ § ç¥¨ï ¡®«ì讬㠪®«¨ç¥áâ¢ã 㪠§ ⥫¥©. ¥« ¯®©¤ãâ «ãçè¥, ¥á«¨ ¯®áâ㯨âì â ª: åà ¨âì ¢¬¥áâ¥ á ª ¦¤ë¬ ᯨ᪮¬ ¨ä®à¬ æ¨î ® ç¨á«¥ í«¥¬¥â®¢ ¢ ñ¬, ¯à¨ ¢ë¯®«¥¨¨ ®¯¥à 樨 Union ¤®¡ ¢«ïâì ¡®«¥¥ ª®à®âª¨© ᯨ᮪ ¢ ª®¥æ ¡®«¥¥ ¤«¨®£® (¥á«¨ ¤«¨ë à ¢ë, ¯®à冷ª ¬®¦¥â ¡ëâì «î¡ë¬). ª®© ¯à¨ñ¬ §ë¢ ¥âáï ¢¥á®¢®© í¢à¨á⨪®© (weighted-union heuristic). ᫨ ®¡ê¥¤¨ï¥¬ë¥ ¬®¦¥á⢠ᮤ¥à¦ ⠯ਬ¥à® ¯®à®¢ã í«¥¬¥â®¢, â® ¡®«ì讣® ¢ë¨£àëè ¥ ¡ã¤¥â, ® ¢ 楫®¬, ª ª ¯®ª §ë¢ ¥â á«¥¤ãîé ï ⥮६ , ¬ë ¤®¡¨¢ ¥¬áï íª®®¬¨¨. ¥®à¥¬ 22-1 ।¯®«®¦¨¬, çâ® á¨á⥬ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠ॠ«¨§®¢ á ¯®¬®éìî ᯨ᪮¢, ¢ ®¯¥à 樨 Union ¨á¯®«ì§®¢ ¢¥á®¢ ï í¢à¨á⨪ . ®£¤ á⮨¬®áâì ¯®á«¥¤®¢ ⥫ì®á⨠¨§ m ®¯¥à 権 Make-Set, Union ¨ Find-Set, á।¨ ª®â®àëå n ®¯¥à 権 MakeSet, ¥áâì O(m + n lg n) (¯®¤à §ã¬¥¢ ¥âáï, çâ® ¯¥à¢® ç «ì® á¨á⥬ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¡ë« ¯ãáâ ). ®ª § ⥫ìá⢮. ⮨¬®áâì ª ¦¤®© ¨§ ®¯¥à 権 Make-Set ¨ Find-Set, â ª¦¥ á⮨¬®áâì áà ¢¥¨ï à §¬¥à®¢, ᮥ¤¨¥¨ï ᯨ᪮¢ ¨ ®¡®¢«¥¨ï § ¯¨á¨ ® à §¬¥à¥ ¬®¦¥á⢠(¢á¥ í⨠¤¥©áâ¢¨ï ¢ë¯®«ïîâáï ¯à¨ ®¯¥à 樨 Union), ¥áâì O(1), â ª çâ® á㬬 à ï á⮨¬®áâì 㪠§ ëå ¤¥©á⢨© ¥áâì O(m). áâ ñâáï ®æ¥¨âì á⮨¬®áâì ®¡®¢«¥¨ï 㪠§ ⥫¥© ç «® ᯨ᪠. «ï í⮣® ¬ë § 䨪á¨à㥬 ®¤¨ ¨§ í«¥¬¥â®¢ (®¡®§ 稬 ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 439 ¥£® x) ¨ ¯à®á«¥¤¨¬, ᪮«ìª® à § ã ¥£® íâ®â 㪠§ â¥«ì ¬¥ï«áï. ¥á®¢ ï í¢à¨á⨪ £ à â¨àã¥â, çâ® ¯à¥¤áâ ¢¨â¥«ì ¬¥ï¥âáï, «¨èì ¥á«¨ x ¢å®¤¨â ¢ ¬¥ì襥 ¨§ ®¡ê¥¤¨ï¥¬ëå ¬®¦¥áâ¢. í⮬ á«ãç ¥ ç¨á«® í«¥¬¥â®¢ ¢ ¬®¦¥á⢥, ᮤ¥à¦ 饬 x, ¢®§à á⠥⠯® ªà ©¥© ¬¥à¥ ¢¤¢®¥. ®áª®«ìªã ®ª®ç ⥫ìë© à §¬¥à ¬®¦¥á⢠, ᮤ¥à¦ 饣® x, ¥ ¯à¥¢®á室¨â n, ª®«¨ç¥á⢮ â ª¨å 㤢®¥¨© ¥ ¯à¥¢®á室¨â dlg ne. ¡é¥¥ ª®«¨ç¥á⢮ í«¥¬¥â®¢ à ¢® n, â ª çâ® á㬬 à ï á⮨¬®áâì ®¡®¢«¥¨ï 㪠§ ⥫¥© ç «® ᯨ᪠¥áâì O(n lg n), ®¡é¥¥ ç¨á«® ®¯¥à 権 ¥áâì O(m) + O(n lg n). ¯à ¦¥¨ï 22.2-1 ¯¨è¨â¥ ¯à®æ¥¤ãàë Make-Set, Find-Set ¨ Union, ¨á¯®«ì§ãï ॠ«¨§ æ¨î á ¯®¬®éìî ᯨ᪮¢ ¨ ¢¥á®¢ãî í¢à¨á⨪ã. ç¨â ©â¥, çâ® ª ¦¤ë© í«¥¬¥â x ¨¬¥¥â ¯®«ï rep[x] (㪠§ â¥«ì ¯à¥¤áâ ¢¨â¥«ï), â ª¦¥ last[x] (㪠§ â¥«ì ¯®á«¥¤¨© í«¥¬¥â ᯨ᪠) ¨ size[x] (ç¨á«® í«¥¬¥â®¢); ¤¢ ¯®á«¥¤¨å ¯®«ï ¢ ¦ë ⮫쪮 ¤«ï í«¥¬¥â , ïî饣®áï ¯à¥¤áâ ¢¨â¥«¥¬ ¬®¦¥á⢠. 22.2-2 §®¡à §¨â¥ ᯨ᪨, ¯®«ãç î騥áï ¢ १ã«ìâ â¥ à ¡®âë ¯à¨¢¥¤ñ®© ¨¦¥ ¯à®£à ¬¬ë, ¨ ®¡êïá¨â¥, ª ª®© ®â¢¥â ¤ ¤ã⠢맮¢ë Find-Set (¥á«¨ ¨á¯®«ì§ã¥âáï ¯à¥¤áâ ¢«¥¨¥ ¢ ¢¨¤¥ ᯨ᪮¢ ¨ ¢¥á®¢ ï í¢à¨á⨪ ). 1 2 3 4 5 6 7 8 9 10 11 for i \gets 1 to 16 do Make-Set(x_i) for i \gets 1 to 15 by 2 do Union(x_i, x_{i+1}) for i \gets 1 to 13 by 4 do Union(x_i, x_{i+2}) Union(x_1, x_5) Union(x_{11}, x_{13}) Union(x_1, x_{10}) Find-Set(x_2) Find-Set(x_9) 22.2-3 ®ª ¦¨â¥, çâ® ¯à¨ ॠ«¨§ 樨 ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢ á ¯®¬®éìî ᯨ᪮¢ á ¢¥á®¢®© í¢à¨á⨪®© ãç¥âãî á⮨¬®áâì ®¯¥à 権 Make-Set ¨ Find-Set ¬®¦® áç¨â âì à ¢®© O(1), ãçñâãî á⮨¬®áâì Union ¬®¦® áç¨â âì à ¢®© O(lg n). 22.2-4 ª ¦¨â¥ â®çãî ᨬ¯â®â¨ç¥áªãî ®æ¥ªã á⮨¬®á⨠¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 à¨á. 22.3 (¥á«¨ ¨á¯®«ì§ãîâáï ᯨ᪨ ¨ ¢¥á®¢ ï í¢à¨á⨪ ). 22.3 ¥á ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠«ï á¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠áãé¥áâ¢ã¥â ¡®«¥¥ íä䥪⨢ ï ॠ«¨§ æ¨ï (¯® áà ¢¥¨î á à áᬮâà¥ë¬¨). ¬¥®, 440 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¨á. 22.4 ¨á㮪 22.3 ¨á. 22.4. ¥á ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢. ) ¥à¥¢ìï, ¯à¥¤áâ ¢«ïî騥 ¬®¦¥á⢠à¨á. 22.2. ।áâ ¢¨â¥«ï¬¨ ¬®¦¥á⢠ïîâáï í«¥¬¥âë c ¨ f . ¡) ¥§ã«ìâ â ®¯¥à 樨 Union(e; g). ¯à¥¤áâ ¢¨¬ ª ¦¤®¥ ¬®¦¥á⢮ ª®à¥¢ë¬ ¤¥à¥¢®¬, ¢ ª®â®à®¬ ¢¥àè¨ ¬¨ ïîâáï í«¥¬¥âë ¬®¦¥á⢠, ª®à¥ì ï¥âáï ¯à¥¤áâ ¢¨â¥«¥¬. ®«ãç ¥âáï «¥á ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠(disjoint-set forest). ª ¢¨¤® ¨§ à¨á㪠(á¬. à¨á. 22.4 (a)), ª ¦¤ ï ¢¥àè¨ ãª §ë¢ ¥â ᢮¥£® த¨â¥«ï, ª®à¥ì 㪠§ë¢ ¥â á ¬ ᥡï. ਠ¨¢®¬ ¯à®£à ¬¬¨à®¢ ¨¨ ®¯¥à 権 Find-Set ¨ Union â ª ï ॠ«¨§ æ¨ï ¡ã¤¥â ¨çãâì ¥ «ãçè¥ á¯¨á®ç®©; ¥á«¨, ®¤ ª® ¨á¯®«ì§®¢ âì í¢à¨á⨪¨ " ®¡ê¥¤¨¥¨ï ¯® à £ã" ¨ "ᦠâ¨ï ¯ã⥩", â® ¯®«ãç¨âáï á ¬ ï ¡ëáâà ï (¨§ ¨§¢¥áâëå ¢ áâ®ï饥 ¢à¥¬ï) ॠ«¨§ æ¨ï á¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢. ¨¢ë¥ ॠ«¨§ 樨 ®¯¥à 権 ¢ë£«ï¤ïâ â ª: Make-Set ᮧ¤ ¥â ¤¥à¥¢® á ¥¤¨á⢥®© ¢¥à訮©, Find-Set(x) á®á⮨⠢ ⮬, çâ® ¬ë ¨¤¥¬ ®â x ¯® áâ५ª ¬ (㪠§ë¢ î騬 த¨â¥«ï), ¯®ª ¥ ¤®©¤¥¬ ¤® ª®àï (¯ãâì, ª®â®àë© ¬ë ¯à¨ í⮬ ¯à®å®¤¨¬, §ë¢ ¥âáï ¯ãâì ¯®¨áª , ¯®- £«¨©áª¨ nd path), Union á®á⮨⠢ ⮬, çâ® ¬ë § áâ ¢«ï¥¬ ª®à¥ì ®¤®£® ¨§ ¤¥à¥¢ì¥¢ 㪠§ë¢ âì ¥ á ¬®£® ᥡï, ª®à¥ì ¤à㣮£® ¤¥à¥¢ (à¨á. 22.4¡). ¢¥ í¢à¨á⨪¨ ®ª çâ® ¡®«ìè¨å ¯à¥¨¬ãé¥á⢠(¯® áà ¢¥¨î ᮠᯨá®ç®© ॠ«¨§ 樥©) ¥ ¢¨¤®: ¯à¨¬¥à, ¢ १ã«ìâ ⥠n ; 1 ®¯¥à 樨 Union ¬®¦¥â ¯®«ãç¨âìáï ¤¥à¥¢®, ïî饥áï 楯®çª®© n ¢¥àè¨. ¯¨è¥¬ ¤¢¥ í¢à¨á⨪¨, ¯®§¢®«ïîé¨å ¤®¡¨âìáï ¯®ç⨠«¨¥©®© ®æ¥ª¨ ¢à¥¬¥¨. ¥à¢ ï í¢à¨á⨪ , §ë¢ ¥¬ ï ®¡ê¥¤¨¥¨¥¬ ¯® à £ã (union by rank), ¯®¬¨ ¥â ¢¥á®¢ãî í¢à¨á⨪㠢 ᯨá®ç®© ॠ«¨§ 樨: ¬ë ®¡ê¥¤¨ï¥¬ ¤¥à¥¢ìï ¥ ª ª ¯®¯ «®, â ª, çâ®¡ë ª®à¥ì " ¬¥ì襣®" ¤¥à¥¢ 㪠§ë¢ « ª®à¥ì "¡®«ì襣®". ë¡®à "¡®«ì襣®" ®¯à¥¤¥«ï¥âáï ¥ à §¬¥à®¬ ¤¥à¥¢ , á¯¥æ¨ «ìë¬ ¯ à ¬¥â஬ {à £®¬ (rank) ¥£® ª®àï. £ ®¯à¥¤¥«ñ ¤«ï ª ¦¤®© ¢¥àè¨ë x ¤¥à¥¢ ¨ ¢ ¯¥à¢®¬ ¯à¨¡«¨¦¥¨¨ ¬®¦¥â à áᬠâਢ âìáï ª ª £àã¡ ï ®æ¥ª «®£ à¨ä¬ ç¨á« ¢¥àè¨ ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ ¢ x. ®ç®¥ ®¯à¥¤¥«¥¨¥ à £ ¡ã¤¥â ¤ ® ¢ á«¥¤ãî饬 à §¤¥«¥. â®à ï í¢à¨á⨪ , ¯à¨¬¥ï¥¬ ï ¢ ®¯¥à 樨 Find-Set, §ë¢ ¥âáï ᦠ⨥¬ ¯ã⥩ (path compression). § ª«îç ¥âáï ¢ á«¥¤ãî饬: ¯®á«¥ ⮣®, ª ª ¯ãâì ¯®¨áª ®â ¢¥àè¨ë ª ª®àî ¯à®©¤¥, ¤¥à¥¢® ¯¥à¥áâà ¨¢ ¥âáï: ¢ ª ¦¤®© ¨§ ¢¥àè¨ ¯ã⨠㪠§ ⥫ì ãáâ ¢«¨¢ ¥âáï ¥¯®á।á⢥® ª®à¥ì (à¨á. 22.5). ਠí⮬ à £¨ ®áâ îâáï ¯à¥¦¨¬¨. ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 441 ¨á. 22.5 ¨á㮪 22.4 ¦ ⨥ ¯ã⥩ ¢ ¯à®æ¥áᥠ®¯¥à 樨 Find-Set. ) ¥à¥¢® ¯¥à¥¤ ¢ë¯®«¥¨¥¬ ®¯¥à 樨 Find-Set(a). à¥ã£®«ì¨ª ¬¨ ®¡®§ ç¥ë ¯®¤¤¥à¥¢ìï á ª®àﬨ ¢ ¨§®¡à ¦¥ëå ¢¥àè¨ å. ¡) ®á«¥ ¨á¯®«¥¨ï Find-Set(a). 22.2.1 à®£à ¬¬ë ਢ®¤¨¬ë¥ ¨¦¥ ¯à®£à ¬¬ë ®¯¥à 権 Make-Set, Find-Set ¨ Union ¢ª«îç îâ ¢ á¥¡ï ¨¤ãªâ¨¢®¥ ®¯à¥¤¥«¥¨¥ à £ , ® ¤«ï 㤮¡á⢠¬ë ¯¥à¥áª ¦¥¬ ¥£® á«®¢¥á®. ਠᮧ¤ ¨¨ ¬®¦¥áâ¢ á ¯®¬®éìî Make-Set ¥¤¨á⢥®© ¢¥à訥 ¤¥à¥¢ ¯à¨á¢ ¨¢ ¥âáï à £ 0. ¯¥à æ¨ï Find-Set (ᮠᦠ⨥¬ ¯ã⥩) ¥ ¬¥ï¥â à £®¢. ਠ¢ë¯®«¥¨¨ ®¯¥à 樨 Union á ¤¥à¥¢ìﬨ, à £¨ ª®à¥© ª®â®àëå à §«¨çë, ¯à®¢®¤¨âáï ®¢ ï áâ५ª ®â ª®àï ¬¥ì襣® à £ ª ª®àî ¡®«ì襣® à £ , à £¨ ®¯ïâì-â ª¨ ¥ ¬¥ïîâáï. ᫨, ª®¥æ, ®¯¥à æ¨ï Union ¯à®¢®¤¨âáï á ¤¥à¥¢ìﬨ, à £¨ ª®à¥© ª®â®àëå à ¢ë, â® ®â ®¤®£® ¨§ ª®à¥© (¢á¥ à ¢®, ª ª®£®) ¯à®¢®¤¨âáï áâ५ª ª ¤à㣮¬ã, ¨ ¯à¨ í⮬ à £ ª®àï ®¡ê¥¤¨ñ®£® ¤¥à¥¢ 㢥«¨ç¨¢ ¥âáï ¥¤¨¨æã (®áâ «ìë¥ à £¨ ¥ ¬¥ïîâáï). ¥£ª® ¢¨¤¥âì, çâ® ®¯à¥¤¥«ñë© â ª¨¬ ®¡à §®¬ à £ ¢¥àè¨ë ï¥âáï ¢¥à奩 ®æ¥ª®© ¤«ï ¢ëá®âë ¯®¤¤¥à¥¢ á ª®à¥¬ ¢ í⮩ ¢¥à訥. ¨¦¥ p[x] ®¡®§ ç ¥â த¨â¥«ï ¢¥àè¨ë x, rank[x] | ¥¥ à £; ¯ à ¬¥âà ¬¨ ¯à®æ¥¤ãàë Link, ¢ë§ë¢ ¥¬®© ¨§ ¯à®æ¥¤ãàë Union, ïîâáï ª®à¨ ¤¢ãå ¤¥à¥¢ì¥¢. Make-Set(x) 1 p[x] \gets x 2 rank[x] \gets 0 Union(x,y) 1 Link(Find-Set(x),Find-Set(y)) Link(x,y) 1 if rank[x] > rank[y] 2 then p[y] \gets x 3 else p[x] \gets y 4 if rank[x]=rank[y] 5 then rank[y] \gets rank[y]+1 Find-Set(x) 1 if x \ne p[x] 2 then p[x] \gets Find-Set(p[x]) 3 return p[x] ¥ªãàᨢ ï ¯à®æ¥¤ãà Find-Set à ¡®â ¥â ¢ ¤¢ ¯à®å®¤ : á ç « ® ¨¤¥â ª ª®àî ¤¥à¥¢ , § ⥬ ¯à®å®¤¨â íâ®â ¯ãâì ¢ ®¡à ⮬ ¯®à浪¥, "¯¥à¥¢®¤ï áâ५ª¨" ã ¢áâà¥ç îé¨åáï ¢¥àè¨ ª®à¥ì ¤¥à¥¢ . ᫨ x | ¥ ª®à¥ì, â® Find-Set ¢ë§ë¢ ¥â á ¬ã ᥡï, 442 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠® 㦥 á ¯ à ¬¥â஬ | த¨â¥«¥¬ x, ¯®á«¥ 祣® ¤¥« ¥â த¨â¥«¥¬ x ª®à¥ì ¤¥à¥¢ , ©¤¥ë© í⨬ ®¢ë¬ ¢ë§®¢®¬ Find-Set (áâப 2). ᫨ ¦¥ x | ª®à¥ì, â® áâப 2 ¥ ¨á¯®«ï¥âáï, ¨ áà §ã ¢®§¢à é ¥âáï 㪠§ ⥫ì x. â® ¤ îâ í¢à¨á⨪¨ ¦¥ ¡ã¤ãç¨ ¯à¨¬¥ñ묨 ¯® ®â¤¥«ì®áâ¨, ®¡ê¥¤¨¥¨¥ ¯® à £ã ¨ ᦠ⨥ ¯ã⥩ ¤ î⠢먣àëè ¢® ¢à¥¬¥¨. ᫨ ¯à¨¬¥¨âì ®¡ê¥¤¨¥¨¥ ¯® à £ã ¡¥§ ᦠâ¨ï ¯ã⥩, â® ®æ¥ª ¢à¥¬¥¨ à ¡®âë ¡ã¤¥â ¯à¨¬¥à® â ª®© ¦¥, ª ª ¯à¨ ᯨá®ç®© ॠ«¨§ 樨 á ¢¥á®¢®© í¢à¨á⨪®©, ¨¬¥® O(m lg n) (m | ®¡é¥¥ ª®«¨ç¥á⢮ ®¯¥à 権, n {ª®«¨ç¥á⢮ ®¯¥à 権 Make-Set (ã¯à. 22.4-3). ⠮楪 ¥ã«ãçè ¥¬ (ã¯à. 22.3-3). ᫨ ¯à¨¬¥¨âì ᦠ⨥ ¯ã⥩ ¡¥§ ®¡ê¥¤¨¥¨ï ¯® à £ã, â® ¢à¥¬ï ¨á¯®«¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権, ¢ª«îç î饩 n ®¯¥à 権 Make-Set ¨ f ®¯¥à 権 Find-Set, ¥áâì (¢ åã¤è¥¬ á«ãç ¥) (f log1+f=n n) ¯à¨ f > n ¨ (n + f lg n) ¯à¨ f < n (í⨠®æ¥ª¨ ¬ë ¤®ª §ë¢ âì ¥ ¡ã¤¥¬). é¥ ¡®«ìè ï íª®®¬¨ï ¯®«ãç¨âáï, ¥á«¨ ¯à¨¬¥¨âì ®¡¥ í¢à¨á⨪¨ ᮢ¬¥áâ®. ਠí⮬ ¢à¥¬ï à ¡®âë ¢ åã¤è¥¬ á«ãç ¥ ¥áâì O(m(m; n)), £¤¥ | ç१¢ëç ©® ¬¥¤«¥® à áâãé ï " ®¡à â ï äãªæ¨ï ªª¥à¬ ", ®¯à¥¤¥«ï¥¬ ï ¨¦¥ ¢ à §¤¥«¥ 22.4. «î¡ëå ¬ë᫨¬ëå ¯à¨«®¦¥¨ïå ¢ë¯®«¥® ¥à ¢¥á⢮ (m; n) 6 4, â ª çâ® ¯à ªâ¨ª¥ ¬®¦® áç¨â âì ¢à¥¬ï à ¡®âë «¨¥©ë¬ ¯® m. à §¤. 22.4 ¬ë ¤®ª ¦¥¬ çãâì ¡®«¥¥ á« ¡ãî ®æ¥ªã O(m lg n). ¯à ¦¥¨ï 22.3-1 ¤¥« ©â¥ ã¯à ¦¥¨¥ 22.2-2, ¯®«ì§ãïáì ॠ«¨§ 樥© á ¯®¬®éìî «¥á ᮠᦠ⨥¬ ¯ã⥩ ¨ ®¡ê¥¤¨¥¨¥¬ ¯® à £ ¬. 22.3-2 ¯¨è¨â¥ ¥à¥ªãàá¨¢ë© ¢ ਠ⠯à®æ¥¤ãàë Find-Set. 22.3-3 ਢ¥¤¨â¥ ¯à¨¬¥à ¯®á«¥¤®¢ ⥫ì®á⨠m ®¯¥à 権 Make-Set, Union ¨ Find-Set (¢ ⮬ ç¨á«¥ n ®¯¥à 権 Make-Set, ¤«ï ª®â®à®© ¢à¥¬ï à ¡®âë (¯à¨ ¨á¯®«ì§®¢ ¨¨ ®¡ê¥¤¨¥¨ï ¯® à £ã ¡¥§ ᦠâ¨ï ¯ã⥩) ¡ã¤¥â (m lg n). 22.3-4* áᬮâਬ ¯®á«¥¤®¢ ⥫ì®áâì m ®¯¥à 権 Make-Set, Link ¨ Find-Set, ¢ ª®â®à®© ¢á¥ ®¯¥à 樨 Find-Set ¨¤ãâ ¯®á«¥ ¢á¥å ®¯¥à 権 Link. ®ª ¦¨â¥, çâ® ¯à¨ ¨á¯®«ì§®¢ ¨¨ ®¡ê¥¤¨¥¨ï ¯® à - £ ¬ ᮠᦠ⨥¬ ¯ã⥩ ¢à¥¬ï à ¡®âë í⮩ ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 ¥áâì O(m). â® ¡ã¤¥â, ¥á«¨ ¯®«ì§®¢ âìáï ⮫쪮 ᦠ⨥¬ ¯ã⥩? 22.4* ¡ê¥¤¨¥¨¥ ¯® à £ ¬ ᮠᦠ⨥¬ ¯ã⥩: «¨§ í⮬ à §¤¥«¥ ¬ë ¤ ¤¨¬ ®¯à¥¤¥«¥¨¥ "®¡à ⮩ äãªæ¨¨ ªª¥à¬ " (m; n), ¢å®¤ï饩 ¢ ®æ¥ªã O(m(m; n)) ¤«ï á⮨¬®á⨠m ®¯¥à 権 á á¨á⥬®© ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢, ॠ«¨§®¢ ®© á ¯®¬®éìî «¥á á ®¡ê¥¤¨¥¨¥¬ ¯® à £ ¬ ¨ ᦠ⨥¬ ¯ã⥩ ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 443 ¨á㮪 22.5 22.6. 票ï A(i; j ) ¤«ï ¬ «ëå i ¨ j . ¥à¥¢®¤ë: row | áâப , column | á⮫¡¥æ ¨á㮪 22.6 ¨á. 22.7. ®áâ äãªæ¨¨ ªª¥à¬ . â ¡«¨æ¥ § 票© (à¨á. 22.6) ᮥ¤¨¥ë à ¢ë¥ ç¨á« . áèâ ¡ ¯® £®à¨§®â «¨ ᮡ«îá⨠¥¢®§¬®¦® (¨§-§ ®ç¥ì ¡ëáâண® à®áâ ). (§¤¥áì n | ç¨á«® ®¯¥à 権 Make-Set). âã ®æ¥ªã ¬ë ¤®ª §ë¢ âì ¥ ¡ã¤¥¬, ®£à ¨ç¨¢è¨áì ¡®«¥¥ á« ¡®© ®æ¥ª®© O(m lg n). ãªæ¨ï ªª¥à¬ ¨ ®¡à â ï ª ¥© ãªæ¨¥© ªª¥à¬ (Ackermann's function) §ë¢ ¥âáï äãªæ¨ï A(i; j ) ¤¢ãå 楫ëå ¯®«®¦¨â¥«ìëå ¯¥à¥¬¥ëå, ®¯à¥¤¥«ñ ï â ª: A(1; j ) = 2j ; ¥á«¨ j > 1; A(i; 1) = A(i ; 1; 2) ¥á«¨ i > 2; A(i; j ) = A(i ; 1; A(i; j ; 1)) ¥á«¨ i; j > 2. 票ï A(i; j ) ¤«ï ¬ «ëå i ¨ j ¨§®¡à ¦¥ë à¨á. 22.6. â ¡«¨æ¥ § 票© äãªæ¨¨ ªª¥à¬ ª ¦¤ ï á«¥¤ãîé ï áâப ¥áâì ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¯à¥¤ë¤ã饩 ( ç¨ îé ïáï á® ¢â®à®£® ç«¥ ); ®âáî¤ á«¥¤ã¥â, çâ® A(i; j ) 㢥«¨ç¨¢ ¥âáï ¯à¨ ã¢¥«¨ç¥- ¨¨ i ¨«¨ j . â äãªæ¨ï à áâñâ ®ç¥ì ¡ëáâà®: 㦥 ¯¥à¢ ï áâப ¢ â ¡«¨æ¥ ¥ñ § 票© à áâñâ íªá¯®¥æ¨ «ì®, ª ¦¤ ï ¯®á«¥¤ãîé ï áâப ¥áâì (¢¥áì¬ à¥¤ª ï) ¯®¤¯®á«¥¤®¢ ⥫ì®áâì ¯à¥¤ë¤ã饩. ¬¥®, ¢ k + 1-®© áâப¥ â ¡«¨æë § ¯¨á ¯®á«¥¤®- ¢ ⥫ì®áâì, ª ¦¤ë© á«¥¤ãî騩 ç«¥ ª®â®à®© ¯®«ãç ¥âáï ¨§ ¯à¥¤ë- ¤ã饣® ¯à¨¬¥¥¨¥¬ äãªæ¨¨, § ¯¨á ®© ¢ k-®© áâப¥. ç áâ®áâ¨, ¢® ¢â®à®© áâப¥ ª ¦¤ë© á«¥¤ãî騩 ç«¥ ¥áâì ¤¢®©ª , ¢®§¢¥¤ñ ï ¢ á⥯¥ì ¯à¥¤ë¤ã饣® ç«¥ . § ¨¬®®â®è¥¨ï ¬¥¦¤ã à §«¨ç묨 áâப ¬¨ â ¡«¨æë § 票© äãªæ¨¨ ªª¥à¬ á奬 â¨ç¥áª¨ ¨§®¡à ¦¥ë à¨á. 22.7. ¯à¥¤¥«¨¬, ª®¥æ, ®¡à âãî äãªæ¨î ªª¥à¬ (m; n). âண® £®¢®àï, ¥ ï¥âáï ®¡à ⮩ ª äãªæ¨¨ ªª¥à¬ A (⥬ ¡®«¥¥ çâ® ¯®á«¥¤ïï ¨¬¥¥â ¤¢ à£ã¬¥â ), ® ¬®¦® ᪠§ âì, çâ® äãªæ¨ï à áâ¥â áâ®«ì ¦¥ ¬¥¤«¥®, ᪮«ì ¡ëáâà® à áâ¥â A. (¥â «¨ ®¯à¥¤¥«¥¨ï áãé¥áâ¢¥ë ¤«ï ¤®ª § ⥫ìá⢠®æ¥ª¨ O(m(m; n)), ª®â®à®¥ ¢ë室¨â § à ¬ª¨ 襩 ª¨£¨.) â ª, ¯à¨ m > n > 1 ¯®« £ ¥¬: (m; n) = min f i > 1 : A(i; bm=nc) > lg n g : ¥£ª® ¢¨¤¥âì, çâ® ¯à¨ 䨪á¨à®¢ ®¬ n äãªæ¨ï (m; n) ¬®®â®® ã¡ë¢ ¥â á à®á⮬ m. ⮠ᮣ« áã¥âáï á (¥ ¤®ª §ë¢ ¥¬ë¬ ¬¨) ã⢥ত¥¨¥¬ ® ⮬, çâ® á⮨¬®áâì m ®¯¥à 権 á ¥¯¥à¥á¥ª î騬¨áï ¬®¦¥á⢠¬¨, ¢ª«îç îé¨å n ®¯¥à 権 Make-Set, ¥áâì (m(m; n)). á ¬®¬ ¤¥«¥, í⠮楪 £®¢®à¨â, çâ® á⮨¬®áâì ¢ 444 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠à áçñ⥠®¤ã ®¯¥à æ¨î ¥áâì (m; n). ᫨ n 䨪á¨à®¢ ®, m à áâñâ, â® ¨§-§ ᦠâ¨ï ¯ã⥩ ¤¥à¥¢ìï á ª ¦¤ë¬ è £®¬ ¢áñ ¡®«¥¥ " ã¯à®é îâáï" (¢áñ ¡®«ìè¥ áâ ®¢¨âáï ¢¥àè¨, ¯àï¬ãî á¢ï§ ëå á ª®à¥¬), â ª çâ® á⮨¬®áâì ®¯¥à 樨 ¯ ¤ ¥â. ® ¢á¥å ¯à ªâ¨ç¥áª¨å ¯à¨«®¦¥¨ïå ¬®¦® áç¨â âì, çâ® (m; n) 6 4. á ¬®¬ ¤¥«¥, ¯®áª®«ìªã äãªæ¨ï ªª¥à¬ ï¥âáï ¢®§à áâ î饩 ¯® ª ¦¤®¬ã ¯¥à¥¬¥®¬ã ¨ m > n, ¨¬¥¥¬ A(4; bm=nc) > A(4; 1) = A(3; 2) = :2 : 22: ) 17; çâ® ¬®£® ¡®«ìè¥ ç¨á« ⮬®¢ ¢ ¡«î¤ ¥¬®© ç á⨠ᥫ¥®© ( 1080). ®í⮬㠤«ï ¢á¥å ¢áâà¥ç îé¨åáï ¯à ªâ¨ª¥ § 票© n ¨¬¥¥¬ A(4; bm=nc) > lg n ¨ (m; n) 6 4. ë ¥ ¤®ª §ë¢ ¥¬ ®æ¥ª¨, á¢ï§ ®© á äãªæ¨¥© ªª¥à¬ , ®£à ¨ç¨¢ ¥¬áï ¡®«¥¥ á« ¡®© ®æ¥ª®© O(m lg n). ᯮ¬¨¬ ®¯à¥¤¥«¥¨¥ äãªæ¨¨ lg (á. ??). ® ®¯à¥¤¥«¥¨î, lg 1 = 0 ¨ lg n = min i : |lg lg{z: : : lg} n 6 1 i à § ¤«ï n > 1. ¥à ¢¥á⢮ ¢ ®¯à¥¤¥«¥¨¨ äãªæ¨¨ lg ¬®¦® ¯¥à¥¯¨) 2 :: á âì â ª: n 6 22: j (j | ç¨á«® ¤¢®¥ª ¢ ä®à¬ã«¥). 楪 O(m lg n), ª®â®àãî ¬ë ¤®ª ¦¥¬ ¨¦¥, á« ¡¥¥, 祬 áä®à¬ã«¨à®¢ ï ¡¥§ ¤®ª § ⥫ìá⢠®æ¥ª O(m(m; n)), ® á ¯à ªâ¨ç¥áª®© â®çª¨ §à¥¨ï à §¨æ ¥¢¥«¨ª . á ¬®¬ ¤¥«¥, lg 22 = lg 265536 = 5, â ª çâ® ¢® ¢á¥å ¯à ªâ¨ç¥áª¨å ¢®¯à®á å ¬®¦® áç¨â âì, çâ® lg n 6 5 | ¢àï¤ «¨ ¬ ¢áâà¥â¨âáï ¬®¦¥á⢮, ¢ ª®â®à®¬ ¡®«¥¥ 265536 í«¥¬¥â®¢. ¢®©áâ¢ à £®¢ â®¡ë ¤®ª § âì ®æ¥ªã O(m lg n) ¤«ï ¢à¥¬¥¨ à ¡®âë á á¨á⥬®© ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢, ¬ ¯® ¤®¡ïâáï ¥ª®â®àë¥ á¢®©áâ¢ à £®¢. ¯®¬¨¬, çâ® ¬ë à ¡®â ¥¬ á á¨á⥬®© ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢, ॠ«¨§®¢ ®© á ¯®¬®éìî «¥á , á ®¡ê¥¤¨¥¨¥¬ ¯® à £ ¬ ¨ ᦠ⨥¬ ¯ã⥩ (á¬. à §¤. 22.3); ç¥à¥§ m ®¡®§ 祮 á㬬 ஥ ç¨á«® ®¯¥à 権 Make-Set, Find-Set ¨ Union, ç¥à¥§ n | ç¨á«® ®¯¥à 権 Make-Set. ¥¬¬ 22.2 «ï ¢á类© ¢¥àè¨ë x, ªà®¬¥ ª®àï, rank[x] < rank[p[x]] ( ¯®¬¨¬, çâ® ¤«ï ª®àï p[x] = x). ਠᮧ¤ ¨¨ ¬®¦¥á⢠fxg ¨¬¥¥¬ rank[x] = 0, ¤ «¥¥ rank[x] ¬®¦¥â ⮫쪮 ¢®§à áâ âì ¨ ¯¥à¥áâ ñâ ¬¥ïâìáï, ª®£¤ x ¯¥à¥áâ ñâ ¡ëâì ª®à¥¬ ¢ ᢮ñ¬ ¤¥à¥¢¥. ®ª § ⥫ìá⢮. áñ íâ® ¥¯®á।á⢥® á«¥¤ã¥â ¨§ ®¯¨á ¨ï ¯à®æ¥¤ãà Make-Set, Union ¨ Find-Set ¢ à §¤¥«¥ 22.3. ®¤à®¡®á⨠¬ë ®áâ ¢«ï¥¬ ç¨â ⥫î (ã¯à. 22.4-1). 16 ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 445 ãáâì x | ¢¥àè¨ ®¤®£® ¨§ è¨å ¤¥à¥¢ì¥¢. ¨á«® ¢¥àè¨ ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ x (¢ª«îç ï á ¬ã x) §®¢¥¬ ¥¥ à §¬¥à®¬ (size) ¨ ®¡®§ 稬 size(x). ¥¬¬ 22.3 ᫨ x | ª®à¥ì ®¤®£® ¨§ ¤¥à¥¢ì¥¢, â® size(x) > 2rank[x]. ®ª § ⥫ìá⢮. ®áâ â®ç® ¯à®¢¥à¨âì, çâ® ª ¦¤ ï ¨§ ®¯¥à 権 Make-Set, Find-Set ¨ Link á®åà ï¥â ¨á⨮áâì ã⢥ত¥¨ï " size(x) > 2rank[x] ¤«ï ¢á¥å ª®à¥© x". ¯¥à æ¨ï Find-Set ¥ ¬¥ï¥â ¨ à §¬¥à®¢ ª®à¥©, ¨ à £®¢ ª ª¨å ¡ë â® ¨ ¡ë«® ¢¥àè¨. ¯¥à æ¨ï Make-Set(x) â ª¦¥ ¥ àãè ¥â ã⢥ত¥¨ï «¥¬¬ë: ¥ ¬¥ïï à £®¢ ¨ à §¬¥à®¢ 㦥 áãé¥áâ¢ãîé¨å ¤¥à¥¢ì¥¢, ® ᮧ¤ ñâ ®¢®¥ ¤¥à¥¢® á ¥¤¨á⢥®© ¢¥à訮©, ¤«ï ª®â®à®© ¥à ¢¥á⢮ ®ç¥¢¨¤ë¬ ®¡à §®¬ ¢ë¯®«¥®. áᬮâਬ ®¯¥à æ¨î Link(x; y) (¥ ®£à ¨ç¨¢ ï ®¡é®áâ¨, ¬®¦® áç¨â âì, çâ® rank[x] 6 rank[y]). १ã«ìâ ⥠í⮩ ®¯¥à 樨 à £ ¨«¨ à §¬¥à ¬®¦¥â ¨§¬¥¨âìáï ⮫쪮 ã ¢¥àè¨ë y. ᫨ rank[x] < rank[y ], â® à §¬¥à y 㢥«¨ç¨¢ ¥âáï, à £ ¥ ¬¥ï¥âáï, â ª çâ® ¥à ¢¥á⢮ size(y) > 2rank[y] , ®áâ ñâáï ¢¥àë¬. ᫨ ¦¥ rank[x] = rank[y ], â®, ®¡®§ ç ï ç¥à¥§ size0[y] ¨ rank0[y] à §¬¥à ¨ à £ y ¯®á«¥ ®¯¥à 樨 Link, ¨¬¥¥¬ size0[y] = size[x] + size[y] ¨ rank0[y] = rank[y ] + 1. âáî¤ size0[y ] = size[x] + size[y ] > 2rank[x] + 2rank[y] = 2rank[y]+1 = 2rank0 [y] : ¥¬¬ 22.4 ¨á«® ¢¥àè¨ à £ r ¥ ¯à¥¢®á室¨â n=2r (¤«ï «î¡®£® 楫®£® r > 0). ®ª § ⥫ìá⢮. 䨪á¨à㥬 ç¨á«® r. á直© à §, ª®£¤ ª ª®©-«¨¡® ¢¥à訥 y ¯à¨á¢ ¨¢ ¥âáï à £ r (¢ áâப¥ 2 ¯à®æ¥¤ãàë Make-Set ¨«¨ ¢ áâப¥ 5 ¯à®æ¥¤ãàë Link), ¡ã¤¥¬ ¯à¨¢¥è¨¢ âì ¬¥âªã ª® ¢á¥¬ ¢¥àè¨ ¬ ¯®¤¤¥à¥¢ á ¢¥à訮© y. ®áª®«ìªã ¢¥àè¨ y ¢ íâ®â ¬®¬¥â ï¥âáï ª®à¥¬ ®¤®£® ¨§ ¤¥à¥¢ì¥¢, «¥¬¬ 22.3 ¯®ª §ë¢ ¥â, çâ® ç¨á«® ¯®¬¥ç ¥¬ëå ¢¥àè¨ ¥ ¬¥ìè¥ 2r. è¨ ¯à®æ¥¤ãàë ãáâ஥ë â ª, çâ® ª ¦¤ ï ¢¥àè¨ ¡ã¤¥â ¯®¬¥ç¥ ¥ ¡®«¥¥ ®¤®£® à § . â «® ¡ëâì, n > (ç¨á«® ¬¥â®ª) > 2r (ç¨á«® ¢¥àè¨ à £ r), ®âªã¤ ¢áñ ¨ á«¥¤ã¥â. «¥¤á⢨¥ 22.5 £ «î¡®© ¢¥àè¨ë ¥ ¯à¥¢®á室¨â blg nc. ®ª § ⥫ìá⢮. ¬. «¥¬¬ã 22.3 ¨«¨ 22.4 ®ª § ⥫ìá⢮ ®æ¥ª¨ ¤«ï ¢à¥¬¥¨ à ¡®âë 446 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠ਠ¤®ª § ⥫ìá⢥ ®æ¥ª¨ ¬ ¡ã¤¥â 㤮¡¥¥ à ¡®â âì á ®¯¥à 樥© Link, ¥ Union. ãáâì ¤ ¯®á«¥¤®¢ ⥫ì®áâì S1, á®áâ®ïé ï ¨§ m1 ®¯¥à 権 Make-Set, Find-Set ¨ Union. ¬¥¨¬ ª ¦¤ãî ®¯¥à æ¨î Union ¤¢¥ ®¯¥à 樨 Find-Set ¨ ®¤ã ®¯¥à æ¨î Link; ¯®«ãç¨âáï ¯®á«¥¤®¢ ⥫ì®áâì S2 ¨§ m2 ®¯¥à 権 Make-Set, Find-Set ¨ Link. ¥¬¬ 22.6 ᫨ á⮨¬®áâì ¢ë¯®«¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠S2 ¢ åã¤è¥¬ á«ãç ¥ ¥áâì O(m2 lg n), â® á⮨¬®áâì ¢ë¯®«¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠S1 ¢ åã¤è¥¬ á«ãç ¥ ¥áâì O(m1 lg n), £¤¥ n | ç¨á«® ®¯¥à 権 Make-Set. ®ª § ⥫ìá⢮. ¥¬¥¤«¥® á«¥¤ã¥â ¨§ ®ç¥¢¨¤®£® ¥à ¢¥á⢠m1 6 m2 6 3m1. ¥®à¥¬ 22.7 ।¯®«®¦¨¬, çâ® ¤ á¨á⥬®© ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠(¯¥à¢® ç «ì® ¯ãá⮩) ¯à®¨§¢¥«¨ m ®¯¥à 権 Make-Set, FindSet ¨ Link, ¨§ ª®â®àëå n ®¯¥à 権 ¡ë«¨ ®¯¥à æ¨ï¬¨ Make-Set. ®£¤ ¯à¨ ¨á¯®«ì§®¢ ¨¨ ॠ«¨§ 樨 á ¯®¬®éìî «¥á ᮠᦠ⨥¬ ¯ã⥩ ¨ ®¡ê¥¤¨¥¨¥¬ ¯® à £ ¬ ®¡é ï á⮨¬®áâì í⮩ ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 ¥áâì O(m lg n). ®ª § ⥫ìá⢮. ⮨¬®áâì ª ¦¤®© ¨§ ®¯¥à 権 Make-Set ¨ Link ¥áâì, ®ç¥¢¨¤®, O(1), ¨å á㬬 à ï á⮨¬®áâì ¥áâì ⥬ á ¬ë¬ O(m). ©¬¥¬áï ®¯¥à æ¨ï¬¨ Find-Set. 祢¨¤®, á⮨¬®áâì ®¯¥à 樨 Find-Set(x) ¯à®¯®à樮 «ì ¤«¨¥ ¯ã⨠¯®¨áª ®â x ª ª®àî (¤® ᦠâ¨ï). â «® ¡ëâì, ¬ ¤® ®æ¥¨âì á㬬 àãî ¤«¨ã ¯ã⥩ ¯®¨áª , ¢®§¨ª ¢è¨å ¢ ¯à®æ¥áᥠ¢ë¯®«¥¨ï ¢á¥å ®¯¥à 権 Find-Set ¨ ¤®ª § âì, çâ® ® ¥áâì O(m lg n). ¯à®æ¥áᥠ¢ë¯®«¥¨ï ª ¦¤®© ¨§ ®¯¥à 権 Find-Set ¬ë ¤¢¨£ ¥¬áï ¢¢¥àå ¯® ®¤®¬ã ¨§ ¤¥à¥¢ì¥¢, § ª 稢 ï ¯®¨áª ¢ ¥£® ª®à¥. ¬¥â¨¬, çâ® ª ¦¤®¬ è £¥ à £ ¢¥àè¨ë áâண® ¢®§à áâ ¥â: ¥á«¨ u | ¢¥àè¨ , ¢áâà¥â¨¢è ïáï ¯ã⨠¯®¨áª , v | á«¥¤ãîé ï ¢¥àè¨ , â® ¥áâì v = p[u], â® rank[v] > rank[u]. ¥àè¨ u ¬®¦¥â ¥®¤®ªà â® ¢áâà¥ç âìáï ¢ ¯ãâïå ¯®¨áª ¯à¨ ¢ë¯®«¥¨¨ à áᬠâਢ ¥¬®© ¢ ⥮६¥ ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権. ਠí⮬ § ¥© ¬®£ãâ (¨ ᪮॥ ¢á¥£® ¡ã¤ãâ) ¨¤â¨ à §ë¥ ¢¥àè¨ë: ¥á«¨ ¢ ¥ª®â®àë© ¬®¬¥â § u á«¥¤®¢ « ¢¥àè¨ v, ª®â®à ï ¥ ¡ë« ª®à¥¢®©, â® ¯®á«¥ ᦠâ¨ï ¯ã⥩ § u ¡ã¤¥â á«¥¤®¢ âì 㦥 ¥ v, ª®à¥ì ¤¥à¥¢ ( ¬®¬¥â ¯¥à¢®£® ¯®¨áª ), â® ¥áâì ¢¥àè¨ ¡®«ì襣® à £ , 祬 v. (â® ¯à®á⮥ ¡«î¤¥¨¥ ¨£à ¥â ª ¤ «ì¥©è¥¬ ª«î祢ãî ஫ì.) ¡«î¤ ï § à®á⮬ à £ ¯à¨ ¯¥à¥å®¤¥ ®â ¢¥àè¨ë ª ¥ñ த¨â¥«î, ¬ë ®â¤¥«ì® ®æ¥¨âì ª®«¨ç¥á⢮ è £®¢, ¯à¨ ª®â®àëå à £ á¨«ì® à áâñâ, ¨ ª®«¨ç¥á⢮ è £®¢, ª®£¤ ® à áâñâ ¥ ᨫì®. 롥६ ¢ ª ç¥á⢥ £à ¨æë ¥ª®â®àãî äãªæ¨î (k), ®¯à¥¤¥«ñãî ¤«ï ¥®âà¨æ ⥫ìëå 楫ëå k. ë ¯à¥¤¯®« £ ¥¬, çâ® äãªæ¨ï ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 447 ï¥âáï ¬®®â®® ¢®§à áâ î饩 ¨ çâ® (k) > k ¯à¨ ¢á¥å k. 㤥¬ £®¢®à¨âì, çâ® ¯à¨ ¯¥à¥å®¤¥ ®â ¢¥àè¨ë u ª ¥ñ த¨â¥«î v = p[u] à £ á¨«ì® à áâñâ, ¥á«¨ rank[v] > (rank[u]). ਠí⮬ ¬ë ¨áª«îç ¥¬ ¨§ à áᬮâ२ï á«ãç ©, ª®£¤ v ï¥âáï ª®à¥¬ | â ª®© á«ãç © ¢áâà¥ç ¥âáï ¯® à §ã ¯à¨ ¢ë¯®«¥¨¨ ª ¦¤®© ®¯¥à 樨 Find-Set, ¨ ¯®â®¬ã ®¡é¥¥ ç¨á«® â ª¨å á¨âã 権 ¥áâì O(m). çñ¬ á ®æ¥ª¨ ç¨á« è £®¢, ¯à¨ ª®â®àëå à £ ¥ á¨«ì® à áâñâ, ¨ á£à㯯¨à㥬 ¨å ¯® ¢¥àè¨ ¬, ¨§ ª®â®àëå íâ®â è £ ¤¥« ¥âáï. «ï ¢¥àè¨ë à £ k à £¨ ¥ñ ¯à¥¤ª ¬®£ãâ ¬¥ïâìáï ®â k + 1 ¤® (k) (¯®á«¥ í⮣® à £ à áâñâ ᨫì®). ç¨â, ç¨á«® â ª¨å è £®¢ (¨§ ¤ ®© ¢¥àè¨ë à £ k) § ¢¥¤®¬® ¥ ¡®«ìè¥ (k), ¯®áª®«ìªã, ª ª ¬ë £®¢®à¨«¨, ª ¦¤ë© ®¢ë© è £ ¢¥¤ñâ ¢ ¢¥àè¨ã ¡®«ì襣® à £ , 祬 ¯à¥¤ë¤ã騩. ®áª®«ìªã ¢¥àè¨ à £ k ¥ ¡®«¥¥ n=2k , â® ®¡é¥¥ ç¨á«® è £®¢, ¯à¨ ª®â®àëå à £ ¥ á¨«ì® à áâñâ, ¥ ¯à¥¢®á室¨â X n (k) k 2k ᫨ ¢ë¡à âì äãªæ¨î â ª, ç⮡ë àï¤ P (k)=2k á室¨«áï, â® ®¡é¥¥ ç¨á«® è £®¢ â ª®£® த ¥áâì O(n). ०¤¥ 祬 ¢ë¡à âì äãªæ¨î , ®¡êïᨬ, ª ª ®æ¥¨âì ç¨á«® è £®¢, ¯à¨ ª®â®àëå à £ á¨«ì® à áâñâ. ª¨¥ è £¨ ¬ë á£à㯯¨à㥬 ¥ ¯® ¢¥àè¨ ¬, ¯® ¯ãâï¬: ª ¦¤®¬ ¯ã⨠¯®¨áª â ª¨å è £®¢ ¬ «®, â ª ª ª à £ ¥ ¬®¦¥â ¬®£®ªà â® á¨«ì® à á⨠(® ¬¥ï¥âáï ¢á¥£® «¨èì ®â 0 ¤® lg n). ª¨¬ ®¡à §®¬, ª ¦¤®¬ ¯ã⨠ç¨á«® è £®¢, ¯à¨ ª®â®à®¬ à £ á¨«ì® à áâñâ, ¥ ¯à¥¢®á室¨â ç¨á« ¨â¥à 権 äãªæ¨¨ , ª®â®àë¥ ã¦® ᤥ« âì, çâ®¡ë ¤®©â¨ ®â 0 ¤® lg n. ®â¥«®áì ¡ë ¯®«®¦¨âì (k) = 2k : ⮣¤ ç¨á«® ¨â¥à 権 ¡ã¤¥â ¯à¨¬¥à® à ¢® lg n. ᮦ «¥¨î, ⮣¤ ¯¨á ë© ¢ëè¥ àï¤ à á室¨âáï. ਤñâáï ¢§ïâì ¥¬®£® ¬¥ìèãî äãªæ¨î , P P . ¯à¨¬¥à k k k k k ¯®«®¦¨¬ (k) = d1;9 e, ⮣¤ àï¤ d1;9 e=2 6 (1;9 + 1)=2 á室¨âáï. ¤à㣮© áâ®à®ë, ç¨á«® ¨â¥à 権 äãªæ¨¨ , ª®â®àë¥ ã¦® ᤥ« âì, çâ®¡ë ®â 0 ¤®©â¨ ¤® ª ª®£®-â® ç¨á« , ¢®§à áâñâ (¯® áà ¢¥¨î á äãªæ¨¥© k 7! 2k ) ¥ ¡®«¥¥ 祬 ¢¤¢®¥, ¯®áª®«ìªã ((k)) > 2k , ¨ ¯®â®¬ã ¥áâì O(lg n). â ª, ç¨á«® è £®¢ â ª®£® த ¤«ï ¢á¥å m ®¯¥à 権 ¥áâì O(m lg n). ª« ¤ë¢ ï ¢¬¥á⥠¤¥©áâ¢¨ï ¢á¥å ¢¨¤®¢ (®¯¥à 樨 Make-Set ¨ Link, ¯®á«¥¤¨¥ è £¨ ¢ ª ¦¤®¬ ¯ãâ¨, è £¨, ª®â®àëå à £ ¥ á¨«ì® à áâñâ, ¨ è £¨, ª®â®àëå à £ á¨«ì® à áâñâ), ¯®«ãç ¥¬ ®¡éãî ®æ¥ªã O(n) + O(m lg n) = O(m lg n) ( ¯®¬¨¬, çâ® m > n, â ª ª ª m | ®¡é¥¥ ç¨á«® ®¯¥à 権, n | ç¨á«® ®¯¥à 権 textscMake-Set), çâ® ¨ âॡ®¢ «®áì ¤®ª § âì. [ ¬¥ç ¨¥. ®ª § ⥫ìá⢮ í⮩ ⥮६ë á«¥£ª ¨§¬¥¥® ¯® áà ¢¥¨î á £«¨©áª¨¬ ®à¨£¨ «®¬: ¢ ¯®á«¥¤¥¬ ¨á¯®«ì§ã¥âáï äãªæ¨ï (k), à ¢ ï ¨¬¥ì襬ã 童㠯®á«¥¤®¢ ⥫ì®á⨠448 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠1; 2; 4; 16; 65536; : : : , ¡®«ì襬ã k (ª ¦¤ë© ç«¥ ¯®á«¥¤®¢ ⥫ì®á⨠¥áâì ¤¢®©ª ¢ á⥯¥¨ ¯à¥¤ë¤ã饣® ç«¥ ). ®£¤ ª ¦¤®¬ ¯ã⨠¡ã¤¥âP¥ ¡®«¥¥ lg n è £®¢, ª®â®àëå à £ á¨«ì® à áâñâ, àï¤ (k)=2k á室¨âáï, ® ¨¬¥¥â ¤®áâ â®ç® ¬¥¤«¥® à áâã騥 ç áâ¨çë¥ á㬬ë.] § ¤®ª § ®© â¥®à¥¬ë ¨ «¥¬¬ë 22.6 ¥¬¥¤«¥® ¢ë⥪ ¥â «¥¤á⢨¥ 22.8 ।¯®«®¦¨¬, çâ® ¤ á¨á⥬®© ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠(¨§ ç «ì® ¯ãá⮩) ¯à®¨§¢¥«¨ m ®¯¥à 権 Make-Set, Find-Set ¨ Union, n ¨§ ª®â®àëå | Make-Set. ®£¤ ¯à¨ ¨á¯®«ì§®¢ ¨¨ ॠ«¨§ 樨 á ¯®¬®éìî «¥á ᮠᦠ⨥¬ ¯ã⥩ ¨ ®¡ê¥¤¨¥¨¥¬ ¯® à £ ¬ á⮨¬®áâì í⮩ ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 ¥áâì O(m lg n). ¯à ¦¥¨ï 22.4-1 ®ª ¦¨â¥ «¥¬¬ã 22.2. 22.4-2 ª®«ìª® ¡¨â®¢ 㦮, ç⮡ë åà ¨âì size[x] ¤«ï 㧫 x? ®â ¦¥ ¢®¯à®á ¤«ï rank[x]. 22.4-3 ®«ì§ãïáì «¥¬¬®© 22.2 ¨ á«¥¤á⢨¥¬ 22.5, ¤®ª ¦¨â¥, çâ® á⮨¬®áâì m ®¯¥à 権 á «¥á®¬ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢ á ¨á¯®«ì§®¢ ¨¥¬ ®¡ê¥¤¨¥¨ï ¯® à £ ¬, ® ¡¥§ ᦠâ¨ï ¯ã⥩, ¥áâì O(m lg n), £¤¥ n, ª ª ®¡ëç®, ®¡®§ ç ¥â ª®«¨ç¥á⢮ ®¯¥à 権 Make-Set. 22.4-4* ¡êïá¨â¥, ¯®ç¥¬ã ¯®á«¥¤¨¥ è £¨ ¯ã⥩ âॡ®¢ «¨ ¢ 襬 à áá㦤¥¨¨ ®á®¡®£® à áᬮâ२ï ( ª« áá¨ä¨æ¨à®¢ «¨áì ¢ § ¢¨á¨¬®á⨠®â à®áâ à £ , ª ª ¢á¥ ®áâ «ìë¥): ¯à¨¢¥¤¨â¥ ¯à¨¬¥à á¨âã 樨, ¢ ª®â®à®© ¥ª®â®à ï ¢¥àè¨ x ¢å®¤¨â (m) à § ¢ ¯ãâì ¯®¨áª ¤«ï ®¯¥à 樨 Find-Set, ¯à¨çñ¬ ¯à¨ ¢ë室¥ ¨§ ¥ñ à £ à áâñâ ¥ ᨫì®. ( ª ¢¨¤® ¨§ ¤®ª § ⥫ìá⢠, íâ® ¢®§¬®¦® «¨èì ¥á«¨ ® ¯® ¡®«ì襩 ç á⨠ï¥âáï ¯à¥¤¯®á«¥¤¥© ¢¥à訮© ¯ãâ¨.) ¤ ç¨ 22-1 ®¨áª ¬¨¨¬ã¬ ¢ ०¨¬¥ o-line. ¤ ç ® ¯®¨áª¥ ¬¨¨¬ã¬ ¢ ०¨¬¥ o-line (o-line minimum problem) á®á⮨⠢ á«¥¤ãî饬. ãáâì ¨¬¥¥âáï ¤¨ ¬¨ç¥áª®¥ ¬®¦¥á⢮ T , ¯®¤¤¥à¦¨¢ î饥 ®¯¥à 樨 Insert(x) (¤®¡ ¢¨âì í«¥¬¥â x) ¨ Extract-Min (㤠«¨âì ¬¨¨¬ «ìë© í«¥¬¥â). ¥à¢® ç «ì® ¬®¦¥á⢮ T ¯ãáâ®, § ⥬ ¢ë¯®«ï¥âáï ¥ª®â®à ï ¯®á«¥¤®¢ ⥫ì®áâì ¨§ n ®¯¥à 権 Insert ¨ m ®¯¥à 権 ExtractMin, ¯à¨ç¥¬ ®¯¥à 樨 Insert ¤®¡ ¢«ïîâ ¢ ¬®¦¥á⢮ ¯® ®¤®¬ã à §ã ¢á¥ âãà «ìë¥ ç¨á« ®â 1 ¤® n (¥ ®¡ï§ â¥«ì® ¢ ¯®à浪¥ ¢®§à áâ ¨ï). ॡã¥âáï ¯® ¤ ®© ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 Insert(x) ¨ Extract-Min ᮧ¤ âì ¬ áᨢ extracted[1::m], ¢ ª®â®à®¬ extracted[i] | ç¨á«®, ¢®§¢à é ¥¬®¥ i-®© ¯® áçñâã ®¯¥à 樥© Extract-Min. ®¢®àï ® "०¨¬¥ o-line", ¨¬¥îâ ¢ ¢¨¤ã, çâ® ®â á âॡã¥âáï ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 449 ¤ âì ®â¢¥â ¯®á«¥ ⮣®, ª ª ¬ë § ¥¬ ¢áî ¯®á«¥¤®¢ ⥫ì®áâì ª®¬ ¤ (¢ ¯à®â¨¢®¯®«®¦®áâì í⮬ã, ¢ ०¨¬¥ "on-line" ®â á âॡ®¢ «®áì ¡ë ¤ ¢ âì ®â¢¥â ¥¬¥¤«¥® ¯® ¯®áâ㯫¥¨¨ ®ç¥à¥¤®© ª®¬ ¤ë, ¥ ¤®¦¨¤ ïáì á«¥¤ãî饩). ( ) ãáâì ª®¬ ¤ë ¯®áâ㯠«¨ ¢ â ª®© ¯®á«¥¤®¢ ⥫ì®á⨠(¬ë ¯¨è¥¬ E ¢¬¥áâ® Extract-Min ¨ i ¢¬¥áâ® Insert(i)): 4; 8; E; 3; E; 9; 2; 6; E; E; E; 1; 7; E; 5: ª ¢ë£«ï¤¨â ¬ áᨢ extracted? «£®à¨â¬ ¤«ï à¥è¥¨ï § ¤ ç¨ ® ¬¨¨¬ã¬¥ ¢ ०¨¬¥ o-line ¬®¦¥â ¢ë£«ï¤¥âì á«¥¤ãî騬 ®¡à §®¬. ãáâì S | ¤ ï ¯®á«¥¤®¢ ⥫ì®áâì ª®¬ ¤. ।áâ ¢¨¬ ¥¥ ¢ ¢¨¤¥ I1 ; E; I2; E; I3; : : :; Im ; E; Im+1; £¤¥ ª ¦¤®¥ E ®¡®§ ç ¥â ®¯¥à æ¨î Extract-Min, ª ¦¤®¥ Ij ®¡®§ ç ¥â ¯®á«¥¤®¢ ⥫ì®áâì ®¯¥à 権 Insert (¢®§¬®¦®, ¯ãáâãî). «ï ª ¦¤®© ¯®á«¥¤®¢ ⥫ì®á⨠Ij ᮧ¤ ¤¨¬ ¬®¦¥á⢮ Kj , á®áâ®ï饥 ¨§ ç¨á¥«, ¤®¡ ¢«ï¥¬ëå ¢ T ¯à¨ ®¯¥à æ¨ïå Insert ¨§ ¯®á«¥¤®¢ ⥫ì®á⨠Ij . ⥯¥àì ᤥ« ¥¬ ¢®â çâ®: Off-Line-Minimum(m,n) 1 for i \gets 1 to n 2 do ©â¨ â ª®¥ $j$, çâ® $i\in K_j$ 3 if j \ne m+1 4 then extracted[j] \gets i 5 l \gets ( ¨¬¥ì襥 ç¨á«®, ¡®«ì襥 $j$, ¤«ï ª®â®à®£® áãé¥áâ¢ã¥â ¬®¦¥á⢮ $K_l$) 6 K_l\gets K_l\cup K_j (¬®¦¥á⢮ $K_j$ ¨á祧 ¥â) 7 return extracted (¡) ®ª ¦¨â¥, çâ® «£®à¨â¬ Off-Line-Minimum ¯à ¢¨«ì® § ¯®«ï¥â ¬ áᨢ extracted. (¢) ¥ «¨§ã©â¥ «£®à¨â¬ Off-Line-Minimum á ¯®¬®éìî á¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢. ©â¥ ¤®áâ â®ç® â®çãî ®æ¥ªã ¢à¥¬¥¨ à ¡®âë ¢ åã¤è¥¬ á«ãç ¥. 22-2 ¯à¥¤¥«¥¨¥ £«ã¡¨ë § ¤ ç¥ ®¯à¥¤¥«¥¨ï £«ã¡¨ë (depth-determination problem) âॡã¥âáï ॠ«¨§®¢ âì «¥á F , á®áâ®ï騩 ¨§ ª®à¥¢ëå ¤¥à¥¢ì¥¢ Ti, ¯®¤¤¥à¦¨¢ î騩 á«¥¤ãî騥 âਠ®¯¥à 樨: Make-Tree(v ) ®§¤ ¥â ®¢®¥ ¤¥à¥¢® á ¥¤¨á⢥®© ¢¥à訮© v . Find-Depth(v ) ®§¢à é ¥â £«ã¡¨ã (à ááâ®ï¨¥ ¤® ª®àï) ¢¥àè¨ë v. 450 « ¢ 22 ¨áâ¥¬ë ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠Graft(r; v ) ("¯à¨¢¨¢ª "). ¥àè¨ r ¤®«¦ ¡ëâì ª®à¥¬ ®¤®£® ¨§ ¤¥à¥¢ì¥¢, ¢¥àè¨ v ¤®«¦ ¯à¨ ¤«¥¦ âì ª ª ª®¬ã-â® ¤à㣮¬ã ¤¥à¥¢ã; ¤¥à¥¢® á ª®à¥¬ r "¯à¨¢¨¢ ¥âáï" ª ¤¥à¥¢ã, ᮤ¥à¦ 饬ã v, ¯à¨ í⮬ v áâ ®¢¨âáï த¨â¥«¥¬ r. ( ) ãáâì ¬ë ॠ«¨§®¢ «¨ íâã áâàãªâãàã ¤ ëå á«¥¤ãî騬 ®¡à §®¬. ¥à¥¢ìï ¯à¥¤áâ ¢«ïîâáï ª ª ¢ «¥á¥ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠(p[v] | த¨â¥«ì ¢¥àè¨ë v, ¥á«¨ v | ¥ ª®à¥ì, ¨ p[v] = v, ¥á«¨ v | ª®à¥ì), ¯à®æ¥¤ãà Graft(r; v) á®á⮨⠢ ¯à¨á¢ ¨¢ ¨¨ p[r] v , ¯à®æ¥¤ãà Make-Tree ¯¨á ®ç¥¢¨¤ë¬ ®¡à §®¬, ¨, ª®¥æ, ¤«ï 宦¤¥¨ï £«ã¡¨ë (Find-Depth(v)) ¬ë ¨¤¥¬ ¨§ v ¢ ª®à¥ì ¨ ¯®¤áç¨âë¢ ¥¬ ¤«¨ã ¯ãâ¨. ®ª ¦¨â¥, çâ® ¯à¨ í⮬ á⮨¬®áâì m ®¯¥à 権 Make-Tree, Graft ¨ Find-Depth ¢ åã¤è¥¬ á«ãç ¥ ¥áâì (m2). «£®à¨â¬ ¬®¦® ã᪮à¨âì, ¥á«¨ ¢®á¯®«ì§®¢ âìáï ®¡ê¥¤¨¥¨¥¬ ¯® à £ ¬ ¨ ᦠ⨥¬ ¯ã⥩. ¬¥â¨¬, çâ® áâàãªâãà ¤¥à¥¢ , 㦮£® ¤«ï ᦠâ¨ï ¯ã⥩, ¥ ®¡ï§ ᮮ⢥âá⢮¢ âì áâàãªâãॠ¨á室®£® ¤¥à¥¢ | ¢ ¦® «¨èì, çâ®¡ë ¬®¦® ¡ë«® ¢®ááâ ¢«¨¢ âì ¨ä®à¬ æ¨î ® £«ã¡¨¥ (ॡ஠®¢®£® ¤¥à¥¢ ¤®«¦® åà ¨âì ¨ä®à¬ æ¨î ® à §¨æ¥ £«ã¡¨ ª®æ®¢ à¥¡à ¢ áâ ஬ ¤¥à¥¢¥). (¡) ¥ «¨§ã©â¥ ®¯¥à æ¨î Make-Tree. (¢) ¥ «¨§ã©â¥ ®¯¥à æ¨î Find-Depth. è «£®à¨â¬ ¤®«¦¥ ¨á¯®«ì§®¢ âì ᦠ⨥ ¯ã⥩, ¥£® ¢à¥¬ï à ¡®âë ¤®«¦® ¡ëâì ¯à®¯®à樮 «ì® ¤«¨¥ ¯ã⨠¯®¨áª . (£) ¥ «¨§ã©â¥ ®¯¥à æ¨î Graft (¤¥©áâ¢ã©â¥ ¯® «®£¨¨ á «£®à¨â¬ ¬¨ Union ¨ Link; ª®à¥ì ¢ áâந¬®¬ ¤¥à¥¢¥ ¥ ®¡ï§ ¡ëâì ª®à¥¬ ¢ áâ ஬ á¬ëá«¥). (¤) ©â¥ â®çãî ®æ¥ªã á⮨¬®áâì ¯®á«¥¤®¢ ⥫ì®á⨠m ®¯¥à 権 Make-Tree, Graft ¨ Find-Depth, n ¨§ ª®â®àëå | ®¯¥à 樨 Make-Tree (¤«ï åã¤è¥£® á«ãç ï). 22-3 «£®à¨â¬ àìï ¤«ï 宦¤¥¨ï ¨¬¥ì襣® ®¡é¥£® ¯à¥¤ª ¢ ०¨¬¥ o-line. ¨¬¥ì訩 ®¡é¨© ¯à¥¤®ª (least common ancestor, ᮪à éñ® LCA) ¢¥àè¨ u ¨ v ª®à¥¢®£® ¤¥à¥¢ T ¥áâì, ¯® ®¯à¥¤¥«¥¨î, ¢¥àè¨ ¨¡®«ì襩 £«ã¡¨ë á।¨ ¢¥àè¨, ïîé¨åáï ¯à¥¤ª ¬¨ ª ª u, â ª ¨ v. ¤ ç ® 宦¤¥¨¨ ¨¬¥ìè¨å ®¡é¨å ¯à¥¤ª ¢ ०¨¬¥ o-line (o-line least-common-ancestors problem) á®á⮨⠢ á«¥¤ãî饬. ® ª®à¥¢®¥ ¤¥à¥¢® T ¨ ¥ª®â®à®¥ ¬®¦¥á⢮ P ¥ã¯®à冷ç¥ëå ¯ à ¥£® ¢¥àè¨. ॡã¥âáï ¤«ï ª ¦¤®© ¯ àë ¢¥àè¨ (u; v) 2 P ©â¨ ¨å ¨¬¥ì襣® ®¡é¥£® ¯à¥¤ª . ¨¦¥ ¯à¨¢¥¤ñ «£®à¨â¬ LCA, à¥è î騩 íâã § ¤ çã ( ¨¬¥ì訥 ®¡é¨¥ ¯à¥¤ª¨ ¢á¥å ¯ à (u; v) 2 P ¡ã¤ãâ ¯¥ç â ë ¢ १ã«ìâ ⥠¢ë§®¢ LCA(root[T ]); ¢ ç «¥ ¢á¥ ¢¥àè¨ë ¤¥à¥¢ | ¡¥«ë¥). LCA(u) 1 Make-Set(u) ¥ «¨§ æ¨ï á ¯®¬®éìî ᯨ᪮¢ 2 3 4 5 6 7 8 9 10 451 ancestor[Find-Set(u)] \gets u for (¤«ï) ª ¦¤®£® $v$, ïî饣®áï ॡñª®¬ $u$ do LCA(v) Union(u,v) ancestor[Find-Set(u)] \gets u ¯®ªà á¨âì u ¢ çñàë© æ¢¥â for (¤«ï) ª ¦¤®© ¢¥àè¨ë v â ª®©, çâ® $(u,v)\in P$ do if ¢¥àè¨ v çñà ï then print (`` ¨¬¥ì訩 ®¡é¨© ¯à¥¤®ª '' $u$ `` ¨ '' $v$ `` ¥áâì '' ancestor[Find-Set(v)] ( ) ®ª ¦¨â¥, çâ® áâப 10 ¨á¯®«ï¥âáï ¢ â®ç®á⨠®¤¨ à § ¤«ï ª ¦¤®© ¯ àë (u; v) 2 P . (¡) ®ª ¦¨â¥, çâ® ¢ १ã«ìâ ⥠¢ë§®¢ LCA(root[T ]) ª ¦¤ë© ¨§ ¯®á«¥¤ãîé¨å ¢ë§®¢®¢ LCA(u) ¯à®¨á室¨â ¢ â®â ¬®¬¥â, ª®£¤ ª®- «¨ç¥á⢮ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥áâ¢ à ¢® £«ã¡¨¥ ¢¥àè¨ë u ¢ ¤¥à¥¢¥ T . (¢) ®ª ¦¨â¥, çâ® ¢ १ã«ìâ ⥠¢ë§®¢ LCA([T ]) ¡ã¤ãâ ¯¥ç â ë ¨¬¥ì訥 ®¡é¨¥ ¯à¥¤ª¨ ¤«ï ¢á¥å ¯ à (u; v) 2 P . (£) 楨⥠¢à¥¬ï à ¡®âë «£®à¨â¬ LCA ¢ ¯à¥¤¯®«®¦¥¨¨, çâ® á¨á⥬ ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠ॠ«¨§®¢ á ¯®¬®éìî «¥á á ®¡ê¥¤¨¥¨¥¬ ¯® à £ ¬ ¨ ᦠ⨥¬ ¯ã⥩. ¬¥ç ¨ï ®£¨¥ ¢ ¦ë¥ १ã«ìâ âë ® á¨á⥬ å ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¢ ⮩ ¨«¨ ¨®© ¬¥à¥ ¯à¨ ¤«¥¦ â àìïã. ç áâ®áâ¨, ¨¬¥® ® ãáâ ®¢¨« ®æ¥ªã O(m(m; n)) [186, 188]. ®«¥¥ á« ¡ ï ®æ¥ª O(m lg n) ¡ë« à ¥¥ ¯®«ãç¥ ®¯ªà®ä⮬ ¨ «ì¬ ®¬ [4, 103]. à ¡®â¥ [190] àìï ¨ ¢ ¥ã¢¥ ®¡á㦤 îâ à §«¨çë¥ ¢ ਠâë ᦠâ¨ï ¯ã⥩, ¢ ⮬ ç¨á«¥ «£®à¨â¬ë, à ¡®â î騥 "§ ®¤¨ ¯à®å®¤" (¨®£¤ ®¨ à ¡®â îâ ¡ëáâ॥ "¤¢ãå¯à®å®¤ëå"). ¡®¢ ¨ àìï [76] ¯®ª § «¨, çâ® ¢ ¥ª®â®àëå ¯à¨«®¦¥¨ïå ®¯¥à 樨 á ¥¯¥à¥á¥ª î騬¨áï ¬®¦¥á⢠¬¨ ¬®¦® ¢ë¯®«¨âì § ¢à¥¬ï O(m). à ¡®â¥ [187] àìï ¯®ª § «, çâ® ¯à¨ ¥ª®â®àëå ¤®¯®«¨â¥«ìëå ãá«®¢¨ïå á⮨¬®áâì ®¯¥à 権 á ¥¯¥à¥á¥ª î騬¨áï ¬®¦¥á⢠¬¨ ¥ ¬®¦¥â ¡ëâì ¨¦¥, 祬 O(m(m; n)), ª ªãî ॠ«¨§ æ¨î ¬ë ¡ë ¨ ¨§¡à «¨. ।¬ ¨ ªá [74] ¯®ª § «¨, çâ®, ªà®¬¥ ⮣®, ¢ åã¤è¥¬ á«ãç ¥ í⨠®¯¥à 樨 âॡãîâ ®¡à é¥¨ï ª (m(m; n)) á«®¢ ¬ ¤«¨®î ¢ lg n ¡¨â®¢. 23 «£®à¨â¬ë £à ä å ¢¥¤¥¨¥ à äë ¢áâà¥ç îâáï ¢ á®âïå à §ëå § ¤ ç, ¨ «£®à¨â¬ë ®¡à ¡®âª¨ £à 䮢 ®ç¥ì ¢ ¦ë. í⮩ ç á⨠ª¨£¨ ¬ë à áᬮâਬ ¥áª®«ìª® ®á®¢ëå «£®à¨â¬®¢ ®¡à ¡®âª¨ £à 䮢. £« ¢¥ 23 à áᬠâਢ îâáï á¯®á®¡ë ¯à¥¤áâ ¢«¥¨ï £à ä ¢ ¯à®£à ¬¬¥, â ª¦¥ à §«¨çë¥ ¢ ਠâë ®¡å®¤ £à ä (¯®¨áª ¢ è¨à¨ã ¨ ¢ £«ã¡¨ã). ਢ®¤ïâáï ¤¢ ¯à¨¬¥¥¨ï ¯®¨áª ¢ £«ã¡¨ã: ⮯®«®£¨ç¥áª ï á®àâ¨à®¢ª ®à¨¥â¨à®¢ ®£® £à ä ¡¥§ 横«®¢ ¨ à §«®¦¥¨¥ ®à¨¥â¨à®¢ ®£® £à ä ¢ á㬬ã á¨«ì® á¢ï§ëå ª®¬¯®¥â. £« ¢¥ 24 à áᬠâਢ ¥âáï § ¤ ç ® ¯®ªàë¢ î饬 ¤¥à¥¢¥ ( ¡®à¥ àñ¡¥à, á¢ï§ë¢ î饬 ¢á¥ ¢¥àè¨ë £à ä ) ¬¨¨¬ «ì®£® ¢¥á . (ë ¯à¥¤¯®« £ ¥¬, çâ® ª ¦¤®¥ ॡ஠£à ä ¨¬¥¥â ¥ª®â®àë© ¯®«®¦¨â¥«ìë© ¢¥á.) «ï í⮩ § ¤ ç¨ ¯à¨¬¥¨¬ë ¦ ¤ë¥ «£®à¨â¬ë (á¬. £« ¢ã 18). £« ¢ å 25 ¨ 26 à áᬠâਢ ¥âáï § ¤ ç ® ªà âç ©è¨å ¯ãâïå. ®¢ì ª ¦¤®¬ã ॡà㠯ਯ¨á ® ¥ª®â®à®¥ ç¨á«®, ® ⥯¥àì ®® §ë¢ ¥âáï ¤«¨®© ॡà . ॡã¥âáï ©â¨ ªà âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¢® ¢á¥ ®áâ «ìë¥ (£« ¢ 25) ¨«¨ ªà âç ©è¨¥ ¯ã⨠¨§ ª ¦¤®© ¢¥àè¨ë ¢ ª ¦¤ãî (£« ¢ 26). ª®¥æ, ¢ £« ¢¥ 27 à ᬠâਢ ¥âáï § ¤ ç¥ ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¢¥é¥á⢠ç¥à¥§ á¥âì âàã¡ ®£à ¨ç¥®© ¯à®¯ã᪮© ᯮᮡ®áâ¨. ¦¤®¥ ॡ஠à áᬠâਢ ¥âáï ª ª âàã¡ ¥ª®â®à®© ¯à®¯ã᪮© ᯮᮡ®áâ¨. ¥ª®â®à®© ¢¥à訥 室¨âáï ¨áâ®ç¨ª ¢¥é¥á⢠, ¢ ¤à㣮© | ¯®âॡ¨â¥«ì. ¯à 訢 ¥âáï, ª ª®© ¯®â®ª ¢¥é¥á⢠¬®¦® ¯¥à¥¤ ¢ âì ®â ¨áâ®ç¨ª ª ¯®âॡ¨â¥«î, ¥ ¯à¥¢ëè ï ¯à®¯ã᪮© ᯮᮡ®á⨠âàã¡. â § ¤ ç ¢ ¦ , ¯®áª®«ìªã ª ¥© ᢮¤¨âáï ¬®£¨¥ ¨â¥à¥áë¥ § ¤ ç¨. ë ¡ã¤¥¬ ®æ¥¨¢ âì ¢à¥¬ï ®¡à ¡®âª¨ § ¤ ®£® £à ä G = (V; E ) ¢ § ¢¨á¨¬®á⨠®â ç¨á« ¥£® ¢¥àè¨ (jV j) ¨ àñ¡¥à (jE j); ¬ë ¡ã¤¥¬ ¤«ï ªà ⪮á⨠¯¨á âì V ¨ E ¢¬¥áâ® jV j ¨ jE j. ¯à®£à ¬¬ å ¬®¦¥á⢮ ¢¥àè¨ £à ä G ¬ë ¡ã¤¥¬ ®¡®§ ç âì V [G], ¬®¦¥á⢮ àñ¡¥à | E [G]. á®¢ë¥ «£®à¨â¬ë £à ä å 453 23.1 á®¢ë¥ «£®à¨â¬ë £à ä å í⮩ £« ¢¥ ®¯¨á ë ®á®¢ë¥ á¯®á®¡ë ¯à¥¤áâ ¢«¥¨ï £à 䮢 ¨ «£®à¨â¬ë ®¡å®¤ £à 䮢. ¡å®¤ï £à ä, ¬ë ¤¢¨£ ¥¬áï ¯® àñ¡à ¬ ¨ ¯à®å®¤¨¬ ¢á¥ ¢¥àè¨ë. ਠí⮬ ª ¯«¨¢ ¥âáï ¤®¢®«ì® ¬®£® ¨ä®à¬ 樨, ª®â®à ï ¯®«¥§ ¤«ï ¤ «ì¥©è¥© ®¡à ¡®âª¨ £à ä , â ª çâ® ®¡å®¤ £à ä ¢å®¤¨â ª ª á®áâ ¢ ï ç áâì ¢® ¬®£¨¥ «£®à¨â¬ë. à §¤¥«¥ 23.1 ®¡á㦤 îâáï ¤¢ ®á®¢ëå ᯮᮡ ¯à¥¤áâ ¢«¥¨ï £à ä ¢ ¯ ¬ï⨠ª®¬¯ìîâ¥à | á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨ ¨ á ¯®¬®éìî ¬ âà¨æë ᬥ¦®áâ¨. §¤¥« 23.2 ®¯¨áë¢ ¥â «£®à¨â¬ ¯®¨áª ¢ è¨à¨ã ¨ ᮮ⢥âáâ¢ãî饥 í⮬㠫£®à¨â¬ã ¤¥à¥¢®. à §¤¥«¥ 23.3 à áᬠâਢ ¥âáï ¤à㣮© ¯®à冷ª ®¡å®¤ ¢¥àè¨ ¨ ¤®ª §ë¢ îâáï ᢮©á⢠ᮮ⢥âáâ¢ãî饣® «£®à¨â¬ ( §ë¢ ¥¬®£® ¯®¨áª®¬ ¢ £«ã¡¨ã). à §¤¥«¥ 23.4 ¬ë ¨á¯®«ì§ã¥¬ à §à ¡®â ë¥ ¬¥â®¤ë ¤«ï à¥è¥¨ï § ¤ ç¨ ® ⮯®«®£¨ç¥áª®© á®àâ¨à®¢ª¥ ®à¨¥â¨à®¢ ®£® £à ä ¡¥§ 横«®¢. à㣮¥ ¯à¨¬¥¥¨¥ ¯®¨áª ¢ £«ã¡¨ã (®âë᪠¨ï á¨«ì® á¢ï§ëå ª®¬¯®¥â ®à¨¥â¨à®¢ ®£® £à ä ) ®¯¨á ® ¢ à §¤¥«¥ 23.5. 23.1.1 ।áâ ¢«¥¨¥ £à 䮢 áâì ¤¢ áâ ¤ àâëå ᯮᮡ ¯à¥¤áâ ¢¨âì £à ä G = (V; E ) | ª ª ¡®à ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨ ¨«¨ ª ª ¬ âà¨æã ᬥ¦®áâ¨. ¥à¢ë© ®¡ëç® ¯à¥¤¯®çâ¨â¥«ì¥¥, ¨¡® ¤ ñâ ¡®«¥¥ ª®¬¯ ªâ®¥ ¯à¥¤áâ ¢«¥¨¥ ¤«ï à §à¥¦¥ëå (sparse) £à 䮢 | â¥å, ã ª®â®àëå jE j ¬®£® ¬¥ìè¥ jV j2. ®«ìè¨á⢮ ¨§¤ £ ¥¬ëå ¬¨ «£®à¨â¬®¢ ¨á¯®«ì§ãîâ ¨¬¥® íâ® ¯à¥¤áâ ¢«¥¨¥. ¤ ª® ¢ ¥ª®â®àëå á¨âã æ¨ïå 㤮¡¥¥ ¯®«ì§®¢ âìáï ¬ âà¨æ¥© ᬥ¦®á⨠| ¯à¨¬¥à, ¤«ï ¯«®âëå (dense) £à 䮢, ã ª®â®àëå jE j áà ¢¨¬® á jV j2. âà¨æ ᬥ¦®á⨠¯®§¢®«ï¥â ¡ëáâà® ®¯à¥¤¥«¨âì, ᮥ¤¨¥ë «¨ ¤¢¥ ¤ ë¥ ¢¥àè¨ë ॡ஬. ¢ «£®à¨â¬ ®âë᪠¨ï ªà âç ©è¨å ¯ã⥩ ¤«ï ¢á¥å ¯ à ¢¥àè¨, ®¯¨á ë¥ ¢ £« ¢¥ 26, ¨á¯®«ì§ãî⠯।áâ ¢«¥¨¥ £à ä á ¯®¬®éìî ¬ âà¨æë ᬥ¦®áâ¨. ।áâ ¢«¥¨¥ £à ä G = (V; E ) ¢ ¢¨¤¥ ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨ (adjancency-list representation) ¨á¯®«ì§ã¥â ¬ áᨢ Adj ¨§ jV j ᯨ᪮¢ | ¯® ®¤®¬ã ¢¥àè¨ã. «ï ª ¦¤®© ¢¥àè¨ë u 2 V ᯨ᮪ ᬥ¦ëå ¢¥àè¨ Adj [u] ᮤ¥à¦¨â ¢ ¯à®¨§¢®«ì®¬ ¯®à浪¥ (㪠§ ⥫¨ ) ¢á¥ ᬥ¦ë¥ á ¥© ¢¥àè¨ë (¢á¥ ¢¥àè¨ë v, ¤«ï ª®â®àëå (u; v ) 2 E ). à¨á. 23.1 (b) ¯®ª § ® ¯à¥¤áâ ¢«¥¨¥ ¥®à¨¥â¨à®¢ ®£® £à ä à¨á. 23.1 (a) á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. «®£¨ç®¥ ¯à¥¤áâ ¢«¥¨¥ ¤«ï ®à¨¥â¨à®¢ ®£® £à ä à¨á. 23.2 (a) ¨§®¡à ¦¥® à¨á. 23.2 (b). 454 « ¢ 23 «£®à¨â¬ë £à ä å ¨á㮪 23.1 23.1 ¢ ¯à¥¤áâ ¢«¥¨ï ¥®à¨¥â¨à®¢ ®£® £à ä . (a) ¥®à¨¥â¨à®¢ ë© £à ä G á 5 ¢¥àè¨ ¬¨ ¨ 7 àñ¡à ¬¨. (b) ।áâ ¢«¥¨¥ í⮣® £à ä á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. (c) ।áâ ¢«¥¨¥ í⮣® £à ä ¢ ¢¨¤¥ ¬ âà¨æë ᬥ¦®áâ¨. ¨á㮪 23.2 23.2 ¢ ¯à¥¤áâ ¢«¥¨ï ®à¨¥â¨à®¢ ®£® £à ä . (a) ਥâ¨à®¢ ë© £à ä G á 6 ¢¥àè¨ ¬¨ ¨ 8 àñ¡à ¬¨. (b) ।áâ ¢«¥¨¥ í⮣® £à ä á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. (c) ।áâ ¢«¥¨¥ í⮣® £à ä ¢ ¢¨¤¥ ¬ âà¨æë ᬥ¦®áâ¨. «ï ®à¨¥â¨à®¢ ®£® £à ä á㬬 ¤«¨ ¢á¥å ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨ à ¢ ®¡é¥¬ã ç¨á«ã àñ¡¥à: ॡàã (u; v) ᮮ⢥âáâ¢ã¥â í«¥¬¥â v ᯨ᪠Adj [u]. «ï ¥®à¨¥â¨à®¢ ®£® £à ä íâ á㬬 à ¢ 㤢®¥®¬ã ç¨á«ã àñ¡¥à, â ª ª ª ॡ஠(u; v) ¯®à®¦¤ ¥â í«¥¬¥â ¢ ᯨ᪥ ᬥ¦ëå ¢¥àè¨ ª ª ¤«ï ¢¥àè¨ë u, â ª ¨ ¤«ï v. ®¡®¨å á«ãç ïå ª®«¨ç¥á⢮ âॡ㥬®© ¯ ¬ï⨠¥áâì O(max(V; E )) = O(V + E ). ¯¨áª¨ ᬥ¦ëå ¢¥àè¨ ã¤®¡ë ¤«ï åà ¥¨ï £à 䮢 á ¢¥á ¬¨ (weighted graphs), ¢ ª®â®àëå ª ¦¤®¬ã ॡà㠯ਯ¨á ¥ª®â®àë© ¢¥é¥áâ¢¥ë© ¢¥á (weight), â® ¥áâì § ¤ ¢¥á®¢ ï äãªæ¨ï (weight function) w : E ! . í⮬ á«ãç ¥ 㤮¡® åà ¨âì ¢¥á w(u; v ) ॡà (u; v ) 2 E ¢¬¥áâ¥ á ¢¥à訮© v ¢ ᯨ᪥ ¢¥àè¨, ᬥ¦ëå á u. ®¤®¡ë¬ ®¡à §®¬ ¬®¦® åà ¨âì ¨ ¤àã£ãî ¨ä®à¬ æ¨î, á¢ï§ ãî á £à 䮬. ¥¤®áâ ⮪ í⮣® ¯à¥¤áâ ¢«¥¨ï â ª®¢: ¥á«¨ ¬ë å®â¨¬ 㧠âì, ¥áâì «¨ ¢ £à ä¥ à¥¡à® ¨§ u ¢ v, ¯à¨å®¤¨âáï ¯à®á¬ âਢ âì ¢¥áì ᯨ᮪ Adj [u] ¢ ¯®¨áª å v. ⮣® ¬®¦® ¨§¡¥¦ âì, ¯à¥¤áâ ¢¨¢ £à ä ¢ ¢¨¤¥ ¬ âà¨æë ᬥ¦®á⨠| ® ⮣¤ ¯®âॡã¥âáï ¡®«ìè¥ ¯ ¬ïâ¨. ਠ¨á¯®«ì§®¢ ¨¨ ¬ âà¨æë ᬥ¦®á⨠¬ë 㬥à㥬 ¢¥àè¨ë £à ä (V; E ) ç¨á« ¬¨ 1; 2; : : : ; jV j ¨ à áᬠâਢ ¥¬ ¬ âà¨æã A = (aij ) à §¬¥à jV j jV j, ¤«ï ª®â®à®© 1; ¥á«¨ (i; j ) 2 E , aij = 0 ¢ ¯à®â¨¢®¬ á«ãç ¥ à¨á. 23.1 (c) ¨ 23.2 (c) ¯®ª § ë ¬ âà¨æë ᬥ¦®á⨠¥®à¨¥â¨à®¢ ®£® ¨ ®à¨¥â¨à®¢ ®£® £à 䮢 à¨á. 23.1 (a) ¨ 23.2 (a) ᮮ⢥âá⢥®. âà¨æ ᬥ¦®á⨠âॡã¥â (V 2) ¯ ¬ï⨠¥§ ¢¨á¨¬® ®â ª®«¨ç¥á⢠ॡ¥à ¢ £à ä¥. «ï ¥®à¨¥â¨à®¢ ®£® £à ä ¬ âà¨æ ᬥ¦®á⨠ᨬ¬¥âà¨ç ®â®á¨â¥«ì® £« ¢®© ¤¨ £® «¨ (ª ª à¨á. 3.1(c)), ¯®áª®«ìªã (u; v ) ¨ (v; u) | íâ® ®¤® ¨ â® ¦¥ ॡà®. à㣨¬¨ á«®¢ ¬¨, ¬ âà¨æ ᬥ¦®á⨠¥®à¨¥â¨à®¢ ®£® £à ä ᮢ¯ ¤ ¥â ᮠ᢮¥© âà ᯮ¨à®¢ ®© (transpose). (à ᯮ¨à®¢ ¨¥¬ §ë¢ ¥âáï ¯¥à¥å®¤ ®â ¬ âà¨æë A = (aij ) ª ¬ âà¨æ¥ AT = (aTij ), ¤«ï ª®â®à®© aTij = aji. « £®¤ àï ᨬ¬¥âਨ ¤®áâ â®ç® åà ¨âì ⮫쪮 ç¨á« £« ¢R á®¢ë¥ «£®à¨â¬ë £à ä å 455 ®© ¤¨ £® «¨ ¨ ¢ëè¥ ¥¥, ⥬ á ¬ë¬ ¬ë ᮪à é ¥¬ âॡ㥬ãî ¯ ¬ïâì ¯®ç⨠¢¤¢®¥. ª ¨ ¤«ï ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨, åà ¥¨¥ ¢¥á®¢ ¥ á®áâ ¢«ï¥â ¯à®¡«¥¬ë: ¢¥á w(u; v) ॡà (u; v) ¬®¦® åà ¨âì ¢ ¬ âà¨æ¥ ¯¥à¥á¥ç¥¨¨ u-⮩ áâப¨ ¨ v-£® á⮫¡æ . «ï ®âáãâáâ¢ãîé¨å àñ¡¥à ¬®¦® § ¯¨á âì á¯¥æ¨ «ì®¥ § 票¥ NIL (¢ ¥ª®â®àëå § ¤ ç å ¢¬¥áâ® í⮣® ¯¨èãâ 0 ¨«¨ 1). «ï ¥¡®«ìè¨å £à 䮢, ª®£¤ ¬¥áâ ¢ ¯ ¬ï⨠¤®áâ â®ç®, ¬ âà¨æ ᬥ¦®á⨠¡ë¢ ¥â 㤮¡¥¥ | á ¥© ç áâ® ¯à®é¥ à ¡®â âì. ஬¥ ⮣®, ¥á«¨ ¥ ¤® åà ¨âì ¢¥á , â® í«¥¬¥âë ¬¥âà¨æë ᬥ¦®á⨠¯à¥¤áâ ¢«ïîâ ᮡ®© ¡¨âë, ¨ ¨å ¬®¦® à §¬¥é âì ¯® ¥áª®«ìªã ¢ ®¤®¬ ¬ 訮¬ á«®¢¥, çâ® ¤ ñâ § ¬¥âãî íª®®¬¨î ¯ ¬ïâ¨. ¯à ¦¥¨ï 23.1-1 à ä åà ¨âáï ¢ ¢¨¤¥ ᯨ᪮¢ ᬥ¦®áâ¨. ª®«ìª® ®¯¥à 権 㦮, çâ®¡ë ©â¨ ç¨á«® ¢ë室ïé¨å ¨§ ¤ ®© ¢¥àè¨ë àñ¡¥à? ç¨á«® ¢å®¤ïé¨å ¢ ¤ ãî ¢¥àè¨ã àñ¡¥à? 23.1-2 ª ¦¨â¥ ¯à¥¤áâ ¢«¥¨¥ ¢ ¢¨¤¥ ᯨ᪮¢ ᬥ¦®á⨠¨ ¬ âà¨æã ᬥ¦®á⨠¤«ï £à ä , ïî饣®áï ¯®«ë¬ ¤¢®¨çë¬ ¤¥à¥¢®¬ á 7 ¢¥àè¨ ¬¨ (¯à®ã¬¥à®¢ 묨 ®â 1 ¤® 7 ª ª ¯à¨ á®àâ¨à®¢ª¥ á ¯®¬®éìî ªãç¨ ¢ £« ¢¥ 7). 23.1-3 â® ¯à®¨§®©¤ñâ á ¬ âà¨æ¥© ᬥ¦®á⨠®à¨¥â¨à®¢ ®£® £à ä , ¥á«¨ ®¡à â¨âì ¯à ¢«¥¨ï áâ५®ª ¢á¥å ¥£® àñ¡à å, § ¬¥¨¢ ª ¦¤®¥ ॡ஠(u; v) ॡ஠(v; u)? ª ®¡à â¨âì ¯à «¥¨ï áâ५®ª, ¥á«¨ £à ä åà ¨âáï ¢ ä®à¬¥ ᯨ᪮¢ ᬥ¦®áâ¨? 楨⥠âॡ㥬®¥ ¤«ï í⮣® ç¨á«® ®¯¥à 権. 23.1-4 ã«ì⨣à ä G = (V; E ) ¯à¥¤áâ ¢«¥ ¢ ¢¨¤¥ ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. ª § ¢à¥¬ï O(V + E ) ¯à¥®¡à §®¢ âì ¥£® ¢ ®¡ëçë© ¥®à¨¥â¨à®¢ ë© £à ä G0 = (V; E 0), § ¬¥¨¢ ªà âë¥ àñ¡à ®¡ëçë¥ ¨ 㤠«¨¢ àñ¡à -横«ë? 23.1-5 ¢ ¤à ⮬ (square) ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) §ë¢ ¥âáï £à ä G2 = (V; E 2), ¯®áâà®¥ë© â ª: (u; w) 2 E 2, ¥á«¨ áãé¥áâ¢ã¥â ¢¥àè¨ v 2 V , ¤«ï ª®â®à®© (u; v) 2 E ¨ (v; w) 2 E (¤¢¥ ¢¥àè¨ë ᮥ¤¨ïîâáï ॡ஬, ¥á«¨ à ìè¥ ¡ë« ¯ãâì ¨§ ¤¢ãå àñ¡¥à). ª ¯à¥®¡à §®¢ âì G ¢ G2, ¥á«¨ £à ä åà ¨âáï ¢ ¢¨¤¥ ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨? ª ª ¬ âà¨æ ᬥ¦®áâ¨? 楨⥠¢à¥¬ï à ¡®âë ¢ è¨å «£®à¨â¬®¢. 23.1-6 ®ç⨠«î¡®© «£®à¨â¬, ¨á¯®«ì§ãî騩 ¬ âà¨æë ᬥ¦®áâ¨, âॡã¥â ¢à¥¬¥¨ (V 2) (¯à®áâ® ç⥨¥ í⮩ ¬ âà¨æë), ® ¡ë¢ îâ ¨ ¨áª«î票ï. ®ª ¦¨â¥, çâ® § ¢à¥¬ï O(V ) ¯® ¬ âà¨æ¥ ᬥ¦®- 456 « ¢ 23 «£®à¨â¬ë £à ä å á⨠¬®¦® ¢ëïá¨âì, ᮤ¥à¦¨â «¨ ®à¨¥â¨à®¢ ë© £à ä "á⮪" (sink) | ¢¥àè¨ã, ¢ ª®â®àãî ¢¥¤ãâ àñ¡à ¨§ ¢á¥å ¤àã£¨å ¢¥àè¨ ¨ ¨§ ª®â®à®© ¥ ¢ë室¨â ¨ ®¤®£® ॡà . 23.1-7 §®¢¥¬ ¬ âà¨æ¥© ¨æ¨¤¥â®á⨠(incidence matrix) ®à¨¥â¨à®¢ ®£® £à ä G = (E; V ) ¬ âà¨æã B = (bij ) à §¬¥à jV j jE j, ¢ ª®â®à®© 8 > < ;1; ¥á«¨ ॡ஠j ¢ë室¨â ¨§ ¢¥àè¨ë i, bij = > 1; ¥á«¨ ॡ஠j ¢å®¤¨â ¢ ¢¥àè¨ã i, : 0 ¢ ®áâ «ìëå á«ãç ïå. ª®¢ á¬ëá« í«¥¬¥â®¢ ¬ âà¨æë BBT ? (¤¥áì BT | âà ᯮ¨à®¢ ï ¬ âà¨æ .) 23.1.2 ®¨áª ¢ è¨à¨ã ®¨áª ¢ è¨à¨ã (breadth-rst search) | ®¤¨ ¨§ ¡ §¨áëå «£®à¨â¬®¢, á®áâ ¢«ïî騩 ®á®¢ã ¬®£¨å ¤à㣨å. ¯à¨¬¥à, «£®à¨â¬ ¥©ªáâàë ¯®¨áª ªà âç ©è¨å ¯ã⥩ ¨§ ®¤®© ¢¥àè¨ë (£« ¢ 25) ¨ «£®à¨â¬ ਬ ¯®¨áª ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ (à §¤¥« 24.2) ¬®£ãâ à áᬠâਢ âìáï ª ª ®¡®¡é¥¨ï ¯®¨áª ¢ è¨à¨ã. ãáâì § ¤ £à ä G = (V; E ) ¨ 䨪á¨à®¢ ç «ì ï ¢¥àè¨ (source vertex) s. «£®à¨â¬ ¯®¨áª ¢ è¨à¨ã ¯¥à¥ç¨á«¨¥â ¢á¥ ¤®á⨦¨¬ë¥ ¨§ s (¥á«¨ ¨¤â¨ ¯® àñ¡à ¬) ¢¥àè¨ë ¢ ¯®à浪¥ ¢®§à áâ ¨ï à ááâ®ï¨ï ®â s. ááâ®ï¨¥¬ áç¨â ¥âáï ¤«¨ ¬¨¨¬ «ì®£® ¯ã⨠¨§ ç «ì®© ¢¥àè¨ë. ¯à®æ¥áᥠ¯®¨áª ¨§ £à ä ¢ë¤¥«ï¥âáï ç áâì, §ë¢ ¥¬ ï "¤¥à¥¢®¬ ¯®¨áª ¢ è¨à¨ã" á ª®à¥¬ s. ᮤ¥à¦¨â ¢á¥ ¤®á⨦¨¬ë¥ ¨§ s ¢¥àè¨ë (¨ ⮫쪮 ¨å). «ï ª ¦¤®© ¨§ ¨å ¯ãâì ¨§ ª®àï ¢ ¤¥à¥¢¥ ¯®¨áª ¡ã¤¥â ®¤¨¬ ¨§ ªà âç ©è¨å ¯ã⥩ (¨§ ç «ì®© ¢¥àè¨ë) ¢ £à ä¥. «£®à¨â¬ ¯à¨¬¥¨¬ ¨ ª ®à¨¥â¨à®¢ ë¬, ¨ ª ¥®à¨¥â¨à®¢ ë¬ £à ä ¬. §¢ ¨¥ ®¡êïáï¥âáï ⥬, çâ® ¢ ¯à®æ¥áᥠ¯®¨áª ¬ë ¨¤ñ¬ ¢è¨àì, ¥ ¢£«ã¡ì (á ç « ¯à®á¬ âਢ ¥¬ ¢á¥ á®á¥¤¨¥ ¢¥àè¨ë, § ⥬ á®á¥¤¥© á®á¥¤¥© ¨ â.¤.). «ï £«ï¤®á⨠¬ë ¡ã¤¥¬ áç¨â âì, çâ® ¢ ¯à®æ¥áá¥ à ¡®âë «£®à¨â¬ ¢¥àè¨ë £à ä ¬®£ãâ ¡ëâì ¡¥«ë¬¨, á¥à묨 ¨ çñà묨. ç «¥ ®¨ ¢á¥ ¡¥«ë¥, ® ¢ 室¥ à ¡®âë «£®à¨â¬ ¡¥« ï ¢¥àè¨ ¬®¦¥â áâ âì á¥à®©, á¥à ï | çñன (® ¥ ®¡®à®â). ®¢áâà¥ç ¢ ®¢ãî ¢¥àè¨ã, «£®à¨â¬ ¯®¨áª ªà á¨â ¥ñ, â ª çâ® ®ªà è¥ë¥ (á¥àë¥ ¨«¨ çñàë¥) ¢¥àè¨ë | íâ® ¢ â®ç®á⨠â¥, ª®â®àë¥ ã¦¥ ®¡ à㦥ë. §«¨ç¨¥ ¬¥¦¤ã á¥à묨 ¨ çñà묨 ¢¥àè¨ ¬¨ ¨á¯®«ì§ã¥âáï «£®à¨â¬®¬ ¤«ï ã¯à ¢«¥¨ï ¯®à浪®¬ ®¡å®¤ : á¥àë¥ ¢¥àè¨ë ®¡à §ãîâ "«¨¨î äà®â ", çñàë¥ | "âë«". ®«¥¥ â®ç®, ¯®¤¤¥à¦¨¢ ¥âáï â ª®¥ ᢮©á⢮: ¥á«¨ (u; v) 2 E ¨ u çñà ï, á®¢ë¥ «£®à¨â¬ë £à ä å 457 â® v | á¥à ï ¨«¨ çñà ï ¢¥àè¨ . ª¨¬ ®¡à §®¬, ⮫쪮 á¥àë¥ ¢¥àè¨ë ¬®£ãâ ¨¬¥âì ᬥ¦ë¥ ¥®¡ àã¦¥ë¥ ¢¥àè¨ë. ç «¥ ¤¥à¥¢® ¯®¨áª á®á⮨â ⮫쪮 ¨§ ª®àï | ç «ì®© ¢¥àè¨ë s. ª ⮫쪮 «£®à¨â¬ ®¡ à㦨¢ ¥â ®¢ãî ¡¥«ãî ¢¥àè¨ã v, ᬥ¦ãî c à ¥¥ ©¤¥®© ¢¥à訮© u, ¢¥àè¨ v (¢¬¥á⥠á ॡ஬ (u; v)) ¤®¡ ¢«ï¥âáï ª ¤¥à¥¢ã ¯®¨áª , áâ ®¢ïáì ॡñª®¬ (child) ¢¥àè¨ë u, u áâ ®¢¨âáï த¨â¥«¥¬ (parent) v. ¦¤ ï ¢¥àè¨ ®¡ à㦨¢ ¥âáï ⮫쪮 ®¤ ¦¤ë, â ª çâ® ¤¢ãå த¨â¥«¥© ã ¥ñ ¡ëâì ¥ ¬®¦¥â. ®ïâ¨ï ¯à¥¤ª (ancestor) ¨ ¯®â®¬ª (descendant) ®¯à¥¤¥«ïîâáï ª ª ®¡ëç® (¯®â®¬ª¨ | íâ® ¤¥â¨, ¤¥â¨ ¤¥â¥©, ¨ â.¤.). ¢¨£ ïáì ®â ¢¥àè¨ë ª ª®àî, ¬ë ¯à®å®¤¨¬ ¢á¥å ¥ñ ¯à¥¤ª®¢. ਢ¥¤¥ ï ¨¦¥ ¯à®æ¥¤ãà BFS (breadth-rst search | ¯®¨áª ¢ è¨à¨ã) ¨á¯®«ì§ã¥â ¯à¥¤áâ ¢«¥¨¥ £à ä G = (V; E ) ᯨ᪠¬¨ ᬥ¦ëå ¢¥àè¨. «ï ª ¦¤®© ¢¥àè¨ë u £à ä ¤®¯®«¨â¥«ì® åà ïâáï ¥ñ 梥â color[u] ¨ ¥ñ ¯à¥¤è¥á⢥¨ª [u]. ᫨ ¯à¥¤è¥á⢥¨ª ¥â ( ¯à¨¬¥à, ¥á«¨ u = s ¨«¨ u ¥éñ ¥ ®¡ à㦥 ), [u] = nil. ஬¥ ⮣®, à ááâ®ï¨¥ ®â s ¤® u § ¯¨áë¢ ¥âáï ¢ ¬ áᨢ d[u]. à®æ¥¤ãà ¨á¯®«ì§ã¥â â ª¦¥ ®ç¥à¥¤ì Q (FIFO, à §¤¥« 11.1) ¤«ï åà ¥¨ï ¬®¦¥á⢠á¥àëå ¢¥àè¨. BFS$(G,s)$ 1 for (¤«ï) ¢á¥å ¢¥àè¨ $u\in V[G]-\{s\}$ 2 do $color[u] \leftarrow$ 3 $d[u] \leftarrow \infty$ 4 $\pi [u] \leftarrow$ NIL 5 $color[s] \leftarrow$ 6 $d[s] \leftarrow 0$ 7 $\pi [s] \leftarrow$ NILL 8 $Q\leftarrow \{s\}$ 9 while $Q\ne \emptyset$ 10 do $u\leftarrow head[Q]$ 11 for (¤«ï) ¢á¥å $v\in Adj[u]$ 12 do if $color[v]=$ 13 then $color[v]\leftarrow$ 14 $d[v]\leftarrow d[u]+1$ 15 $\pi[v]\leftarrow u$ 16 Enqueue($Q,v$) 17 Dequeue($Q$) 18 $color[u]\leftarrow$ à¨á.~23.3 ¯à¨¢¥¤ñ ¯à¨¬¥à ¨á¯®«¥¨ï ¯à®æ¥¤ãàë \textsc{BFS}. \begin{figure} 458 « ¢ 23 «£®à¨â¬ë £à ä å \caption{ 23.3 ᯮ«¥¨¥ ¯à®æ¥¤ãàë \textsc{BFS} ¤«ï ¥®à¨¥â¨à®¢ ®£® £à ä . ñ¡à ä®à¬¨à㥬®£® ¤¥à¥¢ ¯®ª § ë á¥à묨. ãâਠª ¦¤®© ¢¥àè¨ë $u$ 㪠§ ® § 票¥ $d[u]$. ®ª § ® á®áâ®ï¨¥ ®ç¥à¥¤¨ $Q$ ¯¥à¥¤ ª ¦¤ë¬ ¯®¢â®à¥¨¥¬ 横« ¢ áâப å 9--18. 冷¬ á í«¥¬¥â ¬¨ ®ç¥à¥¤¨ ¯®ª § ë à ááâ®ï¨ï ®â ª®àï. } \end{figure} áâப å 1--4 ¢á¥ ¢¥àè¨ë áâ ®¢ïâáï ¡¥«ë¬¨, ¢á¥ § 票ï $d$ ¡¥áª®¥ç묨, ¨ த¨â¥«¥¬ ¢á¥å ¢¥àè¨ ®¡êï¥âáï \textsc{nil}. âப¨ 5--8 ªà áïâ ¢¥àè¨ã $s$ ¢ á¥àë© æ¢¥â ¨ ¢ë¯®«ïîâ á¢ï§ ë¥ á í⨬ ¤¥©á⢨ï: ¢ áâப¥ 6 à ááâ®ï¨¥ $d[s]$ ®¡êï¥âáï à ¢ë¬ $0$, ¢ áâப¥ $7$ £®¢®à¨âáï, ç⮠த¨â¥«ï ã $s$ ¥â. ª®¥æ, ¢ áâப¥ $8$ ¢¥àè¨ $s$ ¯®¬¥é ¥âáï ¢ ®ç¥à¥¤ì $Q$, ¨ á í⮣® ¬®¬¥â ®ç¥à¥¤ì ¡ã¤¥â ᮤ¥à¦ âì ¢á¥ á¥àë¥ ¢¥àè¨ë ¨ ⮫쪮 ¨å. ᮢ®© 横« ¯à®£à ¬¬ë (áâப¨ 9--18) ¢ë¯®«ï¥âáï, ¯®ª ®ç¥à¥¤ì ¥¯ãáâ , â® ¥áâì áãé¥áâ¢ãîâ á¥àë¥ ¢¥àè¨ë (¢¥àè¨ë, ª®â®àë¥ ã¦¥ ®¡ à㦥ë, ® ᯨ᪨ ᬥ¦®á⨠ª®â®àëå ¥é¥ ¥ ¯à®á¬®âà¥ë). áâப¥ 10 ¯¥à¢ ï â ª ï ¢¥àè¨ ¯®¬¥é ¥âáï ¢ $u$. ¨ª« \textbf{for} ¢ áâப å 11--16 ¯à®á¬ âਢ ¥â ¢á¥ ᬥ¦ë¥ á ¥© ¢¥àè¨ë. ¡ à㦨¢ á।¨ ¨å ¡¥«ãî ¢¥àè¨ã, ¬ë ¤¥« ¥¬ ¥ñ á¥à®© (áâப 13), ®¡ê塞 $u$ ¥ñ த¨â¥«¥¬ (áâப 15) ¨ ãáâ ¢«¨¢ ¥¬ à ááâ®ï¨¥ à ¢ë¬ $d[u]+1$ (áâப 14). ª®¥æ, íâ ¢¥àè¨ ¤®¡ ¢«ï¥âáï ¢ 墮áâ ®ç¥à¥¤¨ $Q$ (áâப 16). ®á«¥ í⮣® 㦥 ¬®¦® 㤠«¨âì ¢¥àè¨ã $u$ ¨§ ®ç¥à¥¤¨ $Q$, ¯¥à¥ªà ᨢ íâã ¢¥àè¨ã ¢ çñàë© æ¢¥â (áâப¨ 17--18). «¨§ çñ¬ á ¡®«¥¥ ¯à®á⮣® --- ®æ¥¨¬ ¢à¥¬ï à ¡®âë ®¯¨á ®© ¯à®æ¥¤ãàë. ¯à®æ¥áá¥ à ¡®âë ¢¥àè¨ë ⮫쪮 ⥬¥îâ, â ª çâ® ª ¦¤ ï ¢¥àè¨ ª« ¤ñâáï ¢ ®ç¥à¥¤ì ¥ ¡®«¥¥ ®¤®£® à § (¡« £®¤ àï ¯à®¢¥àª¥ ¢ áâப¥ 12). «¥¤®¢ ⥫ì®, ¨ ¢ë- á®¢ë¥ «£®à¨â¬ë £à ä å 459 ãâì ¥ñ ¬®¦® ⮫쪮 ®¤¨ à §. ¦¤ ï ®¯¥à æ¨ï á ®ç¥à¥¤ìî âॡã¥â $O(1)$ è £®¢, â ª çâ® ¢á¥£® ®¯¥à 樨 á ®ç¥à¥¤ìî ã室¨â ¢à¥¬ï $O(V)$. ¥¯¥àì § ¬¥â¨¬, ç⮠ᯨ᮪ ᬥ¦ëå ¢¥àè¨ ¯à®á¬ âਢ ¥âáï, «¨èì ª®£¤ ¢¥àè¨ ¨§¢«¥ª ¥âáï ¨§ ®ç¥à¥¤¨, â® ¥áâì ¥ ¡®«¥¥ ®¤®£® à § . 㬬 ¤«¨ ¢á¥å íâ¨å ᯨ᪮¢ à ¢ $|E|$, ¨ ¢á¥£® ¨å ®¡à ¡®âªã 㩤¥â ¢à¥¬ï $O(E)$. ¨æ¨ «¨§ æ¨ï âॡã¥â $O(V)$ è £®¢, â ª çâ® ¢á¥£® ¯®«ãç ¥âáï $O(V+E)$. ¥¬ á ¬ë¬ ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë \textsc{BFS} ¯à®¯®à樮 «ì® à §¬¥à㠯।áâ ¢«¥¨ï £à ä $G$ ¢ ¢¨¤¥ ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. à âç ©è¨¥ ¯ãâ¨. ª ¬ë £®¢®à¨«¨, ¯®¨áª ¢ è¨à¨ã 室¨â à ááâ®ï¨ï ®â ç «ì®© ¢¥àè¨ë $s$ ¤® ª ¦¤®© ¨§ ¤®á⨦¨¬ëå ¢¥àè¨ £à ä $G=(V,E)$. ®¤ à ááâ®ï¨¥¬ ¬ë ¯®¨¬ ¥¬ \emph{¤«¨ã ªà âç ©è¥£® ¯ãâ¨} (shortest-path distance): $\delta (s,v)$ ®¯à¥¤¥«ï¥âáï ª ª ¬¨¨¬ «ì ï ¤«¨ ¯ãâ¨, ¢¥¤ã饣® ¨§ $s$ ¢ $v$. («¨ ¯ã⨠-- íâ® ç¨á«® àñ¡¥à ¢ ñ¬.) ᫨ ¯ã⥩ ¥â ¢®®¡é¥, à ááâ®ï¨¥ ¡¥áª®¥ç®. ã⨠¤«¨ë $\delta (s,v)$ ¨§ $s$ ¢ $v$ §ë¢ îâáï \emph{ªà âç ©è¨¬¨ ¯ãâﬨ}; ¨å ¬®¦¥â ¡ëâì ¥áª®«ìª®. ( £« ¢ å 25 ¨ 26 ¬ë à áᬮâਬ ¡®«¥¥ ®¡é¥¥ ¯®ï⨥ ªà âç ©è¥£® ¯ãâ¨, ãç¨âë¢ î饥 ¢¥á àñ¡¥à: ¤«¨ ¯ã⨠¥áâì á㬬 ¢¥á®¢. ¥©ç á ¢á¥ ¢¥á à ¢ë ¥¤¨¨æ¥, â ª çâ® ¤«¨ ¥áâì ç¨á«® àñ¡¥à.) ®ª ¦¥¬ ¥áª®«ìª® ᢮©á⢠®¯à¥¤¥«ñ®£® â ª¨¬ ᯮᮡ®¬ à ááâ®ï¨ï. ¥¬¬ 23.1 ãáâì $s$ --- ¯à®¨§¢®«ì ï ¢¥àè¨ £à ä (®à¨¥â¨à®¢ ®£® ¨«¨ ¥â), $(u,v)$ --- ¥£® ॡà®. ®£¤ $$ \delta (s,v)\le \delta (s,u)+1.$$ ®ª § ⥫ìá⢮. ᫨ $u$ ¤®á⨦¨¬ § $k$ è £®¢ ¨§ $s$, â® ¨ $v$ ¤®á⨦¨¬ ¥ ¡®«¥¥ 祬 § $k+1$ è £®¢ (¯à®©¤ñ¬ ¯® ॡàã $(u,v)$), ¯®í⮬ã 460 « ¢ 23 «£®à¨â¬ë £à ä å ¥à ¢¥á⢮ ¢ë¯®«¥®. ᫨ ¦¥ $u$ ¥¤®á⨦¨¬ ¨§ $s$, â® $\delta (s,u)=\infty$ ¨ ¥à ¢¥á⢮ âਢ¨ «ì®. % ª®¥æ ¤®ª § ⥫ìá⢠% % % % ¤ «¥¥ ⥪áâ ¯¥à¥¯¨á , ¨ ¤ ¦¥ ä®à¬ã«¨à®¢ª¨ «¥¬¬ ¨§¬¥¥ë (á á®åà ¥¨¥¬ ¨§ ®¡é¥£® ç¨á« ¤«ï ¯®á«¥¤ãî饩 㬥à 樨 - ¥¢®§¬®¦® ¡ë«® ®áâ ¢«ïâì â ª®¥ ¤«¨®¥ ¨ § ¯ãâ ®¥ à áá㦤¥¨¥ ¯® â ª®¬ã ¯à®á⮬㠯®¢®¤ã... ¥¬¬ 23.2 ᫨ $\delta($s$,$v$)>0$, â® áãé¥áâ¢ã¥â ¢¥àè¨ $u$, ¤® ª®â®à®© à ááâ®ï¨¥ ¥¤¨¨æã ¬¥ìè¥ ($\delta(s,v)=\delta(s,u)+1$) ¨ ¤«ï ª®â®à®© $v$ ï¥âáï ᬥ¦®© ¢¥à訮©. ®ª § ⥫ìá⢮. áᬮâਬ ªà âç ©è¨© ¯ãâì ¨§ $s$ ¢ $v$. ¡ã¤¥â ¨¬¥âì ¤«¨ã $\delta(s,v)$. ®§ì¬ñ¬ ¢¥àè¨ã $u$, «¥¦ éãî í⮬ ¯ã⨠¥¯®á।á⢥® ¯¥à¥¤ $v$. ¬ ¤® ã¡¥¤¨âìáï, çâ® ¤® ¥ñ à ááâ®ï¨¥ ¥¤¨¨æã ¬¥ìè¥. á ¬®¬ ¤¥«¥, ã á ¥áâì ¢¥¤ã騩 ¢ ¥ñ ¯ãâì ¤«¨ë $\delta(s,v)-1$ (®â¡à®á¨¬ ¯®á«¥¤¥¥ ॡà®), ¡®«¥¥ ª®à®âª®£® ¯ã⨠¡ëâì ¥ ¬®¦¥â ¯® ¯à¥¤ë¤ã饩 «¥¬¬¥. % ª®¥æ ¤®ª § ⥫ìá⢠ãá«®¢¨ïå «¥¬¬ë ¤«ï 宦¤¥¨ï ªà âç ©è¥£® ¯ã⨠¨§ $s$ ¢ $v$ ¤®áâ â®ç® ©â¨ ªà âç ©è¨© ¯ãâì ¨§ $s$ ¢ $u$ ¨ ¤®¡ ¢¨âì ª ¥¬ã ॡ஠$(u,v)$. \medskip ¥¯¥àì ¬ë ¬®¦¥¬ ¤®ª § âì, çâ® ¯®¨áª ¢ è¨à¨ã ¯à ¢¨«ì® ¢ëç¨á«ï¥â ¤«¨ë ªà âç ©è¨å ¯ã⥩. ¡®â ¯à®æ¥¤ãàë \textsc{BFS} ¤¥«¨âáï ç «ìë© íâ ¯ (áâப¨ 1--8) ¨ ¯®¢â®à¥¨ï 横« ¢ áâப å 9--18. á ¡ã¤¥â ¨â¥à¥á®¢ âì á®áâ®ï¨¥ ¯¥à¥¬¥ëå ¯®á«¥ ¥áª®«ìª¨å â ª¨å ¯®¢â®à¥¨©. ¥¬¬ 23.3 «ï ¢á类£® 楫®£® ¥®âà¨æ ⥫쮣® $k$ áãé¥áâ¢ã¥â ¬®¬¥â ¯®á«¥ ¥áª®«ìª¨å ¯®¢â®à¥¨© ⥫ 横« (áâப¨ 10--18), á®¢ë¥ «£®à¨â¬ë £à ä å 461 ª®£¤ ¢ë¯®«¥ë á«¥¤ãî騥 ã⢥ত¥¨ï: \begin{itemize} \item ¢¥àè¨ë, ¤«ï ª®â®àëå à ááâ®ï¨¥ ®â ç «ì®© ¬¥ìè¥ $k$ -- çñàë¥, à ¢® $k$ --- á¥àë¥, ¡®«ìè¥ $k$ --- ¡¥«ë¥; \item ¢ ®ç¥à¥¤¨ $Q$ 室ïâáï á¥àë¥ ¢¥àè¨ë ¨ ⮫쪮 ®¨; \item ¢ ¬ áᨢ¥ $d$ åà ïâáï ¯à ¢¨«ìë¥ § 票ï à ááâ®ï- ¨ï ®â ç «ì®© ¢¥àè¨ë ¤«ï çñàëå ¨ á¥àëå ¢¥àè¨, ¨ ¡¥áª®¥çë¥ § ç¥¨ï ¤«ï ¡¥«ëå; \item ¥á«¨ $v$ --- á¥à ï ¨«¨ çñà ï ¢¥àè¨ , â® $\delta(s,\pi(v))=\delta(s,v)-1$ ¨ ¢ £à ä¥ ¥áâì ॡ஠$(v,\pi[v])$; ¤«ï ¡¥«ëå ¢¥àè¨ § 票¥ $\pi$ ¥áâì \textsc{nil}. \end{itemize} ®ª § ⥫ìá⢮. ¤ãªæ¨ï ¯® $k$. ®á«¥ ¢ë¯®«¥¨ï áâப 1--8 ¢á¥ ¯ãªâë «¥¬¬ë ¢ë¯®«¥ë ¤«ï $k=0$: à ááâ®ï¨¨ $k$ 室¨âáï ¥¤¨á⢥ ï ¢¥àè¨ ( ç «ì ï), ® á¥à ï, ®áâ «ìë¥ ¡¥«ë¥, á¥à ï ¢¥àè¨ «¥¦¨â ¢ ®ç¥à¥¤¨, ¤«ï ¡¥«ëå ¢¥àè¨ $d$ ¡¥áª®¥ç® ¨ $\pi$ à ¢® \textsc{nil}, ¤«ï á¥à®© ¢¥àè¨ë § 票ï $d$ ¨ $\pi$ ¯à ¢¨«ìë. ãáâì ⥯¥àì ¤«ï ¥ª®â®à®£® $k$ ã⢥ত¥¨¥ «¥¬¬ë ¢ë¯®«¥®, ¨ ¯®á«¥ ¥áª®«ìª¨å ¨â¥à 権 横« ¢áñ â ª, ª ª ¯¨á ® ¢ «¥¬¬¥. â® ¡ã¤¥â ¯à®¨á室¨âì ¯®á«¥ í⮣®? § ®ç¥à¥¤¨ ¡ã¤ãâ § ¡¨à âìáï «¥¦ 騥 ¢ ¥© ¢¥àè¨ë, ª®â®àë¥ ¬ë ¡ã¤¥¬ §ë¢ âì \textit{¯à®á¬ âਢ ¥¬ë¬¨}. «ï ᬥ¦ëå á ¨¬¨ ¡¥«ëå ¢¥àè¨ ¡ã¤ã⠢믮«ïâìáï áâப¨ 13--16; ¢ áâப¥ 16 ®¨ ¤®¡ ¢«ïîâáï ¢ ª®¥æ ®ç¥à¥¤¨, ¨ ¯®â®¬ã ¬ë ¡ã¤¥¬ §ë¢ âì ¨å \emph{¤®¡ ¢«ï¥¬ë¬¨}. ª ª®©-â® ¬®¬¥â ®ç¥à¥¤¨ ¡ã¤ãâ ¨§êïâë ¢á¥ å®¤¨¢è¨¥áï â ¬ ¨§ ç «ì® ¢¥àè¨ë, â® ¥áâì ¢á¥ ¢¥àè¨ë, 室ï騥áï à ááâ®ï¨¨ $k$, ¨ ®áâ ãâáï ⮫쪮 ¢®¢ì ¤®¡ ¢«¥ë¥. 462 « ¢ 23 «£®à¨â¬ë £à ä å (¡à â¨â¥ ¢¨¬ ¨¥, çâ® §¤¥áì áãé¥á⢥® ¨á¯®«ì§ã¥âáï ¯à ¢¨«® à ¡®âë ®ç¥à¥¤¨: ¯¥à¢ë¬ ¯à¨èñ« --- ¯¥à¢ë¬ ãèñ«.) íâ®â ¬®¬¥â ¬ë ¬ëá«¥® ¯à¥à¢ñ¬ ¢ë¯®«¥¨¥ ¯à®æ¥¤ãàë ¨ ã¡¥¤¨¬áï, çâ® ¢ë¯®«¥ë ¢á¥ ãá«®¢¨ï «¥¬¬ë ¤«ï ¥¤¨¨æã ¡®«ì襣® § 票ï $k$. à®á¬ âਢ ¥¬ë¥ ¢¥àè¨ë --- íâ® ¢¥àè¨ë, ª®â®àë¥ ¡ë«¨ ¢ ®ç¥à¥¤¨; ¯® ¯à¥¤¯®«®¦¥¨î ®¨ 室ïâáï à ááâ®ï¨¨ $k$. ®¡ ¢«ï¥¬ë¥ ¢¥àè¨ë 室ïâáï à ááâ®ï¨¨ $k+1$. á ¬®¬ ¤¥«¥, ®¨ ïîâáï ᬥ¦ë¬¨ á ¯à®á¬ âਢ ¥¬ë¬¨ ¢¥àè¨ ¬¨, 室ï騬¨áï à ááâ®ï¨¨ $k$, ¨ ¯®â®¬ã ¯® «¥¬¬¥ 23.1 à ááâ®ï¨¥ ¡ã¤¥â ¥ ¡®«ìè¥ $k+1$. ¤à㣮© áâ®à®ë, ¤®¡ ¢«ïîâáï ⮫쪮 ¡¥«ë¥ ¢¥àè¨ë, ¨ ¯®â®¬ã ¯® ¯à¥¤¯®«®¦¥¨î ¨¤ãªæ¨¨ à ááâ®ï¨¥ ¤® ¨å ¡®«ìè¥ $k$. ã¤ãâ ¤®¡ ¢«¥ë ¢á¥ ¢¥àè¨ë, 室ï騥áï à ááâ®ï¨¨ $k+1$. á ¬®¬ ¤¥«¥, ¥á«¨ ¢¥àè¨ $v$ 室¨âáï à ááâ®ï¨¨ $k+1$, â® ¯® «¥¬¬¥ 23.2 áãé¥áâ¢ã¥â ¢¥àè¨ $u$ à ááâ®ï¨¨ $k$, ¤«ï ª®â®à®© ® ᬥ¦ ï. ¥àè¨ $u$ ¤®«¦ ¡ëâì á।¨ ¯à®á¬ âਢ ¥¬ëå, ¨ ¢® ¢à¥¬ï ¥ñ ®¡à ¡®âª¨ ¢¥àè¨ $v$ ¡ã¤¥â ¤®¡ ¢«¥ . ¤® ⮫쪮 ¨¬¥âì ¢ ¢¨¤ã, çâ® ¢¥àè¨ $u$ ¬®¦¥â ¡ëâì ¥áª®«ìª® --- ® íâ® ¥ ¬¥è ¥â ¤¥«ã, â ª ª ª ¢® ¢à¥¬ï ¯à®á¬®âà ¯¥à¢®© ¨§ ¨å ¢¥àè¨ $v$ ¡ã¤¥â ¤®¡ ¢«¥ (¯®á«¥ 祣® ® ¡ã¤¥â á¥à®© ¨ ãá«®¢¨¥ ¢ áâப¥ 12 ¡ã¤¥â «®¦®, â ª çâ® ¢â®à®© à § ¥ñ ¥ ¤®¡ ¢ïâ). ®í⮬㠢 ª®æ¥ à áᬠâਢ ¬®£® ¬¨ íâ ¯ ¢ ®ç¥à¥¤¨ ¡ã¤ã⠢ᥠ¢¥àè¨ë, 室ï騥áï à ááâ®ï¨¨ $k+1$. ®áª®«ìªã ¯à¨ ¤®¡ ¢«¥¨¨ ®¨ ¤¥« îâáï á¥à묨, ¯®á«¥ ¯à®á¬®âà ¢¥àè¨ ¤¥« ¥âáï çñன, â® ãá«®¢¨¥ ® 梥â å ¡ã¤¥â ¢ë¯®«¥®. âப¨ 14 ¨ 15 ®¡¥á¯¥ç¨¢ î⠢믮«¥¨¥ ¯ãªâ®¢ «¥¬¬ë ® à ááâ®ï¨¨ ¨ ® ¬ áᨢ¥ $\pi$, çâ® § ¢¥àè ¥â ¤®ª § ⥫ìá⢮. ¥¯¥àì ¤«ï ¤®ª § ⥫ìá⢠¯à ¢¨«ì®á⨠¯à®æ¥¤ãàë \textsc{BFS} ¤®áâ â®ç® ¢§ïâì ¡®«ì讥 $k$ (¡®«ìè¥ ¬ ªá¨¬ «ì®£® à ááâ®ï¨ï ®â ç «ì®© ¢¥àè¨ë ¤® ¢á¥å ¢¥àè¨ £à ä ). ®£¤ ¢¥àè¨ à ááâ®ï¨¨ $k$ (á¥àëå, ®¨ ¦¥ ¢¥àè¨ë ¢ ®ç¥- á®¢ë¥ «£®à¨â¬ë £à ä å 463 ।¨) ¥ ¡ã¤¥â, «£®à¨â¬ § ¢¥àè¨â à ¡®âã ¨ ¢á¥ ¬ áá¨¢ë ¡ã¤ãâ § ¯®«¥ë ¯à ¢¨«ì®. ë ¤®ª § «¨ â ªãî ⥮६ã: ¥®à¥¬ 23.4 («£®à¨â¬ \textsc{BFS} ¯à ¢¨«¥) ¡®â ï £à ä¥ $G=(V,E)$ (®à¨¥â¨à®¢ ®¬ ¨«¨ ¥®à¨¥â¨à®¢ ®¬) á ç «ì®© ¢¥à訮© $s$, ¯à®æ¥¤ãà \textsc{BFS} ®¡ à㦨â (ᤥ« ¥â çñà묨) ¢á¥ ¤®á⨦¨¬ë¥ ¨§ $s$ ¢¥àè¨ë, ¨ ¤«ï ¢á¥å $v\in V$ ¡ã¤¥â ¢ë¯®«¥® à ¢¥á⢮ $d[v]=\delta (s,v)$. ஬¥ ⮣®, ¤«ï «î¡®© ¢¥àè¨ë $v\ne s$, ¤®á⨦¨¬®© ¨§ $s$, ®¤¨ ¨§ ªà âç ©è¨å ¯ã⥩ ¨§ $s$ ¢ $v$ ¬®¦® ¯®«ãç¨âì ¤®¡ ¢«¥¨¥¬ ॡà $(\pi [v],v)$ ª («î¡®¬ã) ªà âç ©è¥¬ã ¯ã⨠¨§ $s$ ¢ $\pi [v]$. «ï ¥¤®á⨦¨¬®© ¨§ $s$ ¢¥àè¨ë § 票¥ $\pi[s]$ à ¢® \textsc{nil}. % ª®¥æ ¤®ª § ⥫ìá⢠¥à¥¢ìï ¯®¨áª ¢ è¨à¨ã. 室¥ à ¡®âë ¯à®æ¥¤ãàë \textsc{BFS} ¢ë¤¥«ï¥âáï ¥ª®â®àë© ¯®¤£à ä --- ¤¥à¥¢® ¯®¨áª ¢ è¨à¨ã, § ¤ ¢ ¥¬®¥ ¯®«ï¬¨ $\pi[v]$. ®«¥¥ ä®à¬ «ì®, ¯à¨¬¥¨¬ ¯à®æ¥¤ãàã \textsc{BFS} ª £à äã $G=(V,E)$ á ç «ì®© ¢¥à訮© $s$. áᬮâਬ ¯®¤£à ä, ¢¥àè¨ ¬¨ ª®â®à®£® ïîâáï ¤®á⨦¨¬ë¥ ¨§ $s$ ¢¥àè¨ë, àñ¡à ¬¨ ïîâáï àñ¡à $(\pi[v],v)$ ¤«ï ¢á¥å ¤®á⨦¨¬ëå $v$, ªà®¬¥ $s$. ¥¬¬ 23.5. ®áâà®¥ë© â ª¨¬ ®¡à §®¬ ¯®¤£à ä £à ä $G$ ¯à¥¤áâ ¢«ï¥â ᮡ®© ¤¥à¥¢®, ¢ ª®â®à®¬ ¤«ï ª ¦¤®© ¢¥àè¨ë $v$ ¨¬¥¥âáï ¥¤¨áâ¢¥ë© ¯à®á⮩ ¯ãâì ¨§ $s$ ¢ $v$. â®â ¯ãâì ¡ã¤¥â ªà âç ©è¨¬ ¯ãâñ¬ ¨§ $s$ ¢ $v$ ¢ £à ä¥ $G$. ®ª § ⥫ìá⢮. ãé¥á⢮¢ ¨¥ ¯ã⨠¨§ $s$ ¢ $v$ (ª ª ¨ â®, çâ® ® ¡ã¤¥â ªà âç ©è¨¬) á«¥¤ã¥â ¨§ ⥮६ë 23.4 (¨¤ãªæ¨ï ¯® à ááâ®ï¨î ®â $s$ ¤® $v$). ®í⮬㠣à ä á¢ï§¥. ®áª®«ìªã ç¨á«® àñ¡¥à ¢ ñ¬ ¥¤¨¨æã ¬¥ìè¥ ç¨á« ¢¥àè¨, â® ® 464 « ¢ 23 «£®à¨â¬ë £à ä å ï¥âáï ¤¥à¥¢®¬ (⥮६ 5.2). % ª®¥æ ¤®ª § ⥫ìá⢠⮠¤¥à¥¢® §ë¢ ¥âáï \emph{¯®¤£à 䮬 ¯à¥¤è¥á⢮¢ ¨ï} (predecessor subgraph), â ª¦¥ \emph{¤¥à¥¢®¬ ¯®¨áª ¢ è¨à¨ã} (breadth-first tree) ¤«ï ¤ ®£® £à ä ¨ ¤ ®© ç «ì®© ¢¥àè¨ë. ( ¬¥â¨¬, çâ® ¯®áâ஥®¥ ¤¥à¥¢® § ¢¨á¨â ®â ⮣®, ¢ ª ª®¬ ¯®à浪¥ ¯à®á¬ âਢ îâáï ¢¥àè¨ë ¢ ᯨ᪠å ᬥ¦ëå ¢¥àè¨.) ᫨ § ç¥¨ï ¢ ¬ áᨢ¥ $\pi$ 㦥 ¢ëç¨á«¥ë á ¯®¬®éìî ¯à®æ¥¤ãàë \textsc{BFS}, â® ªà ©âç ©è¨¥ ¯ã⨠¨§ $s$ «¥£ª® ©â¨: ¨å ¯¥ç ⠥⠯à®æ¥¤ãà \textsc{Print-Path} \begin{verbatim} Print-Path$(G,s,v)$ 1 if $v=s$ 2 then ¯¥ç â âì $s$ 3 else if $\pi[v]=NIL$ 4 then ¯¥ç â âì "¯ã⨠¨§ $s$ ¢ $v$ ¥â" 5 else Print-Path$(G,s,\pi[v])$ 6 ¯¥ç â âì $v$ à¥¬ï ¢ë¯®«¥¨ï ¯à®¯®à樮 «ì® ¤«¨¥ ¯¥ç â ¥¬®£® ¯ã⨠(ª ¦¤ë© ४ãàá¨¢ë© ¢ë§®¢ 㬥ìè ¥â à ááâ®ï¨¥ ®â s ¥¤¨¨æã). ¯à ¦¥¨ï 23.2-1 â® ¤ áâ ¯®¨áª ¢ è¨à¨ã ¤«ï ®à¨¥â¨à®¢ ®£® £à ä à¨á. 23.2 (a) ¨ ¢¥àè¨ë 3 ¢ ª ç¥á⢥ ç «ì®©? 23.2-2 â® ¤ áâ ¯®¨áª ¢ è¨à¨ã ¤«ï ¥®à¨¥â¨à®¢ ®£® £à ä à¨á. 23.3 ¨ ¢¥àè¨ë u ¢ ª ç¥á⢥ ç «ì®©? 23.2-3 ª®«ìª® ¢à¥¬¥¨ ¡ã¤¥â à ¡®â âì ¯à®æ¥¤ãà BFS, ¥á«¨ £à ä ¯à¥¤áâ ¢«¥ ¢ ¢¨¤¥ ¬ âà¨æë ᬥ¦®á⨠(¨ ¯à®æ¥¤ãà ᮮ⢥âá⢥® ¨§¬¥¥ )? 23.2-4 ®ª ¦¨â¥, çâ® ¯à¨ ¯®¨áª¥ ¢ è¨à¨ã § 票¥ d[u], ¤ ¢ ¥¬®¥ «£®à¨â¬®¬, ¥ ¨§¬¥¨âáï, ¥á«¨ ¯¥à¥áâ ¢¨âì í«¥¬¥âë ¢ ª ¦¤®¬ ᯨ᪥ ᬥ¦ëå ¢¥àè¨. 23.2-5 á®¢ë¥ «£®à¨â¬ë £à ä å 465 ਢ¥¤¨â¥ ¯à¨¬¥à ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ), ç «ì®© ¢¥àè¨ë s 2 V ¨ ¥ª®â®à®£® ¬®¦¥á⢠ॡ¥à E E , ¤«ï ª®â®àëå ¤«ï ª ¦¤®© ¤®á⨦¨¬®© ¨§ s ¢¥àè¨ë v 2 V áãé¥áâ¢ã¥â ¥¤¨áâ¢¥ë© ¯ãâì ¨§ s ¢ v, ¯à®å®¤ï騩 ¯® àñ¡à ¬ ¨§ E , ¨ íâ®â ¯ãâì ï¥âáï ªà âç ©è¨¬ ¢ G, ® ¬®¦¥á⢮ ॡ¥à E ¥ ᮢ¯ ¤ ¥â á ¤¥à¥¢®¬ ¯®¨áª ¢ è¨à¨ã, ¤ ¢ ¥¬ë¬ á ¯®¬®éìî ¯à®æ¥¤ãàë BFS, ª ª ¨ ¯¥à¥áâ ¢«ï© í«¥¬¥âë ¢ ª ¦¤®¬ ¨§ ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. 23.2-6 ਤ㬠©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, ¢ëïáïî騩, ï¥âáï «¨ ¤ ë© ¥®à¨¥â¨à®¢ ë© £à ä ¤¢ã¤®«ìë¬. 23.2-7* ¨ ¬¥âà (diameter) ¤¥à¥¢ T = (V; E ) ®¯à¥¤¥«ï¥âáï ª ª max (u; v ) u;v2V (â® ¥áâì ª ª ¬ ªá¨¬ «ì ï ¤«¨ ªà âç ©è¥£® ¯ã⨠¬¥¦¤ã ¤¢ã¬ï ¢¥àè¨ ¬¨). ਤ㬠©â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¢ëç¨á«¥¨ï ¤¨ ¬¥âà ¤¥à¥¢ , ¨ ®æ¥¨â¥ ¢à¥¬ï ¥£® à ¡®âë. 23.2-8 ãáâì G = (V; E ) { ¥®à¨¥â¨à®¢ ë© £à ä. ਤ㬠©â¥ «£®à¨â¬, ®âë᪨¢ î騩 § ¢à¥¬ï O(V + E ) ¯ãâì ¢ £à ä¥, ª®â®àë© ¯à®å®¤¨â ª ¦¤®¥ ॡ஠஢® ¯® ®¤®¬ã à §ã ¢ ª ¦¤ãî áâ®à®ã. ª ©â¨ ¢ë室 ¨§ « ¡¨à¨â , ¨¬¥ï á ᮡ®© ¡®«ì让 § ¯ á ®¤¨ ª®¢ëå ¬®¥â? 23.1.3 ®¨áª ¢ £«ã¡¨ã âà ⥣¨ï ¯®¨áª ¢ £«ã¡¨ã â ª®¢ : ¨¤â¨ "¢£«ã¡ì", ¯®ª íâ® ¢®§¬®¦® (¥áâì ¥¯à®©¤¥ë¥ àñ¡à ), ¨ ¢®§¢à é âìáï ¨ ¨áª âì ¤à㣮© ¯ãâì, ª®£¤ â ª¨å àñ¡¥à ¥â. ª ¤¥« ¥âáï, ¯®ª ¥ ®¡ àã¦¥ë ¢á¥ ¢¥àè¨ë, ¤®á⨦¨¬ë¥ ¨§ ¨á室®©. ᫨ ¯®á«¥ í⮣® ®áâ îâáï ¥®¡ àã¦¥ë¥ ¢¥àè¨ë, ¬®¦® ¢ë¡à âì ®¤ã ¨§ ¨å ¨ ¯®¢â®àïâì ¯à®æ¥áá, ¨ ¤¥« âì â ª ¤® â¥å ¯®à, ¯®ª ¬ë ¥ ®¡ à㦨¬ ¢á¥ ¢¥àè¨ë £à ä . ª ¨ ¯à¨ ¯®¨áª¥ ¢ è¨à¨ã, ®¡ à㦨¢ (¢¯¥à¢ë¥) ¢¥àè¨ã v, ᬥ¦ãî á u, ¬ë ®â¬¥ç ¥¬ í⮠ᮡë⨥, ¯®¬¥é ï ¢ ¯®«¥ [v] § 票¥ u. ®«ãç ¥âáï ¤¥à¥¢® | ¨«¨ ¥áª®«ìª® ¤¥à¥¢ì¥¢, ¥á«¨ ¯®¨áª ¯®¢â®àï¥âáï ¨§ ¥áª®«ìª¨å ¢¥àè¨. ®¢®àï ¤ «ìè¥ ® ¯®¨áª¥ ¢ £«ã¡¨ã, ¬ë ¢á¥£¤ ¯à¥¤¯®« £ ¥¬, çâ® â ª ¨ ¤¥« ¥âáï (¯®¨áª ¯®¢â®àï¥âáï). ë ¯®«ãç ¥¬ ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï (predecessor subgraph), ®¯à¥¤¥«ñë© â ª: G = (V; E), £¤¥ E = f([v]; v) : v 2 V and [v ] = 6 NILg 466 « ¢ 23 «£®à¨â¬ë £à ä å ®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï ¯à¥¤áâ ¢«ï¥â ᮡ®© «¥á ¯®¨áª ¢ £«ã¡¨ã (depth-rst forest), á®áâ®ï騩 ¨§ ¤¥à¥¢ì¥¢ ¯®¨áª ¢ £«ã¡¨ã (deep-rst trees). «£®à¨â¬ ¯®¨áª ¢ £«ã¡¨ã â ª¦¥ ¨á¯®«ì§ã¥â 梥⠢¥àè¨. ¦¤ ï ¨§ ¢¥àè¨ ¢ ç «¥ ¡¥« ï. ã¤ãç¨ ®¡ à㦥®© (discovered), ® áâ ®¢¨âáï á¥à®©; ® áâ ¥â çñன, ª®£¤ ¡ã¤¥â ¯®«®áâìî ®¡à ¡®â , â® ¥áâì ª®£¤ ᯨ᮪ ᬥ¦ëå á ¥© ¢¥àè¨ ¡ã¤¥â ¯à®á¬®âà¥. ¦¤ ï ¢¥àè¨ ¯®¯ ¤ ¥â ஢® ¢ ®¤® ¤¥à¥¢® ¯®¨áª ¢ £«ã¡¨ã, â ª çâ® í⨠¤¥à¥¢ìï ¥ ¯¥à¥á¥ª îâáï. ®¬¨¬® í⮣®, ¯®¨áª ¢ £«ã¡¨ã áâ ¢¨â ¢¥àè¨ å ¬¥âª¨ ¢à¥¬¥¨ (timestamps). ¦¤ ï ¢¥àè¨ ¨¬¥¥â ¤¢¥ ¬¥âª¨: ¢ d[v] § ¯¨á ®, ª®£¤ íâ ¢¥àè¨ ¡ë« ®¡ à㦥 (¨ ᤥ« á¥à®©), ¢ f [v] | ª®£¤ ¡ë« § ª®ç¥ ®¡à ¡®âª ᯨ᪠ᬥ¦ëå á v ¢¥àè¨ (¨ v áâ « çñன). ⨠¬¥âª¨ ¢à¥¬¥¨ ¨á¯®«ì§ãîâáï ¢® ¬®£¨å «£®à¨â¬ å £à ä å ¨ ¯®«¥§ë ¤«ï «¨§ ᢮©á⢠¯®¨áª ¢ £«ã¡¨ã. ¯à¨¢®¤¨¬®© ¤ «¥¥ ¯à®æ¥¤ãॠDFS (Depth-First Search | ¯®¨áª ¢ £«ã¡¨ã) ¬¥âª¨ ¢à¥¬¥¨ d[v] ¨ f [v] ïîâáï 楫묨 ç¨á« ¬¨ ®â 1 ¤® 2jV j; ¤«ï «î¡®© ¢¥àè¨ë u ¢ë¯®«¥® ¥à ¢¥á⢮ d[u] < f [u] (23:1) ¥àè¨ u ¡ã¤¥â ¡¥«®© ¤® ¬®¬¥â d[u], á¥à®© ¬¥¦¤ã d[u] ¨ f [u] ¨ çñன ¯®á«¥ f [u]. áå®¤ë© £à ä ¬®¦¥â ¡ëâì ®à¨¥â¨à®¢ ë¬ ¨«¨ ¥®à¨¥â¨à®¢ ë¬. ¥à¥¬¥ ï time | £«®¡ «ì ï ¯¥à¥¬¥ ï ⥪ã饣® ¢à¥¬¥¨, ¨á¯®«ì§ã¥¬®£® ¤«ï ¯®¬¥â®ª. DFS$(G)$ 1 2 3 4 5 6 7 for (¤«ï) ¢á¥å ¢¥àè¨ $u\in V[G]$ \hspace{1cm} do $color[u]\leftarrow$ ¡¥«ë© \hspace{2cm} $\pi[u]\leftarrow NIL$ $time\leftarrow 0$ for (¤«ï) ¢á¥å ¢¥àé¨ $u\in V[G]$ \hspace{1cm} do if $color[u]=$ ¡¥«ë© \hspace{2cm} then DFS-Visit$(u)$ DFS-Visit(u) 1 $color[u]\leftarrow$ ¡¥«ë© // ¢¥àè¨ $u$ ¡ë« ¡¥«®© 2 $d[u]\leftarrow time\leftarrow time+1$ 3 \textsc{for} (¤«ï) ¢á¥å $v\in Adj[u]$ // ®¡à ¡®â âì ॡ஠$(u,v)$ 4 \hspace{1cm} \textsc{do if} $color[v]=$ ¡¥«ë© 5 \hspace{2cm} \textsc{then} $\pi[v]\leftarrow u$ 6 \hspace{3cm} DFS-Visit$(v)$ á®¢ë¥ «£®à¨â¬ë £à ä å 467 ¨á㮪 23.3 23.4 ᯮ«¥¨¥ «£®à¨â¬ DFS ¤«ï ®à¨¥â¨à®¢ ®£® £à ä . ®á«¥ ¯à®á¬®âà ª ¦¤®¥ ॡ஠áâ ®¢¨âáï «¨¡® á¥àë¬ (¥á«¨ ®® ¢ª«îç ¥âáï ¢ ¤¥à¥¢® ¯®¨áª ) ¨«¨ ¯ãªâ¨àë¬ (®¡à âë¥ àñ¡à ¯®¬¥ç¥ë ¡ãª¢®© B (back), ¯¥à¥ªàñáâë¥ | ¡ãª¢®© C (cross), ¯àï¬ë¥ | ¡ãª¢®© F (forward)). ª ¦¤®© ¢¥àè¨ë ¯®ª § ë ¢à¥¬¥ ç « ¨ ª®æ ®¡à ¡®âª¨. 7 $color[u]\leftarrow$ çñàë© //¢¥àè¨ ®¡à ¡®â , ¤¥- « ¥¬ ¥ñ ç¥à®© 8 $f[u]\leftarrow time\leftarrow time+1$ à¨á. 23.4 ¯®ª § à ¡®â ¯à®æ¥¤ãàë DFS £à ä¥ à¨á. 23.2. áâப å 1-3 ¢á¥ ¢¥àè¨ë ªà áïâáï ¢ ¡¥«ë© 梥â; ¢ ¯®«¥ ¯®¬¥é ¥âáï nil. áâப¥ 4 ãáâ ¢«¨¢ ¥âáï ç «ì®¥ (ã«¥¢®¥) ¢à¥¬ï. áâப å 5{7 ¢ë§ë¢ ¥âáï ¯à®æ¥¤ãà DFS-Visit ¤«ï ¢á¥å ¢¥àè¨ (ª®â®àë¥ ®áâ «¨áì ¡¥«ë¬¨ ª ¬®¬¥â㠢맮¢ | ¯à¥¤ë¤ã騥 ¢ë§®¢ë ¯à®æ¥¤ãàë ¬®£«¨ ᤥ« âì ¨å çñà묨). ⨠¢¥àè¨ë áâ ®¢ïâáï ª®àﬨ ¤¥à¥¢ì¥¢ ¯®¨áª ¢ £«ã¡¨ã. ¬®¬¥â ¢ë§®¢ DFS-Visit(u) ¢¥àè¨ u | ¡¥« ï. áâப¥ 1 ® áâ ®¢¨âáï á¥à®©. áâப¥ 2 ¢à¥¬ï ¥ñ ®¡ à㦥¨ï § ®á¨âáï ¢ d[u] (¤® í⮣® áçñâ稪 ¢à¥¬¥¨ 㢥«¨ç¨¢ ¥âáï 1). áâப å 3-7 ¯à®á¬ âਢ îâáï ᬥ¦ë¥ á u ¢¥àè¨ë; ¯à®æ¥¤ãà DFS-Visit ¢ë§ë¢ ¥âáï ¤«ï â¥å ¨§ ¨å, ª®â®àë¥ ®ª §ë¢ îâáï ¡¥«ë¬¨ ª ¬®¬¥â㠢맮¢ . ®á«¥ ¯à®á¬®âà ¢á¥å ᬥ¦ëå á u ¢¥àè¨ ¬ë ¤¥« ¥¬ ¢¥àè¨ã u çñன ¨ § ¯¨áë¢ ¥¬ ¢ f [u] ¢à¥¬ï í⮣® ᮡëâ¨ï. ®¤áç¨â ¥¬ ®¡é¥¥ ç¨á«® ®¯¥à 権 ¯à¨ ¢ë¯®«¥¨¨ ¯à®æ¥¤ãàë DFS. ¨ª«ë ¢ áâப å 1{3 ¨ 5{7 âॡãîâ (V ) ¢à¥¬¥¨ (¯®¬¨¬® ¢ë§®¢®¢ DFS-Visit). à®æ¥¤ãà DFS-Visit ¢ë§ë¢ ¥âáï ஢® ®¤¨ à § ¤«ï ª ¦¤®© ¢¥àè¨ë (¥© ¯¥à¥¤ ñâáï ¡¥« ï ¢¥àè¨ , ¨ ® áà §ã ¦¥ ¤¥« ¥â ¥ñ á¥à®©). ® ¢à¥¬ï ¢ë¯®«¥¨ï DFS-Visit(v) 横« ¢ áâப å 3{6 ¢ë¯®«ï¥âáï jAdj [v]j à §. ®áª®«ìªã X v2V jAdj [v]j = (E ); ¢à¥¬ï ¢ë¯®«¥¨ï áâப 3{6 ¯à®æ¥¤ãàë DFS-Visit á®áâ ¢«ï¥â (E ). á㬬¥ ¯®«ãç ¥âáï ¢à¥¬ï (V + E ). ¢®©á⢠¯®¨áª ¢ £«ã¡¨ã. ०¤¥ ¢á¥£® ®â¬¥â¨¬, çâ® ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï (á®áâ ¢«¥ë© ¨§ ¤¥à¥¢ì¥¢ ¯®¨áª ¢ £«ã¡¨ã) ¢ â®ç®á⨠ᮮ⢥âáâ¢ã¥â áâàãªâãॠ४ãàᨢëå ¢ë§®¢®¢ ¯à®æ¥¤ãàë DFS-Visit. ¬¥®, u = [v] ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ¯à®¨§®èñ« ¢ë§®¢ DFSVisit(v ) ¢® ¢à¥¬ï ¯à®á¬®âà ᯨ᪠ᬥ¦ëå á u ¢¥àè¨. à㣮¥ ¢ ¦®¥ ᢮©á⢮ á®á⮨⠢ ⮬, çâ® ¢à¥¬¥ ®¡ à㦥¨ï ¨ ®ª®ç ¨ï ®¡à ¡®âª¨ ®¡à §ãîâ ¯à ¢¨«ìãî ᪮¡®çãî áâàãªâãàã (parenthesis structure). ¡®§ ç ï ®¡ à㦥¨¥ ¢¥àè¨ë u ®âªàë¢ î騩áï ᪮¡ª®© á ¯®¬¥âª®© u, ®ª®ç ¨¥ ¥ñ ®¡à ¡®âª¨ | § ªàë¢ î饩áï á ⮩ ¦¥ ¯®¬¥âª®©, â® ¯¥à¥ç¥ì ᮡë⨩ ¡ã¤¥â 468 « ¢ 23 «£®à¨â¬ë £à ä å ¨á㮪 23.4 23.5 ¢®©á⢠¯®¨áª ¢ £«ã¡¨ã. (a) ¥§ã«ìâ â ¯®¨áª (¢ ®¡®§ 票ïå à¨á. 23.4). (b) ஬¥¦ã⪨ ¬¥¦¤ã ®¡ à㦥¨¥¬ ¨ ®ª®ç ¨¥¬ ®¡à ¡®âª¨ ¤«ï ª ¦¤®© ¨§ ¢¥àè¨, ¨§®¡à ¦ñë¥ ¢ ¢¨¤¥ ¯àאַ㣮«ì¨ª®¢. â५ª¨ 㪠§ë¢ îâ áâàãªâãàã ¤¥à¥¢ì¥¢ ¯®á¨ª ¢ £«ã¡¨ã. (c) ⬥ç¥ë àñ¡à ¨á室®£® £à ä á 㪠§ ¨¥¬ ¨å ⨯®¢ (àñ¡à ¤¥à¥¢ ¨ ¯àï¬ë¥ àñ¡à ¢¥¤ãâ ¢¨§, ®¡à âë¥ ¢¥¤ãâ ¢¢¥àå). ¯à ¢¨«ì® ¯®áâà®¥ë¬ ¢ëà ¦¥¨¥¬ ¢ ⮬ á¬ëá«¥ (᪮¡ª¨ á ®¤¨ ª®¢ë¬¨ ¯®¬¥âª ¬¨ áç¨â ¥¬ ¯ à묨). ¯à¨¬¥à, ¯®¨áªã ¢ £«ã¡¨ã à¨á. 23.5 (a) ᮮ⢥âáâ¢ã¥â à ááâ ®¢ª ᪮¡®ª, ¨§®¡à ¦ñ ï à¨á㪥 23.5(b). â®¡ë ¤®ª § âì í⨠¨ ¤à㣨¥ ᢮©á⢠, ¬ë ¤®«¦ë à áá㦤 âì ¯® ¨¤ãªæ¨¨. ਠí⮬, ¤®ª §ë¢ ï âॡ㥬®¥ ᢮©á⢮ ४ãàᨢ®© ¯à®æ¥¤ãàë DFS-Visit, ¬ë ¯à¥¤¯®« £ ¥¬, ç⮠४ãàá¨¢ë¥ ¢ë§®¢ë í⮩ ¯à®æ¥¤ãàë ®¡« ¤ îâ ¢ë¡à ë¬ á¢®©á⢮¬. ¡¥¤¨¬áï ¢ ç «¥, çâ® ¢ë§®¢ DFS-Visit(u) ¤«ï ¡¥«®© ¢¥àè¨ë u ¤¥« ¥â çñன íâã ¢¥àè¨ã ¨ ¢á¥ ¡¥«ë¥ ¢¥àè¨ë, ¤®áâã¯ë¥ ¨§ ¥ñ ¯® ¡¥«ë¬ ¯ãâï¬ (¢ ª®â®àëå ¢á¥ ¯à®¬¥¦ãâ®çë¥ ¢¥àè¨ë â ª¦¥ ¡¥«ë¥), ¨ ®áâ ¢«ï¥â á¥àë¥ ¨ çñàë¥ ¢¥àè¨ë ¡¥§ ¨§¬¥¥¨©. á ¬®¬ ¤¥«¥, ४ãàá¨¢ë¥ ¢ë§®¢ë ¢ áâப¥ 6 ¢ë¯®«ïîâáï «¨èì ¤«ï ¡¥«ëå ¢¥àè¨, ïîé¨åáï ᬥ¦ë¬¨ á u. ᫨ ª ª ï-â® ¢¥àè¨ w ¡ë« § ªà è¥ ¢ 室¥ íâ¨å ¢ë§®¢®¢, â® (¯® ¨¤ãªâ¨¢®¬ã ¯à¥¤¯®«®¦¥¨î) ® ¡ë« ¤®áâ㯠¯® ¡¥«®¬ã ¯ã⨠¨§ ®¤®© ¨§ ¡¥«ëå ¢¥àè¨, ᬥ¦ëå á u, ¨ ¯®â®¬ã ¤®áâ㯠¯® ¡¥«®¬ã ¯ã⨠¨§ u. ¯à®â¨¢, ¥á«¨ ¢¥àè¨ w ¤®áâ㯠¯® ¡¥«®¬ã ¯ã⨠¨§ u, â® íâ®â ® ¤®áâ㯠¯® ¡¥«®¬ã ¯ã⨠¨§ ª ª®©-â® ¡¥«®© ¢¥àè¨ë v, ᬥ¦®© á u (¯®á¬®âਬ ¯¥à¢ë© è £ ¯ãâ¨). 㤥¬ áç¨â âì, çâ® v | ¯¥à¢ ï ¨§ â ª¨å ¢¥àè¨ (¢ ¯®à浪¥ ¯à®á¬®âà ¢ áâப¥ 3). í⮬ á«ãç ¥ ¢á¥ ¢¥àè¨ë ¡¥«®£® ¯ã⨠¨§ v ¢ w ®áâ ãâáï ¡¥«ë¬¨ ª ¬®¬¥â㠢맮¢ DFS-Visit(v), ¯®áª®«ìªã ®¨ ¥¤®áâã¯ë ¯® ¡¥«ë¬ ¯ãâï¬ ¨§ ¯à¥¤è¥áâ¢ãîé¨å v ¢¥àè¨ (¨ ç¥ w ¡ë« ¡ë â ª¦¥ ¤®áâ㯠). ® ¨¤ãªâ¨¢®¬ã ¯à¥¤¯®«®¦¥¨î w áâ ¥â çñன ¯®á«¥ ¢ë§®¢ DFS-Visit(v). ஬¥ ⮣®, á ¬ ¢¥àè¨ u áâ ¥â á ç « á¥à®©, ¯®â®¬ çñன. ( ¬¥â¨¬, çâ® ¬ë ¬®£«¨ ¡ë áà §ã ᤥ« âì ¥ñ çñன, ¯®áª®«ìªã ¯à®£à ¬¬ ¨ª ª ¥ à §«¨ç ¥â á¥àë¥ ¨ çñàë¥ ¢¥àè¨ë, ®¤ ª® íâ® à §«¨ç¨¥ ¬ ¯à¨£®¤¨âáï ¢ ¤ «ì¥©è¥¬.) á® â ª¦¥, ç⮠梥â á¥àëå ¨ çñàëå ¢¥àè¨ ®áâ îâáï ¡¥§ ¨§¬¥¥¨© (¯®áª®«ìªã íâ® ¢¥à® ¤«ï ४ãàᨢëå ¢ë§®¢®¢ ¯® ¨¤ãªâ¨¢®¬ã ¯à¥¤¯®«®¦¥¨î). «®£¨çë¥ à áá㦤¥¨ï ¯® ¨¤ãªæ¨¨ ¯®§¢®«ïîâ ãáâ ®¢¨âì, çâ® ¢ë§®¢ DFS-Visit(u) ¬¥ï¥â ¯®«ï [v] ¤«ï ¢á¥å ®ªà 訢 ¥¬ëå ¢¥àè¨ v, ®â«¨çëå ®â u, ⥬ á ¬ë¬ ä®à¬¨àãï ¨§ ¨å ¤¥à¥¢® á ª®à¥¬ ¢ u, â ª¦¥ ¤®¡ ¢«ï¥â ª ®¯¨á ®¬ã ¢ëè¥ ¯à®â®ª®«ã ¨§ ᪮¡®ª á ¯®¬¥âª ¬¨ ¯à ¢¨«ì®¥ ᪮¡®ç®¥ ¢ëà ¦¥¨¥, ¢¥è¨¥ ᪮¡ª¨ ª®- á®¢ë¥ «£®à¨â¬ë £à ä å 469 â®à®£® ¨¬¥îâ ¯®¬¥âªã u, ¢ãâਠ室ïâáï ᪮¡ª¨ á ¯®¬¥âª ¬¨, ᮮ⢥âáâ¢ãî騬¨ ®ªà 訢 ¥¬ë¬ ¢¥àè¨ ¬. ®¤¢®¤ï ¨â®£¨, ¬®¦® áä®à¬ã«¨à®¢ âì â ª¨¥ ã⢥ত¥¨ï: ¥®à¥¬ 23.6 (® ᪮¡®ç®© áâàãªâãà¥). ਠ¯®¨áª¥ ¢ £«ã¡¨ã ¢ ®à¨¥â¨à®¢ ®¬ ¨«¨ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ¤«ï «î¡ëå ¤¢ãå ¢¥àè¨ u ¨ v ¢ë¯®«ï¥âáï ஢® ®¤® ¨§ á«¥¤ãîé¨å âàñå ã⢥ত¥¨©: ®â१ª¨ [d[u]; f [u]] ¨ [d[v]; f [v]] ¥ ¯¥à¥á¥ª îâáï; ®â१®ª [d[u]; f [u]] 楫¨ª®¬ ᮤ¥à¦¨âáï ¢ãâਠ®â१ª [d[v]; f [v]] ¨ u | ¯®â®¬®ª v ¢ ¤¥à¥¢¥ ¯®¨áª ¢ £«ã¡¨ã; ®â१®ª [d[v]; f [v]] 楫¨ª®¬ ᮤ¥à¦¨âáï ¢ãâਠ®â१ª [d[u]; f [u]] ¨ v | ¯®â®¬®ª u ¢ ¤¥à¥¢¥ ¯®¨áª ¢ £«ã¡¨ã; «¥¤á⢨¥ 23.7 (¢«®¦¥¨¥ ¨â¥à¢ «®¢ ¤«ï ¯®â®¬ª®¢) ¥àè¨ v ï¥âáï (®â«¨çë¬ ®â u) ¯®â®¬ª®¬ ¢¥àè¨ë u ¢ «¥á¥ ¯®¨áª ¢ £«ã¡¨ã ¤«ï (®à¨¥â¨à®¢ ®£® ¨«¨ ¥®à¨¥â¨à®¢ ®£®) £à ä G, ¥á«¨ ¨ ⮫쪮 ¥á«¨ d[u] < d[v] < f [v] < f [u] ¥®à¥¬ 23.8 (® ¡¥«®¬ ¯ãâ¨) ¥àè¨ v ï¥âáï ¯®â®¬ª®¬ ¢¥àè¨ë u ¢ «¥á¥ ¯®¨áª ¢ £«ã¡¨ã (¤«ï ®à¨¥â¨à®¢ ®£® ¨«¨ ¥®à¨¥â¨à®¢ ®£® £à ä G = (V; E )) ¢ ⮬ ¨ ⮫쪮 ⮬ á«ãç ¥, ¥á«¨ ¢ ¬®¬¥â ¢à¥¬¥¨ d[u], ª®£¤ ¢¥àè¨ u ®¡ à㦥 , áãé¥áâ¢ã¥â ¯ãâì ¨§ u ¢ v, á®áâ®ï騩 ⮫쪮 ¨§ ¡¥«ëå ¢¥àè¨. « áá¨ä¨ª æ¨ï àñ¡¥à. ñ¡à £à ä ¤¥«ïâáï ¥áª®«ìª® ª ⥣®à¨© ¢ § ¢¨á¨¬®á⨠®â ¨å ஫¨ ¯à¨ ¯®¨áª¥ á £«ã¡¨ã. â ª« áá¨ä¨ª æ¨ï ®ª §ë¢ ¥âáï ¯®«¥§®© ¢ à §«¨çëå § ¤ ç å. ¯à¨¬¥à, ª ª ¬ë 㢨¤¨¬ ¢ á«¥¤ãî饬 à §¤¥«¥, ®à¨¥â¨à®¢ ë© £à ä ¥ ¨¬¥¥â 横«®¢ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ¯®¨áª ¢ £«ã¡¨ã ¥ 室¨â ¢ ñ¬ "®¡à âëå" ॡ¥à («¥¬¬ 23.10). â ª, ¯ãáâì ¬ë ¯à®¢¥«¨ ¯®¨áª ¢ £«ã¡¨ã £à ä¥ G ¨ ¯®«ã稫¨ «¥á G . 1. ñ¡à ¤¥à¥¢ (tree edges) | íâ® àñ¡à £à ä G . (¥¡à® (u; v ) ¡ã¤¥â ॡ஬ ¤¥à¥¢ , ¥á«¨ ¢¥àè¨ v ¡ë« ®¡ à㦥 ¯à¨ ®¡à ¡®âª¥ í⮣® ॡà .) 2. ¡à âë¥ àñ¡à (back edges) | í⮠ॡà (u; v ), ᮥ¤¨ïî騥 ¢¥àè¨ã u á® ¥ñ ¯à¥¤ª®¬ v ¢ ¤¥à¥¢¥ ¯®¨áª ¢ £«ã¡¨ã. (ñ¡à 横«ë, ¢®§¬®¦ë¥ ¢ ®à¨¥â¨à®¢ ëå £à ä å, áç¨â îâáï ®¡à â묨 àñ¡à ¬¨.) 3. àï¬ë¥ àñ¡à (forward edges) ᮥ¤¨ïîâ ¢¥àè¨ã á ¥ñ ¯®â®¬ª®¬, ® ¥ ¢å®¤ïâ ¢ ¤¥à¥¢® ¯®¨áª ¢ £«ã¡¨ã. 4. ¥à¥ªàñáâë¥ àñ¡à (cross edges) | ¢á¥ ®áâ «ìë¥ àñ¡à £à ä . ¨ ¬®£ãâ ᮥ¤¨ïâì ¤¢¥ ¢¥àè¨ë ®¤®£® ¤¥à¥¢ ¯®¨áª ¢ £«ã¡¨ã, ¥á«¨ ¨ ®¤ ¨§ íâ¨å ¢¥àè¨ ¥ ï¥âáï ¯à¥¤ª®¬ ¤à㣮©, ¨«¨ ¦¥ ¢¥àè¨ë ¨§ à §ëå ¤¥à¥¢ì¥¢. à¨á㪠å 23.4 ¨ 23.5 àñ¡à ¯®¬¥ç¥ë ¢ ᮮ⢥âá⢨¨ ᮠ᢮¨¬ 470 « ¢ 23 «£®à¨â¬ë £à ä å ⨯®¬. ¨á. 23.5(c) ¯®ª §ë¢ ¥â £à ä à¨á. 23.5(a), à¨á®¢ ë© â ª, çâ®¡ë ¯àï¬ë¥ àñ¡à ¨ àñ¡à ¤¥à¥¢ì¥¢ ¢¥«¨ ¢¨§, ®¡à âë¥ { ¢¢¥àå. «£®à¨â¬ DFS ¬®¦¥â ¡ëâì ¤®¯®«¥ ª« áá¨ä¨ª 樥© àñ¡¥à ¯® ¨å ⨯ ¬. ¤¥ï §¤¥áì ¢ ⮬, ç⮠⨯ ॡà (u; v) ¬®¦® ®¯à¥¤¥«¨âì ¯® 梥âã ¢¥àè¨ë v ¢ â®â ¬®¬¥â, ª®£¤ ॡ஠¯¥à¢ë© à § ¨áá«¥¤ã¥âáï (¯à ¢¤ , ¯àï¬ë¥ ¨ ¯¥à¥ªà¥áâë¥ à¥¡à ¯à¨ í⮬ ¥ à §«¨ç îâáï): ¡¥«ë© 梥⠮§ ç ¥â ॡ஠¤¥à¥¢ , á¥àë© | ®¡à ⮥ ॡà®, çñàë© | ¯àאַ¥ ¨«¨ ¯¥à¥ªàñá⮥ ॡà®. ⮡ë ã¡¥¤¨âìáï ¢ í⮬, ¤® § ¬¥â¨âì, çâ® ª ¬®¬¥â㠢맮¢ DFS-Visit(v ) á¥à묨 ïîâáï ¢¥àè¨ë ¯ã⨠®â ª®àï ¤¥à¥¢ ª ¢¥à訥 v ¨ ⮫쪮 ®¨ (¨¤ãªæ¨ï ¯® £«ã¡¨¥ ¢«®¦¥®á⨠¢ë§®¢ ). â®¡ë ®â«¨ç¨âì ¯àï¬ë¥ àñ¡à ®â ¯¥à¥ªàñáâëå, ¬®¦® ¢®á¯®«ì§®¢ âìáï ¯®«¥¬ d: ॡ஠(u; v) ®ª §ë¢ ¥âáï ¯àï¬ë¬, ¥á«¨ d[u] < d[v], ¨ ¯¥à¥ªàñáâë¬, ¥á«¨ d[u] > d[v] (ã¯à. 23.3-4). ¥®à¨¥â¨à®¢ ë© âॡã¥â ®á®¡®£® à áᬮâ२ï, â ª ª ª ®¤® ¨ â® ¦¥ ॡ஠(u; v) = (v; u) ®¡à ¡ âë¢ ¥áï ¤¢ ¦¤ë, á ¤àãå ª®æ®¢, ¨ ¬®¦¥â ¯®¯ áâì ¢ à §ë¥ ª ⥣®à¨¨. ë ¡ã¤¥¬ ®â®á¨âì ¥£® ¢ ⮩ ª ⥣®à¨¨, ª®â®à ï á⮨â à ìè¥ ¢ 襬 ¯¥à¥ç¥ ç¥âëàñå ª ⥣®à¨©. ®â ¦¥ á ¬ë© à¥§ã«ìâ â ¯®«ãç¨âáï, ¥á«¨ ¬ë ¡ã¤¥¬ áç¨â âì, ç⮠⨯ à¥¡à ®¯à¥¤¥«ï¥âáï ¯à¨ ¥£® ¯¥à¢®© ®¡à ¡®âª¥ ¨ ¥ ¬¥ï¥âáï ¯à¨ ¢â®à®©. ª §ë¢ ¥âáï, çâ® ¯à¨ â ª¨å ᮣ« 襨ïå ¯àï¬ëå ¨ ¯¥à¥ªàñáâëå ॡ¥à ¢ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ ¥ ¡ã¤¥â. ¥®à¥¬ 23.9 ਠ¯®¨áª¥ ¢ £«ã¡¨ã ¢ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ G «î¡®¥ ॡ஠®ª §ë¢ ¥âáï «¨¡® ¯àï¬ë¬, «¨¡® ®¡à âë¬. ®ª § ⥫ìá⢮. ãáâì (u; v) | ¯à®¨§¢®«ì®¥ ॡ஠£à ä G, ¨ ¯ãáâì, ¯à¨¬¥à, d[u] < d[v]. ®£¤ ¢¥àè¨ v ¤®«¦ ¡ëâì ®¡ à㦥 ¨ ®¡à ¡®â ¯à¥¦¤¥, 祬 § ª®ç¨âáï ®¡à ¡®âª ¢¥àè¨ë u, â ª ª ª v ᮤ¥à¦¨âáï ¢ ᯨ᪥ ᬥ¦ëå á u ¢¥àè¨. ᫨ ॡ஠(u; v) ¯¥à¢ë© à § ®¡à ¡ âë¢ ¥âáï ¢ ¯à ¢«¥¨¨ ®â u ª v, â® (u; v) áâ ®¢¨âáï ॡ஬ ¤¥à¥¢ . ᫨ ¦¥ ®® ¯¥à¢ë© à § ®¡à ¡ âë¢ ¥âáï ¢ ¯à ¢«¥¨¨ ®â v ª u, â® ®® áâ ®¢¨âáï ®¡à âë¬ à¥¡à®¬ (ª®£¤ ®® ¨áá«¥¤ã¥âáï, ¢¥àè¨ u | á¥à ï). â ⥮६ ¡ã¤¥â ¥ à § ¨á¯®«ì§®¢ ¢ á«¥¤ãîé¨å à §¤¥« å. ¯à ¦¥¨ï. 23.3-1 à¨áã©â¥ â ¡«¨æã 3 3, áâப¨ ¨ á⮫¡æë ª®â®à®© ®â¬¥ç¥ë ª ª ¡¥«ë©, á¥àë© ¨ çñàë©. ª ¦¤®© ª«¥âª¥ (i; j ) ¯®¬¥âìâ¥, ¬®¦¥â «¨ ¢ ¯à®æ¥áᥠ¯®¨áª ¢ £«ã¡¨ã ®à¨¥â¨à®¢ ®¬ £à ä¥ ©â¨áì ॡ஠¨§ ¢¥àè¨ë 梥â i ¢ ¢¥àè¨ã 梥â j , ¨ ª ª®£® ⨯ ¬®¦¥â ¡ëâì â ª®¥ ॡà®. ¤¥« ©â¥ «®£¨çãî â ¡«¨æã ¤«ï ¥®à¨¥â¨à®¢ ëå £à 䮢. 23.3-2 ਬ¥¨â¥ «£®à¨â¬ ¯®¨áª ¢ £«ã¡¨ã ¤«ï £à ä à¨á. 23.6. ç¨- á®¢ë¥ «£®à¨â¬ë £à ä å 471 ¨á㮪 23.5 23.6 ਥâ¨à®¢ ë© £à ä ¤«ï ã¯à. 23.3-2 ¨ 23.3-3. â ©â¥, ç⮠横« for ¢ áâப å 5-7 ¯à®æ¥¤ãàë DFS ¯¥à¥¡¨à ¥â ¢¥àè¨ë ¢ «ä ¢¨â®¬ ¯®à浪¥, ¨ çâ® ¢ ᯨ᪠å ᬥ¦ëå ¢¥àè¨ ®¨ ⮦¥ ¨¤ãâ ¯® «ä ¢¨âã. ©¤¨â¥ ¢à¥¬ï ®¡ à㦥¨ï ¨ ®ª®ç ¨ï ®¡à ¡®âª¨ ª ¦¤®© ¢¥àè¨ë. ª ¦¨â¥ â¨¯ë ¢á¥å ॡ¥à. 23.3-3 ¯¨è¨â¥ ¢ëà ¦¥¨¥ ¨§ ᪮¡®ª, ᮮ⢥âáâ¢ãî饥 ¯®¨áªã ¢ £«ã¡¨ã ¢ ¯à¥¤ë¤ã饬 ã¯à ¦¥¨¨. 23.3-4 ®ª ¦¨â¥, ç⮠ॡ஠(u; v) ï¥âáï a. ॡ஬ ¤¥à¥¢ ¨«¨ ¯àï¬ë¬ ॡ஬, ¥á«¨ ¨ ⮫쪮 ¥á«¨ d[u] < d[v] < f [v] < f [u]; b. ®¡à âë¬ à¥¡à®¬, ¥á«¨ ¨ ⮫쪮 ¥á«¨ d[v ] < d[u] < f [u] < f [v ]; c. ¯¥à¥ªàñáâë¬ à¥¡à®¬, ¥á«¨ ¨ ⮫쪮 ¥á«¨ d[v ] < f [v ] < d[u] < f [u]. 23.3-5 ®ª ¦¨â¥ çâ® ¤«ï ¥®à¨¥â¨à®¢ ëå £à 䮢 ¢áñ à ¢®, ®¯à¥¤¥«ï¥¬ «¨ ¬ë ¥£® ⨯ ª ª ¯¥à¢ë© ¨§ ç¥âëàñå ¢®§¬®¦ëå ¢ ¯¥à¥ç¥, ¨«¨ ª ª ¥£® ⨯ ¯à¨ ¯¥à¢®© ®¡à ¡®âª¥. 23.3-6 ®áâன⥠ª®âà¯à¨¬¥à ª â ª®© £¨¯®â¥§¥: ¥á«¨ ¢ ®à¨¥â¨à®¢ ®¬ £à ä¥ G áãé¥áâ¢ã¥â ¯ãâì ¨§ u ¢ v, ¨ ¥á«¨ d[u] < d[v] ¯à¨ ¯®¨áª¥ ¢ £«ã¡¨ã í⮬ £à ä¥, â® v | ¯®â®¬®ª u ¢ ¯®áâ஥®¬ «¥áã ¯®¨áª ¢ £«ã¡¨ã. 23.3-7 ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ ¯®¨áª ¢ £«ã¡¨ã â ª, çâ®¡ë ® ¯¥ç â « ª ¦¤®¥ ॡ஠®à¨¥â¨à®¢ ®£® £à ä ¢¬¥áâ¥ á ¥£® ⨯®¬. ª¨¥ ¨§¬¥¥¨ï ã¦ë ¤«ï ¥®à¨¥â¨à®¢ ®£® £à ä ? 23.3-8 ¡êïá¨â¥, ª ª ¢¥àè¨ ¬®¦¥â ®ª § âìáï ¥¤¨á⢥®© ¢ ¤¥à¥¢¥ ¯®¨áª ¢ £«ã¡¨ã, ¤ ¦¥ ¥á«¨ ã ¥ñ ¥áâì ª ª ¢å®¤ï騥, â ª ¨ ¨á室ï騥 ॡà . 23.3-9 ®ª ¦¨â¥, çâ® á ¯®¬®éìî ¯®¨áª ¢ £«ã¡¨ã ¬®¦® ©â¨ á¢ï§ë¥ ª®¬¯®¥âë ¥®à¨¥â¨à®¢ ®£® £à ä , ¨ çâ® «¥á ¯®¨áª ¢ £«ã¡¨ã ¡ã¤¥â ᮤ¥à¦ âì á⮫쪮 ¦¥ ¤¥à¥¢ì¥¢, ᪮«ìª® ¥áâì á¢ï§ëå ª®¬¯®¥â. «ï í⮣® ¨§¬¥¨â¥ «£®à¨â¬ ¯®¨áª â ª, çâ®¡ë ª ¦¤®© ¢¥à訥 v ® ¯à¨á¢ ¨¢ « ®¬¥à ®â 1 ¤® k (k | ç¨á«® á¢ï§ëå ª®¬¯®¥â), 㪠§ë¢ î騩, ¢ ª ª®© á¢ï§®© ª®¬¯®¥â¥ 室¨âáï v. 23.3-10* ®¢®àïâ, çâ® ®à¨¥â¨à®¢ ë© £à ä G = (V; E ) ®¡« ¤ ¥â ᢮©á⢮¬ ¥¤¨á⢥®á⨠¯ã⨠(is singly connected), ¥á«¨ ¢ ñ¬ ¥ áãé¥áâ¢ã¥â ¤¢ãå à §ëå ¯à®áâëå ¯ã⥩, ¨¬¥îé¨å ®¡é¥¥ ç «® 472 « ¢ 23 «£®à¨â¬ë £à ä å ¥à¥¢®¤ë §ë¢ ¨©: undershorts { âàãáë, pants { èâ ë, belt { ६¥ì, shirt { àã¡ èª , tie { £ «áâãª, jacket { ¯¨¤¦ ª, socks { ®áª¨, shoes { ¡®â¨ª¨, watch { ç áë. ¨á㮪 23.6 23.7 (a) à®ä¥áá®à ⮯®«®£¨ç¥áª¨ á®àâ¨àã¥â á¢®î ®¤¥¦¤ã ¯® ãâà ¬. ¥¡à® (u; v) ®§ ç ¥â, çâ® u ¤®«¦® ¡ëâì ¤¥â® ¤® v. 冷¬ á ¢¥àè¨ ¬¨ ¯®ª § ë ¢à¥¬¥ ç « ¨ ª®æ ®¡à ¡®âª¨ ¯à¨ ¯®¨áª¥ ¢ £«ã¡¨ã. (b) à ä ⮯®«®£¨ç¥áª¨ ®âá®àâ¨à®¢ (¢¥àè¨ë à ᯮ«®¦¥ë ¢ ¯®à浪¥ ã¡ë¢ ¨ï ¢à¥¬¥¨ ®ª®ç ¨ï ®¡à ¡®âª¨). ᥠàñ¡à ¨¤ãâ á«¥¢ ® ¯à ¢®. ¨ ®¡é¨© ª®¥æ. ®áâன⥠íää¥ªâ¨¢ë© «£®à¨â¬, ®¯à¥¤¥«ïî騩, ®¡« ¤ ¥â «¨ £à ä í⨬ ᢮©á⢮¬. 23.1.4 ®¯®«®£¨ç¥áª ï á®àâ¨à®¢ª ãáâì ¨¬¥¥âáï ®à¨¥â¨à®¢ ë© £à ä ¡¥§ 横«®¢ (directed acyclic graph; íâ® £«¨©áª®¥ §¢ ¨¥ ¨®£¤ ᮪à é îâ ¤® \dag"). ¤ ç ® ⮯®«®£¨ç¥áª®© á®àâ¨à®¢ª¥ (topological sort) í⮣® £à ä á®á⮨⠢ á«¥¤ãî饬: ¤® 㪠§ âì â ª®© «¨¥©ë© ¯®à冷ª ¥£® ¢¥àè¨ å, çâ® «î¡®¥ ॡ஠¢¥¤¥â ®â ¬¥ì襩 ¢¥àè¨ë ª ¡®«ì襩 (¢ á¬ëá«¥ í⮣® ¯®à浪 ). 祢¨¤®, çâ® ¥á«¨ ¢ £à ä¥ ¥áâì 横«ë, â ª®£® ¯®à浪 ¥ áãé¥áâ¢ã¥â. ®¦® áä®à¬ã«¨à®¢ âì § ¤ çã ® ⮯®«®£¨ç¥áª®© á®àâ¨à®¢ª¥ ¨ â ª: à ᯮ«®¦¨âì ¢¥àè¨ë £à ä £®à¨§®â «ì®© ¯àאַ© â ª, çâ®¡ë ¢á¥ àñ¡à 諨 á«¥¢ ¯à ¢®. («®¢® "á®àâ¨à®¢ª " ¥ ¤®«¦® ¢¢®¤¨âì ¢ § ¡«ã¦¤¥¨¥: íâ § ¤ ç ¢¥áì¬ ®â«¨ç ¥âáï ®â ®¡ë箩 § ¤ ç¨ á®àâ¨à®¢ª¨, ®¯¨á ®© ¢ ç á⨠II.) ®â ¯à¨¬¥à á¨âã 樨, ¢ ª®â®à®© ¢®§¨ª ¥â â ª ï § ¤ ç . áá¥ïë© ¯à®ä¥áá®à ®¤¥¢ ¥âáï ¯® ãâà ¬, ¯à¨çñ¬ ª ª¨¥-â® ¢¥é¨ ®¡ï§ â¥«ì® ¤® ¤¥¢ âì ¤® ª ª¨å-â® ¤à㣨å ( ¯àਬ¥à, ®áª¨ | ¤® ¡ è¬ ª®¢); ¢ ¤à㣨å á«ãç ïå íâ® ¢áñ à ¢® (®áª¨ ¨ èâ ë, ¯à¨¬¥à). à¨á. 23.7 (a) âà¥¡ã¥¬ë¥ á®®â®è¥¨ï ¯®ª § ë ¢ ¢¨¤¥ ®à¨¥â¨à®¢ ®£® £à ä : ॡ஠(u; v) ®§ ç ¥â, çâ® ¯à¥¤¬¥â u ¤®«¦¥ ¡ëâì ¤¥â ¤® v. ®¯®«®£¨ç¥áª ï á®àâ¨à®¢ª í⮣® £à ä , ⥬ á ¬ë¬, ®¯¨áë¢ ¥â ¢®§¬®¦ë© ¯®à冷ª ®¤¥¢ ¨ï. ¤¨ ¨§ â ª¨å ¯®à浪®¢ ¯®ª § à¨á. 23.7 (b) ( ¤® ®¤¥¢ âìáï á«¥¢ ¯à ¢®). «¥¤ãî騩 ¯à®á⮩ «£®à¨â¬ ⮯®«®£¨ç¥áª¨ á®àâ¨àã¥â ®à¨¥â¨à®¢ ë© æ¨ª«¨ç¥áª¨© £à ä. Topological-Sort($G$) 1 맢 âì DFS($G$), ¯à¨ í⮬, 2 § ¢¥àè ï ®¡à ¡®âªã ¢¥àè¨ë (\textsc{DFS-Visit}, áâப 8), ¤®¡ ¢«ïâì ¥ñ ¢ ç «® ᯨ᪠3 ¢¥àãâì ¯®áâà®¥ë© á¯¨á®ª ¢¥àè¨ à¨á㪥 23.7 (b) ¯®ª § १ã«ìâ ⠯ਬ¥¥¨ï â ª®£® «£®à¨â¬ : § 票ï f [v] ã¡ë¢ îâ á«¥¢ ¯à ¢®. á®¢ë¥ «£®à¨â¬ë £à ä å 473 ®¯®«®£¨ç¥áª ï á®àâ¨à®¢ª ¢ë¯®«ï¥âáï § ¢à¥¬ï (V + E ), ¯®â®¬ã çâ® á⮫쪮 ¢à¥¬¥¨ § ¨¬ ¥â ¯®¨áª ¢ £«ã¡¨ã, ¤®¡ ¢¨âì ª ¦¤ãî ¨§ jV j ¢¥àè¨ ª ᯨáªã ¬®¦® § ¢à¥¬ï O(1). à ¢¨«ì®áâì í⮣® «£®à¨â¬ ¤®ª §ë¢ ¥âáï á ¯®¬®éìî â ª®© «¥¬¬ë: ¥¬¬ 23.10 ਥâ¨à®¢ ë© £à ä ¥ ¨¬¥¥â 横«®¢ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ¯®¨áª ¢ £«ã¡¨ã ¥ 室¨â ¢ ñ¬ ®¡à âëå àñ¡¥à. ®ª § ⥫ìá⢮. ): ¡à ⮠ॡ஠ᮥ¤¨ï¥â ¯®â®¬ª á ¯à¥¤ª®¬ ¨ ¯®â®¬ã § ¬ëª ¥â 横«, ®¡à §®¢ ë© àñ¡à ¬¨ ¤¥à¥¢ . (: ãáâì ¢ £à ä¥ ¨¬¥¥âáï 横« c. ®ª ¦¥¬, çâ® ¢ í⮬ á«ãç ¥ ¯®¨áª ¢ £«ã¡¨ã ®¡ï§ â¥«ì® ©¤ñâ ®¡à ⮥ ॡà®. ।¨ ¢¥àè¨ æ¨ª« ¢ë¡¥à¥¬ ¢¥àè¨ã v, ª®â®à ï ¡ã¤¥â ®¡ à㦥 ¯¥à¢®©, ¨ ¯ãáâì (u; v) | ¢¥¤ã饥 ¢ ¥ñ ॡ஠横« . ®£¤ ¢ ¬®¬¥â ¢à¥¬¥¨ d[v] ¨§ v ¢ u ¢¥¤ñâ ¯ãâì ¨§ ¡¥«ëå ¢¥àè¨. ® ⥮६¥ ® ¡¥«®¬ ¯ã⨠u á⠥⠯®â®¬ª®¬ v ¢ «¥á¥ ¯®¨áª ¢ £«ã¡¨ã, ¯®í⮬ã (u; v) ¡ã¤¥â ®¡à âë¬ à¥¡à®¬. ¥®à¥¬ 23.11 à®æ¥¤ãà Topological-Sort(G) ¯à ¢¨«ì® ¢ë¯®«ï¥â ⮯®«®£¨ç¥áªãî á®àâ¨à®¢ªã ®à¨¥â¨à®¢ ®£® £à ä G ¡¥§ 横«®¢. ®ª § ⥫ìá⢮. 㦮 ¤®ª § âì, çâ® ¤«ï «î¡®£® ॡà (u; v) ¢ë¯®«¥® ¥à ¢¥á⢮ f [v] < f [u]. ¬®¬¥â ®¡à ¡®âª¨ í⮣® à¥¡à ¢¥àè¨ v ¥ ¬®¦¥â ¡ëâì á¥à®© (íâ® ®§ ç «® ¡ë, çâ® ® ï¥âáï ¯à¥¤ª®¬ u ¨ (u; v ) ï¥âáï ®¡à âë¬ à¥¡à®¬, çâ® ¯à®â¨¢®à¥ç¨â «¥¬¬¥ 23.10). ®í⮬ã v ¢ íâ®â ¬®¬¥â ¤®«¦ ¡ëâì ¡¥«®© ¨«¨ çñன. ᫨ v | ¡¥« ï, â® ® áâ ®¢¨âáï ॡñª®¬ u, â ª çâ® f [v ] < f [u]. ᫨ ® 㦥 çñà ï, ⮠⥬ ¡®«¥¥ f [v] < f [u]. ¯à ¦¥¨ï 23.4-1 ª ª®¬ ¯®à浪¥ à ᯮ«®¦¨â ¢¥àè¨ë £à ä à¨á. 23.8 «£®à¨â¬ Topological-Sort? (®à冷ª ¯à®á¬®âà ¢¥àè¨ «ä ¢¨âë©.) 23.4-2 ¥§ã«ìâ â à ¡®âë «£®à¨â¬ Topological-Sort § ¢¨á¨â ®â ¯®à浪 ¯à®á¬®âà ¢¥àè¨. ®ª ¦¨â¥, çâ® à §«¨çë¥ ã¯®à冷票ï ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨ ¬®£ã⠯ਢ¥á⨠ª ®¤®¬ã ¨ ⮬㠦¥ १ã«ìâ âã. 23.4-3 ਤ㬠©â¥ «£®à¨â¬, ®¯à¥¤¥«ïî騩, ¨¬¥¥âáï «¨ ¢ ¤ ®¬ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) 横«. ®¦® «¨ ᤥ« âì íâ® § ¢à¥¬ï O(V ) (á ª®áâ ⮩, ¥ § ¢¨áï饩 ®â jE j)? 23.4-4 ¥à® «¨, çâ® ¤«ï ®à¨¥â¨à®¢ ®£® £à ä á 横« ¬¨ «£®à¨â¬ Topological-Sort 室¨â ¯®à冷ª, ¯à¨ ª®â®à®¬ ç¨á«® "¯«®å¨å" àñ¡¥à (¨¤ãé¨å ¢ ¥¯à ¢¨«ì®¬ ¯à ¢«¥¨¨) ¡ã¤¥â ¬¨¨¬ «ì®? 474 « ¢ 23 «£®à¨â¬ë £à ä å ¨á㮪 23.7 23.9 (a) ਥâ¨à®¢ ë© £à ä G ¨ ¥£® á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë (¯®ª § ë á¥àë¬). (b) à ᯮ¨à®¢ ë© £à ä GT . ®ª § ® ¤¥à¥¢® ¯®¨áª ¢ £«ã¡¨ã, ¢ëç¨á«ï¥¬®¥ ¢ áâப¥ 3 ¯à®æ¥¤ãàë Strongly-ConnectedComponents ¥¡à ¤¥à¥¢ ®¡¢¥¤¥ë á¥àë¬. ¥àè¨ë b; c;g; h, ïî騥áï ª®àﬨ ¤¥à¥¢ì¥¢ ¯®¨áª ¢ £«ã¡¨ã (¤«ï £à ä GT ), ¢ë¤¥«¥ë çñàë¬. (c) 横«¨ç¥áª¨© £à ä, ª®â®àë© ¯®«ãç¨âáï, ¥á«¨ áâïãâì ª ¦¤ãî á¨«ì® á¢ï§ãî ª®¬¯®¥âã £à ä G ¢ â®çªã. 23.4-5 à㣮© ᯮᮡ ⮯®«®£¨ç¥áª®© á®àâ¨à®¢ª¨ á®á⮨⠢ ⮬, çâ®¡ë ¯®á«¥¤®¢ â¥«ì® å®¤¨âì ¢¥àè¨ë á ¢å®¤ï饩 á⥯¥ìî 0, ¯¥ç â âì ¨å ¨ 㤠«ïâì ¨§ £à ä ¢¬¥á⥠ᮠ¢á¥¬¨ ¢ë室ï騬¨ ¨§ ¨å àñ¡à ¬¨. ª ॠ«¨§®¢ âì íâã ¨¤¥î, çâ®¡ë ¢à¥¬ï ¢ë¯®«¥¨ï á®áâ ¢¨«® O(V + E )? â® ¯à®¨§®©¤ñâ, ¥á«¨ ¢ ¨á室®¬ £à ä¥ ¥áâì 横«ë? 23.5 ¨«ì® á¢ï§ë¥ ª®¬¯®¥âë. 23.1.5 ¨«ì® á¢ï§ë¥ ª®¬¯®¥âë « áá¨ç¥áª®¥ ¯à¨¬¥¥¨¥ ¯®¨áª ¢ £«ã¡¨ã | § ¤ ç ® à §«®¦¥¨¨ £à ä á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë. ë ¯®ª ¦¥¬, ª ª íâ® ¬®¦® ᤥ« âì, ¤¢ ¦¤ë ¢ë¯®«¨¢ ¯®¨áª ¢ £«ã¡¨ã. ®£¨¥ «£®à¨â¬ë, à ¡®â î騥 ®à¨¥â¨à®¢ ëå £à ä å, ç¨ îâ á ®âë᪠¨ï á¨«ì® á¢ï§ëå ª®¬¯®¥â: ¯®á«¥ í⮣® § ¤ ç à¥è ¥âáï ®â¤¥«ì® ¤«ï ª ¦¤®© ª®¬¯®¥âë, ¯®â®¬ à¥è¥¨ï ª®¬¡¨¨àãîâáï ¢ ᮮ⢥á⢨¨ á® á¢ï§ï¬¨ ¬¥¦¤ã ª®¬¯®¥â ¬¨. ⨠á¢ï§¨ ¬®¦® ¯à¥¤áâ ¢«ïâì ¢ ¢¨¤¥ â ª §ë¢ ¥¬®£® "£à ä ª®¬¯®¥â" (ã¯à. 23.5-4). ᯮ¬¨¬ (£« ¢ 5), çâ® á¨«ì® á¢ï§®© ª®¬¯®¥â®© ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) §ë¢ ¥âáï ¬ ªá¨¬ «ì®¥ ¬®¦¥á⢮ ¢¥àè¨ U V á â ª¨¬ ᢮©á⢮¬: «î¡ë¥ ¤¢¥ ¢¥àè¨ë u ¨ v ¨§ U ¤®á⨦¨¬ë ¤à㣠¨§ ¤à㣠(u v ¨ v u). ਬ¥à £à ä á ¢ë¤¥«¥ë¬¨ á¨«ì® á¢ï§ë¬¨ ª®¬¯®¥â ¬¨ ¯®ª § à¨á. 23.9. «£®à¨â¬ ¯®¨áª á¨«ì® á¢ï§ëå ª®¬¯®¥â £à ä G = (V; E ) ¡ã¤¥â ¨á¯®«ì§®¢ âì "âà ᯮ¨à®¢ ë©" £à ä GT = (V; E T ) (ã¯à. 23.1-3), ¯®«ãç ¥¬ë© ¨§ ¨á室®£® ®¡à 饨¥¬ áâ५®ª àñ¡à å: E T = f(u; v) : (v; u) 2 E g. ª®© £à ä ¬®¦® ¯®áâநâì § ¢à¥¬ï O(V + E ) (¬ë áç¨â ¥¬, çâ® ¨áå®¤ë© ¨ âà ᯮ¨à®¢ ë© £à äë § ¤ ë á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨). ¥£ª® ¯®ïâì, çâ® G ¨ GT ¨¬¥îâ ®¤¨ ¨ ⥠¦¥ á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë (¯®áª®«ìªã v ¤®á⨦¨¬® ¨§ u ¢ GT , ¥á«¨ ¨ ⮫쪮 ¥á«¨ u ¤®á⨦¨¬® ¨§ v ¢ GT ). à¨á㪥 23.9 (b) ¯®ª § â१ã«ìâ â âà ᯮ¨à®¢ ¨ï £à ä à¨á. 23.9 (a). «¥¤ãî騩 «£®à¨â¬ 室¨â á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ), ¨á¯®«ì§ãï ¤¢ ¯®¨áª ¢ £«ã¡¨ã á®¢ë¥ «£®à¨â¬ë £à ä å 475 | ¤«ï G ¨ ¤«ï GT ; ¢à¥¬ï à ¡®âë ¥áâì O(V + E ). Strongly-Connected-Components($G$) 1 á ¯®¬®éìî DFS($G$) ©â¨ ¢à¥¬ï ®ª®ç ¨ï ®¡à ¡®âª¨ $f[u]$ ¤«ï ª ¦¤®© ¢¥àè¨ë $u$ 2 ¯®áâநâì $G^T$ 3 ¢ë§¢ âì DFS($G^T$), ¯à¨ í⮬ ¢ ¥£® ¢¥è¥¬ 横«¥ ¯¥à¥¡¨- à âì ¢¥àè¨ë ¢ ¯®à浪¥ ã¡ë¢ ¨ï ¢¥«¨çë $f[u]$ (¢ëç¨á«¥®© ¢ áâப¥ 1) 4 á¨«ì® á¢ï§ë¬¨ ª®¬¯®¥â ¬¨ ¡ã¤ãâ ¤¥à¥¢ìï ¯®¨áª , ¯®áâà®¥ë¥ è £¥ 3. ¯¥à¢®£® ¢§£«ï¤ íâ®â «£®à¨â¬ ª ¦¥âáï ¥áª®«ìª® § £ ¤®çë¬. £® «¨§ ¬ë çñ¬ á ¤¢ãå ¯®«¥§ëå ¡«î¤¥¨©, ®â®áïé¨åáï ª ¯à®¨§¢®«ì®¬ã ®à¨¥â¨à®¢ ®¬ã £à äã. ¥¬¬ 23.12 ᫨ ¤¢¥ ¢¥àè¨ë ¯à¨ ¤«¥¦ â ®¤®© á¨«ì® á¢ï§®© ª®¬¯®¥â¥, ¨ª ª®© ¯ãâì ¬¥¦¤ã ¨¬¨ ¥ ¢ë室¨â § ¯à¥¤¥«ë í⮩ ª®¬¯®¥âë. ®ª § ⥫ìá⢮. ãáâì ¢¥àè¨ w «¥¦¨â ¯ã⨠¨§ u ¨ v, ¨ ¢¥àè¨ë u ¨ v ¯à¨ ¤«¥¦ â ®¤®© á¨«ì® á¢ï§®© ª®¬¯®¥â¥. ®£¤ u w, w v ¨ v u, ®âªã¤ ¢áñ ¨ á«¥¤ã¥â. ¥®à¥¬ 23.13 ¯à®æ¥áᥠ¯®¨áª ¢ £«ã¡¨ã ¢¥àè¨ë ®¤®© á¨«ì® á¢ï§®© ª®¬¯®¥âë ¯®¯ ¤ îâ ¢ ®¤® ¨ â® ¦¥ ¤¥à¥¢®. ®ª § ⥫ìá⢮. «ï ¯à®¨§¢®«ì®© á¨«ì® á¢ï§®© ª®¬¯®¥âë à áᬮâਬ ¥ñ ¢¥àè¨ã, ®¡ à㦥ãî ¯¥à¢®© (®¡®§ 稬 ¥ñ r). íâ®â ¬®¬¥â ¢á¥ ®áâ «ìë¥ ¢¥àè¨ë ª®¬¯®¥âë ¥éñ ¡¥«ë¥ ¨ ¯®â®¬ã ¤®áâã¯ë ¨§ r ¯® ¡¥«ë¬ ¯ãâï¬ (¢¥¤ã騥 ¢ ¨å ¯ã⨠¥ ¢ë室ïâ § ¯à¥¤¥«ë ª®¬¯®¥âë ¯® «¥¬¬¥ 23.12). ®í⮬㠯® ⥮६¥ ® ¡¥«®¬ ¯ã⨠®¨ ¡ã¤ãâ § ªà è¥ë ¯à¨ ¢ë§®¢¥ DFS-Visit(r) ¨ ¢®©¤ãâ ¢ â® ¦¥ ¤¥à¥¢® ¯®¨áª . ®§¢à é ïáì ª «¨§ã «£®à¨â¬ Strongly-ConnectedComponents, ¤®£®¢®à¨¬áï, çâ® d[u] ¨ f [u] ¡ã¤ãâ ®¡®§ ç âì ¢à¥¬ï ®¡ à㦥¨ï ¨ ¢à¥¬ï ®ª®ç ¨ï ®¡à ¡®âª¨ ¢¥àè¨ë v, ©¤¥ë¥ ¢ áâப¥ 1 «£®à¨â¬ , § ¯¨áì u v ¡ã¤¥â ®§ ç âì áãé¥á⢮¢ ¨¥ ¯ã⨠¢ G ( ¥ ¢ GT ). «ï ª ¦¤®© ¢¥àè¨ë u £à ä ®¯à¥¤¥«¨¬ ¥ñ ¯à¥¤è¥á⢥¨ª (forefather) '(u) ª ª âã ¨§ ¢¥àè¨ w, ¤®á⨦¨¬ëå ¨§ u, ¤«ï ª®â®à®© ®¡à ¡®âª ¡ë« § ¢¥àè¥ ¯®§¤¥¥ ¢á¥å: '(u) = â ª ï ¢¥àè¨ w, çâ® u w ¨ f [w] ¬ ªá¨¬ «ì® ਠí⮬ ¢¯®«¥ ¬®¦¥â ®ª § âìáï, çâ® '(u) = u. ª ª ª «î¡ ï ¢¥àè¨ u ¤®á⨦¨¬ á ¬ ¨§ ᥡï, f [u] 6 f ['(u)] (23:2) 476 « ¢ 23 «£®à¨â¬ë £à ä å ®ª ¦¥¬ ⥯¥àì, çâ® '('(u)) = '(u). á ¬®¬ ¤¥«¥, ¤«ï «î¡ëå ¤¢ãå ¢¥àè¨ u; v 2 V u v ) f ['(v)] 6 f ['(u)]; (23:3) ¯®â®¬ã çâ® fw : v wg fw : u wg ¨ ¯à¥¤è¥á⢥¨ª «î¡®© ¢¥àè¨ë ¨¬¥¥â ¬ ªá¨¬ «ì®¥ ¢à¥¬ï § ¢¥àè¥¨ï ®¡à ¡®âª¨ á।¨ ¢á¥å ¤®á⨦¨¬ëå ¨§ ¥ñ ¢¥àè¨. ®áª®«ìªã ¢¥àè¨ '(u) ¤®á⨦¨¬ ¨§ u, ¨§ ä®à¬ã«ë (23.3) ¯®«ãç ¥¬, çâ® f ['('(u))] 6 f ['(u)]. ஬¥ ⮣®, ¨§ ¥à ¢¥á⢠(23.2) ¨¬¥¥¬ f ['(u)] 6 f ['('(u))]. «¥¤®¢ â¥«ì® f ['('(u))] = f ['(u)] ¨ '('(u)) = '(u), â ª ª ª ¤¢¥ ¢¥àè¨ë á ®¤¨¬ ¢à¥¬¥¥¬ § ¢¥àè¥¨ï ®¡à ¡®âª¨. ª ¬ë 㢨¤¨¬, ¢ ª ¦¤®© á¨«ì® á¢ï§®© ª®¬¯®¥â¥ ¥áâì ¢¥àè¨ , ïîé ïáï ¯à¥¤è¥á⢥¨ª®¬ ¢á¥å ¢¥àè¨ í⮩ ª®¬¯®¥âë. ਠ¯®¨áª¥ ¢ £«ã¡¨ã ¢ G íâ ¢¥àè¨ ®¡ à㦨¢ ¥âáï ¯¥à¢®© ¨ ®ª §ë¢ ¥âáï ®¡à ¡®â ®© ¯®á«¥¤¥© (á।¨ ¢¥àè¨ í⮩ ª®¬¯®¥âë). ਠ¯®¨áª¥ ¢ GT ® áâ ®¢¨âáï ª®à¥¬ ¤¥à¥¢ ¯®¨áª ¢ £«ã¡¨ã. ¢ ©â¥ ¤®ª ¦¥¬ í⨠᢮©á⢠. ¨ªá¨à㥬 ¥ª®â®àãî á¨«ì® á¢ï§ãî ª®¬¯®¥âã S . áᬮâਬ ¢¥àè¨ã v í⮩ ª®¬¯®¥âë, ª®â®à ï ®¡ à㦨¢ ¥âáï (¯à¨ ¯®¨áª¥ ¢ £«ã¡¨ã) ¯¥à¢®©, â® ¥áâì ¨¬¥¥â ¬¨¨¬ «ì®¥ § 票¥ d[v] á।¨ ¢á¥å v 2 S . §ã稬 á¨âã æ¨î, ª®â®à ï ¨¬¥¥â ¬¥áâ® ¥¯®á।á⢥® ¯¥à¥¤ ¢ë§®¢®¬ DFS-Visit(V ). 1. íâ®â ¬®¬¥â ¢á¥ ¢¥àè¨ë ¨§ S ¡¥«ë¥. ( ᫨ íâ® ¥ â ª, ¢¥àè¨ v ¥ ï¥âáï ¯¥à¢®© ®¡ à㦥®© ¢¥à訮© ¨§ S .) 2. ᥠ¢¥àè¨ë ª®¬¯®¥âë S ¤®á⨦¨¬ë ¨§ v ¯® ¡¥«ë¬ ¯ãâï¬. ( á ¬®¬ ¤¥«¥, ¯® «¥¬¬¥ 23.12 ¯ã⨠¥ ¢ë室ïâ § ¯à¥¤¥«ë S .) 3. ¨ ®¤ á¥à ï ¢¥àè¨ ¥ ¤®á⨦¨¬ ¨§ v . ( á ¬®¬ ¤¥«¥, ¢ ¬®¬¥â ¢ë§®¢ DFS-Visit(v) á¥àë¥ ¢¥àè¨ë ®¡à §ãîâ ¯ãâì ¨§ ª®àï ¤¥à¥¢ ¯®¨áª ¢ v, ¯®í⮬ã v ¤®á⨦¨¬ ¨§ «î¡®© á¥à®© ¢¥àè¨ë. ᫨ ¡ë ¥ª®â®à ï á¥à ï ¢¥àè¨ ¡ë« ¤®á⨦¨¬ ¨§ v, â® ® «¥¦ « ¡ë ¢ ®¤®© ª®¬¯®¥â¥ á v, ¢á¥ â ª¨¥ ¢¥àè¨ë ¡¥«ë¥.) 4. î¡ ï ¡¥« ï ¢¥àè¨ w, ¤®á⨦¨¬ ï ¨§ v , ¤®á⨦¨¬ ¯® ¡¥«®¬ã ¯ãâ¨. ( á ¬®¬ ¤¥«¥, ¯ã⨠¨§ v ¢ w ¥ ¬®¦¥â ¡ëâì á¥àëå ¢¥àè¨, ¯®í⮬㠢ᥠ¢¥àè¨ë í⮣® ¯ã⨠¨«¨ ¡¥«ë¥, ¨¨«¨ çñàë¥. ¤à㣮© áâ®à®ë, ¯à¨ ¯®¨áª¥ ¢ £«ã¡¨ã ¨ª®£¤ ¥ ¢®§¨ª ¥â à¥¡à ¨§ çñன ¢¥àè¨ë ¢ ¡¥«ãî, ¯®í⮬ã í⮬ ¯ã⨠¥ ¬®¦¥â ¡ëâì çñàëå ¢¥àè¨.) 5. ᥠ¢¥àè¨ë ª®¬¯®¥âë S ¡ã¤ãâ § ªà è¥ë ¯à¨ ¢ë§®¢¥ DFS-Visit(v ) ¨ ¡ã¤ãâ ¯®â®¬ª ¬¨ v ¢ ¤¥à¥¢¥ ¯®¨áª . («¥¤ã¥â ¨§ â¥®à¥¬ë ® ¡¥«®¬ ¯ãâ¨.) 6. ᥠ¢¥àè¨ë, ¤®á⨦¨¬ë¥ ¨§ v , ¨¬¥îâ ¬¥ì襥 ¢à¥¬ï § ¢¥àè¥¨ï ®¡à ¡®âª¨, 祬 á ¬ v. ( á ¬®¬ ¤¥«¥, ¤«ï çñàëå ¢¥àè¨ íâ® ®ç¥¢¨¤®, â ª ª ª ®¨ 㦥 ¡ë«¨ ®¡à ¡®â ë ª ¬®¬¥âã ç « ®¡à ¡®âª¨ v. «ï ¡¥«ëå í⮠⮦¥ ¢¥à®, ¯®áª®«ìªã ®¨ ¡ã¤ãâ ®¡à ¡®â ë ¢ 室¥ ¢ë§®¢ DFS-Visit(v) ¤® ®ª®ç ¨ï ®¡à ¡®âª¨ v.) á®¢ë¥ «£®à¨â¬ë £à ä å 477 7. ¥àè¨ v ï¥âáï ᮡáâ¢¥ë¬ ¯à¥¤è¥á⢥¨ª®¬: '(v ) = v . (à㣠ï ä®à¬ã«¨à®¢ª ¯à¥¤ë¤ã饣® ã⢥ত¥¨ï.) 8. ¥àè¨ v ï¥âáï ¯à¥¤è¥á⢥¨ª®¬ «î¡®© ¢¥àè¨ë u ª®¬¯®¥âë S . ( á ¬®¬ ¤¥«¥, ¨§ u ¤®á⨦¨¬ë ⥠¦¥ ¢¥àè¨ë, çâ® ¨§ v, ¨ ¯®â®¬ã ¢¥àè¨ á ¬ ªá¨¬ «ìë¬ ¢à¥¬¥¥¬ § ¢¥àè¥¨ï ¡ã¤¥â ⮩ ¦¥ á ¬®©). ë ¢¨¤¨¬, çâ® ¢ ª ¦¤®© á¨«ì® á¢ï§®© ª®¬¯®¥â¥ ¥áâì ¢¥àè¨ , ª®â®à ï ®¡ à㦨¢ ¥âáï ¯¥à¢®©, § ¢¥àè ¥â ®¡à ¡ âë¢ âìáï ¯®á«¥¤¥© ¨ ï¥âáï ¯à¥¤è¥á⢥¨ª®¬ ¢á¥å ¢¥àè¨ í⮩ ª®¬¯®¥âë. ª¨¬ ®¡à §®¬, ¬ë ¤®ª § «¨ á«¥¤ãî騥 ã⢥ত¥¨ï: ¥®à¥¬ 23.14 ®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ¯à¥¤è¥á⢥¨ª '(u) «î¡®© ¢¥àè¨ë u 2 V ®ª §ë¢ ¥âáï ¥ñ ¯à¥¤ª®¬ ¢ ¤¥à¥¢¥ ¯®¨áª ¢ £«ã¡¨ã. «¥¤á⢨¥ 23.15 ਠ«î¡®¬ ¯®¨áª¥ ¢ £«ã¡¨ã ®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ¢¥àè¨ë u ¨ '(u) «¥¦ â ¢ ®¤®© á¨«ì® á¢ï§®© ª®¬¯®¥â¥ ¤«ï «î¡®© u 2 V . ¥®à¥¬ 23.16 ®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ¤¢¥ ¢¥àè¨ë «¥¦ â ¢ ®¤®© á¨«ì® á¢ï§®© ª®¬¯®¥â¥ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ®¨ ¨¬¥îâ ®¡é¥£® ¯à¥¤è¥á⢥¨ª ¯à¨ ¯®¨áª¥ ¢ £«ã¡¨ã. â ª, § ¤ ç ® 宦¤¥¨¨ á¨«ì® á¢ï§ëå ª®¬¯®¥â ᢥ« áì ª § ¤¥ç¥ ®âë᪠¨ï ¯à¥¤è¥á⢥¨ª®¢ ¢á¥å ¢¥àè¨ £à ä . ¬¥® ¤«ï í⮣® ¨á¯®«ì§ã¥âáï ¯®¨áª ¢ £«ã¡¨ã ¢ áâப¥ 3 «£®à¨â¬ Strongly-Connected-Components. â®¡ë ¯®ïâì, ª ª íâ® ¤¥« ¥âáï, à áᬮâਬ á ç « ¢¥àè¨ã r á ¬ ªá¨¬ «ìë¬ § 票¥¬ f [v] á।¨ ¢á¥å ¢¥àè¨ £à ä G. (®¢®àï ® § 票ïå f [v], ¬ë ¨¬¥¥¬ ¢ ¢¨¤ã § 票ï, ¢ëç¨á«¥ë¥ ¢ áâப¥ 1 «£®à¨â¬ .) â® ¢¥àè¨ ¡ã¤¥â ¯à¥¤è¥á⢥¨ª®¬ «î¡®© ¢¥àè¨ë, ¨§ ª®â®à®© ® ¤®á⨦¨¬ (¨ ®¤ ¢¥àè¨ £à ä ¥ ¨¬¥¥â ¡®«ì襣® § 票ï f [v]). ª¨¬ ®¡à §®¬, ®¤ã á¨«ì® á¢ï§ãî ª®¬¯®¥âã ¬ë 諨 | íâ® ¢¥àè¨ë, ¨§ ª®â®àëå ¤®á⨦¨¬ r. à㣨¬¨ á«®¢ ¬¨, íâ® ¢¥àè¨ë, ¤®á⨦¨¬ë¥ ¨§ v ¢ âà ᯮ¨à®¢ ®¬ £à ä¥. â¡à®á¨¢ ¢á¥ ¢¥àè¨ë ©¤¥®© ª®¬¯®¥âë, ¢®§ì¬ñ¬ á।¨ ®áâ ¢è¨åáï ¢¥àè¨ã r0 á ¬ ªá¨¬ «ìë¬ § 票¥¬ f [v]. î¡ ï ®áâ ¢è ïáï ¢¥àè¨ u, ¨§ ª®â®à®© ¤®á⨦¨¬ r0, ¡ã¤¥â ¨¬¥âì r0 ᢮¨¬ ¯à¥¤è¥á⢥¨ª®¬ (¨ ®¤ ¨§ ®â¡à®è¥ëå ¢¥àè¨ ¥ ¤®á⨦¨¬ ¨§ u, ¨ ç¥ ¨ r ¡ë« ¡ë ¤®á⨦¨¬ ¨§ u ¨ ¢¥àè¨ u ¯®¯ « ¡ë ¢ ç¨á«® ®â¡à®è¥ëå). ª¨¬ ®¡à §®¬ ¬ë ©¤ñ¬ ¢â®àãî á¨«ì® á¢ï§ãî ª®¬¯®¥âã | ¢ ¥ñ ¢å®¤ïâ ⥠¨§ ®áâ ¢è¨åáï ¢¥àè¨, ¨§ ª®â®àëå ¤®á⨦¨¬ ¢¥àè¨ r0 (¤à㣨¬¨ á«®¢ ¬¨, ⥠¨§ ®áâ ¢è¨åáï, ª®â®àë¥ ¤®á⨦¨¬ë ¨§ r0 ¢ âà ᯮ¨à®¢ ®¬ £à ä¥). 478 « ¢ 23 «£®à¨â¬ë £à ä å ¥¯¥àì ¯®ï⥠á¬ëá« áâப¨ 3 «£®à¨â¬ StronglyConnected-Components: ¯®¨áª ¢ £«ã¡¨ã ¢ âà ᯮ¨à®¢ ®¬ £à ä¥ ¯®®ç¥àñ¤® "®âá« ¨¢ ¥â" á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë. ª ¦¥¬ â® ¦¥ á ¬®¥ ¡®«¥¥ ä®à¬ «ì®: ¥®à¥¬ 23.17 «£®à¨â¬ Strongly-Connected-Components ¯à ¢¨«ì® 室¨â á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë ®à¨¥â¨à®¢ ®£® £à ä . ®ª § ⥫ìá⢮. áâப¥ 3 «£®à¨â¬ ¯à®¨á室¨â ¢ë§®¢ «£®à¨â¬ DFS âà ᯮ¨à®¢ ®¬ £à ä¥. â®â «£®à¨â¬ ¯à®á¬ âਢ ¥â ¢¥àè¨ë ¢ ¯®à浪¥ ã¡ë¢ ¨ï ¯ à ¬¥âà f [v], ¢ëç¨á«¥®£® ¢ áâப¥ 1. ਠí⮬ áâà®ïâáï ¤¥à¥¢ìï ¯®¨áª , ¯à® ª®â®àë¥ ¬ë å®â¨¬ ¤®ª § âì, çâ® ®¨ ¡ã¤ãâ á¨«ì® á¢ï§ë¬¨ ª®¬¯®¥â ¬¨. ª ¦¤®¬ è £¥ 横« à áᬠâਢ ¥âáï ®ç¥à¥¤ ï (¢ ¯®à浪¥ ã¡ë¢ ¨ï ¯ à ¬¥âà f ) ¢¥àè¨ v. ¥àè¨ë 㦥 ¯®áâ஥ëå ¤¥à¥¢ì¥¢ ¯®¨áª ¢ íâ®â ¬®¬¥â çñàë¥, ®áâ «ìë¥ ¢¥àè¨ë | ¡¥«ë¥. ( ¬¥â¨¬, çâ® ¯à¨ í⮬ ¢áïª ï ¢¥àè¨ , ¤®á⨦¨¬ ï ¢ £à ä¥ GT ¨§ çñன, á ¬ ¡ã¤¥â çñன.) ᫨ ®ç¥à¥¤ ï ¢¥àè¨ u ®ª §ë¢ ¥âáï çñன, â® «£®à¨â¬ DFS ¥ ¤¥« ¥â ¨ç¥£®. ᫨ ¦¥ ® ¡¥« ï, â® ¢ë§®¢ ¯à®æ¥¤ãàë DFS-Visit(u) ¢ áâப¥ 7 «£®à¨â¬ DFS ᤥ« ¥â ¥ñ ¨ ¢á¥ ¤®á⨦¨¬ë¥ ¨§ ¥ñ ¢ £à ä¥ GT ¢¥àè¨ë çñà묨. ë ¤®«¦ë ¯®ª § âì, çâ® í⨠¢¥àè¨ë ®¡à §ãîâ á¨«ì® á¢ï§ãî ª®¬¯®¥âã. ᫨ ª ª ï-â® ¡¥« ï ¢¥àè¨ v ¤®á⨦¨¬ ¨§ u ¢ £à ä¥ GT , â® u ¡ã¤¥â ¯à¥¤è¥á⢥¨ª®¬ v , ¯®áª®«ìªã u ¤®á⨦¨¬ ¨§ v ¢ G, ¨ª ª¨¥ çñàë¥ ¢¥àè¨ë ¥ ¤®á⨦¨¬ë ¨§ v ¢ G ¨ u ¨¬¥¥â ¬ ªá¨¬ «ì®¥ § 票¥ ¯ à ¬¥âà f á।¨ ¢á¥å ¡¥«ëå ¢¥àè¨. ¤à㣮© áâ®à®ë, ¥á«¨ ¡¥« ï ¢¥àè¨ v ¥ ¤®á⨦¨¬ ¨§ u ¢ £à ä¥ GT , â® ® ¥ ¬®¦¥â ¨¬¥âì u ᢮¨¬ ¯à¥¤è¥á⢥¨ª®¬. ñàë¥ ¢¥àè¨ë â ª¦¥ ¥ ¬®£ãâ ¨¬¥âì u ᢮¨¬ ¯à¥¤è¥á⢥¨ª®¬ (¨å ¯à¥¤è¥á⢥¨ª¨ ©¤¥ë ¯à¥¤ë¤ãé¨å è £ å). ®í⮬㠬®¦¥á⢮ ¡¥«ëå ¢¥àè¨, ¤®á⨦¨¬ëå ¨§ u ¢ £à ä¥ GT , ᮢ¯ ¤ ¥â á ¬®¦¥á⢮¬ ¢¥àè¨, ¨¬¥îé¨å u ᢮¨¬ ¯à¥¤è¥á⢥¨ª®¬, â® ¥áâì ï¥âáï á¨«ì® á¢ï§®© ª®¬¯®¥â®©. ¯à ¦¥¨ï 23.5-1 ª ¬®¦¥â ¨§¬¥¨âáï ª®«¨ç¥á⢮ á¨«ì® á¢ï§ëå ª®¬¯®¥â £à ä ¯à¨ ¤®¡ ¢«¥¨¨ ª ¥¬ã ®¤®£® ॡà ? 23.5-2 ਬ¥â¥ «£®à¨â¬ Strongly-Connected-Components ª £à äã à¨á. 23.6. ©¤¨â¥ ¢à¥¬¥ § ¢¥à襨ï, ¢ëç¨á«ï¥¬ë¥ ¢ áâப¥ 1, ¨ «¥á, ᮧ¤ ¢ ¥¬ë© áâப®© 7. ç¨â ©â¥, ç⮠横« ¢ áâப å 5-7 «£®à¨â¬ DFS ¯¥à¥¡¨à ¥â ¢¥àè¨ë ¢ «ä ¢¨â®¬ ¯®à浪¥ ¨ ç⮠ᯨ᪨ ᬥ¦ëå ¢¥àè¨ â ª¦¥ 㯮à冷ç¥ë ¯® «ä ¬¨âã. 23.5-3 á®¢ë¥ «£®à¨â¬ë £à ä å 479 à®ä¥áá®à à¥è¨«, çâ® «£®à¨â¬ ¯®¨áª á¨«ì® á¢ï§ëå ª®¬¯®¥â ¬®¦® ã¯à®áâ¨âì, ¥á«¨ ¨á¯®«ì§®¢ âì ¨áå®¤ë© ( ¥ âà ᯮ¨à®¢ ®ë©) £à ä ¯à¨ ¢â®à®¬ ¯®¨áª¥, ® ¢¥àè¨ë á®àâ¨à®¢ âì ¢ ¯®à浪¥ 㢥«¨ç¥¨ï ¢à¥¬ñ § ¢¥à襨ï. à ¢ «¨ ®? 23.5-4 ãáâì G | ®à¨¥â¨à®¢ ë© £à ä. ᫨ áâïãâì ª ¦¤ãî ¥£® á¨«ì® á¢ï§ãî ª®¬¯®¥âã ¢ â®çªã, ¨ ¯®á«¥ í⮣® ®â®¦¤¥á⢨âì àñ¡à á ®¤¨ ª®¢ë¬¨ ç « ¬¨ ¨ ª®æ ¬¨, ¯®«ãç¨âáï £à ä ª®¬¯®¥â (component graph) GSCC = (V SCC ; E SCC ). à㣨¬¨ á«®¢ ¬¨, í«¥¬¥â ¬¨ V SCC ïîâáï á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë G, ¨ E SCC ᮤ¥à¦¨â ॡ஠(u; v) ¢ ⮬ ¨ ⮫쪮 ¢ ⮬ á«ãç ¥, ¥á«¨ ¢ G ¥áâì ®à¨¥â¨à®¢ ®¥ ॡà®, ç «® ª®â®à®£® ¯à¨ ¤«¥¦¨â u, ª®¥æ | v (á¬. ¯à¨¬¥à à¨á. 23.9 (c)). ®ª ¦¨â¥, çâ® £à ä ª®¬¯®¥â ¥ ¨¬¥¥â 横«®¢. 23.5-5 ®áâன⥠«£®à¨â¬, 室ï騩 § ¢à¥¬ï O(E + V ) £à ä ª®¬¯®¥â ¤ ®£® ®à¨¥â¨à®¢ ®£® £à ä . ( áâந¬®¬ £à ä¥ «î¡ë¥ ¤¢¥ ¢¥àè¨ë ¤®«¦ë ¡ëâì ᮥ¤¨¥ë ¥ ¡®«¥¥ 祬 ®¤¨¬ ॡ஬.) 23.5-6 ®à¨¥â¨à®¢ ë© £à ä G = (V; E ). ª ¯®áâநâì ª ª ¬®¦® ¬¥ì訩 £à ä G0 = (V; E 0), ª®â®àë© ¨¬¥« ¡ë ⥠¦¥ á ¬ë¥ á¨«ì® á¢ï§ë¥ ª®¬¯®¥âë ¨ â®â ¦¥ £à ä ª®¬¯®¥â? ®áâன⥠íää¥ªâ¨¢ë© «£®à¨â¬ à¥è¥¨ï í⮩ § ¤ ç¨. 23.5-7 ਥâ¨à®¢ ë© £à ä §ë¢ ¥âáï G = (V; E ) §ë¢ ¥âáï ¯®«ãá¢ï§ë¬ (semiconnected), ¥á«¨ ¤«ï «î¡ëå ¤¢ãå ¥£® ¢¥àè¨ u ¨ v «¨¡® v ¤®á⨦¨¬ ¨§ u, «¨¡® u ¤®á⨦¨¬ ¨§ v. ਤ㬠©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, ®¯à¥¤¥«ïî騩, ¡ã¤¥â «¨ £à ä ¯®«ãá¢ï§ë¬. ª®¢® ¢à¥¬ï ¥£® à ¡®âë? ¤ ç¨ 23-1 « áá¨ä¨ª æ¨ï ॡ¥à ¯à¨ ¯®¨áª¥ ¢ è¨à¨ã « áá¨ä¨æ¨àãï àñ¡à £à ä ¯® ⨯ ¬, ¬ë ¨á室¨«¨ ¨§ ¤¥à¥¢ ¯®¨áª ¢ £«ã¡¨ã. «®£¨ç ï ª« áá¨ä¨ª ¨ï ¢®§¬®¦® ¨ ¤«ï ¤¥à¥¢ ¯®¨áª ¢ è¨à¨ã (¤«ï àñ¡¥à, ¤®á⨦¨¬ëå ¨§ ç «ì®© ¢¥àè¨ë). a. ®ª ¦¨â¥ á«¥¤ãî騥 ᢮©á⢠¤«ï á«ãç ï ¯®¨áª ¢ è¨à¨ã ¢ ¥®à¨¥â¨à®¢ ®¬ £à ä¥: 1. ¥ ¡ë¢ ¥â ¯àï¬ëå ¨ ®¡à âëå àñ¡¥à. 2. ᫨ (u; v ) | ॡ஠¤¥à¥¢ , â® d[v ] = d[u] + 1. 3. ᫨ (u; v ) | ¯¥à¥ªàñá⮥ ॡà®, â® d[v ] = d[u] ¨«¨ d[v ] = d[u] + 1. b. ®ª ¦¨â¥ á«¥¤ãî騥 ᢮©á⢠¤«ï á«ãç ï ¯®¨áª ¢ è¨à¨ã ¢ ®à¨¥â¨à®¢ ®¬ £à ä¥: 1. ¥ ¡ë¢ ¥â ¯àï¬ëå àñ¡¥à. 2. ᫨ (u; v ) { ॡ஠¤¥à¥¢ , â® d[v ] = d[u] + 1. 3. ᫨ (u; v ) { ¯¥à¥ªàñá⮥ ॡà®, â® d[v ] 6 d[u] + 1. 4. ᫨ (u; v ) { ®¡à ⮥ ॡà®, â® 0 6 d[v ] < d[u]. 480 « ¢ 23 «£®à¨â¬ë £à ä å ¨á㮪 23.8 23.10 ®çª¨ à §¤¥« , ¬®áâë ¨ ¤¢ãá¢ï§ë¥ ª®¬¯®¥âë á¢ï§®£® ¥®à¨¥â¨à®¢ ®£® £à ä (§ ¤ ç 23-2). ®çª¨ à §¤¥« ¨ ¬®áâë | âñ¬®á¥àë¥, ¤¢ãá¢ï§ë¥ ª®¬¯®¥âë | ¡®àë àñ¡¥à ¢ ¯à¥¤¥« å ®¤®© á¥à®© ®¡« á⨠(¢ãâਠª®â®à®© 㪠§ ® bcc). 23-2 ®çª¨ à §¤¥« , ¬®áâë ¨ ¤¢ãá¢ï§ë¥ ª®¬¯®¥âë ãáâì G = (V; E ) { á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä. ®çª à §¤¥« (articulation point) £à ä G | íâ® ¢¥àè¨ , ¯à¨ 㤠«¥¨¨ ª®â®à®© £à ä G ¯¥à¥áâ ñâ ¡ëâì á¢ï§ë¬. ®áâ (bridge) | íâ® à¥¡à® á «®£¨çë¬ á¢®©á⢮¬. ¢ãá¢ï§ ï ª®¬¯®¥â (biconnected component) | íâ® ¬ ªá¨¬ «ìë© ¡®à àñ¡¥à, «î¡ë¥ ¤¢ à¥¡à ª®â®à®£® ¯à¨ ¤«¥¦ â ®¡é¥¬ã ¯à®á⮬ã 横«ã (á¬. ¯à¨¬¥à à¨á. 23.10). ®çª¨ à §¤¥« , ¬®áâë ¨ ¤¢ãá¢ï§ë¥ ª®¬¯®¥âë ¬®¦® ©â¨ á ¯®¬®éìî ¯®¨áª ¢ £«ã¡¨ã. ãáâì G = (V; E) | ¤¥à¥¢® ¯®¨áª ¢ £«ã¡¨ã ¢ £à ä¥ G. a. ®ª ¦¨â¥, çâ® ª®à¥ì G ï¥âáï â®çª®© à §¤¥« , ¥á«¨ ¨ ⮫쪮 ¥á«¨ ã ¥£® ¡®«¥¥ ®¤®£® áë ¢ G . b. ãáâì v | ®â«¨ç ï ®â ª®àï ¢¥àè¨ G . ®ª ¦¨â¥, çâ® v | â®çª à §¤¥« G, ¥á«¨ ¨ ⮫쪮 ¥á«¨ ¥ áãé¥áâ¢ã¥â ®¡à ⮣® ॡà (u; w), ¤«ï ª®â®à®£® u | ¯®â®¬®ª v ¨ w | ¯à¥¤®ª v ¢ G , ®â«¨çë© ®â w. c. ãáâì low [v ] | ¬¨¨¬ «ì®¥ ç¨á«® á।¨ d[v ] ¨ ç¨á¥« d[w] ¤«ï ¢á¥å w, ¤«ï ª®â®àëå ¨¬¥¥âáï ®¡à ⮥ ॡ஠(u; w) ¤«ï ¥ª®â®à®© ¢¥àè¨ë u, ïî饩áï ¯®â®¬ª®¬ v. ®ª ¦¨â¥, ª ª ¬®¦® ¢ëç¨á«¨âì low [v] ¤«ï ¢á¥å v 2 V § ¢à¥¬ï O(V ). d. ª ©â¨ ¢á¥ â®çª¨ à §¤¥« § ¢à¥¬ï O(E )? e. ®ª ¦¨â¥, ç⮠ॡ஠£à ä G ï¥âáï ¬®á⮬ ¢ ⮬ ¨ ⮫쪮 ⮬ á«ãç ¥, ª®£¤ ®® ¥ ¢å®¤¨â ¨ ¢ ª ª®© ¯à®á⮩ 横«. f. ª ©â¨ ¢á¥ ¬®áâë £à ä G § ¢à¥¬ï O(E )? g. ®ª ¦¨â¥, çâ® ¤¢ãá¢ï§ë¥ ª®¬¯®¥âë £à ä á®áâ ¢«ïîâ à §¡¨¥¨¥ ¬®¦¥á⢠¢á¥å àñ¡¥à £à ä , ¥ ïîé¨åáï ¬®áâ ¬¨. h. ਤ㬠©â¥ «£®à¨â¬, ª®â®àë© § ¢à¥¬ï O(E ) ¯®¬¥ç ¥â ª ¦¤®¥ ॡ஠e £à ä G ¥ª®â®àë¬ æ¥«ë¬ ç¨á«®¬ bcc[e], ¯à¨ í⮬ ¬¥âª¨ ¤¢ãå àñ¡¥à ᮢ¯ ¤ îâ, ¥á«¨ ¨ ⮫쪮 ¥á«¨ àñ¡à ¯à¨ ¤«¥¦ â ®¤®© ¤¢ãá¢ï§®© ª®¬¯®¥â¥. 23-3 ©«¥à®¢ 横« ©«¥à®¢ë¬ 横«®¬ (Euler tour) á¢ï§®£® ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) §ë¢ ¥âáï 横«, ¯à®å®¤ï騩 ¯® ª ¦¤®¬ã ॡàã G ஢® ®¤¨ à § (¢ ®¤®© ¨ ⮩ ¦¥ ¢¥à訥 ¬®¦® ¡ë¢ âì ¬®£®ªà â®). a. ®ª ¦¨â¥, çâ® ¢ G ¥áâì í©«¥à®¢ 横« ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ¢å®¤ïé ï á⥯¥ì ª ¦¤®© ¢¥àè¨ë à ¢ ¥¥ ¨á室ï饩 á⥯¥¨. b. ਤ㬠©â¥ «£®à¨â¬, ª®â®àë© § ¢à¥¬ï O(E ) 室¨â ¢ £à ä¥ í©«¥à®¢ 横« (¥á«¨ â ª®¢®© ¨¬¥¥âáï). (ª § ¨¥: ®¡ê¥¤¨ï©â¥ æ¨- á®¢ë¥ «£®à¨â¬ë £à ä å 481 ª«ë, ã ª®â®àëå ¥â ®¡é¨å àñ¡¥à.) ¬¥ç ¨ï ४à áë¥ à㪮¢®¤á⢠¯® «£®à¨â¬ ¬ £à ä å ¯¨á «¨ ¢¥ [65] ¨ àìï [188]. ®¨áª ¢ è¨à¨ã à áᬮâ५ ãà [150] ¯à¨ ¨§ã票¨ ¯ã⥩ ¢ « ¡¨à¨â å. ¨ [134] ¥§ ¢¨á¨¬® ®âªàë« â®â ¦¥ «£®à¨â¬ ¯à¨¬¥¨â¥«ì® ª ᮥ¤¨¥¨ï¬ ª®â ªâ®¢ ¢ í«¥ªâà®ëå á奬 å. ®¯ªà®äâ ¨ àìï [102] 㪠§ «¨ ¯®«ì§ã ¯à¥¤áâ ¢«¥¨ï ¢ ¢¨¤¥ ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨ ¤«ï ।ª¨å £à 䮢 ¨ ®¡ à㦨«¨ ¢ ¦®áâì ¯®¨áª ¢ £«ã¡¨ã ¤«ï ¯®áâ஥¨ï «£®à¨â¬®¢ £à ä å. ¬ ¯® ᥡ¥ ¯®¨áª ¢ £«ã¡¨ã ç « ¨á¯®«ì§®¢ âìáï ¥§ ¤®«£® ¤® 1960 £®¤ , ¢ ¯à¥¢ãî ®ç¥à¥¤ì ¢ ¯à®£à ¬¬ å, á¢ï§ ëå á "¨áªãááâ¢¥ë¬ ¨â¥««¥ªâ®¬". àìï [185] ¯à¨¤ã¬ « «£®à¨â¬ ¯®¨áª á¨«ì® á¢ï§ëå ª®¬¯®¥â § «¨¥©®¥ ¢à¥¬ï. «£®à¨â¬ à §¤¥« 23.5 ¢§ïâ ¨§ ª¨£¨ å®, ®¯ªà®äâ ¨ «ì¬ [5], ª®â®àë¥ ááë« îâáï ®á à î (S.R. Kosaraju) ¨ à¨à (M. Sharir). ãâ [121] ¯¥à¢ë¬ ¯®áâந« «£®à¨â¬ ⮯®«¨£¨ç¥áª®© á®àâ¨à®¢ª¨ § «¨¥©®¥ ¢à¥¬ï. 24 ¨¨¬ «ìë¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï ãáâì ¤ ë n ª®â ªâ®¢ ¯¥ç ⮩ ¯« â¥, ª®â®àë¥ ¬ë å®â¨¬ í«¥ªâà¨ç¥áª¨ ᮥ¤¨¨âì. «ï í⮣® ¤®áâ â®ç® ¨á¯®«ì§®¢ âì n ; 1 ¯à®¢®¤®¢, ª ¦¤ë© ¨§ ª®â®àëå ᮥ¤¨ï¥â ¤¢ ª®â ªâ . ਠí⮬ ¬ë ®¡ëç® áâ६¨¬áï ᤥ« âì á㬬 àãî ¤«¨ã ¯à®¢®¤®¢ ª ª ¬®¦® ¬¥ìè¥. ¯à®é ï á¨âã æ¨î, ¬®¦® áä®à¬ã«¨à®¢ âì § ¤ çã â ª. ãáâì ¨¬¥¥âáï á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä G = (V; E ), ¢ ª®â®à®¬ V | ¬®¦¥á⢮ ª®â ªâ®¢, E | ¬®¦¥á⢮ ¨å ¢®§¬®¦ëå ¯®¯ àëå ᮥ¤¨¥¨©. «ï ª ¦¤®®£® à¥¡à £à ä (u; v) § ¤ ¢¥á w(u; v) (¤«¨ ¯à®¢®¤ , ¥®¡å®¤¨¬®£® ¤«ï ᮥ¤¨¥¨ï u ¨ v ). ¤ ç á®á⮨⠢ 宦¤¥¨¨ ¯®¤¬®¦¥á⢠T E; á¢ï§ë¢ î饣® ¢á¥ ¢¥àè¨ë, ¤«ï ª®â®à®£® á㬬 àë© ¢¥á w (T ) = X (u;v)2T w(u; v ) ¬¨¨¬ «¥. ª®¥ ¯®¤¬®¦¥á⢮ T ¡ã¤¥â ¤¥à¥¢®¬ (¯®áª®«ìªã ¥ ¨¬¥¥â 横«®¢: ¢ «î¡®¬ 横«¥ ®¤¨ ¨§ ¯à®¢®¤®¢ ¬®¦® 㤠«¨âì, ¥ àãè ï á¢ï§®áâ¨). ¢ï§ë© ¯®¤£à ä £à ä G, ïî騩áï ¤¥à¥¢®¬ ¨ ᮤ¥à¦ 騩 ¢á¥ ¥£® ¢¥àè¨ë, §ë¢ îâ ¯®ªàë¢ î騬 ¤¥à¥¢®¬ (spanning tree) í⮣® £à ä . (®£¤ ¨á¯®«ì§ãîâ â¥à¬¨ "®á⮢®¥ ¤¥à¥¢®"; ¤«ï ªà ⪮á⨠¬ë ¡ã¤¥¬ £®¢®à¨âì ¯à®áâ® "®á⮢". ) í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ § ¤ çã ® ¬¨¨¬ «ì®¬ ¯®ªàë¢ î饬 ¤¥à¥¢¥ (minimum-spanning-tree problem). (¤¥áì á«®¢® "¬¨¨¬ «ì®¥" ®§ ç ¥â "¨¬¥î饥 ¬¨¨¬ «ì® ¢®§¬®¦ë© ¢¥á".) à¨á㪥 24.1 ¯à¨¢¥¤ñ ¯à¨¬¥à á¢ï§®£® £à ä ¨ ¥£® ¬¨¨¬ «ì®£® ®á⮢ . [®§¢à é ïáì ª ¯à¨¬¥àã á ¯à®¢®¤¨ª ¬¨ ¯¥ç ⮩ ¯« â¥, ®¡êïᨬ, ¯®ç¥¬ã § ¤ ç ® ¬¨¨¬ «ì®¬ ¤¥à¥¢¥ ï¥âáï ã¯à®é¥¨¥¬ ॠ«ì®© á¨âã 樨. á ¬®¬ ¤¥«¥, ¥á«¨ ᮥ¤¨ï¥¬ë¥ ª®â ªâë 室ïâáï ¢ ¢¥àè¨ å ¥¤¨¨ç®£® ª¢ ¤à â , à §à¥è ¥âáï ᮥ¤¨ïâì ¥£® «î¡ë¥ ¢¥àè¨ë ¨ ¢¥á ᮥ¤¨¥¨ï à ¢¥ ¥£® ¤«¨¥, â® ¬¨¨¬ «ì®¥ ¯®ªàë¢ î饥 ¤¥à¥¢® ¡ã¤¥â á®áâ®ïâì ¨§ âàñå áâ®à® ª¢ ¤à â . ¥¦¤ã ⥬ ¢á¥ ¥£® ç¥âëॠ¢¥àè¨ë ¬®¦® í«¥ªâà¨ç¥áª¨ ᮥ¤¨¨âì ®áâ஥¨¥ ¬¨¨¬ «ì®£® ®á⮢ 483 ¨á㮪 24.1 24.1 ¨¨¬ «ì®¥ ¯®ªàë¢ î饥 ¤¥à¥¢®. ª ¦¤®¬ ॡॠ£à ä 㪠§ ¢¥á. 뤥«¥ë à¥¡à ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ (á㬬 àë© ¢¥á 37). ª®¥ ¤¥à¥¢® ¥ ¥¤¨á⢥®: § ¬¥ïï ॡ஠(b; c) ॡ஬ (a; h); ¯®«ãç ¥¬ ¤à㣮¥ ¤¥à¥¢® ⮣® ¦¥ ¢¥á 37. p ¤¢ã¬ï ¯¥à¥á¥ª î騬¨áï ¤¨ £® «ï¬¨ (á㬬 à ï ¤«¨ 2 2 < 3) ¨ ¤ ¦¥ ¥éñ ª®à®ç¥ (¢¢¥¤ï ¤¢¥ ¯à®¬¥¦ãâ®çë¥ â®çª¨, ¢ ª®â®àëå ¯à®¢®¤¨ª¨ á室ïâáï ¯®¤ 㣫®¬ 120.).] í⮩ £« ¢¥ ¬ë à áᬮâਬ ¤¢ ᯮᮡ à¥è¥¨ï § ¤ ç¨ ® ¬¨¨¬ «ì®¬ ¯®ªàë¢ î饬 ¤¥à¥¢¥: «£®à¨â¬ë àã᪠« ¨ ਬ . ¦¤ë© ¨å ¨å «¥£ª® ॠ«¨§®¢ âì á ¢à¥¬¥¥¬ à ¡®âë O(E lg V ), ¨á¯®«ì§ãï ®¡ëçë¥ ¤¢®¨çë¥ ªãç¨. ਬ¥¨¢ 䨡® ç稥¢ë ªãç¨, ¬®¦® ᮪à â¨âì ¢à¥¬ï à ¡®âë «£®à¨â¬ ਬ ¤® O(E + V lg V ) (çâ® ¬¥ìè¥ E + lg V , ¥á«¨ jV j ¬®£® ¬¥ìè¥ jE j). ¡ «£®à¨â¬ (àã᪠« ¨ ਬ ) á«¥¤ãîâ "¦ ¤®©" áâà ⥣¨¨: ª ¦¤®¬ è £¥ ¢ë¡¨à ¥âáï "«®ª «ì® ¨«ãç訩" ¢ ਠâ. ¥ ¤«ï ¢á¥å § ¤ ç â ª®© ¢ë¡®à ¯à¨¢¥¤ñâ ª ®¯â¨¬ «ì®¬ã à¥è¥¨î, ® ¤«ï § ¤ ç¨ ® ¯®ªàë¢ î饬 ¤¥à¥¢¥ íâ® â ª. (ë ®¡á㦤 «¨ íâ® ¢ £« ¢¥ 17; § ¤ ç ® ¯®ªàë¢ î饬 ¤¥à¥¢¥ ï¥âáï ¯à¥¢®á室®© ¨««îáâà 樥© ¢¢¥¤ñëå â ¬ ¯®ï⨩.) à §¤¥«¥ 24.1 ®¯¨á ®¡é ï á奬 «£®à¨â¬ ¯®áâ஥¨ï ¬¨¨¬ «ì®£® ®á⮢ (¤®¡ ¢«¥¨¥ àñ¡¥à ®¤®£® § ¤à㣨¬). à §¤¥«¥ 24.2 㪠§ ë ¤¢¥ ª®ªà¥âëå ॠ«¨§ 樨 ®¡é¥© á奬ë. ¥à¢ë© «£®à¨â¬, ¢®á室ï騩 ª àã᪠«ã, «®£¨ç¥ «£®à¨â¬ã ¯®¨áª á¢ï§ëå ª®¬¯®¥â ¨§ à §¤¥« 22.1. à㣮© ( «£®à¨â¬ ਬ ) «®£¨ç¥ «£®à¨â¬ã ¥©ªáâàë ¯®¨áª ªà âç ©è¨å ¯ã⥩ (à §¤¥« 25.2). 24.1 ®áâ஥¨¥ ¬¨¨¬ «ì®£® ®á⮢ â ª, ¯ãáâì ¤ á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä G = (V; E ) ¨ ¢¥á®¢ ï äãªæ¨¥© w : E ! . ë å®â¨¬ ©â¨ ¬¨¨¬ «ì®¥ ¯®ªàë¢ î饥 ¤¥à¥¢® (®á⮢), á«¥¤ãï ¦ ¤®© áâà ⥣¨¨. ¡é ï á奬 ¢á¥å è¨å «£®à¨â¬®¢ ¡ã¤¥â â ª®¢ . ᪮¬ë© ®á⮢ áâநâáï ¯®á⥯¥®: ª ¨§ ç «ì® ¯ãá⮬㠬®¦¥áâ¢ã A ª ¦¤®¬ è £¥ ¤®¡ ¢«ï¥âáï ®¤® ॡà®. ®¦¥á⢮ A ¢á¥£¤ ï¥âáï ¯®¤¬®¦¥á⢮¬ ¥ª®â®à®£® ¬¨¨¬ «ì®£® ®á⮢ . ¥¡à® (u; v); ¤®¡ ¢«ï¥¬®¥ ®ç¥à¥¤®¬ è £¥, ¢ë¡¨à ¥âáï â ª, çâ®¡ë ¥ àãè¨âì í⮣® ᢮©á⢠: A [f(u; v)g ⮦¥ ¤®«¦® ¡ëâì ¯®¤¬®¦¥á⢮¬ ¬¨¨¬ «ì®£® ®á⮢ . ë §ë¢ ¥¬ â ª®¥ ॡ஠¡¥§®¯ áë¬ à¥¡à®¬ (safe edge) ¤«ï A. R \textsc{Generic-MST} $(G,w)$ 1 $A \leftarrow \emptyset$ 2 {\bf while} $A$ ¥ ï¥âáï ®á⮢®¬ 484 « ¢ 24 ¨¨¬ «ìë¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï ¨á㮪 24.2 24.2 ¢ ¨§®¡à ¦¥¨ï ®¤®£® ¨ ⮣® ¦¥ à §à¥§ £à ä á à¨á㪠24.1. (a) ¥àè¨ë ¬®¦¥á⢠S ¨§®¡à ¦¥ë ¡¥«ë¬ 梥⮬, ¥£® ¤®¯®«¥¨ï V n S | ç¥àë¬. ñ¡à , ¯¥à¥á¥ª î騥 à §à¥§, ᮥ¤¨ïîâ ¡¥«ë¥ ¢¥àè¨ë á ç¥à묨. ¤¨á⢥®¥ «ñ£ª®¥ ॡà®, ¯¥à¥á¥ª î饥 à §à¥§ | ॡ஠(d; c): ®¦¥á⢮ A á®á⮨⠨§ ¢ë¤¥«¥ëå á¥àë¬ æ¢¥â®¬ ¢ë¤¥«¥®. §à¥§ (S; V n S ) ᮣ« ᮢ á A (¨ ®¤® ॡ஠¨§ A ¥ ¯¥à¥á¥ª ¥â à §à¥§). (b) ¥àè¨ë ¬®¦¥á⢠S ¨§®¡à ¦¥ë á«¥¢ , ¢¥àè¨ë V n S | á¯à ¢ . ¥¡à® ¯¥à¥á¥ª ¥â à §à¥§, ¥á«¨ ®® ¯¥à¥á¥ª ¥â ¢¥à⨪ «ìãî ¯àï¬ãî. 3 {\bf do} ©â¨ ¡¥§®¯ ᮥ ॡ஠$(u,v)$ ¤«ï $A$ 4 $A \leftarrow A \cup \{(u,v)\}$ 5 {\bf return} $A$ ® ®¯à¥¤¥«¥¨î ¡¥§®¯ ᮣ® ॡà 横« ¥ àãè ¥âáï ᢮©á⢠" A ï¥âáï ¯®¤¬®¦¥á⢮¬ ¥ª®â®à®£® ¬¨¨¬ «ì®£® ®á⮢ " (¤«ï ¯ãá⮣® ¬®¦¥á⢠í⮠᢮©á⢮, ®ç¥¢¨¤®, ¢ë¯®«¥®), â ª çâ® ¢ áâப¥ 5 «£®à¨â¬ ¢ë¤ ñâ ¬¨¨¬ «ìë© ®á⮢. ®¥ç®, £« ¢ë© ¢®¯à®á ¢ ⮬, ª ª ¨áª âì ¡¥§®¯ ᮥ ॡ஠¢ áâப¥ 3. ª®¥ ॡ஠áãé¥áâ¢ã¥â (¥á«¨ A ï¥âáï ¯®¤¬®¦¥á⢮¬ ¬¨¨¬ «ì®£® ®á⮢ , â® «î¡®¥ ॡ஠í⮣® ®á⮢ , ¥ ¢å®¤ï饥 ¢ A, ï¥âáï ¡¥§®¯ áë¬). ¬¥â¨¬, çâ® ¬®¦¥á⢮ A ¥ ¬®¦¥â ᮤ¥à¦ âì 横«®¢ (¯®áª®«ìªã ï¥âáï ç áâìî ¬¨¨¬ «ì®£® ®á⮢ ). ®í⮬㠤®¡ ¢«ï¥¬®¥ ¢ áâப¥ 4 ॡ஠ᮥ¤¨ï¥â à §«¨çë¥ ª®¬¯®¥âë £à ä GA = (V; A), ¨ á ª ¦¤®© ¨â¥à 樥© 横« ç¨á«® ª®¬¯®¥â 㬥ìè ¥âáï 1. ç «¥ ª ¦¤ ï â®çª ¯à¥¤áâ ¢«ï¥â ᮡ®© ®â¤¥«ìãî ª®¬¯®¥âã; ¢ ª®æ¥ ¢¥áì ®á⮢ | ®¤ ª®¬¯®¥â , â ª ç⮠横« ¯®¢â®àï¥âáï jV j ; 1 à §. ®á⠢襩áï ç á⨠í⮣® à §¤¥« ¬ë ¯à¨¢¥¤¥¬ ¯à ¢¨«® ®âë᪠¨ï ¡¥§®¯ áëå ॡ¥à (⥮६ 24.1). á«¥¤ãî饬 à §¤¥«¥ ¡ã¤ãâ ®¯¨á ë ¤¢ «£®à¨â¬ , ¨á¯®«ì§ãîé¨å íâ® ¯à ¢¨«® ¤«ï íä䥪⨢®£® ¯®¨áª ¡¥§®¯ áëå ॡ¥à. çñ¬ á ®¯à¥¤¥«¥¨©. §à¥§®¬ (cut) (S; V n S ) ¥®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) §ë¢ ¥âáï à §¡¨¥¨¥ ¬®¦¥á⢠¥£® ¢¥àè¨ ¤¢ ¯®¤¬®¦¥á⢠(à¨á. 24.2). ®¢®àïâ, ç⮠ॡ஠(u; v) 2 E ¯¥à¥á¥ª ¥â (crosses) à §à¥§ (S; V n S ), ¥á«¨ ®¤¨ ¨§ ¥£® ª®æ®¢ «¥¦¨â ¢ S; ¤à㣮© | ¢ V n S: §à¥§ ᮣ« ᮢ á ¬®¦¥á⢮¬ àñ¡¥à A (respects the set A), ¥á«¨ ¨ ®¤® ॡ஠¨§ A ¥ ¯¥à¥á¥ª ¥â íâ®â à §à¥§. ।¨ ¯¥à¥á¥ª îé¨å à §à¥§ àñ¡¥à ¢ë¤¥«ïîâ àñ¡à ¨¬¥ì襣® ¢¥á (á।¨ ¯¥à¥á¥ª îé¨å íâ®â à §à¥§), §ë¢ ï ¨å «ñ£ª¨¬¨ (light edges). ¥®à¥¬ 24.1 ãáâì G = (V; E ) | á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä, ¬®¦¥á⢥ ¢¥àè¨ ª®â®à®£® ®¯à¥¤¥«¥ ¢¥é¥á⢥ ï äãªæ¨ï w. ãáâì A | ¬®¦¥á⢮ àñ¡¥à, ïî饥áï ¯®¤¬®¦¥á⢮¬ ¥ª®â®à®£® ¬¨¨¬ «ì®£® ®á⮢ £à ä G. ãáâì (S; V n S ) | à §à¥§ £à ä G, ᮣ« ᮢ ë© á A, (u; v) | «ñ£ª®¥ ॡ஠¤«ï í⮣® à §à¥§ . ®- ®áâ஥¨¥ ¬¨¨¬ «ì®£® ®á⮢ 485 ¨á㮪 24.3 24.3 (ª ¤®ª § ⥫ìáâ¢ã ⥮६ë 24.1). ¥àè¨ë S | çñàë¥, ¢¥àè¨ë V n S | ¡¥«ë¥. §®¡à ¦¥ë ⮫쪮 àñ¡à ¬¨¨¬ «ì®£® ®á⮢ ( §®¢ñ¬ ¥£® T ). ñ¡à ¬®¦¥á⢠A ¢ë¤¥«¥ë á¥àë¬ æ¢¥â®¬; (u; v) | «ñ£ª®¥ ॡà®, ¯¥à¥á¥ª î饥 à §à¥§ (S; V n S ); (x; y) | ॡ஠¥¤¨á⢥®£® ¯ã⨠p ®â u ª v ¢ T. £¤ ॡ஠(u; v) ï¥âáï ¡¥§®¯ áë¬ ¤«ï A: ®ª § ⥫ìá⢮ ãáâì T | ¬¨¨¬ «ìë© ®á⮢, ᮤ¥à¦ 騩 A. ।¯®«®¦¨¬, çâ® T ¥ ᮤ¥à¦¨â ॡà (u; v); ¯®áª®«ìªã ¢ ¯à®â¨¢®¬ á«ãç ¥ ¤®ª §ë¢ ¥¬®¥ ã⢥ত¥¨¥ ®ç¥¢¨¤®. ®ª ¦¥¬, çâ® ¢ í⮬ á«ãç ¥ áãé¥áâ¢ã¥â ¤à㣮© ¬¨¨¬ «ìë© ®á⮢ T 0, ᮤ¥à¦ 騩 ॡ஠(u; v), â ª çâ® í⮠ॡ஠ï¥âáï ¡¥§®¯ áë¬. á⮢ T á¢ï§¥ ¨ ¯®â®¬ã ᮤ¥à¦¨â ¥ª®â®àë© ¯ãâì p ¨§ u ¢ v (à¨á. 24.3). ®áª®«ìªã ¢¥àè¨ë u ¨ v ¯à¨ ¤«¥¦ â à §ë¬ ç áâï¬ à §à¥§ (S; V n S ), ¢ ¯ã⨠p ¥áâì ¯® ªà ©¥© ¬¥à¥ ®¤® ॡ஠(x; y), ¯¥à¥á¥ª î饥 à §à¥§. ⮠ॡ஠¥ «¥¦¨â ¢ A, â ª ª ª à §à¥§ ᮣ« ᮢ á A. ¤ «¥¨¥ ¨§ ¤¥à¥¢ T ॡà (x; y) à §¡¨¢ ¥â ¥£® ¤¢¥ ª®¬¯®¥âë. ®¡ ¢«¥¨¥ (u; v) ®¡ê¥¤¨ï¥â í⨠ª®¬¯®¥âë ¢ ®¢ë© ®á⮢ T 0 = T n f(x; y)g [ f(u; v)g: ®ª ¦¥¬, çâ® T 0 | ¬¨¨¬ «ìë© ®á⮢. ®áª®«ìªã (u; v) | «ñ£ª®¥ ॡà®, ¯¥à¥á¥ª î饥 à §à¥§ (S; V n S ), ¨§êï⮥ ¨§ T ॡ஠(x; y) ¨¬¥¥â ¥ ¬¥ì訩 ¢¥á, 祬 ¤®¡ ¢«¥®¥ ¢¬¥áâ® ¥£® ॡ஠(u; v), â ª çâ® ¢á¥ ®á⮢ ¬®£ ⮫쪮 㬥ìè¨âìáï. ® ®á⮢ ¡ë« ¬¨¨¬ «ìë¬, § ç¨â, ¢¥á ¥£® ®áâ «áï ¯à¥¦¨¬, ¨ ®¢ë© ®á⮢ T 0 ¡ã¤¥â ¤à㣨¬ ¬¨¨¬ «ìë¬ ®á⮢®¬ (⮣® ¦¥ ¢¥á ). ®í⮬ã ॡ஠(u; v), ᮤ¥à¦ 饥áï ¢ T 0, ï¥âáï ¡¥§®¯ áë¬. «¥¤ãî饥 á«¥¤á⢨¥ ⥮६ë 24.1 ¡ã¤¥â ¨á¯®«ì§®¢ ® ¢ à §¤¥«¥ 24.2. «¥¤á⢨¥ 24.2 ãáâì G = (V; E ) | á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä ¨ ¬®¦¥á⢥ E ®¯à¥¤¥«¥ ¢¥é¥á⢥ ï äãªæ¨ï w. ãáâì A | ¬®¦¥á⢮ àñ¡¥à £à ä , ïî饥áï ¯®¤¬®¦¥á⢮¬ ¥ª®â®à®£® ¬¨¨¬ «ì®£® ®á⮢ . áᬮâਬ «¥á GA = (V; A). ãáâì ¤¥à¥¢® C | ®¤ ¨§ á¢ï§ëå ª®¬¯®¥â «¥á GA = (V; A). áᬮâਬ ¢á¥ àñ¡à £à ä , ᮥ¤¨ï騥 ¢¥àè¨ë ¨§ C á ¢¥àè¨ ¬¨ ¥ ¨§ C , ¨ ¢®§ì¬ñ¬ á।¨ ¨å ॡ஠¨¬¥ì襣® ¢¥á . ®£¤ í⮠ॡ஠¡¥§®¯ á® ¤«ï A: ®ª § ⥫ìá⢮ ®ç¥¢¨¤®: à §à¥§ (C; V n C ) ᮣ« ᮢ á A, ॡ஠(u; v) | «ñ£ª®¥ ॡ஠¤«ï í⮣® à §à¥§ . ¯à ¦¥¨ï 24.1-1 ãáâì (u; v) | ॡ஠¬¨¨¬ «ì®£® ¢¥á ¢ £à ä¥ G: ®ª ¦¨â¥, çâ® (u; v) ¯à¨ ¤«¥¦¨â ¥ª®â®à®¬ã ¬¨¨¬ «ì®¬ã ®á⮢ã í⮣® £à ä . 486 « ¢ 24 ¨¨¬ «ìë¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï 24.1-2 à®ä¥áá®à ã⢥ত ¥â, çâ® ¢¥à® á«¥¤ãî饥 ®¡à 饨¥ ⥮६ë 24.1. ãáâì G = (V; E ) | á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä, ¨ ¬®¦¥á⢥ E ®¯à¥¤¥«¥ ¢¥é¥á⢥ ï äãªæ¨ï w. ãáâì A | ¯®¤¬®¦¥á⢮ E , ïî饥áï ¯®¤¬®¦¥á⢮¬ ¥ª®â®à®£® ¬¨¨¬ «ì®£® ®á⮢ G. ãáâì (S; V n S ) | «î¡®© à §à¥§ G, ᮣ« ᮢ ë© á A, (u; v) | ¡¥§®¯ ᮥ ॡ஠¤«ï A, ¯¥à¥á¥ª î饥 (S; V n S ). ®£¤ ॡ஠(u; v) ï¥âáï «ñ£ª¨¬ ॡ஬, ¯¥à¥á¥ª î騬 íâ®â à §à¥§. ®áâன⥠ª®âà¯à¨¬¥à ª ã⢥ত¥¨î ¯à®ä¥áá®à . 24.1-3 ®ª ¦¨â¥, çâ® ¥á«¨ ॡ஠(u; v) ᮤ¥à¦¨âáï ¢ ¥ª®â®à®¬ ¬¨¨¬ «ì®¬ ®á⮢¥, â® áãé¥áâ¢ã¥â ¥ª®â®àë© à §à¥§ £à ä , ¤«ï ª®â®à®£® ®® ï¥âáï «ñ£ª¨¬ ॡ஬, ¯¥à¥á¥ª î騬 íâ®â à §à¥§. 24.1-4 áᬮâਬ ¬®¦¥á⢮ ¢á¥å àñ¡¥à, ª®â®àë¥ ï¢«ïîâáï «ñ£ª¨¬¨ àñ¡à ¬¨ ¢á¥¢®§¬®¦ëå à §à¥§®¢ £à ä . ਢ¥¤¨â¥ ¯à®á⮩ ¯à¨¬¥à, ª®£¤ íâ® ¬®¦¥á⢮ ¥ ï¥âáï ¬¨¨¬ «ìë¬ ®á⮢®¬. 24.1-5 ãáâì e | ॡ஠¬ ªá¨¬ «ì®£® ¢¥á ¢ ¥ª®â®à®¬ 横«¥ £à ä G = (V; E ). ®ª ¦¨â¥, çâ® áãé¥áâ¢ã¥â ¬¨¨¬ «ìë© ®á⮢ £à ä G = (V; E n feg), ª®â®àë© ï¢«ï¥âáï â ª¦¥ ¬¨¨¬ «ìë¬ ®á⮢®¬ £à ä G. 24.1-6 ®ª ¦¨â¥, çâ® ¥á«¨ ¤«ï «î¡®£® à §à¥§ £à ä áãé¥áâ¢ã¥â ¥¤¨á⢥®¥ «ñ£ª®¥ ॡà®, ¯¥à¥á¥ª î饥 íâ®â à §à¥§, â® ¢ £à ä¥ ¥áâì ⮫쪮 ®¤¨ ¬¨¨¬ «ìë© ®á⮢. ®ª ¦¨â¥, çâ® ®¡à ⮥ ã⢥ত¥¨¥ ¥¢¥à®. 24.1-7 ¡êïá¨â¥, ¯®ç¥¬ã ¢ £à ä¥ á ¯®«®¦¨â¥«ì묨 ¢¥á ¬¨ àñ¡¥à «î¡®¥ ¯®¤¬®¦¥á⢮ àñ¡¥à, á¢ï§ë¢ î饥 ¢á¥ ¢¥àè¨ë ¨ ®¡« ¤ î饥 ¬¨¨¬ «ìë¬ á㬬 àë¬ ¢¥á®¬ (á।¨ â ª¨å ¯®¤¬®¦¥áâ¢), ï¥âáï ¤¥à¥¢®¬. ਢ¥¤¨â¥ ¯à¨¬¥à, ¯®ª §ë¢ î騩, çâ® íâ® § ª«î票¥ ¯¥à¥áâ ñâ ¡ëâì ¢¥àë¬, ¥á«¨ ¢¥á àñ¡¥à ¬®£ãâ ¡ëâì ®âà¨æ ⥫ì묨. 24.1-8 ãáâì T | ¬¨¨¬ «ìë© ®á⮢ £à ä G. ®áâ ¢¨¬ 㯮à冷ç¥ë© ᯨ᮪ ¢¥á®¢ ¢á¥å àñ¡¥à ®á⮢ T . ®ª ¦¨â¥, çâ® ¤«ï «î¡®£® ¤à㣮£® ¬¨¨¬ «ì®£® ®á⮢ ¯®«ãç¨âáï â®â ¦¥ á ¬ë© á¯¨á®ª. 24.1-9 ãáâì T | ¬¨¨¬ «ìë© ®á⮢ £à ä G = (V; E ). ãáâì V 0 | ¯®¤¬®¦¥á⢮ V . ¥à¥§ T 0 ®¡®§ 稬 ¯®¤£à ä T , ¯®à®¦¤ñë© V 0, ç¥à¥§ G0 | ¯®¤£à ä G, ¯®à®¦¤ñë© V 0. ®ª ¦¨â¥, çâ® ¥á«¨ T 0 á¢ï§¥, â® T 0 | ¬¨¨¬ «ìë© ®á⮢ G0. «£®à¨â¬ë àã᪠« ¨ ਬ 487 24.2 «£®à¨â¬ë àã᪠« ¨ ਬ ¡ íâ¨å «£®à¨â¬ á«¥¤ãîâ ®¯¨á ®© á奬¥, ® ¯®-à §®¬ã ¢ë¡¨à îâ ¡¥§®¯ ᮥ ॡà®. «£®à¨â¬¥ àã᪠« ¬®¦¥á⢮ àñ¡¥à A ¯à¥¤áâ ¢«ï¥â ᮡ®© «¥á, á®áâ®ï騩 ¨§ ¥áª®«ìª¨å á¢ï§ëå ª®¬¯®¥â (¤¥à¥¢ì¥¢). ®¡ ¢«ï¥âáï ॡ஠¬¨¨¬ «ì®£® ¢¥á á।¨ ¢á¥å àñ¡¥à, ª®æë ª®â®àëå «¥¦ â ¢ à §ëå ª®¬¯®¥â å. «£®à¨â¬¥ ਬ¥ ¬®¦¥á⢮ A ¯à¥¤áâ ¢«ï¥â ᮡ®© ®¤® ¤¥à¥¢®, ¥§®¯ ᮥ ॡà®, ¤®¡ ¢«ï¥¬®¥ ª A; ¢ë¡¨à ¥âáï ª ª ॡ஠¨¬¥ì襣® ¢¥á , ᮥ¤¨ïî饥 í⮠㦥 ¯®áâ஥®¥ ¤¥à¥¢® á ¥ª®â®à®© ®¢®© ¢¥à訮©. «£®à¨â¬ àã᪠« «î¡®© ¬®¬¥â à ¡®âë «£®à¨â¬ àã᪠« ¬®¦¥á⢮ A ¢ë¡à ëå àñ¡¥à (ç áâì ¡ã¤ã饣® ®á⮢ ) ¥ ᮤ¥à¦¨â 横«®¢. ® ᮥ¤¨ï¥â ¢¥àè¨ë £à ä ¢ ¥áª®«ìª® á¢ï§ëå ª®¬¯®¥â, ª ¦¤ ï ¨§ ª®â®àëå ï¥âáï ¤¥à¥¢®¬. ।¨ ¢á¥å àñà¥, ᮥ¤¨ïîé¨å ¢¥àè¨ë ¨§ à §ëå ª®¬¯®¥â, ¡¥àñâáï ॡ஠¨¬¥ì襣® ¢¥á . ¤® ¯à®¢¥à¨âì, çâ® ®® ï¥âáï ¡¥§®¯ áë¬. ãáâì (u; v) | â ª®¥ ॡà®, ᮥ¤¨ïî饥 ¢¥àè¨ë ¨§ ª®¬¯®¥â C1 ¨ C2 . ⮠ॡ஠ï¥âáï «ñ£ª¨¬ ॡ஬ ¤«ï à §à¥§ C1; V n C1, ¨ ¬®¦® ¢®á¯®«ì§®¢ âìáï ⥮६®© 24.1 (¨«¨ ¯àאַ á«¥¤á⢨¥¬ 24.2). ¥ «¨§ æ¨ï «£®à¨â¬ àã᪠« ¯®¬¨ ¥â «£®à¨â¬ ¢ëç¨á«¥¨ï á¢ï§ëå ª®¬¯®¥â (à §¤. 22.1) ¨ ¨á¯®«ì§ã¥â áâàãªâãàë ¤ ëå ¤«ï ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠(£«. 22), «¥¬¥â ¬¨ ¬®¦¥á⢠ïîâáï ¢¥àè¨ë £à ä . ¯®¬¨¬, çâ® Find-Set(u) ¢®§¢à é ¥â ¯à¥¤áâ ¢¨â¥«ï ¬®¦¥á⢠, ᮤ¥à¦ 饣® í«¥¬¥â u: ¢¥ ¢¥àè¨ë u ¨ v ¯à¨ ¤«¥¦ â ®¤®¬ã ¬®¦¥áâ¢ã (ª®¬¯®¥â¥), ¥á«¨ Find-Set(u) = Find-Set(v ). ¡ê¥¤¨¥¨¥ ¤¥à¥¢ì¥¢ ¢ë¯®«ï¥âáï ¯à®æ¥¤ãன Union. \textsc{MST-Kruskal}$(G,w)$ 1 $A \leftarrow \emptyset$ 2 {\bf for} $v\in V[G]$ 3 {\bf do} \textsc{Make-Set}$(v)$ 4 㯮à冷ç¨âì àñ¡à $E$ ¯® ¢¥á ¬ 5 {\bf for} $(u,v)\in E$ (¢ ¯®à浪¥ ¢®§à áâ ¨ï ¢¥á ) 6 {\bf do if} \textsc{Find-Set}$(u) \noteq$ \textsc{FindSet}$(v)$ 7 {\bf then} $A \leftarrow A \cup \{(u,v)\}$ 8 \textsc{Union} $(u,v)$ 9 {\bf return} $A$ à¨á㪥 24.4 ¯®ª § à ¡®â «£®à¨â¬ . ç « (áâப¨ 1{3) ¬®¦¥á⢮ A ¯ãáâ®, ¨ ¥áâì jV j ¤¥à¥¢ì¥¢, ª ¦¤®¥ ¨§ ª®â®àëå ᮤ¥à¦¨â ¯® ®¤®© ¢¥à訥. áâப¥ 4 àñ¡à ¨§ E 㯮à冷稢 îâáï ¯® ¥ã¡ë¢ ¨î ¢¥á . 横«¥ (áâப¨ 5{8) ¬ë ¯à®¢¥à塞, «¥¦ â «¨ 488 « ¢ 24 ¨¨¬ «ìë¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï ¨á㮪 24.4 24.4 ¡®â «£®à¨â¬ àã᪠« £à ä¥ à¨á. 24.1. ñ¡à à áâã饣® «¥á (A) ¢ë¤¥«¥ë á¥àë¬ æ¢¥â®¬. ñ¡à à áᬠâਢ îâáï ¢ ¯®à浪¥ ¥ã¡ë¢ ¨ï ¢¥á®¢ (⥪ã饥 ॡ஠¯®ª § ® áâ५ª®©). ᫨ ॡ஠ᮥ¤¨ï¥â ¤¢ à §«¨çëå ¤¥à¥¢ , ®® ¤®¡ ¢«ï¥âáï ª «¥áã, ¤¥à¥¢ìï ᫨¢ îâáï. ª®æë à¥¡à ¢ ®¤®¬ ¤¥à¥¢¥. ᫨ ¤ , ⮠ॡ஠¥«ì§ï ¤®¡ ¢¨âì ª «¥áã (¥ ᮧ¤ ¢ ï 横« ), ¨ ®® ®â¡à áë¢ ¥âáï. ᫨ ¥â, ⮠ॡ஠¤®¡ ¢«ï¥âáï ª A (áâப 7), ¨ ¤¢ ᮥ¤¨ñëå ¨¬ ¤¥à¥¢ ®¡ê¥¤¨ïîâáï ¢ ®¤® (áâப 8). ®¤áç¨â ¥¬ ¢à¥¬ï à ¡®âë «£®à¨â¬ àã᪠« . 㤥¬ áç¨â âì, çâ® ¤«ï åà ¥¨ï ¥¯¥à¥á¥ª îé¨åáï ¬®¦¥á⢠¨á¯®«ì§ã¥âáï ¬¥â®¤ à §¤¥« 22.3 (á ®¡ê¥¤¨¥¨¥¬ ¯® à £ã ¨ ᦠ⨥¬ ¯ã⥩ | á ¬ë© ¡ëáâàë© ¨§ ¨§¢¥áâëå). ¨æ¨ «¨§ æ¨ï § ¨¬ ¥â ¢à¥¬ï O(V ), 㯮à冷票¥ àñ¡¥à ¢ áâப¥ 4 | O(E lg E ): «¥¥ ¯à®¨§¢®¤¨âáï O(E ) ®¯¥à 権, ¢ ᮢ®ªã¯®á⨠§ ¨¬ îé¨å ¢à¥¬ï O(E(E; V )); £¤¥ | äãªæ¨ï, ®¡à â ï ª äãªæ¨¨ ªª¥à¬ (á¬. à §¤¥« 22.4). ®áª®«ìªã (E; V ) = o(lg E ); ®¡é¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ àã᪠« á®áâ ¢«ï¥â O(E lg E ) (®á®¢®¥ ¢à¥¬ï ã室¨â á®àâ¨à®¢ªã). «£®à¨â¬ ਬ ª ¨ «£®à¨â¬ àã᪠« , «£®à¨â¬ ਬ á«¥¤ã¥â ®¡é¥© á奬¥ «£®à¨â¬ ¯®áâ஥¨ï ¬¨¨¬ «ì®£® ®á⮢ ¨§ à §¤¥« 24.1. ¯®å®¦ «£®à¨â¬ ¥©ªáâàë ¯®¨áª ªà âç ©è¥£® ¯ã⨠¢ £à ä¥ (à §¤¥« 25.2). í⮬ «£®à¨â¬¥ à áâãé ï ç áâì ®á⮢ ¯à¥¤áâ ¢«ï¥â ᮡ®© ¤¥à¥¢® (¬®¦¥á⢮ àñ¡¥à ª®â®à®£® ¥áâì A). ª ¯®ª § ® à¨á. 24.5, ä®à¬¨à®¢ ¨¥ ¤¥à¥¢ ç¨ ¥âáï á ¯à®¨§¢®«ì®© ª®à¥¢®© ¢¥àè¨ë r. ª ¦¤®¬ è £¥ ¤®¡ ¢«ï¥âáï ॡ஠¨¬¥ì襣® ¢¥á á।¨ àñ¡¥à ᮥ¤¨ïîé¨å ¢¥àè¨ë í⮣® ¤¥à¥¢ á ¢¥àè¨ ¬¨ ¥ ¨§ ¤¥à¥¢ . ® á«¥¤á⢨î 24.2 â ª¨¥ àñ¡à ïîâáï ¡¥§®¯ á묨 ¤«ï A, â ª çâ® ¢ १ã«ìâ ⥠¯®«ãç ¥âáï ¬¨¨¬ «ìë© ®á⮢. ਠॠ«¨§ 樨 ¢ ¦® ¡ëáâà® ¢ë¡¨à âì «ñ£ª®¥ ॡà®. «£®à¨â¬ ¯®«ãç ¥â ¢å®¤ á¢ï§ë© £à ä G ¨ ª®à¥ì r ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ . 室¥ «£®à¨â¬ ¢á¥ ¢¥àè¨ë, ¥éñ ¥ ¯®¯ ¢è¨¥ ¢ ¤¥à¥¢®, åà ïâáï ¢ ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨. ਮà¨â¥â ¢¥àè¨ë v ®¯à¥¤¥«ï¥âáï § 票¥¬ key[v], ª®â®à®¥ à ¢® ¬¨¨¬ «ì®¬ã ¢¥áã àñ¡¥à, ᮥ¤¨ïîé¨å v c ¢¥àè¨ ¬¨ ¤¥à¥¢ A. ( ᫨ â ª¨å àñ¡¥à ¥â, ¯®« £ ¥¬ key[v] = 1:) ®«¥ [v] ¤«ï ¢¥àè¨ ¤¥à¥¢ 㪠§ë¢ ¥â த¨â¥«ï, ¤«ï ¢¥àè¨ë v 2 Q 㪠§ë¢ ¥â ¢¥àè¨ã ¤¥à¥¢ , ¢ ª®â®àãî ¢¥¤ñâ ॡ஠¢¥á key[v] (®¤® ¨§ â ª¨å àñ¡¥à, ¥á«¨ ¨å ¥áª®«ìª®). ë ¥ åà ¨¬ ¬®¦¥á⢮ A ¢¥àè¨ áâந¬®£® ¤¥à¥¢ ; ¥£® ¬®¦® ¢®ááâ ®¢¨âì ª ª A = f(v; [v ]) : v 2 V n frg n Qg: ª®¥æ à ¡®âë «£®à¨â¬ ®ç¥à¥¤ì Q ¯ãáâ , ¨ ¬®¦¥á⢮ A = f(v; [v]) : v 2 V n frgg: ¥áâì ¬®¦¥á⢮ ¢¥àè¨ ¯®ªàë¢ î饣® ¤¥à¥¢ . «£®à¨â¬ë àã᪠« ¨ ਬ 489 ¨á㮪 24.5 24.5 ¡®â «£®à¨â¬ ਬ £à ä¥ à¨á. 24.1 á ª®à¥¢®© ¢¥à訮© a ñ¡à , ¢å®¤ï騥 ¢ ¤¥à¥¢® A. ¢ë¤¥«¥ë á¥àë¬; ¢¥àè¨ë ¤¥à¥¢ | çñàë¬. ª ¦¤®¬ è £¥ ª A ¤®¡ ¢«ï¥âáï ॡà®, ¯¥à¥á¥ª î饥 à §à¥§ ¬¥¦¤ã ¤¥à¥¢®¬ ¨ ¥£® ¤®¯®«¥¨¥¬. ¯à¨¬¥à, ¢â®à®¬ è £¥ ¬®¦® ¡ë«® ¡ë ¤®¡ ¢¨âì «î¡®¥ ¨§ àñ¡¥à (b; c) ¨ (a; h): \textsc{MST-Prim}$(G,W,r)$ 1 $Q \leftarrow V[G]$ 2 {\bf for} $u\in Q$ 3 {\bf do} $key[u] \gets \infty$ 4 $key[r] \gets 0$ 5 $\pi[r] \gets \textsc{nil}$ 6 {\bf while} $Q \noteq \emptyset$ 7 {\bf do} $u \leftarrow \textsc{Extract-Min}(Q)$ 8 {\bf for} $v\in Adj[u]$ 9 {\bf do if} $v\in Q$ ¨ $w(u,v)<key[v]$ 10 {\bf then} $\pi(v) \leftarrow u$ 11 $key(v) \leftarrow w(u,v)$ à¨á. 24.5 ¯®ª § à ¡®â «£®à¨â¬ ਬ . ®á«¥ ¨á¯®«¥¨ï áâப 1{5 ¨ ¯¥à¢®£® ¯à®å®¤ 横« ¢ áâப å 6 ; ;11 ¤¥à¥¢® á®á⮨⠨§ ¥¤¨á⢥®© ¢¥àè¨ë r, ¢á¥ ®áâ «ìë¥ ¢¥àè¨ë 室ïâáï ¢ ®ç¥à¥¤¨, ¨ § 票¥ key[v] ¤«ï ¨å à ¢® ¤«¨¥ à¥¡à ¨§ r ¢ v ¨«¨ +1, ¥á«¨ â ª®£® à¥¡à ¥â (¢ ¯¥à¢®¬ á«ãç ¥ [v] = r. ª¨¬ ®¡à §®¬, ¢ë¯®«¥ ®¯¨á ë© ¢ëè¥ ¨¢ ਠâ (¤¥à¥¢® ¥áâì ç áâì ¥ª®â®à®£® ®á⮢ , ¤«ï ¢¥àè¨ ¤¥à¥¢ ¯®«¥ 㪠§ë¢ ¥â த¨â¥«ï, ¤«ï ®áâ «ìëå ¢¥àè¨ "¡«¨¦ ©èãî" ¢¥àè¨ã ¤¥à¥¢ | ¢¥á à¥¡à ¤® ¥ñ åà ¨âáï ¢ keu[v ]. ६ï à ¡®âë «£®à¨â¬ ਬ § ¢¨á¨â ®â ⮣®, ª ª à ¢«¨§®¢ ®ç¥à¥¤ì Q: ᫨ ¨á¯®«ì§®¢ âì ¤¢®¨çãî ªãçã (£« ¢ 7), ¨¨æ¨ «¨§ æ¨î ¢ áâப å 1{4 ¬®¦® ¢ë¯®«¨âì á ¯®¬®éìî ¯à®æ¥¤ãàë Build-Heap § ¢à¥¬ï O(V ). «¥¥ 横« ¢ë¯®«ï¥âáï jV j à §, ¨ ª ¦¤ ï ®¯¥à æ¨ï Extract-Min § ¨¬ ¥â ¢à¥¬ï O(lg V ), ¢á¥£® O(V lg V ). ¨ª« for ¢ áâப å 8{11 ¢ë¯®«ï¥âáï ¢ ®¡é¥© á«®¦®á⨠O(E ) à §, ¯®áª®«ìªã á㬬 á⥯¥¥© ¢¥àè¨ £à ä à ¢ 2jE j. ஢¥àªã ¯à¨ ¤«¥¦®á⨠¢ áâப¥ 9 ¢ãâਠ横« for ¬®¦® ॠ«¨§®¢ âì § ¢à¥¬ï O(1), ¥á«¨ åà ¨âì á®áâ®ï¨¥ ®ç¥à¥¤¨ ¥éñ ¨ ª ª ¡¨â®¢ë© ¢¥ªâ®à à §¬¥à jV j. à¨á¢ ¨¢ ¨¥ ¢ áâப¥ 11 ¯®¤à §ã¬¥¢ ¥â ¢ë¯®«¥¨¥ ®¯¥à 樨 㬥ìè¥¨ï ª«îç (Decrease-Key), ª®â®à ï ¤«ï ¤¢®¨ç®© ªãç¨ ¬®¦¥â ¡ëâì ¢ë¯®«¥ § ¢à¥¬ï O(lg V ): ª¨¬ ®¡à §®¬, ¢á¥£® ¯®«ãç ¥¬ O(V lg V + E lg V ) = O(E lg V ) | â ¦¥ á ¬ ï ®æ¥ª , çâ® ¡ë« ¤«ï «£®à¨â¬ àã᪠« . ¤ ª® í⠮楪 ¬®¦¥â ¡ëâì ã«ãçè¥ , ¥á«¨ ¨á¯®«ì§®¢ âì ¢ «£®à¨â¬¥ ਬ 䨡® ç稥¢ë ªãç¨. ª ¬ë ¢¨¤¥«¨ ¢ £« ¢¥ 21, á ¯®¬®éìî 䨡¡® 稥¢®© ªãç¨ ¬®¦® ¢ë¯®«ïâì ®¯¥à æ¨î Extract-Min § ãçñ⮥ ¢à¥¬ï O(lg V ); ®¯¥à æ¨î Decrease- 490 « ¢ 24 ¨¨¬ «ìë¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï Key | § (ãçñ⮥) ¢à¥¬ï O(1). ( á ¨â¥à¥áã¥â ¨¬¥® á㬬 ஥ ¢à¥¬ï ¢ë¯®«¥¨ï ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権, â ª çâ® ¬®à⨧¨à®¢ ë© «¨§ âãâ ¢ á ¬ë© à §.) ®í⮬㠯ਠ¨á¯®«ì§®¢ ¨¨ 䨡® ç稥¢ëå ªãç ¤«ï ॠ«¨§ 樨 ®ç¥à¥¤¨ ¢à¥¬ï à ¡®âë «£®à¨â¬ ਬ á®áâ ¢¨â O(E + V lg V ). ¯à ¦¥¨ï 24.2-1 «ï ®¤®£® ¨ ⮣® ¦¥ £à ä G «£®à¨â¬ àã᪠« ¬®¦¥â ¤ ¢ âì à §ë¥ à¥§ã«ìâ âë (¥á«¨ ¯®-à §®¬ã 㯮à冷ç¨âì àñ¡à ®¤¨ ª®¢®£® ¢¥á ). ®ª ¦¨â¥, çâ® ¤«ï ª ¦¤®£® ¬¨¨¬ «ì®£® ®á⮢ T £à ä G áãé¥áâ¢ã¥â 㯮à冷票¥ àñ¡¥à £à ä G, ¯à¨ ª®â®à®¬ «£®à¨â¬ àã᪠« ¤ áâ ª ª à § T: 24.2-2 à ä (V; E ) § ¤ ¬ âà¨æ¥© ᬥ¦®áâ¨. ®áâன⥠¯à®áâãî ॠ«¨§ æ¨î «£®à¨â¬ ਬ , ¢à¥¬ï à ¡®âë ª®â®à®© ¥áâì O(V 2): 24.2-3 ¬¥¥âáï «¨ ¢ë¨£àëè ¯à¨ ¯¥à¥å®¤¥ ®â ¤¢®¨çëå ªãç ª 䨡® ç稥¢ë¬ ¤«ï à §à¥¦¥®£® £à ä G = (V; E ) ¤«ï ª®â®à®£® jE j = (V )? ¤«ï ¯«®â®£® £à ä¥, £¤¥ jE j = (V 2)? ਠª ª®¬ á®®â®è¥¨¨ ¬¥¦¤ã jE j ¨ jV j ¯¥à¥å®¤ ª 䨡® ç稥¢ë¬ ªãç ¬ ¯à¨¢®¤¨â ª ᨬ¯â®âç¥áª®¬ã ã«ãç襨î íä䥪⨢®áâ¨? 24.2-4 ãáâì ¢¥á àñ¡¥à £à ä G = (V; E ) | æ¥«ë¥ ç¨á« ¢ ¨â¥à¢ «¥ ®â 1 ¤® jV j. ª®© ᪮à®áâ¨ à ¡®âë «£®à¨â¬ àã᪠« ¬®¦® ¤®¡¨âìáï? ¥á«¨ ¢¥á | æ¥«ë¥ ç¨á« ®â 1 ¤® W (£¤¥ W | ¥ª®â®à ï ª®áâ â )? 24.2-5 ãáâì ¢¥á àñ¡¥à £à ä G = (V; E ) | æ¥«ë¥ ç¨á« ¢ ¨â¥à¢ «¥ ®â 1 ¤® jV j. ª®© ᪮à®áâ¨ à ¡®âë «£®à¨â¬ ਬ ¬®¦® ¤®¡¨âìáï? ¥á«¨ ¢¥á | æ¥«ë¥ ç¨á« ®â 1 ¤® W (£¤¥ W | ¥ª®â®à ï ª®áâ â )? 24.2-6 ª ¦¨â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¤«ï â ª®© § ¤ ç¨: ¤«ï ¤ ®£® £à ä G ¨ ¢¥á®¢®© äãªæ¨¥© w ©â¨ ¨«ãç襥 ¯®ªàë¢ î饥 ¤¥à¥¢®, ¥á«¨ ªà¨â¥à¨¥¬ "ª ç¥á⢠" ¤¥à¥¢ áç¨â âì ¥ á㬬㠢¥á®¢, ¢¥á á ¬®£® âï¦ñ«®£® ॡà . 24.2-7* ãáâì ¨§¢¥áâ®, çâ® ¢¥á àñ¡¥à £à ä | ¥§ ¢¨á¨¬ë¥ á«ãç ©ë¥ ç¨á« , à ¢®¬¥à® à á¯à¥¤¥«¥ë¥ ¯®«ã¨â¥à¢ «¥ [0; 1). ª íâ® ¨á¯®«ì§®¢ âì ¤«ï ã᪮२ï à ¡®âë ®¤®£® ¨§ «£®à¨â¬®¢ (àã᪠« ¨«¨ ਬ )? 24.2-8* ãáâì ¬¨¨¬ «ìë© ®á⮢ £à ä G 㦥 ¯®áâ஥. ª ¡ëáâà® ¬®¦® ©â¨ ®¢ë© ¬¨¨¬ «ìë© ®á⮢, ¥á«¨ ¤®¡ ¢¨âì ª £à äã G ®¢ãî ¢¥àè¨ã ¨ ¨æ¨¤¥âë¥ ¥© àñ¡à ? ¤ ç¨ «£®à¨â¬ë àã᪠« ¨ ਬ 491 24-1 â®à®© ¯® ¢¥«¨ç¨¥ ®á⮢ ãáâì G = (V; E ) | ¥®à¨¥â¨à®¢ ë© á¢ï§ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! R, ¨ ¯ãáâì jE j > jV j (ç¨á«® àñ¡¥à ¡®«ìè¥ ¬¨¨¬ «ì® ¢®§¬®¦®£®). ¯®à冷稬 ¢á¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï ¢ ¯®à浪¥ ¥ã¡ë¢ ¨ï ¢¥á®¢; á ¡ã¤¥â ¨â¥à¥á®¢ âì ¢â®à®¥ ¯® ¢¥«¨ç¨¥ ¢ í⮬ ¯®à浪¥. (㤥¬ áç¨â âì ¤«ï ¯à®áâ®âë, çâ® ¢á¥ ¤¥à¥¢ìï ¢ í⮬ ᯨ᪥ ¨¬¥îâ à §«¨çë¥ áã¬¬ë ¢¥á®¢.) a. ãáâì T | ¬¨¨¬ «ì®¥ ¯®ªàë¢ î饥 ¤¥à¥¢® £à ä G: ®ª ¦¨â¥, çâ® ¢â®à®¥ ¯® ¢¥«¨ç¨¥ ¤¥à¥¢® ¯®«ãç ¥âáï ¨§ T § ¬¥®© ¥ª®â®à®£® ॡà (u; v) 2 T ¤à㣮¥ ॡ஠(x; y) 2= T . b. ãáâì T | ¯®ªàë¢ î饥 ¤¥à¥¢® £à ä G. «ï «î¡ëå ¤¢ãå ¢¥àè¨ u; v 2 V ç¥à¥§ max[u; v] ®¡®§ 稬 ॡ஠¬ ªá¨¬ «ì®£® ¢¥á ¥¤¨á⢥®¬ ¯ãâ¨, ᮥ¤¨ïî饬 u ¨ v ¢ T . ª ¦¨â¥ «£®à¨â¬ á ¢à¥¬¥¥¬ à ¡®âë O(V 2), ª®â®àë© ª®â®àë© ¤«ï «î¡®£® § ¤ ®£® T 室¨â max[u; v] ¤«ï ¢á¥å ¯ à ¢¥àè¨ u; v 2 V . c. ª ¦¨â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¯®¨áª ¢â®à®£® ¯® ¢¥«¨ç¨¥ ¯®ªàë¢ î饣® ¤¥à¥¢ . 24-2 ¨¨¬ «ìë© ®á⮢ ¢ à §à¥¦¥®¬ £à ä¥ «ï ®ç¥ì à §à¥¦¥®£® á¢ï§®£® £à ä G = (V; E ) ¢à¥¬ï à ¡®âë O(E + V lg V ) «£®à¨â¬ ਬ (á 䨡® ç稥¢ë¬¨ ªãç ¬¨) ¬®¦® ¥éñ ᮪à â¨âì, ¥á«¨ ¯à¥¤¢ à¨â¥«ì® ¯à¥®¡à §®¢ âì £à ä G, 㬥ì訢 ç¨á«® ¥£® ¢¥àè¨. ¯¨á ï ¨¦¥ ¯à®æ¥¤ãà ¯à¥®¡à - §®¢ ¨ï MST-Reduce ¯®«ãç ¥â ¢å®¤ £à ä G á ¢¥á®¢®© äãªæ¨¥© ¨ ¢®§¢à é ¥â "ᦠâãî" ¢¥àá¨î G0 £à ä G, ®¤®¢à¥¬¥® ¤®¡ ¢«ïï àñ¡à ª ¡ã¤ã饬㠮á⮢ã. â ¯à®æ¥¤ãà ¨á¯®«ì§ã¥â ¬ áᨢ orig[u; v ]; ¢ ç «ìë© ¬®¬¥â orig[u; v ] = (u; v ). ¤¥ï ¯à®áâ : ¥á«¨ ¤«ï ¥ª®â®à®© ¢¥àè¨ë ¢§ïâì ªà âç ©è¥¥ ॡà®, ¨§ ¥ñ ¢ë室ï饥, â® ¬®¦® ¨áª âì ¬¨¨¬ «ìë© ®á⮢ á।¨ ®á⮢®¢, ¢ª«îç îé¨å í⮠ॡ஠| íâ § ¤ ç ᢮¤¨âáï ª § ¤ ç¥ ¯®¨áª ®á⮢ ¤«ï ¬¥ì襣® £à ä (á ®â®¦¤¥á⢫ñ묨 ¢¥àè¨ ¬¨). ñ¡à , ¯® ª®â®àë¬ ¯à®¢¥¤¥ ᪫¥©ª , ¯®¬¥é îâáï ¢ T , ¤«ï ª ¦¤®£® ॡà (u; v), ᮥ¤¨ïî饣® ¢¥àè¨ë ®¢®£® £à ä , åà ¨âáï w[u; v] | ⮠ॡ஠¨á室®£® £à ä , ¨§ ª®â®à®£® ®® ¯à®¨§®è«® (¥á«¨ â ª¨å ¡ë«® ¥áª®«ìª®, â® ¡¥àñâáï ªà âç ©è¥¥). \textsc{MST-Reduce} (G,T) 1 {\bf for} $v\in V[G]$ 2 {\bf do} $mark[v] \leftarrow \textsc{false}$ 3 \textsc{Make-Set(v)} 4 {\bf for} $u\in V[G]$ 5 {\bf do if} $mark[u] = \textsc{false}$ 6 {\bf then} ¢ë¡à âì $v\in Adj[u]$ á ¨¬¥ì訬 $w[u,v]$ 7 \textsc{Union(u,v)} 8 $T \leftarrow T\cup \{orig[u,v]\}$ 9 $mark[u] \leftarrow $mark[v] \leftarrow 492 « ¢ 24 ¨¨¬ «ìë¥ ¯®ªàë¢ î騥 ¤¥à¥¢ìï 10 11 12 13 14 15 16 17 18 19 20 21 22 23 \textsc{true}$ $V[G'] \leftarrow \{\textsc{Find-Set(v)} : v\in V[G] \}$ $E[G'] \leftarrow \emptyset$ {\bf for} $(x,y)\in E[G]$ {\bf do} $u \leftarrow \textsc{Find-Set(x)}$ $v \leftarrow \textsc{Find-Set(y)}$ {\bf if} $(u,v)\notin E[G']$ {\bf then} $E[G'] \leftarrow E[G']\cup\{(u,v)\}$ $orig[u,v] \leftarrow orig[x,y]$ $w[u,v] \leftarrow w[x,y]$ {\bf else if} $w[x,y] < w[u,v]$ {\bf then} $orig[u,v] \leftarrow orig[x,y]$ $w[u,v] \leftarrow w[x,y]$ ¯®áâநâì ᯨ᪨ ᬥ¦ëå ¢¥àè¨ $Adj$ ¤«ï $G'$ {\bf return} $G'$ ¨ $T$ a. ãáâì T | ¬®¦¥á⢮ àñ¡¥à, ¢®§¢à éñ®¥ ¯à®æ¥¤ãன MSTReduce, T 0 | ¬¨¨¬ «ìë© ®á⮢ £à ä G0, ¢®§¢à éñ®£® í⮩ ¯à®æ¥¤ãன. ®ª ¦¨â¥, çâ® T [ forig[x; y] : (x; y) 2 T 0g | ¬¨¨- ¬ «ìë© ®á⮢ £à ä G: b. ®ª ¦¨â¥, çâ® jV [G0]j 6 jV j=2: c. ®ª ¦¨â¥, ª ª ॠ«¨§®¢ âì ¯à®æ¥¤ãàã MST-Reduce â ª, çâ®¡ë ® ¨á¯®«ï« áì § ¢à¥¬ï O(E ): (ª § ¨¥. ᯮ«ì§ã©â¥ ¥á«®¦ë¥ áâàãªâãàë ¤ ëå.) d. ãáâì ¬ë ¯®¤¢¥à£«¨ £à ä k-ªà ⮩ ®¡à ¡®âª¥ á ¯®¬®éìî ¯à®æ¥¤ãàë MST-Reduce (¢ë室 ®¤®£® è £ ï¥âáï ¢å®¤®¬ á«¥¤ãî饣®). ¡êïá¨â¥, ¯®ç¥¬ã çâ® ®¡é¥¥ ¢à¥¬ï ¢ë¯®«¥¨ï ¢á¥å k ¨â¥à 権 á®áâ ¢«ï¥â O(kE ). e. ãáâì ¯®á«¥ k ¯à¨¬¥¥¨© ¯à®æ¥¤ãàë MST-Reduce ¬ë ¢®á¯®«ì§®¢ «¨áì «£®à¨â¬®¬ ਬ ¤«ï ᦠ⮣® £à ä . ਠí⮬ ¬®¦® ¢ë¡à âì k â ª, çâ®¡ë ®¡é¥¥ ¢à¥¬ï à ¡®âë á®áâ ¢¨«® O(E lg lg V ). ®ç¥¬ã? ª®© ¢ë¡®à ᨬ¯â®â¨ç¥áª¨ ¬¨¨¬¨§¨àã¥â ®¡é¥¥ ¢à¥¬ï à ¡®âë. ®ç¥¬ã? f. ਠª ª®¬ á®®â®è¥¨¨ jE j ¨ jV j «£®à¨â¬ ਬ á ¯à¥¤¢ à¨â¥«ìë¬ á¦ â¨¥¬ íä䥪⨢¥¥ «£®à¨â¬ ਬ ¡¥§ â ª®£® ᦠâ¨ï? ¬¥ç ¨ï ¨£ àìï [188] ᮤ¥à¦¨â ®¡§®à § ¤ ç, á¢ï§ ëå á ¬¨¨¬ «ì묨 ¯®ªàë¢ î騬¨ ¤¥à¥¢ìﬨ, ¨ ¤ «ì¥©èãî ¨ä®à¬ æ¨î ® ¨å. áâ®à¨î § ¤ ç¨ ® ¬¨¨¬ «ì®¬ ¯®ªàë¢ î饬 ¤¥à¥¢¥ ®¯¨á «¨ àí奬 ¨ ¥«« [92]. ª 㪠§ë¢ ¥â àìï, ¢¯¥à¢ë¥ «£®à¨â¬ ¯®áâ஥¨ï ¬¨¨¬ «ì®£® ®á⮢ ¯®ï¢¨«áï ¢ áâ âì¥ ®à㢪¨ (O.Bor_uvka). «£®à¨â¬ àã᪠« ®¯ã¡«¨ª®¢ ¢ ¥£® áâ âì¥ 1956 £®¤ [131]. «£®à¨â¬, ¨§¢¥áâë© ª ª «£®à¨â¬ ਬ , ¤¥©áâ¢¨â¥«ì® ¨§®¡à¥âñ ¨¬ ¨ ®¯¨á ¢ [163], ® à ¥¥ ¥£® èñ« ਪ (V.Jarnik, 1930). «£®à¨â¬ë àã᪠« ¨ ਬ 493 ®§¬®¦®áâì ¨á¯®«ì§®¢ ¨ï ¦ ¤ëå «£®à¨â¬®¢ á¢ï§ á ⥬, çâ® àñ¡à £à ä ®¡à §ãîâ ¬ âந¤, ¥á«¨ ¥§ ¢¨á¨¬ë¬¨ áç¨â âì ¬®¦¥á⢠àñ¡¥à ¡¥§ 横«®¢ (à §¤¥« 17.4). ¨¡®«¥¥ ¡ëáâàë¬ ¨§ ¨§¢¥áâëå ¢ áâ®ï騩 ¬®¬¥â «£®à¨â¬®¢ ¯®¨áª ¬¨¨¬ «ì®£® ®á⮢ (¤«ï á«ãç ï jE j = (V lg V )) ï¥âáï «£®à¨â¬ ਬ , ॠ«¨§®¢ ë© á ¯®¬®éìî 䨡® ç稥¢®© ªãç¨. «ï ¡®«¥¥ à §à¥¦¥ëå £à 䮢 ।¬ ¨ àìï [75] ¯à¨¢®¤ïâ «£®à¨â¬, ¢à¥¬ï à ¡®âë ª®â®à®£® á®áâ ¢«ï¥â O(E(jE j; jV j)); £¤¥ (jE j; jV j) = minfi : lg(i) jV j 6 jE j=jV jg. ®áª®«ìªã jE j > jV j, ¢à¥¬ï à ¡®âë í⮣® «£®à¨â¬ ¥áâì O(E lg V ). 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¥à¥¤ ¬¨ | ª à⠢⮬®¡¨«ìëå ¤®à®£ á ®¡®§ ç¥ë¬¨ à ááâ®ï¨ï¬¨; ª ª ¢ë¡à âì ªà âç ©è¨© ¬ àèàã⠮⠨ª £® ¤® ®áâ® ? ®¦®, ª®¥ç®, ¯¥à¥¡à âì ¢á¥ ¢®§¬®¦ë¥ ¬ àèàãâë, ¯®¤áç¨â âì ¤«ï ª ¦¤®£® ¨§ ¨å ¤«¨ã ¨ ¢ë¡à âì ¨¬¥ìèãî. ® ¤ ¦¥ ¥á«¨ ¥ ¯à¨¨¬ âì ¢® ¢¨¬ ¨¥ ¬ àèàãâë, ᮤ¥à¦ 騥 横«ë, ¯à¨ â ª®¬ ¯®¤å®¤¥ ¯à¨¤¥âáï ¯¥à¥¡¨à âì ¬¨««¨®ë § ¢¥¤®¬® ¥£®¤ëå ¢ ਠ⮢ (¢àï¤ «¨ á⮨⠥å âì ¨§ ®áâ® ¢ ¨ª £® ç¥à¥§ ìîáâ®, «¥¦ 騩 âëáïçã ¬¨«ì ¢ áâ®à®¥). í⮩ ¨ á«¥¤ãî饩 £« ¢ å ¬ë à á᪠§ë¢ ¥¬ ® ⮬, ª ª ¬®¦® íä䥪⨢® à¥è âì â ª¨¥ § ¤ ç¨. § ¤ ç¥ ® ªà âç ©è¥¬ ¯ã⨠(shortest-paths problem) ¬ ¤ ®à¨¥â¨à®¢ ë© ¢§¢¥è¥ë© £à ä G = (V; E ) á ¢¥é¥á⢥®© ¢¥á®¢®© äãªæ¨¥© w : E ! . ¥á®¬ (weight) ¯ã⨠p = hv0; v1; : : :; vki §ë¢ ¥âáï á㬬 ¢¥á®¢ àñ¡¥à, ¢å®¤ïé¨å ¢ íâ®â ¯ãâì: R w(p) = k X i=1 w(vi;1; vi ): ¥á ªà âç ©è¥£® ¯ã⨠(shortest-path weight) ¨§ u ¢ v à ¢¥, ¯® ®¯à¥¤¥«¥¨î, ( p min f w ( p ) : u vg; ¥á«¨ áãé¥áâ¢ã¥â ¯ãâì ¨§ u ¢ v ; (u; v) = 1 ¨ ç¥. à âç ©è¨© ¯ãâì (shortest path) ¨§ u ¢ v | íâ® «î¡®© ¯ãâì p ¨§ u ¢ v, ¤«ï ª®â®à®£® w(p) = (u; v). 襬 ¯à¨¬¥à¥ á ¨ª £® ¨ ®áâ®®¬ ¬®¦® à áᬠâਢ âì ª àâã ¤®à®£ ª ª £à ä, ¢¥àè¨ ¬¨ ª®â®à®£® ïîâáï ¯¥à¥ªàñá⪨, àñ¡à ¬¨ | ãç á⪨ ¤®à®£ ¬¥¦¤ã ¨¬¨. ¥á ॡà | íâ® ¤«¨ ãç á⪠¤®à®£¨, ¨ è § ¤ ç ¬®¦¥â á®áâ®ïâì ¢ ®âë᪠¨¨ ªà âç ©è¥£® ¯ã⨠¬¥¦¤ã ¤ ë¬ ¯¥à¥ªàñá⪮¬ ¢ ¨ª £® ¨ ¤ ë¬ ¯¥à¥ªàñá⪮¬ ¢ ®á⮥. ¥á ¥ ®¡ï§ ë ¡ëâì à ááâ®ï¨ï¬¨: ¢¥á ¬¨ ¬®£ãâ ¡ëâì ¢à¥¬¥ , á⮨¬®áâ¨, èâà äë, ã¡ë⪨, : : : | ª®à®ç¥ £®¢®àï, «î¡ ï ¢¥«¨ç¨ , « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë 495 ª®â®àãî ¬ë å®â¨¬ ¬¨¨¬¨§¨à®¢ âì ¨ ª®â®à ï ®¡« ¤ ¥â ᢮©á⢮¬ ¤¤¨â¨¢®áâ¨. «£®à¨â¬ ¯®¨áª ¢ è¨à¨ã £à ä å (¡¥§ ¢¥á®¢®© äãªæ¨¨), ª®â®àë© ¬ë à áᬠâਢ «¨ ¢ à §¤. 23.2, ¬®¦® à áᬠâਢ âì ª ª à¥è¥¨¥ § ¤ ç¨ ® ªà âç ©è¥¬ ¯ã⨠¢ ç á⮬ á«ãç ¥, ª®£¤ ¢¥á ª ¦¤®£® ॡà à ¢¥ ¥¤¨¨æ¥. ®£¨¥ ¨¤¥¨, á¢ï§ ë¥ á ¯®¨áª®¬ ¢ è¨à¨ã, ¡ã¤ãâ ¯®«¥§ë ¨ ¤«ï ®¡é¥£® á«ãç ï, ¯®í⮬ã ᮢ¥â㥬 ¢ ¬ ¥éñ à § ¯à®á¬®âà¥âì à §¤. 23.2, ¯à¥¦¤¥ 祬 ç¨â âì ¤ «ìè¥. ਠâë § ¤ ç¨ ® ªà âç ©è¥¬ ¯ã⨠í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ ⮫쪮 § ¤ çã ® ªà âç ©è¨å ¯ãâïå ¨§ ®¤®© ¢¥àè¨ë (single-source shortest-path problem): ¤ ¢§¢¥è¥ë© £à ä G = (V; E ) ¨ ç «ì ï ¢¥àè¨ v (source vertex); âॡã¥âáï ©â¨ ªà âç ©è¨¥ ¯ã⨠¨§ s ¢® ¢á¥ ¢¥àè¨ë v 2 V . «£®à¨â¬, à¥è î騩 íâã § ¤ çã, ¯à¨£®¤¥ ¨ ¤«ï ¬®£¨å ¤àã£¨å § ¤ ç, ¯à¨¬¥à: à âç ©è¨¥ ¯ã⨠¢ ®¤ã ¢¥àè¨ã: ¤ ª®¥ç ï ¢¥àè¨ t (destination vertex), âॡã¥âáï ©â¨ ªà âç ©è¨¥ ¯ã⨠¢ t ¨§ ¢á¥å ¢¥àè¨ v 2 V . ( á ¬®¬ ¤¥«¥, ¥á«¨ ®¡à â¨âì ¢á¥ áâ५ª¨ àñ¡à å, íâ § ¤ ç ᢥ¤¥âáï ª § ¤ ç¥ ® ªà âç ©è¨å ¯ãâïå ¨§ ®¤®© ¢¥àè¨ë.) à âç ©è¨© ¯ãâì ¬¥¦¤ã ¤ ®© ¯ ன ¢¥àè¨: ¤ ë ¢¥àè¨ë u ¨ v , ©â¨ ªà âç ©è¨© ¯ãâì ¨§ u ¢ v. §ã¬¥¥âáï, ¥á«¨ ¬ë ©¤¥¬ ¢á¥ ªà âç ©è¨¥ ¯ã⨠¨§ u, ⮠⥬ á ¬ë¬ à¥è¨¬ ¨ íâã § ¤ çã; ª ª ¨ áâà ®, ¡®«¥¥ ¡ëáâண® ᯮᮡ (ª®â®àë© ¡ë ¨á¯®«ì§®¢ « â®â ä ªâ, çâ® á ¨â¥à¥áã¥â ¯ãâì «¨èì ¢ ®¤ã ¢¥àè¨ã) ¥ ©¤¥®. à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨: ¤«ï ª ¦¤®© ¯ àë ¢¥àè¨ u ¨ v ©â¨ ªà âç ©è¨© ¯ãâì ¨§ u ¢ v . ®¦® à¥è¨âì íâã § ¤ çã, å®¤ï ªà âç ©è¨¥ ¯ã⨠¨§ ¤ ®© ¢¥àè¨ë ¤«ï ¢á¥å ¢¥àè¨ ¯® ®ç¥à¥¤¨. (â®, ¯à ¢¤ , ¥ ®¯â¨¬ «ìë© á¯®á®¡ | ¡®«¥¥ íää¥ªâ¨¢ë¥ ¯®¤å®¤ë ¬ë à áᬮâਬ ¢ á«¥¤ãî饩 £« ¢¥.) ñ¡à ®âà¨æ ⥫쮣® ¢¥á ¥ª®â®àëå ¯à¨«®¦¥¨ïå ¢¥á àñ¡¥à ¬®£ãâ ¡ëâì ®âà¨æ ⥫ì묨. ਠí⮬ ¢ ¦®, ¥áâì «¨ 横«ë ®âà¨æ ⥫쮣® ¢¥á . ᫨ ¨§ ¢¥àè¨ë ¨§ s ¬®¦® ¤®¡à âìáï ¤® 横« ®âà¨æ ⥫쮣® ¢¥á , â® ¯®â®¬ ¬®¦® ®¡å®¤¨âì íâ®â 横« ᪮«ì 㣮¤® ¤®«£®, ¨ ¢¥á ¡ã¤¥â ¢áñ 㬥ìè âìáï, â ª çâ® ¤«ï ¢¥àè¨ í⮣® 横« ªà âç ©è¨å ¯ã⥩ ¥ áãé¥áâ¢ã¥â (à¨á. 25.1). â ª®¬ á«ãç ¥ ¬ë ¡ã¤¥¬ áç¨â âì, çâ® ¢¥á ªà âç ©è¥£® ¯ã⨠¥áâì ;1. ᫨ ¦¥ 横«®¢ ®âà¨æ ⥫쮣® ¢¥á ¥â, â® «î¡®© 横« ¬®¦® ¢ë¡à®á¨âì, ¥ 㤫¨ïï ¯ãâ¨. ã⥩ ¡¥§ 横«®¢ ª®¥ç®¥ ç¨á«®, â ª çâ® ¢¥á ªà âç ©è¥£® ¯ã⨠ª®à४⮠®¯à¥¤¥«ñ. ® ¬®£¨å § ¤ ç å ¥â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á ¥ ¬®¦¥â ¡ëâì 㦥 ¯®â®¬ã, çâ® ¢¥á ¢á¥å àñ¡¥à ¥®âà¨æ ⥫ìë. ( ª®¢ è ¯à¨¬¥à á ª à⮩ ¢â®¤®à®£). ¥ª®â®àë¥ «£®à¨â¬ë ¤«ï ¯®¨áª ªà âç ©è¨å ¯ã⥩ ( ¯à¨¬¥à, «£®à¨â¬ ¥©ªáâàë) ¨á¯®«ì- 496 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¨á㮪 25.1 25.1 ਥâ¨à®¢ ë© £à ä á àñ¡à ¬¨ ®âà¨æ ⥫쮣® ¢¥á . ª ¦¤®© ¢¥àè¨ë 㪠§ ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ s ¢ íâã ¢¥àè¨ã. ®áª®«ìªã ¢¥àè¨ë e ¨ f ®¡à §ãîâ 横« ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ë© ¨§ ¢¥àè¨ë s, ¢¥á ªà âç ©è¨å ¯ã⥩ ¢ ª ¦¤ãî ¨§ íâ¨å ¢¥àè¨ à ¢ë ;1. ¤¥« ¢ ¥áª®«ìª® 横«®¢, ¬®¦® ¯®©â¨ ¢ g, â ª çâ® ¢¥á ªà âç ©è¥£® ¯ã⨠¢ g â ª¦¥ à ¢¥ ;1. ¥àè¨ë h, i ¨ j ¥¤®á⨦¨¬ë ¨§ s, â ª çâ® (å®âì ®¨ ¨ «¥¦ â 横«¥ ®âà¨æ ⥫쮣® ¢¥á ), ¢¥á ªà âç ©è¥£® ¯ã⨠¢ í⨠¢¥àè¨ë ¥áâì 1. §ãîâ íâ® ¨ ¯à¨¬¥¨¬ë «¨èì ¤«ï £à 䮢 á ¥®âà¨æ ⥫ì묨 ¢¥á ¬¨. à㣨¥ ( ¯à¨¬¥à, «£®à¨â¬ ¥««¬ -®à¤ ) ¤®¯ã᪠îâ àñ¡à ®âà¨æ ⥫쮣® ¢¥á ¨ ¤ ¦¥ ¤ îâ ¢¥àë© à¥§ã«ìâ â, ¥á«¨ ¨§ ¨á室®© ¢¥àè¨ë ¥«ì§ï ¤®©â¨ ¤® 横« ®âà¨æ ⥫쮣® ¢¥á . ¡ëç® «£®à¨â¬ á®®¡é ¥â, ¥á«¨ â ª®© 横« ®âà¨æ ⥫쮣® ¢¥á ®¡ à㦥. ।áâ ¢«¥¨¥ ªà âç ©è¨å ¯ã⥩ ¢ «£®à¨â¬¥ áâ® âॡã¥âáï ¥ ¯à®áâ® ¯®¤áç¨â âì ¢¥á ªà âç ©è¨å ¯ã⥩, ® ¨ ©â¨ á ¬¨ í⨠¯ãâ¨. ë ¡ã¤¥¬ ¨á¯®«ì§®¢ âì ¤«ï ¨å ¯à¥¤áâ ¢«¥¨ï â®â ¦¥ ¯à¨ñ¬, çâ® ¨ ¢ ¤¥à¥¢ìïå ¯®¨áª ¢ è¨à¨ã ¢ à §¤. 23.2. ¬¥®, ¯ãáâì G = (V; E ) | § ¤ ë© £à ä. «ï ª ¦¤®© ¢¥àè¨ë v 2 V ¬ë ¡ã¤¥¬ ¯®¬¨âì ¥ñ ¯à¥¤è¥á⢥¨ª (predecessor) [v ]. ।è¥á⢥¨ª ¢¥àè¨ë | íâ® «¨¡® ¤àã£ ï ¢¥àè¨ (㪠§ â¥«ì ¥ñ), «¨¡® nil. ® § ¢¥à襨¨ à ¡®âë «£®à¨â¬®¢, à áᬠâਢ ¥¬ëå ¢ í⮩ £« ¢¥, 楯®çª ¯à¥¤è¥á⢥¨ª®¢, ç¨ îé ïáï á ¯à®¨§¢®«ì®© ¢¥àè¨ë v, ¡ã¤¥â ¯à¥¤áâ ¢«ïâì ᮡ®© ªà âç ©è¨© ¯ãâì ¨§ s ¢ v (¢ ®¡à ⮬ ¯®à浪¥), â ª çâ®, ¥á«¨ [v] = 6 nil, ¯à®æ¥¤ãà Print-Path(G; s; v) ¨§ à §¤. 23.2 ¯¥ç ⠥⠪à âç ©è¨© ¯ãâì ¨§ s ¢ v. ¯à®æ¥áá¥ à ¡®âë «£®à¨â¬®¢ 楯®çª¨, ¯®«ãç ¥¬ë¥ ¨â¥à æ¨ï¬¨ , ¥ ®¡ï§ â¥«ì® ¡ã¤ãâ ªà âç ©è¨¬¨ ¯ãâﬨ, ® ¢áñ à ¢® ¬®¦® à áᬮâà¥âì ®à¨¥â¨à®¢ ë© ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï (predecessor subgraph) G = (V ; E ), ®¯à¥¤¥«ñë© â ª: ¢¥àè¨ë G | í⮠⥠¢¥àè¨ë G, ã ª®â®àëå ¯à¥¤è¥á⢥¨ª ®â«¨ç¥ ®â nil, ¯«îá ¨á室 ï ¢¥àè¨ : V = f v 2 V : [v] = 6 nil g [ fsg: ñ¡à G | íâ® áâ५ª¨, 㪠§ë¢ î騥 ¨§ [v] = 6 nil ¢ v: E = f ( [v ]; v) 2 E : v 2 V n fsg g: ë ¤®ª ¦¥¬, çâ® ¯® ®ª®ç ¨¨ à ¡®âë è¨å «£®à¨â¬®¢ £à ä G ¡ã¤¥â "¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩" | ¤¥à¥¢®¬ á ª®à¥¬ s, ᮤ¥à¦ 騬 ªà âç ©è¨¥ ¯ã⨠¨§ s ¢® ¢á¥ ¤®á⨦¨¬ë¥ ¨§ s ¢¥àè¨ë. ¥à¥¢ìï ªà âç ©è¨å ¯ã⥩ «®£¨çë ¤¥à¥¢ìï¬ ¯®¨áª ¢ è¨à¨ã ¨§ à §¤. 23.2, á ⮩ à §¨æ¥©, ç⮠ᥩ à § ªà âç ©è¨¬¨ ®¡êïîâáï ¯ãâ¨ á ¨¬¥ì訬 ¢¥á®¬, ¥ ¨¬¥ì訬 ç¨á«®¬ ॡ¥à. ®ç®¥ ®¯à¥¤¥«¥¨¥ ¢ë£«ï¤¨â â ª. ãáâì G = (V; E ) | ¢§¢¥è¥- à âç ©è¨¥ ¯ã⨠¨ ५ ªá æ¨ï 497 ¨á㮪 25.2 25.2 ( ) §¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä; ¢ ¢¥àè¨ å 㪠§ ë ¢¥á ªà âç ©è¨å ¯ã⥩ ¨§ s. (¡) ¥àë¥ àñ¡à ®¡à §ãîâ ¤¥à¥¢® ªà âç ©è¨å ¯ã⥩ á ª®à¥¬ s. (¢) à㣮¥ ¤¥à¥¢® ªà âç ©è¨å ¯ã⥩ á ⥬ ¦¥ ª®à¥¬. ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! . ।¯®«®¦¨¬, çâ® G ¥ ¨¬¥¥â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ëå ¨§ ¨á室®© ¢¥àè¨ë s, â ª çâ® ¢á¥ ªà âç ©è¨¥ ¯ã⨠¨§ s ª®à४⮠®¯à¥¤¥«¥ë. ® ®¯à¥¤¥«¥¨î, ¤¥à¥¢® ªà âç ©è¨å ¯ã⥩ (shorted-paths tree) á ª®à¥¬ ¢ s ¥áâì ®à¨¥â¨à®¢ ë© ¯®¤£à ä G0 = (V 0; E 0), £¤¥ V 0 V ¨ E 0 E , ¤«ï ª®â®à®£®: 1. V 0 | ¬®¦¥á⢮ ¢¥àè¨, ¤®á⨦¨¬ëå ¨§ ¢¥àè¨ë v ; 2. G0 ï¥âáï ¤¥à¥¢®¬ á ª®à¥¬ s; 3. ¤«ï ª ¦¤®£® v 2 V 0 ¯ãâì ¨§ s ¢ v ¢ £à ä¥ G0 ï¥âáï ªà âç ©è¨¬ ¯ã⥬ ¨§ s ¢ v ¢ £à ä¥ G. ¨ ªà âç ©è¨¥ ¯ãâ¨, ¨ ¤¥à¥¢ìï ªà âç ©è¨å ¯ã⥩ ¥ ®¡ï§ ë ¡ëâì ¥¤¨á⢥묨. à¨á. 25.2 ¨§®¡à ¦¥ ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä ¨ ¤¢ à §«¨çëå ¤¥à¥¢ ªà âç ©è¨å ¯ã⥩ á ®¡é¨¬ ª®à¥¬. « £« ¢ë ᥠ«£®à¨â¬ë ¤«ï ¯®¨áª ªà âç ©è¨å ¯ã⥩, à áᬠâਢ ¥¬ë¥ ¢ í⮩ £« ¢¥, ®á®¢ ë â¥å¨ª¥, ¨§¢¥á⮩ ¯®¤ §¢ ¨¥¬ ५ ªá æ¨ï (relaxation). à §¤. 25.1 ¬ë à áᬠâਢ ¥¬ ®¡é¨¥ ᢮©á⢠ªà âç ©è¨å ¯ã⥩, § ⥬ ¤®ª §ë¢ ¥¬ àï¤ ¢ ¦ëå ä ªâ®¢ ¯à® ५ ªá æ¨î. «£®à¨â¬ ¥©ªáâàë, à¥è î騩 § ¤ çã ® ªà âç ©è¨å ¯ãâïå ¨§ ®¤®© ¢¥àè¨ë ¤«ï á«ãç ï ¥®âà¨æ ⥫ìëå ¢¥á®¢, à §®¡à ¢ à §¤. 25.2. §¤. 25.3 ¯®á¢ïé¥ «£®à¨â¬ã ¥««¬ -®à¤ , ¯à¨¬¥¨¬®¬ã ¨ ¢ ⮬ á«ãç ¥, ª®£¤ àñ¡à ¬®£ãâ ¨¬¥âì ®âà¨æ ⥫ìë© ¢¥á. ( ᫨ £à ä ᮤ¥à¦¨â 横« ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ë© ¨§ ¨á室®© ¢¥àè¨ë, «£®à¨â¬ ¥««¬ -®à¤ á®®¡é ¥â ®¡ í⮬.) à §¤. 25.4 à áᬠâਢ ¥âáï «£®à¨â¬ ¤«ï 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¢ 横«¨ç¥áª¨å £à ä å, à ¡®â î騩 § «¨¥©®¥ ¢à¥¬ï. ª®¥æ, ¢ à §¤. 25.5 ¬ë ¯®ª §ë¢ ¥¬, ª ª ¯à¨¬¥¨âì «£®à¨â¬ ¥««¬ -®à¤ ª à¥è¥¨î ®¤®£® á¯¥æ¨ «ì®£® á«ãç ï § ¤ ç¨ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï. à¨ à ¡®â¥ á ᨬ¢®« ¬¨ 1 ¨ ;1 ¬ë ¡ã¤¥¬ ¯à¨¤¥à¦¨¢ âìáï á«¥¤ãîé¨å ᮣ« 襨©. ᫨ a = 6 ;1, â® ¡ã¤¥¬ áç¨â âì, çâ® a + 1 = 1 + a = 1; «®£¨ç®, ¥á«¨ a =6 1, â® a +(;1) = (;1)+ a = ;1. R 25.1 à âç ©è¨¥ ¯ã⨠¨ ५ ªá æ¨ï í⮬ à §¤¥«¥ ®¯¨áë¢ îâáï ᢮©á⢠ªà âç ©è¨å ¯ã⥩ ¨ ®¡êïáï¥âáï ®¡é¨© ¯à¨ñ¬, ¨á¯®«ì§ã¥¬ë© ¢á¥¬¨ «£®à¨â¬ ¬¨ í⮩ £« ¢ë ¨ §ë¢ ¥¬ë© "५ ªá 樥©". á®á⮨â, £àã¡® £®¢®àï, ¢ ¯®á⥯¥- 498 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ®¬ ãâ®ç¥¨¨ ¢¥à奩 ®æ¥ª¨ ¢¥á ªà âç ©è¥£® ¯ã⨠¢ ¤ ãî ¢¥àè¨ã | ¯®ª ¥à ¢¥á⢮ ¥ ¯à¥¢à â¨âáï ¢ à ¢¥á⢮. ਠ¯¥à¢®¬ ç⥨¨ ¢ë ¬®¦¥â¥ à §®¡à âì ⮫쪮 ä®à¬ã«¨à®¢ª¨ १ã«ìâ ⮢ (®¡à â¨â¥ ®á®¡®¥ ¢¨¬ ¨¥ «¥¬¬ã 25.7; «¥¬¬ë 25.8 ¨ 25.9 ¯à¨ ¯¥à¢®¬ ç⥨¨ ¬®¦® ¯à®¯ãáâ¨âì), ¯®á«¥ 祣® ¯¥à¥©â¨ ª «£®à¨â¬ ¬ à §¤. 25.2 ¨ 25.3. ¢®©á⢮ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç î¡ ï ç áâì ªà âç ©è¥£® ¯ãâ¨ á ¬ ¥áâì ªà âç ©è¨© ¯ãâì. â® § ç¨â, çâ® § ¤ ç ® ªà âç ©è¨å ¯ãâïå ®¡« ¤ ¥â ᢮©á⢮¬ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç | ¯à¨§ ª ⮣®, çâ® ª ¥© ¬®¦¥â ¡ëâì ¯à¨¬¥¨¬® ¤¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ (£« ¢ 16) ¨«¨ ¦ ¤ë© «£®à¨â¬ (£« ¢ 17). ¤¥©á⢨⥫ì®, «£®à¨â¬ ¥©ªáâàë ï¥âáï ¦ ¤ë¬ «£®à¨â¬®¬, «£®à¨â¬ «®©¤ -®à讫« ¤«ï 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¬¥¦¤ã ¢á¥¬¨ ¯ à ¬¨ ¢¥àè¨ (£« ¢ 26) ®á®¢ ¤¨ ¬¨ç¥áª®¬ ¯à®£à ¬¬¨à®¢ ¨¨. «¥¤ãîé ï «¥¬¬ ¨ ¥¥ á«¥¤á⢨¥ ãâ®çïîâ, ¢ 祬 ª®ªà¥â® á®á⮨â ᢮©á⢮ ®¯â¨¬ «ì®á⨠¤«ï ¯®¤§ ¤ ç ¢ § ¤ ç¥ ® ªà âç ©è¨å ¯ãâïå. ¥¬¬ 25.1 (â१ª¨ ªà âç ©è¨å ¯ã⥩ ïîâáï ªà âç ©è¨¬¨) ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! . ᫨ p = hv1; v2; : : :; vk i | ªà âç ©è¨© ¯ãâì ¨§ v1 ¢ vk ¨ 1 6 i 6 j 6 k, â® pij = hvi ; vi+1; : : :; vj i ¥áâì ªà âç ©è¨© ¯ãâì ¨§ vi ¢ vj . ®ª § ⥫ìá⢮ ᫨ ¯ãâì pij ¥ ªà âç ©è¨©, â®, § ¬¥ïï ¢ ¯ã⨠p ãç á⮪ ®â vi ¤® vj ¡®«¥¥ ª®à®âª¨© ¯ãâì ¨§ vi ¢ vj , ¬ë 㬥ì訬 ¢¥á ¯ã⨠¨§ p1 ¢ pk | ¯à®â¨¢®à¥ç¨¥. (¤¥áì " ¡®«¥¥ ª®à®âª¨©" ®§ ç ¥â "á ¬¥ì訬 ¢¥á®¬".) «¥¤á⢨¥ ¨§ ¤®ª § ®© «¥¬¬ë ®¡®¡é ¥â «¥¬¬ã 23.1. «¥¤á⢨¥ 25.2 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! R. áᬬ®âਬ ªà âç ©è¨© ¯ãâì p ¨§ s p0 ¢ v. ãáâì u ! v | ¯®á«¥¤¥¥ ॡ஠í⮣® ¯ã⨠(p ¥áâì s u ! v). ®£¤ (s; v) = (s; u) + w(u; v). ®ª § ⥫ìá⢮ ® «¥¬¬¥ 25.1 ¯ãâì p0 ï¥âáï ªà âç ©è¨¬, â ª çâ® (s; v) = w(p0) + w(u; v) = (s; u) + w(u; v ). «¥¤ãîé ï «¥¬¬ ¯à®áâ , ® ¯®«¥§ . ¥¬¬ 25.3 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! ; ¯ãáâì s 2 V . ®£¤ ¤«ï ¢á类£® ॡà (u; v) 2 E ¨¬¥¥¬ (s; v) 6 (s; u) + w(u; v). ®ª § ⥫ìá⢮. ¥á ªà âç ©è¥£® ¯ã⨠¨§ s ¢ v ¥ ¯à¥¢®á室¨â ¢¥á «î¡®£® ¯ã⨠¨§ s ¢ v, ¢ ⮬ ç¨á«¥ ¨ ¯à®å®¤ï饣® ¯®á«¥¤¥¬ è £¥ ç¥à¥§ u. ¥« ªá æ¨ï ¥å¨ª ५ ªá 樨, ª®â®à ï 㦥 㯮¬¨ « áì ¢ëè¥, á®á⮨⠢ R R à âç ©è¨¥ ¯ã⨠¨ ५ ªá æ¨ï 499 ¨á㮪 25.3 25.3 ¥« ªá æ¨ï ॡà (u; v). ¢¥àè¨ å 㪠§ ë ®æ¥ª¨ ªà âç ©è¥£® ¯ãâ¨. ( ) ®áª®«ìªã ¯¥à¥¤ ५ ªá 樥© ¡ë«® d[v] > d[u] + w(u;v), ¢ १ã«ìâ ⥠५ ªá 樨 d[v] 㬥ìè ¥âáï. (¡) ¦¥ ¤® ५ ªá 樨 ¨¬¥¥¬ d[v] 6 d[u] + w(u; v). ¥« ªá æ¨ï ¨ç¥£® ¥ ¬¥ï¥â. á«¥¤ãî饬. «ï ª ¦¤®£® ॡà v 2 V ¬ë åà ¨¬ ¥ª®â®à®¥ ç¨á«® d[v], ïî饥áï ¢¥à奩 ®æ¥ª®© ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ s ¢ v; ¤«ï ªà ⪮á⨠¬ë ¡ã¤¥¬ §ë¢ âì ¥£® ¯à®áâ® ®æ¥ª®© ªà âç ©è¥£® ¯ã⨠(shortest-path estimate). ç «ì®¥ § 票¥ ®æ¥ª¨ ªà âç ©è¥£® ¯ã⨠(¨ ¯à¥¤è¥á⢥¨ª®¢) ¤ ñâáï á«¥¤ãî饩 ¯à®æ¥¤ãன: Initialize-Single-Source(G,s) 1 for (¤«ï) ¢á¥å ¢¥àè¨ v \in V[G] 2 do d[v] \gets \infty 3 \pi[v] \gets \text{\sc nil} 4 d[s] \gets 0 묨 á«®¢ ¬¨, ¯¥à¢® ç «ì® [v] = nil ¤«ï ¢á¥å v; ¯à¨ í⮬ d[s] = 0 ¨ d[v] = 1 ¤«ï ®áâ «ìëå ¢¥àè¨ v . ¥« ªá æ¨ï ॡà (u; v) 2 E á®á⮨⠢ á«¥¤ãî饬: § 票¥ d[v] 㬥ìè ¥âáï ¤® d[u] + w(u; v) (¥á«¨ ¢â®à®¥ § 票¥ ¬¥ìè¥ ¯¥à¢®£®): ¯à¨ í⮬ d[v] ®áâ ñâáï ¢¥à奩 ®æ¥ª®© ¢ ᨫ㠫¥¬¬ë 25.3. ë å®â¨¬, ç⮡ë [v] 㪠§ë¢ «¨ ¯ãâì, ¨á¯®«ì§®¢ ë© ¯à¨ ¯®«ã票¨ í⮩ ¢¥à奩 ®æ¥ª¨, ¯®í⮬㠮¤®¢à¥¬¥® ¬ë ¬¥ï¥¬ § 票¥ [v]: Relax(u,v,w) 1 if d[v] > d[u] + w(u,v) 2 then d[v] \gets d[u] + w(u,v) 3 \pi[v] \gets u à¨á. 25.3 ¯à¨¢¥¤¥ë ¤¢ ¯à¨¬¥à ५ ªá 樨: ¢ ®¤®¬ á«ãç ¥ ®æ¥ª ªà âç ©è¥£® ¯ã⨠㬥ìè ¥âáï, ¢ ¤à㣮¬ ¨ç¥£® ¥ ¯à®¨á室¨â. «£®à¨â¬ë, ®¯¨áë¢ ¥¬ë¥ ¢ í⮩ £« ¢¥, ãáâ஥ë â ª: ®¨ ¢ë§ë¢ îâ ¯à®æ¥¤ãàã Initialize-Single-Source, § ⥬ ¯à®¨§¢®¤ïâ ५ ªá æ¨î àñ¡¥à. §ë¥ «£®à¨â¬ë ®â«¨ç îâáï ¯®à浪®¬, ¢ ª®â®à®¬ àñ¡à ¯®¤¢¥à£ îâáï ५ ªá 樨. «£®à¨â¬¥ ¥©ªáâàë ¨ «£®à¨â¬¥ ¤«ï 横«¨ç¥áª¨å £à 䮢 ª ¦¤®¥ ॡ஠¯®¤¢¥à£ ¥âáï ५ ªá 樨 «¨èì ¥¤¨®¦¤ë. «£®à¨â¬¥ ¥««¬ -®à¤ àñ¡à ¯®¤¢¥à£ îâáï ५ ªá 樨 ¯® ¥áª®«ìªã à §. ¢®©á⢠५ ªá 樨 ¥¬¬ë, ¤®ª §ë¢ ¥¬ë¥ ¢ í⮬ ¨ á«¥¤ãî饬 à §¤¥« å, ¡ã¤ã⠨ᯮ«ì§®¢ ë ¯à¨ ¤®ª § ⥫ìá⢥ ¯à ¢¨«ì®á⨠«£®à¨â¬®¢ ¯®¨áª ªà âç ©è¨å ¯ã⥩. «¥¤ãîé ï «¥¬¬ ®ç¥¢¨¤ . ¥¬¬ 25.4 500 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! , ¨ ¯ãáâì (u; v) 2 E . ®£¤ áà §ã ¦¥ ¯®á«¥ ५ ªá 樨 í⮣® ॡà (¢ë§®¢ Relax(u; v; w)) ¢ë¯®«ï¥âáï ¥à ¢¥á⢮ d[v] 6 d[u] + w(u; v). ¥¬¬ 25.5 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w; ¯ãáâì s 2 V | ç «ì ï ¢¥àè¨ . ®£¤ ¯®á«¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë Initialize-Single-Source(G; s), § ⥬ ¯à®¨§¢®«ì®© ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 ५ ªá 樨 àñ¡¥à, ¤«ï ª ¦¤®© ¢¥àè¨ë v 2 V ¢ë¯®«¥® ¥à ¢¥á⢮ d[v] > (s; v). ᫨ ¯à¨ í⮬ ¤«ï ª ª®©-â® ¨§ ¢¥àè¨ v íâ® ¥à ¢¥á⢮ ®¡à é ¥âáï ¢ à ¢¥á⢮, â® à ¢¥á⢮ d[v] = (s; v) ®áâ ¥âáï ¢¥àë¬ ¨ ¢ ¤ «ì¥©è¥¬ (¯à¨ ¯®á«¥¤ãîé¨å ५ ªá æ¨ïå àñ¡¥à). ®ª § ⥫ìá⢮ á ¬®¬ ¤¥«¥, ¯®á«¥ ¨¨æ¨ «¨§ 樨 § 票ï d[v] ¡¥áª®¥çë ¯à¨ v = 6 s (¨ ¯®â®¬ã ïîâáï ®æ¥ª®© ᢥàåã ¤«ï 祣® 㣮¤®), d[s] = 0 (ç⮠⮦¥ ¯à ¢¨«ì®). ¯à®æ¥áᥠ५ ªá 樨 § 票¥ d[v] ®áâ ñâáï ¢¥à奩 ®æ¥ª®© ¤«ï (s; v), ¯®áª®«ìªã (s; v ) 6 (s; u) + w(u; v ) 6 d[u] + w(u; v ) (¯¥à¢®¥ ¥à ¢¥á⢮ | ¯® «¥¬¬¥ 25.3). â®à®¥ ã⢥ত¥¨¥ «¥¬¬ë: ¯®áª®«ìªã ¢ ¯à®æ¥áᥠ५ ªá 樨 § 票ï d ¬®£ãâ ⮫쪮 㬥ìè îâáï, ¯®á«¥ ¤®á⨦¥¨ï à ¢¥á⢠d[v] = (s; v) ¤ «ìè¥ ã¬¥ìè âìáï ¥ªã¤ . «¥¤á⢨¥ 25.6 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s. ãáâì ¢¥àè¨ v 2 V ¥¤®á⨦¨¬ ¨§ s. ®£¤ ¯®á«¥ ¨á¯®«¥¨ï ¯à®æ¥¤ãàë InitializeSingle-Source(G; s) ¨ «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠५ ªá 権 ॡ¥à § 票¥ d[v] ¡ã¤¥â ®áâ ¢ âìáï ¡¥áª®¥çë¬ (¨ à ¢ë¬ (s; v)). «¥¤ãîé ï «¥¬¬ ¨£à ¥â ®á®¢ãî à®«ì ¯à¨ ¤®ª § ⥫ìá⢥ ¯à ¢¨«ì®á⨠«£®à¨â¬®¢ ¯®¨áª ªà âç ©è¨å ¯ã⥩. ¥¬¬ 25.7 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s. ãáâì s u ! v | ªà âç ©è¨© ¯ãâì á ¯®á«¥¤¨¬ ॡ஬ (u; v) ।¯®«®¦¨¬, çâ® ¡ë« ¨á¯®«¥ ¯à®æ¥¤ãà Initialize-Single-Source(G; s), § ⥬ | ¯®á«¥¤®¢ ⥫ì®áâì ५ ªá 権 ¥ª®â®àëå ॡ¥à, ¢ª«îç îé ï ५ ªá æ¨î ॡà (u; v). ᫨ ¢ ª ª®©-â® ¬®¬¥â ¤® ५ ªá 樨 ॡà (u; v ) ¢ë¯®«ï«®áì à ¢¥á⢮ d[u] = (s; u), â® ¢ «î¡®© ¬®¬¥â ¯®á«¥ ५ ªá 樨 (u; v) ¡ã¤¥â ¢ë¯®«¥® à ¢¥á⢮ d[v] = (s; v). ®ª § ⥫ìá⢮ á ¬®¬ ¤¥«¥, à ¢¥á⢮ d[u] = (s; u) á®åà ¨âáï ¤® ¬®¬¥â ५ ªá 樨 ॡà (u; v) (ª ª, ¢¯à®ç¥¬, ¨ ¤® «î¡®£® ¤ «ì¥©è¥£® ¬®¬¥â , á¬. «¥¬¬ã 25.5). ®í⮬ã áà §ã ¯®á«¥ ५ ªá 樨 ॡà R à âç ©è¨¥ ¯ã⨠¨ ५ ªá æ¨ï 501 (u; v ) ¨¬¥¥¬ d[v] 6 d[u] + w(u; v) = (s; u) + w(u; v ) = (s; v) (¯®á«¥¤¥¥ à ¢¥á⢮ | ¯® á«¥¤á⢨î 25.2). ®áª®«ìªã, á ¤à㣮© áâ®à®ë, d[v] > (s; v) ¯® «¥¬¬¥ 25.5, ¯®«ãç ¥¬, çâ® d[v] = (s; v) áà §ã ¯®á«¥ ५ ªá 樨 ( § ç¨â, ¨ ¯®§¦¥). ¥à¥¢ìï ªà âç ©è¨å ¯ã⥩ ®á¬®âਬ, çâ® ¯à®¨á室¨â ¯à¨ è¨å ®¯¥à æ¨ïå á ¯®¤£à 䮬 ¯à¥¤è¥á⢮¢ ¨ï G . ¥¬¬ 25.8 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s, ¯à¨ç¥¬ ¢ £à ä¥ G ¥â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ëå ¨§ s. ®£¤ ¯®á«¥ ®¯¥à 樨 Initialize-Single-Source(G; s), § ª®â®à®© á«¥¤ã¥â ¯à®¨§¢®«ì ï ¯®á«¥¤®¢ ⥫ì®áâì ५ ªá 権 àñ¡¥à, ¯®¤£à ä ¯à¥¤è¥á⢥¨ª®¢ G ï¥âáï ¤¥à¥¢®¬ á ª®à¥¬ s. ®ª § ⥫ìá⢮ ¯®¬¨¬, çâ® ¢¥àè¨ ¬¨ £à ä G ïîâáï ⥠¢¥àè¨ë v 2 V , ¤«ï ª®â®àëå [v ] = 6 nil, â ª¦¥ ¢¥àè¨ s. à㣨¬¨ á«®¢ ¬¨, ¢ ¥£® ¢å®¤ïâ ⥠¢¥àè¨ë v, ¤«ï ª®â®àëå d[v] ª®¥ç® (ç⮡ë ã¡¥¤¨âìáï ¢ í⮬, ¤®áâ â®ç® ¯®á¬®âà¥âì ¯à®æ¥¤ãàã ५ ªá 樨: ¯à¨ 㬥ì襨¨ d[v] ¯à®¨á室¨â ¯à¨á¢ ¨¢ ¨¥ ¯¥à¥¬¥®© [v]). «ï ª ¦¤®© ¢¥àè¨ë v £à ä G ¢ íâ®â £à ä ¢ª«îç ¥âáï ॡ஠á ç «®¬ [v] ¨ ª®æ®¬ v. ® ¯®áâ஥¨î í⮠ॡ஠ï¥âáï ॡ஬ ¨á室®£® £à ä G. à §ã ¯®á«¥ ¨¨æ¨ «¨§ 樨 £à ä G á®á⮨â ⮫쪮 ¨§ ç «ì®© ¢¥àè¨ë ¨ ⥬ á ¬ë¬ ï¢«ï¥âáï ¤¥à¥¢®¬. ë ¡ã¤¥¬ ¤®ª §ë¢ âì ¯® ¨¤ãªæ¨¨, çâ® ® ®áâ ñâáï ¤¥à¥¢®¬ ¯®á«¥ ¢ë¯®«¥¨ï ¯à®¨§¢®«ì®© ¯®á«¥¤®¢ ⥫ì®á⨠®¯¥à 権 ५ ªá 樨. ®£¤ ¢ ñ¬ ¯®ï¢«ïîâáï ®¢ë¥ ¢¥àè¨ë? â® ¯à®¨á室¨â ¯à¨ ¢ë¯®«¥¨¨ ®¯¥à 樨 ५ ªá 樨 ॡà (u; v), ¤® ª®â®à®© d[v] ¡ë«® ¡¥áª®¥çë¬ ( áâ «® ª®¥çë¬ | ¯®á«¥ ५ ªá 樨 «î¡®£® ॡà (x; y ) § 票¥ d[y ] ®¡ï§ â¥«ì® ª®¥ç®). íâ®â ¬®¬¥â [v ] áâ ®¢¨âáï à ¢ë¬ u, â® ¥áâì ª ¤¥à¥¢ã G ¤®¡ ¢«ï¥âáï «¨áâ. ਠí⮬ ®® ®áâ ñâáï ¤¥à¥¢®¬. áâ ñâáï ¯à®¢¥à¨âì, çâ® £à ä G ®áâ ñâáï ¤¥à¥¢®¬ ¨ ¢ ⮬ á«ãç ¥, ª®£¤ ¯à¨ ५ ªá 樨 ॡà (u; v) § 票¥ d[v] 㬥ìè ¥âáï ®â ®¤®£® ª®¥ç®£® § ç¥¨ï ¤® ¤à㣮£®. ¢ ©â¥ ¯®á¬®âਬ, çâ® ¯à®¨á室¨â á G ¯à¨ ५ ªá 樨 â ª®£® ॡà (u; v). ®¤¤¥à¥¢® á ª®à¥¬ ¢ v ®â१ ¥âáï (®â ¯à¥¦¥£® த¨â¥«ï ¢¥àè¨ë v) ¨ ¯à¨¢¨¢ ¥âáï ª ¢¥à訥 u ([v] áâ ®¢¨âáï à ¢ë¬ u). â® ¬®¦¥â àãè¨âì áâàãªâãàã ¤¥à¥¢ ⮫쪮 ¢ ⮬ á«ãç ¥, ¥á«¨ ¢¥àè¨ u ¡ë« ¯®â®¬ª®¬ ¢¥àè¨ë v, â® ¥áâì «¥¦ « ¢ ¯®¤¤¥à¥¢¥ á ª®à¥¬ v (¯à¨ í⮬ ®¡à §ã¥âáï 横«, á¬. à¨á. 25.4) ¬ ®áâ ñâáï ã¡¥¤¨âìáï, çâ® â ª®£® ¯à®¨§®©â¨ ¥ ¬®¦¥â. ஢¥à¨¬, çâ® ¢ í⮬ á«ãç ¥ ®¡à §ãî騩áï 横« (®â v ª u ¢ ¤¥à¥¢¥ 502 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¨á.25.4 : í᪨§ á¬. ¯®«ïå ª¨£¨ ¨á㮪 25.4 25.4. «®å®© á«ãç ©: ५ ªá æ¨ï ॡà (u; v), £¤¥ ¢¥àè¨ u ï¥âáï ¯®â®¬ª®¬ v ¢ ¤¥à¥¢¥ ¯à¥¤è¥á⢮¢ ¨ï. ᫨ â ª®¥ ¯à®¨¢å®¤¨â, ¢®§¨ª ¥â 横«, ¨¬¥î騩 ®âà¨æ ⥫ìãî á㬬㠢¥á®¢. ¯à¥¤è¥á⢮¢ ¨ï, § ⥬ ¯® ॡàã (u; v)) ¨¬¥¥â ®âà¨æ ⥫ìãî á㬬㠢¥á®¢. ®áª®«ìªã ॡ஠(u; v) ¯®¤¢¥à£«®áì ५ ªá 樨, ¤® ¥ñ ¢ë¯®«¥¨ï ¨¬¥«® ¬¥áâ® ¥à ¢¥á⢮ d[u] + w(u; v) < d[v], ¨«¨ (d[u] ; d[v]) + w(u; v ) < 0. ë ᥩç á ¯®ª ¦¥¬, çâ® ¢¥á ¯ã⨠®â v ¢ u ¢ £à ä¥ G ¥ ¯à¥¢®á室¨â d[u];d[v], ¨ ⥬ á ¬ë¬ ©¤ñ¬ 横« ®âà¨æ ⥫쮣® ¢¥á ¢ £à ä¥ G, ¤®á⨦¨¬ë© ¨§ s, ª®â®à®£® ¯® ¯à¥¤¯®«®¦¥¨î ¥ áãé¥áâ¢ã¥â. â ª, ¯®ç¥¬ã ¦¥ ¢¥á ¯ã⨠¢ G ®â ¢¥àè¨ë v ª ¢¥à訥 u ¥ ¯à¥¢®á室¨â à §¨æë § 票© äãªæ¨¨ d ¢ ª®æ¥ ¨ ç «¥ ¯ãâ¨? 祢¨¤®, ¤®áâ â®ç® ¯à®¢¥à¨âì íâ® ¤«ï ®¤®£® ॡà , â® ¥áâì ¯à®¢¥à¨âì, çâ® ¥á«¨ ॡ஠(p; q) ¢ ª ª®©-â® ¬®¬¥â ¢å®¤¨â ¢ G , â® ¢ íâ®â ¬®¬¥â w(p; q) 6 d[q ] ; d[p] (25:1) â® ¥áâì d[q] > d[p] + w(p; q). ¥¯®á।á⢥® ¯®á«¥ ५ ªá 樨 ॡà (p; q) íâ® ¥à ¢¥á⢮ ®¡à é ¥âáï ¢ à ¢¥á⢮. ⥬ ¢¥«¨ç¨ë d[p] ¨ d[q] ¬®£ãâ 㬥ìè âìáï. ᫨ 㬥ìè ¥âáï d[p], â® ¥à ¢¥á⢮ ¥ àãè ¥âáï. ᫨ 㬥ìè ¥âáï d[q], íâ® § ç¨â, çâ® ¯à®¨á室¨â ५ ªá æ¨ï ॡà , ¢¥¤ã饣® ¢ q, ¯à¨ í⮬ ¬¥ï¥âáï ¨ [q] ¨ ¤«ï ®¢®£® ॡà ([q]; q) ¢ë¯®«¥® ¥à ¢¥á⢮ (25.1). â® à áá㦤¥¨¥ § ¢¥àè ¥â ¤®ª § ⥫ìá⢮ «¥¬¬ë 25.8 ãáâì ¢ १ã«ìâ ⥠¯®á«¥¤®¢ ⥫ì®á⨠५ ªá 権 ¬ë ¤®¡¨«¨áì ⮣®, çâ® d[v] = (s; v) ¤«ï ¢á¥å ¢¥àè¨ v. ®ª ¦¥¬, çâ® ¢ í⮬ á«ãç ¥ £à ä G ï¥âáï ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩. ¥¬¬ 25.9 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s, ¯à¨ç¥¬ ¢ £à ä¥ G ¥â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ëå ¨§ s. ।¯®«®¦¨¬, çâ® ¯®á«¥ ®¯¥à 樨 Initialize-Single-Source(G; s), § ª®â®à®© á«¥¤ã¥â ¥ª®â®à ï ¯®á«¥¤®¢ ⥫ì®áâì ५ ªá 権 ॡ¥à, ®ª § «®áì, çâ® d[v] = (s; v) ¤«ï ¢á¥å v 2 V . ®£¤ ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï G ï¥âáï ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩. ®ª § ⥫ìá⢮ ®£« á® ®¯à¥¤¥«¥¨î, ¬ ¤® ¯à®¢¥à¨âì, çâ® V [G ] ᮢ¯ ¤ ¥â á® ¬®¦¥á⢮¬ ¢¥àè¨ £à ä G, ¤®á⨦¨¬ëå ¨§ s, çâ® G | ¤¥à¥¢® á ª®à¥¬ s, ¨ çâ® ¯ã⨠¢ G ¨§ s ¢ ¥£® ¢¥àè¨ë ïîâáï ªà âç ©è¨¬¨ ¯ãâﬨ ¢ G. â®à®¥ ¨§ íâ¨å ã⢥ত¥¨© ¥áâì «¥¬¬ 25.8; ¨§ ¥ñ ¦¥ á«¥¤ã¥â, çâ® ¢á¥ ¢¥àè¨ë G ¤®á⨦¨¬ë ¨§ s (¤ ¦¥ ¢ ¯®¤£à ä¥ G ); ®¡à â®, ¥á«¨ ¢¥àè¨ v = 6 s ¤®á⨦¨¬ ¢ £à ä¥ G ¨§ s, â® à âç ©è¨¥ ¯ã⨠¨ ५ ªá æ¨ï 503 d[v] = (s; v) < 1, â ª çâ® ¨¬¥« ¬¥á⮠५ ªá æ¨ï ॡà á ª®æ®¬ v ¨ [v] 6= nil, â® ¥áâì v 2 V [G ]. ⨬ ¤®ª § ® ¯¥à¢®¥ ã⢥ত¥¨¥. ®ª ¦¥¬ âà¥âì¥ ã⢥ত¥¨¥. ¥à ¢¥á⢮ (25.1) £ à â¨àã¥â, çâ® ¤«¨ ¯ã⨠®â s ¤® v ¢ ¤¥à¥¢¥ G ¥ ¯à¥¢®á室¨â d[v] ; d[s] = d[v] = (s; v), â ª çâ® ¯ãáâì íâ®â | ªà âç ©è¨©. ¯à ¦¥¨ï 25.1-1 ª ¦¨â¥ ¥éñ ¤¢ ¤¥à¥¢ ªà âç ©è¨å ¯ã⥩ ¤«ï £à ä à¨á. 25.2. 25-1.2 ਢ¥¤¨â¥ ¯à¨¬¥à ¢§¢¥è¥®£® ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) á ¨á室®© ¢¥à訮© s, ®¡« ¤ î饣® á«¥¤ãî騬 ᢮©á⢮¬: ¤«ï ª ¦¤®£® ॡà (u; v) 2 E áãé¥áâ¢ã¥â ª ª ¤¥à¥¢® ªà âç ©è¨å ¯ã⥩ á ª®à¥¬ s, ᮤ¥à¦ 饥 ॡ஠(u; v), â ª ¨ ¤¥à¥¢® ªà âç ©è¨å ¯ã⥩ á ª®à¥¬ s, 㪠§ ®£® à¥¡à ¥ ᮤ¥à¦ 饥. 25-1.3 ¡¥¤¨â¥áì, çâ® ¤®ª § ⥫ìá⢮ «¥¬¬ë 25.3 ¯à®å®¤¨â ¨ ¤«ï ⮣® á«ãç ï, ª®£¤ ¢¥á ¯ã⥩ à ¢ë 1 ¨«¨ ;1. 25-1.4 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¨á室®© ¢¥à訮© s. ।¯®«®¦¨¬, çâ® ¯®á«¥ ®¯¥à 樨 Initialize-Single-Source(G; s), § ª®â®à®© á«¥¤ã¥â ¥ª®â®à ï ¯®á«¥¤®¢ ⥫ì®áâì ५ ªá 権 ॡ¥à, ®ª § «®áì, çâ® [s] = 6 nil. ®ª ¦¨â¥, çâ® G ᮤ¥à¦¨â 横« ®âà¨æ ⥫쮣® ¢¥á . 25-1.5 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä, ¢ ª®â®à®¬ ¢¥á ¢á¥å ॡ¥à ¥®âà¨æ ⥫ìë. 롥६ ¨á室ãî ¢¥àè¨ã s 2 V , ¤«ï ª ¦¤®© v 2 V n fsg ¢ë¡¥à¥¬ ¢¥àè¨ã [v] 2 V â ª¨¬ ®¡à §®¬, ç⮡ë [v] ¡ë« ¯à¥¤è¥á⢥¨ª®¬ v ¥ª®â®à®¬ ªà âç ©è¥¬ ¯ã⨠¨§ s ¢ v; ¥á«¨ v ¥¤®á⨦¨¬ ¨§ s, ¯®«®¦¨¬ [v ] = nil. ਢ¥¤¨â¥ ¯à¨¬¥à £à ä G ¨ äãªæ¨¨ , 㤮¢«¥â¢®àïîé¨å ¯à¨¢¥¤¥ë¬ ¢ëè¥ ãá«®¢¨ï¬, ¤«ï ª®â®àëå ¯®¤£à ä G , ¯®áâà®¥ë© ¯® äãªæ¨¨ , ᮤ¥à¦¨â 横«ë (¢ ᨫ㠫¥¬¬ë 25.8, ¨¨æ¨ «¨§ æ¨ï á ¯®á«¥¤®¢ ⥫ì®áâìî ५ ªá 権 â ª®© äãªæ¨¨ ¤ âì ¥ ¬®¦¥â). 25-1.6 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ç «ì®© ¢¥à訮© s, ¥ ¨¬¥î騩 横«®¢ ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ëå ¨§ s. ®ª ¦¨â¥, çâ® ¯®á«¥ ®¯¥à 樨 InitializeSingle-Source(G; s), § ª®â®à®© á«¥¤ã¥â ¯à®¨§¢®«ì ï ¯®á«¥¤®¢ ⥫ì®áâì ५ ªá 権 àñ¡¥à, ¢áïª ï ¢¥àè¨ v 2 V [G ] ¤®á⨦¨¬ ¨§ s ¢ £à ä¥ G . 25-1.7 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ç «ì®© ¢¥à訮© s, ¥ ᮤ¥à¦ 騩 横«®¢ ®âà¨æ ⥫쮣® ¢¥á . ®ª ¦¨â¥, çâ® ¬®¦® ¯à®¢¥á⨠®¯¥à æ¨î Initialize-SingleSource(G; s), § ⥬ jV j; 1 ५ ªá 権 ॡ¥à â ª¨¬ ®¡à §®¬, çâ® ¢ १ã«ìâ â¥ à ¢¥á⢮ d[v] = (s; v) ¡ã¤¥â ¢ë¯®«ïâìáï ¤«ï ¢á¥å v 2 V. 25-1.8 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ç «ì®© ¢¥à訮© s. ।¯®«®¦¨¬, çâ® ¨§ ¢¥àè¨ë s ¤®á⨦¨¬ 横« ®âà¨æ ⥫쮣® ¢¥á . ®ª ¦¨â¥, çâ® áãé¥áâ¢ã¥â ¡¥áª®¥ç ï ¯®á«¥¤®¢ ⥫ì®áâì ५ ªá 権, ¯®á«¥ ª ¦¤®© ¨§ ª®â®àëå äãªæ¨ï 504 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¨á. 25.5 ¨á㮪 25.5 ¨á. 25.5. «£®à¨â¬ ¥©ªáâàë. á室 ï ¢¥àè¨ | ªà ©ïï «¥¢ ï. 楪¨ ªà âç ©è¥£® ¯ã⨠㪠§ ë ¢ ¢¥àè¨ å. ¥àë¬ æ¢¥â®¬ ¢ë¤¥«¥ë àñ¡à (u; v), ¤«ï ª®â®àëå [v] = u. ñàë¥ ¢¥àè¨ë «¥¦ â ¢ ¬®¦¥á⢥ S , ®áâ «ìë¥ å®¤ïâáï ¢ ®ç¥à¥¤¨ Q = V n S . ( ) ¥à¥¤ ¯¥à¢®© ¨â¥à 樥© 横« while. ¥à ï ¢¥àè¨ ¨¬¥¥â ¬¨¨¬ «ì®¥ § 票¥ d ¨ ¢ë¡¨à ¥âáï ¢ ª ç¥á⢥ ¢¥àè¨ë u ¢ áâப¥ 5 (¡{¥) ®á«¥¤®¢ ⥫ìë¥ á®áâ®ï¨ï ¯®á«¥ ª ¦¤®© ¨â¥à 樨 横« while. ¥à ï ¢¥àè¨ ¢ë¡¨à ¥âáï ¢ ª ç¥á⢥ ¢¥àè¨ë u ¯à¨ á«¥¤ãî饩 ¨â¥à 樨. 票ï d ¨ à¨á㪥 (¥) | ®ª®ç ⥫ìë¥. d ¬¥ï¥âáï. «£®à¨â¬ ¥©ªáâàë à¥è ¥â § ¤ çã ® ªà âç ©è¨å ¯ãâïå ¨§ ®¤®© ¢¥àè¨ë ¤«ï ¢§¢¥è¥®£® ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) á ¨á室®© ¢¥à訮© s, ¢ ª®â®à®¬ ¢¥á ¢á¥å ॡ¥à ¥®âà¨æ ⥫ìë. (w(u; v ) > 0 ¤«ï ¢á¥å (u; v ) 2 E ). í⮬ à §¤¥«¥ ¬ë à áᬠâਢ ¥¬ ⮫쪮 â ª¨¥ £à äë. ¯à®æ¥áá¥ à ¡®âë «£®à¨â¬ ¥©ªáâàë ¯®¤¤¥à¦¨¢ ¥âáï ¬®¦¥á⢮ S V , á®áâ®ï饥 ¨§ ¢¥àè¨ v, ¤«ï ª®â®àëå (s; v) 㦥 ©¤¥® (â® ¥áâì d[v ] = (s; v )). «£®à¨â¬ ¢ë¡¨à ¥â ¢¥àè¨ã u 2 V n S á ¨¬¥ì訬 d[u], ¤®¡ ¢«ï¥â u ª ¬®¦¥áâ¢ã S ¨ ¯à®¨§¢®¤¨â ५ ªá æ¨î ¢á¥å àñ¡¥à, ¢ë室ïé¨å ¨§ u, ¯®á«¥ 祣® 横« ¯®¢â®àï¥âáï. ¥àè¨ë, ¥ «¥¦ 騥 ¢ S , åà ïâáï ¢ ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ Q, ®¯à¥¤¥«ï¥¬ë¬¨ § 票ﬨ äãªæ¨¨ d. ।¯®« £ ¥âáï, çâ® £à ä § ¤ á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. Dijkstra(G,w,s) 1 Initialize-Single-Source(G,s) 2 S \gets \emptyset 3 Q \gets V[G] 4 while Q \ne \emptyset 5 do u \gets Extract-Min(Q) 6 S \gets S \cup \{u\} 7 for (¤«ï) ¢á¥å ¢¥àè¨ v\in Adj[u] 8 do Relax(u,v,w) ¡®â «£®à¨â¬ ¥©ªáâàë ¯®ª § à¨á. 25.5. áâப¥ 1 ¨¨æ¨ «¨§¨àãîâáï d ¨ , ¢ áâப å 2 ¨ 3 ¨¨æ¨ «¨§¨àãîâáï ¬®¦¥á⢮ S (ª ª ¯ãá⮥) ¨ ®ç¥à¥¤ì Q = V n S = V . ਠª ¦¤®¬ ¨á¯®«¥¨¨ 横« ¢ áâப å 4{8 ¨§ ®ç¥à¥¤¨ Q = V n S ¨§ë¬ ¥âáï ¢¥àè¨ u á ¨¬¥ì訬 § 票¥¬ d[u]; ® ¤®¡ ¢«ï¥âáï ª ¬®¦¥áâ¢ã S (¢ ¯¥à¢ë© à § ¨¬¥¥¬ u = s). áâப å 7{8 ª ¦¤®¥ ॡ஠(u; v ), ¢ë室ï饥 ¨§ u, ¯®¤¢¥à£ ¥âáï ५ ªá 樨 (¯à¨ í⮬ ¬®£ãâ ¨§¬¥¨âìáï ®æ¥ª d[v] ¨ ¯à¥¤è¥á⢥¨ª [v]). ¬¥â¨¬, çâ® ¢ 横«¥ ®¢ë¥ ¢¥àè¨ë ¢ ®ç¥à¥¤ì Q ¥ ¤®¡ ¢«ïîâáï ¨ çâ® ª ¦¤ ï ¢¥àè¨ , 㤠«ï¥¬ ï ¨§ Q, ¤®¡ ¢«ï¥âáï ª ¬®¦¥áâ¢ã S «¨èì ®¤ ¦¤ë. «¥¤®¢ ⥫ì®, ç¨á«® ¨â¥à 権 横« while à ¢® jV j. ®áª®«ìªã «£®à¨â¬ ¥©ªáâàë ¢á直© à § ¢ë¡¨à ¥â ¤«ï ®¡à ¡®âª¨ ¢¥àè¨ë á ¨¬¥ì襩 ®æ¥ª®© ªà âç ©è¥£® ¯ãâ¨, ¬®¦® à âç ©è¨¥ ¯ã⨠¨ ५ ªá æ¨ï 505 ¢ í⮬ á«ãç ¥ ª à⨪ ®áâ « áì ⮩ ¦¥, ® ¯®¤¯¨áì ¯¥à¥¯¨á ¨á㮪 25.6 25.6 ¯ã⨠®â s ¤® u ¢ë¤¥«¥ ç áâì (s{x), ¯à®å®¤ïé ï 楫¨ª®¬ ¢ãâਠS , ¨ ¯¥à¢ ï ¢¥àè¨ y, «¥¦ é ï ¢¥ S (¢®§¬®¦®, x = s ¨«¨ y = u). ᪠§ âì, çâ® ® ®â®á¨âáï ª ¦ ¤ë¬ «£®à¨â¬ ¬ (£«. 17). ®ª ¦¥¬, çâ® ¢ ¤ ®¬ á«ãç ¥ ¦ ¤ ï áâà ⥣¨ï ¤ ñâ ¯à ¢¨«ìë© à¥§ã«ìâ â. ¥®à¥¬ 25.10 (à ¢¨«ì®áâì «£®à¨â¬ ¥©ªáâàë) ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¥®âà¨æ ⥫쮩 ¢¥á®¢®© äãªæ¨¥© w : E ! ¨ ¨á室®© ¢¥à訮© s. ®£¤ ¯®á«¥ ¯à¨¬¥¥¨ï «£®à¨â¬ ¥©ªáâàë ª í⮬㠣à äã ¤«ï ¢á¥å ¢¥àè¨ u 2 V ¡ã¤ã⠢믮«ïâìáï à ¢¥á⢠d[u] = (s; u). ®ª § ⥫ìá⢮ ஢¥à¨¬, çâ® ¯®á«¥ «î¡®£® ç¨á« ¨â¥à 権 横« textbfwhile ¢ë¯®«¥® á«¥¤ãî饥 ᢮©á⢮: (a) ¤«ï ¢¥àè¨ v 2 S § 票¥ d[v ] à ¢® (s; v ), ¯à¨çñ¬ áãé¥áâ¢ã¥â ¯ãâì ¨§ s ¢ v ¢¥á (s; v), ¯à®å®¤ï騩 ⮫쪮 ¯® ¢¥àè¨ ¬ ¨§ S ; (b) ¤«ï ¢¥àè¨ v 2 Q = V n S § 票¥ d[v ] à ¢® ¨¬¥ì襬㠢¥áã ¯ã⨠¨§ s ¢ v, ¥á«¨ ãç¨âë¢ âì ⮫쪮 ⥠¯ãâ¨, ¢ ª®â®àëå ¢á¥ ¢¥àè¨ë, ªà®¬¥ ¯®á«¥¤¥© (v), «¥¦ â ¢ S (¥á«¨ â ª¨å ¯ã⥩ ¥â, d[v] = 1). ®á«¥ ¯¥à¢®© ¨â¥à 樨 横« (ª®£¤ ¢ S «¥¦¨â ⮫쪮 ¢¥àè¨ s ¨ ⮫쪮 çâ® ¯à®¢¥¤¥ë ५ ªá 樨 ¢á¥å àñ¡¥à, ¢¥¤ãé¨å ¨§ s) í⮠᢮©á⢮ ¢ë¯®«¥®. ஢¥à¨¬, çâ® ®® ¥ àãè¨âáï ¨ á«¥¤ãîé¨å ¨â¥à æ¨ïå. ãáâì u | ¢¥àè¨ Q á ¬¨¨¬ «ìë¬ § 票¥¬ d[u]. ᫨ d[u] = 1, â® ¥ áãé¥áâ¢ã¥â ¯ãâ¨, ¢ ª®â®à®¬ ¢á¥ ¢¥àè¨ë, ªà®¬¥ ¯®á«¥¤¥©, «¥¦ â ¢ S . ç¨â, ¨§ S ¢®®¡é¥ ¥«ì§ï ¨ª ª ¢ë©â¨ (®¡®à¢ ¢ ¯ãâì ¢ ¬®¬¥â ¢ë室 , ¬ë ¯®«ã稫¨ ¡ë ¯ãâì á 㪠§ ë¬ á¢®©á⢮¬). ãáâì ⥯¥àì d[u] ª®¥ç®. ®£¤ áãé¥áâ¢ã¥â ¯ãâì ¨§ s ¢ u ¢¥á d[u], ¯à®å®¤ï騩 ¯® ¢¥àè¨ ¬ S ¤® ¯®á«¥¤¥£® ¬®¬¥â (¤® ¢¥àè¨ë u). ®ª ¦¥¬, çâ® ® ¡ã¤¥â ªà âç ©è¨¬. (¥¬ á ¬ë¬ ¢¥àè¨ã u ¬®¦® ¤®¡ ¢¨âì ¢ S , ¥ àãè ï ã⢥ত¥¨ï (a).) ãáâì ¥áâì ª ª®©-â® ¤à㣮© ¯ãâì ¨§ s ¢ u (à¨á. 25.6). ®á¬®âਬ ¯¥à¢ãî ¢¥àè¨ã í⮣® ¯ãâ¨, «¥¦ éãî ¢¥ S ; ®¡®§ 稬 ¥ñ y (¢®§¬®¦®, y = u). áâì ¯ã⨠®â s ¤® y ¯à®å®¤¨â ¯® S ¤® ¯®á«¥¤¥£® ¬®¬¥â , ¯®í⮬㠢¥á í⮩ ç á⨠¥ ¬¥ìè¥ d[y] (¯® ¯à¥¤¯®«®¦¥¨î (a)). áâ «®áì § ¬¥â¨âì, çâ® ¢¥á ¢á¥£® ¯ã⨠¥ ¬¥ìè¥ ¢¥á ¥£® ç á⨠(¢¥á àñ¡¥à ¥®âà¨æ ⥫ìë) ¨ çâ® d[y] 6 d[u], ¯®áª®«ìªã ¢ Q ¢¥àè¨ u ¨¬¥« ¨¬¥ì襥 § 票¥ d[u]. â ª, ãá«®¢¨¥ (a) ®áâ ¥âáï ¢¥àë¬ ¯®á«¥ ¤®¡ ¢«¥¨ï u ª S . áâ ñâáï ¯à®¢¥à¨âì ãá«®¢¨¥ (b). ®áª®«ìªã S 㢥«¨ç¨«®áì ¨ áâ «® à ¢ë¬ S 0 = S [ fug, ¯ã⥩, ¥ ¢ë室ïé¨å ¨§ S ¤® ¯®á«¥¤¥£® ¬®¬¥â , áâ «® ¡®«ìè¥, ¨ ¤«ï ᮡ«î¤¥¨ï ãá«®¢¨ï (b) § 票ï d[v] ¤«ï v 2 Q ¤® 㬥ìè âì. â® ¨ ¤¥« ¥âáï ¢ ¯à®æ¥áᥠ५ ªá 樨. R 506 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ਠ५ ªá 樨 ॡà (u; v) § 票¥ d[v] áâ ®¢¨âáï à ¢ë¬ d0 [v ] = min(d[v ]; d[u]+ w(u; v )) (25:2) ë § ¥¬, çâ® d[v] ¥áâì ¢¥á ¥ª®â®à®£® ¯ãâ¨, ª®â®àë© ¢¥¤ñâ ¨§ s ¢ v, ®áâ ¢ ïáì ¤® ¯®á«¥¤¥£® è £ ¢ S . â®à®© ç«¥ d[u] + w(u; v) ¥áâì ¢¥á ¥ª®â®à®£® ¯ãâ¨, ª®â®àë© ¢¥¤ñâ ¨§ s ¢ u (®áâ ¢ ïáì ¤® ¯®á«¥¤¥£® è £ ¢ S ), § ⥬ ¨¤ñâ ¯® ॡàã (u; v). ª¨¬ ®¡à §®¬ áãé¥áâ¢ã¥â ¯ãâì ¨§ s ¢ v, ª®â®àë© ¤® ¯®á«¥¤¥£® è £ ®áâ ñâáï ¢ S 0 ¨ ¨¬¥¥â ¢¥á d0[v ]. ®ª ¦¥¬, çâ® «î¡®© ¯ãâì p ¨§ s ¢ v , ª®â®àë© ¤® ¯®á«¥¤¥£® è £ ®áâ ñâáï ¢ S 0, ¨¬¥¥â ¢¥á ¥ ¬¥ìè¥ d0[v]. á ¬®¬ ¤¥«¥, ¥á«¨ x 2 S 0 | ¥£® ¯à¥¤¯®á«¥¤ïï ¢¥àè¨ , â® «¨¡® x 2 S , ¨ ⮣¤ ¢¥á ¯ã⨠p ¥ ¬¥ìè¥ d[v] ¯® ¨¤ãªâ¨¢®¬ã ¯à¥¤¯®«®¦¥¨î (a), «¨¡® x = u, ¨ ⮣¤ ¢¥á ¯ã⨠p ¥ ¬¥ìè¥ d[u] + w(u; v ). ë ¤®ª § «¨, çâ® ãá«®¢¨ï (a) ¨ (b) ®áâ îâáï ¢¥à묨 ¯®á«¥ «î¡®£® ç¨á« ¨â¥à 権. ç¨â, ®¨ ¢¥àë ¨ ¯®á«¥ ¢ë室 ¨§ 横« ; ¢ íâ®â ¬®¬¥â S = V ¨ ¯®â®¬ã d[u] = (s; u) ¤«ï «î¡®© ¢¥àè¨ë v 2 V. § ¤®ª § ®© â¥®à¥¬ë ¨ «¥¬¬ë 25.9 ¥¬¥¤«¥® ¢ë⥪ ¥â «¥¤á⢨¥ 25.11 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¥®âà¨æ ⥫쮩 ¢¥á®¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s. ®£¤ ¯®á«¥ ¯à¨¬¥¥¨ï «£®à¨â¬ ¥©ªáâàë ª í⮬㠣à äã ¯®¤£à ä ¯à¥¤è¥á⢥¨ª®¢ G ¡ã¤¥â ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩ á ª®à¥¬ ¢ s. ६ï à ¡®âë «£®à¨â¬ ¥©ªáâàë ç « ¯à¥¤¯®«®¦¨¬, çâ® ®ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨ Q = V n S ॠ«¨§®¢ ª ª ¬ áᨢ. ਠí⮬ á⮨¬®áâì ®¯¥à 樨 Extract-Min ¥áâì O(V ); ¯®áª®«ìªã «£®à¨â¬ ¤¥« ¥â V â ª¨å ®¯¥à 権, á㬬 à ï á⮨¬®áâì ¢á¥å 㤠«¥¨© ¨§ ®ç¥à¥¤¨ ¥áâì O(V 2). â® ¦¥ ¤® á⮨¬®á⨠®áâ «ìëå ®¯¥à 権, â® ª ¦¤ ï ¢¥àè¨ v 2 V ¤®¡ ¢«ï¥âáï ª ¬®¦¥áâ¢ã S ⮫쪮 ®¤¨ à §, ¨ ª ¦¤®¥ ॡ஠¨§ Adj [v] ®¡à ¡ âë¢ ¥âáï ⮦¥ ®¤¨ à §. ¡é¥¥ ª®«¨ç¥á⢮ í«¥¬¥â®¢ ¢® ¢á¥å ᯨ᪠å ᬥ¦ëå ¢¥àè¨ ¥áâì jE j; á⮨¬®áâì ª ¦¤®© ५ ªá 樨 ¥áâì O(1). ®í⮬ã á⮨¬®áâì ¯à®ç¨å ®¯¥à 権 ¥áâì O(E ), ®¡é ï á⮨¬®áâì «£®à¨â¬ ¥áâì O(V 2 + E ). ᫨ £à ä ï¥âáï à §à¥¦¥ë¬, ¨¬¥¥â á¬ë᫠ॠ«¨§®¢ âì ®ç¥à¥¤ì á ¯®¬®éìî (¤¢®¨ç®©) ªãç¨ (à §¤¥« 7.5). ®«ãç ¥¬ë© «£®à¨â¬ §ë¢ îâ ¨®£¤ ¬®¤¨ä¨æ¨à®¢ ë¬ «£®à¨â¬®¬ ¥©ªáâàë (modied Dijkstra algorithm). ⮨¬®áâì ®¯¥à 樨 Extract-Min ¯à¨ â ª®© ॠ«¨§ 樨 ®ç¥à¥¤¨ ¥áâì O(lg V ), á⮨¬®áâì ¯®áâ஥¨ï ªãç¨ (áâப 3) ¥áâì O(V ). à¨á¢ ¨¢ ¨¥ d[v] d[u] + w(u; v) ¯à¨ ५ ªá 樨 ॡà ॠ«¨§ã¥âáï á ¯®¬®éìî ¢ë§®¢ ¯à®æ¥¤ãàë Decrease-Key(Q; v; d[u] + w(u; v )), ¨¬¥î饣® á⮨¬®áâì O(lg V ) (á¬. ã¯à ¦¥¨¥ 7.5-4). ®«¨ç¥á⢮ â ª¨å ¢ë§®¢®¢ ¥ ¯à¥¢®á室¨â jE j, â ª çâ® ®¡é ï á⮨¬®áâì ¬®¤¨ä¨æ¨à®¢ ®£® «£®à¨â¬ ¥©ªáâàë ¥áâì O((V + E ) lg V ) (¥á«¨ ¢á¥ ¢¥àè¨ë ¤®á⨦¨¬ë ¨§ à âç ©è¨¥ ¯ã⨠¨ ५ ªá æ¨ï 507 ¨á室®©, â® £à ä á¢ï§¥, jE j > jV j ; 1 ¨ ¯®á«¥¤îî ®æ¥ªã ¬®¦® ¯¥à¥¯¨á âì ª ª O(E lg V )). ᫨ ॠ«¨§®¢ âì ®ç¥à¥¤ì Q ¢ ¢¨¤¥ 䨡® ç稥¢®© ªãç¨ (á¬. £« ¢ã 21), â® ¬®¦® ¤®¡¨âìáï á⮨¬®á⨠O(V lg V +E ): ¢ á ¬®¬ ¤¥«¥, ¯à¨ í⮬ ãçñâ ï á⮨¬®áâì ª ¦¤®© ¨§ jV j ®¯¥à 権 ExtractMin ¡ã¤¥â O(lg V ), ãç¥â ï á⮨¬®áâì ª ¦¤®© ¨§ jE j ®¯¥à 権 Decrease-Key ¡ã¤¥â O(1). áâ â¨, ªãç¨ ¨¡® çç¨ ¡ë«¨ ¨§®¡à¥â¥ë ¨¬¥® ¢ á¢ï§¨ á ¬®¤¨ä¨æ¨à®¢ ë¬ «£®à¨â¬®¬ ¥©ªáâàë: ¯®áª®«ìªã ¯à¨ ¥£® ¨á¯®«¥¨¨ ¬®¦¥â ¯®âॡ®¢ âìáï £®à §¤® ¡®«ìè¥ ¢ë§®¢®¢ ¯à®æ¥¤ãàë Decrease-Key, 祬 Extract-Min, å®â¥«®áì ᨧ¨âì á⮨¬®áâì Decrease-Key. «£®à¨â¬ ¥©ªáâàë ¯®¬¨ ¥â ª ª «£®à¨â¬ ¯®¨áª ¢ è¨à¨ã (à §¤. 23.2), â ª ¨ «£®à¨â¬ ਬ 宦¤¥¨ï ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ (à §¤. 24.2). ®«ì ¬®¦¥á⢠S ¢ «£®à¨â¬¥ ¥©ªáâàë «®£¨ç ஫¨ ¬®¦¥á⢠ç¥àëå ¢¥àè¨ ¯à¨ ¯®¨áª¥ ¢ è¨à¨ã. 室á⢮ «£®à¨â¬®¢ ¥©ªáâàë ¨ ਬ ¢ ⮬, çâ® ®¨ ®¡ ¯®«ì§ãîâáï ®ç¥à¥¤ìî á ¯à¨®à¨â¥â ¬¨ ¯à¨ ॠ«¨§ 樨 ¦ ¤®© áâà ⥣¨¨. ¯à ¦¥¨ï 25.2-1 ਬ¥¨â¥ «£®à¨â¬ ¥©ªáâàë ª £à äã à¨á. 25.2, ¢ë¡à ¢ § ¨á室ãî á ç « ¢¥àè¨ã s, § ⥬ ¢¥àè¨ã y. «¥¤ãï ®¡à §æã à¨á. 25.5, ¯®ª ¦¨â¥ 室 ¨á¯®«¥¨ï «£®à¨â¬ . 25-2.2 ਢ¥¤¨â¥ ¯à¨¬¥à £à ä (á ®âà¨æ ⥫ì묨 ¢¥á ¬¨ àñ¡¥à), ¤«ï ª®â®à®£® «£®à¨â¬ ¥©ªáâàë ¤ ñâ ¥¢¥àë© ®â¢¥â. ¤¥ ¢ ¤®ª § ⥫ìá⢥ ⥮६ë 25.10 ¨á¯®«ì§ã¥âáï ¥®âà¨æ ⥫ì®áâì ¢¥á®¢®© äãªæ¨¨? 25-2.3 ᫨ § ¬¥¨âì áâபã 4 ¢ «£®à¨â¬¥ ¥©ªáâàë 4 while |Q| >1 â® ç¨á«® ¨â¥à 権 横« while 㬥ìè¨âáï 1. 㤥⠫¨ ¨§¬¥ñë© â ª¨¬ ®¡à §®¬ «£®à¨â¬ ¯à ¢¨«ìë¬? 25-2.4 ãáâì á ª ¦¤ë¬ ॡ஬ ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) áá®æ¨¨à®¢ ® ¤¥©á⢨⥫쮥 ç¨á«® r(u; v), ¯à¨çñ¬ 0 6 r(u; v) 6 1. 㤥¬ ¨â¥à¯à¥â¨à®¢ âì r(u; v) ª ª " ¤ñ¦®áâì" | ¢¥à®ïâ®áâì ⮣®, ç⮠ᨣ « ãá¯¥è® ¯à®©¤¥â ¯® ª «ã ¨§ u ¢ v. ç¨â ï, ç⮠ᮡëâ¨ï ¯à®å®¦¤¥¨ï ᨣ « ¯® à §«¨çë¬ ª « ¬ ¥§ ¢¨á¨¬ë, ¯à¥¤«®¦¨â¥ «£®à¨â¬ ¤«ï 宦¤¥¨ï ¨¡®«¥¥ ¤ñ¦®£® ¯ã⨠¬¥¦¤ã ¤¢ã¬ï ¤ 묨 ¢¥àè¨ ¬¨. 25-2.5 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! f0; 1; : : :; W ; 1g, £¤¥ W > 0 | 楫®¥ ç¨á«®. ®¤¨ä¨æ¨àã©â¥ ¤«ï ¤ ®£® á«ãç ï «£®à¨â¬ ¥©ªáâàë â ª, 508 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë çâ®¡ë ® ¨áª « ªà âç ©è¨¥ ¯ã⨠¨§ ¤ ®© ¢¥àè¨ë § ¢à¥¬ï O(WV + E ). 25-2.6 ᮢ¥àè¥áâ¢ã©â¥ à¥è¥¨¥ ¯à¥¤ë¤ã饣® ã¯à ¦¥¨ï, ᤥ« ¢ ¢à¥¬ï à ¡®âë «£®à¨â¬ à ¢ë¬ O((V + E ) lg W ). (ª § ¨¥: ᪮«ìª® à §«¨çëå ®æ¥®ª ªà âç ©è¥£® ¯ã⨠¤«ï ¢¥àè¨ ¨§ V n S ¬®¦¥â ¢áâà¥â¨âìáï ®¤®¢à¥¬¥®?) 25.2 «£®à¨â¬ ¥««¬ -®à¤ «£®à¨â¬ ¥««¬ -®à¤ (Bellman-Ford algorithm) à¥è ¥â § ¤ çã ® ªà âç ©è¨å ¯ãâïå ¨§ ®¤®© ¢¥àè¨ë ¤«ï á«ãç ï, ª®£¤ ¢¥á ¬ ॡ¥à à §à¥è¥® ¡ëâì ®âà¨æ ⥫ì묨. â®â «£®à¨â¬ ¢®§¢à é ¥â § 票¥ true, ¥á«¨ ¢ £à ä¥ ¥â 横« ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬®£® ¨§ ¨á室®© ¢¥àè¨ë, ¨ false, ¥á«¨ â ª®¢®© 横« ¨¬¥¥âáï. ¯¥à¢®¬ á«ãç ¥ «£®à¨â¬ 室¨â ªà âç ©è¨¥ ¯ã⨠¨ ¨å ¢¥á ; ¢® ¢â®à®¬ á«ãç ¥ § ¤ ç ªà âç ©è¨å ¯ã⥩ (¯® ªà ©¥© ¬¥à¥ ¤«ï ¥ª®â®àëå ¢¥àè¨) ¥ áãé¥áâ¢ã¥â. ®¤®¡® «£®à¨â¬ã ¥©ªáâàë, «£®à¨â¬ ¥««¬ -®à¤ ¯à®¨§¢®¤¨â ५ ªá æ¨î àñ¡¥à, ¯®ª ¢á¥ § 票ï d[v] ¥ áà ¢ïîâáï á (s; v ) (¥á«¨ ¢á¥ (s; v ) ®¯à¥¤¥«¥ë). Bellman-Ford(G,w,s) 1 Initialize-Single-Source(G,s) 2 for i \gets 1 to |V[G]|-1 3 do for (¤«ï) ª ¦¤®£® ॡà (u,v) \in E[G] 4 do Relax(u,v,w) 5 for (¤«ï) ª ¦¤®£® ॡà (u,v) \in E[G] 6 do if d[v]>d[u]+w(u,v) 7 then return \textsc{false} 8 return \textsc{true} à¨á. 25.7 ¯®ª § à ¡®â «£®à¨â¬ ¥««¬ -®à¤ ¤«ï £à ä á ¯ïâìî ¢¥àè¨ ¬¨. ®á«¥ ¨¨æ¨ «¨§ 樨 (áâப 1) «£®à¨â¬ jV j ; 1 à § ¤¥« ¥â ®¤® ¨ â® ¦¥: ¯¥à¥¡¨à ¥â ¯® à §ã ¢á¥ àñ¡à £à ä ¨ ¯®¤¢¥à£ ¥â ª ¦¤®¥ ¨§ ¨å ५ ªá 樨 (áâப¨ 2{4). ®á«¥ í⮣® «£®à¨â¬ ¯à®¢¥àï¥â, ¥â «¨ 横« ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬®£® ¨§ ç «ì®© ¢¥àè¨ë s (áâப¨ 5{8; ¢áª®à¥ ¬ë 㢨¤¨¬, ¯®ç¥¬ã í⠯஢¥àª ¯®§¢®«ï¥â ¢ëâì â ª®© 横«). ६ï à ¡®âë «£®à¨â¬ ¥««¬ -®à¤ ¥áâì O(V E ), ¯®áª®«ìªã ®¡é¥¥ ç¨á«® ५ ªá 権 ¥áâì O(V E ), á⮨¬®áâì ¨¨æ¨ «¨§ 樨 ¢ áâப¥ 1 ¥áâì O(V ), á⮨¬®áâì 横« ¢ áâப å 5{8 ¥áâì O(E ). ®ª ¦¥¬, çâ® «£®à¨â¬ ¥««¬ -®à¤ à ¡®â ¥â ¯à ¢¨«ì®. ¥¬¬ 25.12 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®- «£®à¨â¬ ¥««¬ -®à¤ 509 ¨á㮪 25.7 25.7 «£®à¨â¬ ¥««¬ -®à¤ . á室 ï ¢¥àè¨ | ªà ©ïï «¥¢ ï (z ). 楪¨ ªà âç ©è¥£® ¯ã⨠㪠§ ë ¢ ¢¥àè¨ å. ¥àë¬ æ¢¥â®¬ ¢ë¤¥«¥ë àñ¡à (u; v), ¤«ï ª®â®àëå [v] = u. ¤ ®¬ ¯à¨¬¥à¥ ¯à¨ ª ¦¤®© ¨â¥à 樨 横« ¢ áâப å 2{4 àñ¡à ¯®¤¢¥à£ îâáï ५ ªá 樨 ¢ «¥ªá¨ª®£à ä¨ç¥áª®¬ ¯®à浪¥: (u; v), (u; x), (u; y), (v; u), (x;v), (x;y), (y; v), (y; z ), (z; u), (z; x). ( ) ¥à¥¤ ¯¥à¢ë¬ ®¡å®¤®¬ àñ¡¥à. (¡{¤) ®á«¥¤®¢ ⥫ìë¥ á®áâ®ï¨ï ¯®á«¥ ª ¦¤®© ®¡à ¡®âª¨ ¢á¥å àñ¡¥à. 票ï d à¨á㪥 (¤) | ®ª®ç ⥫ìë¥. ¤ ®¬ á«ãç ¥ «£®à¨â¬ ¥««¬ -®à¤ ¢®§¢à é ¥â § 票¥ true. ¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s, ¥ ᮤ¥à¦ 騩 横«®¢ ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ëå ¨§ s. ®£¤ ¯® ®ª®ç ¨¨ à ¡®âë ¯à®æ¥¤ãàë Bellman-Ford à ¢¥á⢮ d[v] = (s; v) ¡ã¤¥â ¢ë¯®«ïâìáï ¤«ï ¢á¥å ¢¥àè¨ v, ¤®á⨦¨¬ëå ¨§ s. ®ª § ⥫ìá⢮ ãáâì p = hs = v0; v1; : : :; vk = vi | ªà âç ©è¨© ¯ãâì ¨§ s ¢ v. ®¦® áç¨â âì, çâ® íâ®â ¯ãâì ¥ ᮤ¥à¦¨â 横«®¢ (®¨ ⮫쪮 㢥«¨ç¨¢ îâ ¢¥á ¯® ¯à¥¤¯®«®¦¥¨î), ¯®í⮬ã k 6 jV j ; 1. ®ª ¦¥¬ ¨¤ãªæ¨¥© ¯® i, çâ® ¯®á«¥ i-®© ¨â¥à 樨 横« (¢ áâப å 2{4) ¡ã¤¥â ¢ë¯®«¥® à ¢¥á⢮ d[vi] = (s; vi): ¯®áª®«ìªã ¢á¥£® ¤¥« ¥âáï jV j ; 1 ¨â¥à 権, «¥¬¬ ¡ã¤¥â á«¥¤®¢ âì ¨§ í⮣® ã⢥ত¥¨ï ¨ «¥¬¬ë 25.5. ਠi = 0 íâ® ®ç¥¢¨¤®, â ª ª ª d[s] = (s; s) = 0 ¯à¨ ¢å®¤¥ ¢ 横«. ãáâì ¯®á«¥ i ; 1-®© ¨â¥à 樨 ¡ë«® d[vi;1] = (s; vi;1). ਠi-®© ¨â¥à 樨 ¯à®¨§®©¤¥â ५ ªá æ¨ï ॡà (vi;1 ; vi ), ¯®á«¥ 祣® ¯® «¥¬¬¥ 25.7 ãáâ ®¢¨âáï à ¢¥á⢮ d[vi] = (s; vi). (à㣨¥ ५ ªá 樨 ¬®£ãâ â ª¦¥ 㬥ìè âì d[vi], ® ¥ ¬®£ãâ ᤥ« âì ¥£® ¬¥ìè¥ (s; vi).) «¥¤á⢨¥ 25.13 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s. ®£¤ ¢¥àè¨ v 2 V ¤®á⨦¨¬ ¨§ s ¢ ⮬ ¨ ⮫쪮 ⮬ á«ãç ¥, ª®£¤ ¯® ®ª®ç ¨¨ à ¡®âë ¯à®æ¥¤ãàë Bellman-Ford, ¯à¨¬¥ñ®© ª í⮬㠣à äã, ®ª §ë¢ ¥âáï, çâ® d[v] < 1. ®ª § ⥫ìá⢮ ®áâ ¢«ï¥âáï ç¨â ⥫î (ã¯à. 25.3-2). ¥®à¥¬ 25.14 (à ¢¨«ì®áâì «£®à¨â¬ ¥««¬ -®à¤ ) ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w ¨ ¨á室®© ¢¥à訮© s. ᫨ ¯à®æ¥¤ãà BellmanFord, ¯à¨¬¥¥ ï ª í⮬㠣à äã, ¢®§¢à é ¥â § 票¥ true, â® ¢ १ã«ìâ ⥠¥ñ à ¡®âë ¤«ï ¢á¥å v 2 V ¡ã¤ã⠢믮«¥ë à ¢¥á⢠d[v] = (s; v) ¨ ¯®¤£à ä ¯à¥¤è¥á⢥¨ª®¢ G ¡ã¤¥â ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩ á ª®à¥¬ s. ᫨ ¦¥ ¯à®æ¥¤ãà Bellman-Ford ¢®§¢à é ¥â § 票¥ false, â® ¢ £à ä¥ ¥áâì 横« ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ë© ¨§ ¢¥àè¨ë s. ®ª § ⥫ìá⢮ ᫨ 横« ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬®£® ¨§ ¢¥àè¨ë s, ¢ £à ä¥ ¥â, â® ¢ १ã«ìâ â¥ à ¡®âë ¯à®æ¥¤ãàë Bellman-Ford ¡ã¤¥¬ ¨¬¥âì d[v ] = (s; v ) ¤«ï ¢á¥å v 2 V («¥¬¬ 25.12 ¨ á«¥¤á⢨¥ 25.13); á«¥¤®¢ ⥫ì®, £à ä G ¡ã¤¥â ¤¥- 510 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ॢ®¬ ªà âç ©è¨å ¯ã⥩ á ¢¥à訮© s («¥¬¬ 25.9). ®«ì ᪮஠d[v] = (s; v) ¤«ï ¢á¥å v 2 V , ¨§ «¥¬¬ë 25.3 á«¥¤ã¥â, çâ® ¤«ï ¢á类£® ॡà (u; v) ¢ë¯®«¥® ¥à ¢¥á⢮ d[v] 6 d[u] + w(u; v). ç¨â, ¨ ®¤® ¨§ ãá«®¢¨© ¢ áâப¥ 6 «£®à¨â¬ ¢ë¯®«¥® ¥ ¡ã¤¥â, ¨ «£®à¨â¬ ¢®§¢à â¨â § 票¥ true. ãáâì ⥯¥àì ¢ £à ä¥ ¥áâì 横« ®âà¨æ ⥫쮣® ¢¥á hv0; v1; : : :; vk = v0i, ¤®á⨦¨¬ë© ¨§ ¨á室®© ¢¥àè¨ë; ¬ ¤® ¯®ª § âì, çâ® «£®à¨â¬ ¢®§¢à â¨â § 票¥ false. á ¬®¬ ¤¥«¥, ¥á«¨ d[vi] 6 d[vi;1] + w(vi;1; vi) ¤«ïP¢á¥å i = 1; 2; : : :; k, â®, ᪫ ¤ë¢ ï í⨠k ¥à ¢¥á⢠¨ ᮪à é ï d[vi] ¢ ®¡¥¨å ç áâïå, ¯®«ã稬 Pk 0 6 i=1 w(vi;1 ; vi), çâ® ¯à®â¨¢®à¥ç¨â ¢ë¡®àã 横« . ç¨â, ¤«ï ¥ª®â®à®£® i ¨¬¥¥¬ d[vi] > d[vi;1] + w(vi;1; vi), ¨ «£®à¨â¬ ¢®§¢à é ¥â § 票¥ false. ¯à ¦¥¨ï 25.3-1 ਬ¥¨â¥ «£®à¨â¬ ¥««¬ -®à¤ ª ®à¨¥â¨à®¢ ®¬ã £à äã à¨á. 25.7, ¢ë¡à ¢ y ¢ ª ç¥á⢥ ¨á室®© ¢¥àè¨ë. ñ¡à ®¡à ¡ âë¢ ©â¥ ¢ «¥ªá¨ª®£à ä¨ç¥áª®¬ ¯®à浪¥; ¨§®¡à §¨â¥ íâ ¯ë ¢ë¯®«¥¨ï «£®à¨â¬ ª ª à¨á. 25.7. ¬¥¨â¥ ¢¥á ॡà (y; v) 4 ¨ ¯à®¤¥« ©â¥ â® ¦¥ á ¬®¥, ¢ë¡à ¢ ¨á室®© ¢¥à訮© z. 25.3-2 ®ª ¦¨â¥ á«¥¤á⢨¥ 25.13. 25-3.3 ãáâì ¢® ¢§¢¥è¥®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ ¥â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á . ¯à¥¤¥«¨¬ ç¨á«® m á«¥¤ãî騬 ®¡à §®¬: ¤«ï ª ¦¤®© ¯ àë ¢¥àè¨ u; v 2 V , ¤«ï ª®â®à®© áãé¥áâ¢ã¥â ¯ãâì ¨§ u ¢ v, ©¤¥¬ ¬¨¨¬ «ì®¥ ª®«¨ç¥á⢮ ॡ¥à ¢ ¯ãâïå ¬¨¨¬ «ì®£® ¢¥á , ¨¤ãé¨å ¨§ u ¢ v; § âñ¬ ¢®§ì¬¥¬ ¬ ªá¨¬ã¬ íâ¨å ç¨á¥« ¯® ¢á¥¬ â ª¨¬ ¯ à ¬ | íâ® ¨ ¥áâì m. ®ª ¦¨â¥, çâ® ¢ «£®à¨â¬¥ ¥««¬ ®à¤ ¤®áâ â®ç® ¢ë¯®«ïâì 横« ¢ áâப å 2{4 m à §. 25.3-4 ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ ¥««¬ -®à¤ â ª¨¬ ®¡à §®¬, çâ®¡ë ¨ ¤«ï ¢¥àè¨ v, ã ª®â®àëå (s; v) = ;1 (ª ª ¬ë ¯®¬¨¬, â ª®¥ ¡ë¢ ¥â ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ áãé¥áâ¢ã¥â ¯ãâì ¨§ s ¢ v, § ¤¥¢ î騩 横« ®âà¨æ ⥫쮣® ¢¥á ), ¯®á«¥ ¨á¯®«¥¨ï «£®à¨â¬ ¡ë«® ãáâ ®¢«¥® ¯à ¢¨«ì®¥ § 票¥ d[v] = (s; v) = ;1. 25.3-5 ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä. §à ¡®â ©â¥ «£®à¨â¬, à ¡®â î騩 § ¢à¥¬ï O(V E ) ¨ 室ï騩 ¤«ï ª ¦¤®© ¢¥àè¨ë v 2 V § 票¥ (v) = minu2V f(u; v)g. ( £à ä¥ ¬®£ãâ ¡ëâì àñ¡à á ®âà¨æ ⥫ìë¬ ¢¥á®¬.) 25-3.6 ãáâì ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä G = (V; E ) ¨¬¥¥â 横« ®âà¨æ ⥫쮣® ¢¥á . §à ¡®â ©â¥ «£®à¨â¬, ¯¥ç â î騩 ¢¥àè¨ë â ª®£® 横« (å®âï ¡ë ®¤®£®). à âç ©è¨¥ ¯ã⨠¢ 横«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ 511 ¨á. 25.8 (¢ ®à¨£¨ «¥ ¢ ¯®¤¯¨á¨ ¡ë« ®¯¥ç ⪠: v, ⮣¤ ª ª ¤® u). ¨á㮪 25.8 25.8. «£®à¨â¬ ¤«ï ¯®¨áª ªà âç ©è¨å ¯ã⥩ ¢ 横«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥. ¥àè¨ë ⮯®«®£¨ç¥áª¨ ®âá®àâ¨à®¢ ë ( à¨á㪥 á«¥¢ ¯à ¢®). á室 ï ¢¥àè¨ | s. ¢¥àè¨ å § ¯¨á ë § 票ï äãªæ¨¨ d; ¤«ï á¥àëå àñ¡¥à (u; v) ¨¬¥¥¬ [v] = u. ( ) ¥à¥¤ ¯¥à¢®© ¨â¥à 樥© 横« ¢ áâப å 3{5. (¡{¦) ®á«¥¤®¢ ⥫ìë¥ á®áâ®ï¨ï ¯®á«¥ ª ¦¤®© ¨â¥à 樨 横« ¢ áâப å 3{5. ª ¦¤®¬ ¨§ íâ¨å à¨á㪮¢ ¯à¨¡ ¢«ï¥âáï ¯® ®¤®© çñன ¢¥à訥 (ª®â®à ï ¡ë« ¢¥à訮© u ¢® ¢à¥¬ï ᮮ⢥âáâ¢ãî饩 ¨â¥à 樨 横« ). 票ï d à¨á㪥 (¦) | ®ª®ç ⥫ìë¥. 25.3 à âç ©è¨¥ ¯ã⨠¢ 横«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ æ¨ª«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ªà âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¬®¦® ©â¨ § ¢à¥¬ï O(V + E ), ¥á«¨ ¯à®¢®¤¨âì ५ ªá æ¨î ॡ¥à ¢ ¯®à浪¥, § ¤ ®¬ ⮯®«®£¨ç¥áª¨¬ 㯮à冷票¥¬ ¢¥àè¨. ¬¥â¨¬, çâ® ¢ 横«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ ªà âç ©è¨¥ ¯ã⨠¢á¥£¤ ®¯à¥¤¥«¥ë, ¯®áª®«ìªã 横«®¢ ®âà¨æ ⥫쮣® ¢¥á (¨ ¢®®¡é¥ 横«®¢) ¥â. à §¤¥«¥ 23.4 ¬ë à áᬠâਢ «¨ «£®à¨â¬ ⮯®«®£¨ç¥áª®© á®àâ¨à®¢ª¨ ¢¥àè¨ æ¨ª«¨ç¥áª®£® £à ä . à ᯮ« £ ¥â ¨å ¢ â ª®¬ ¯®à浪¥, çâ®¡ë ¢á¥ àñ¡à £à ä ¢¥«¨ ®â "¬¥ìè¨å" ¢¥àè¨ ª "¡®«ì訬" (¢ á¬ëá«¥ í⮣® ¯®à浪 ). ®á«¥ í⮣® ¬ë ¯à®á¬ âਢ ¥¬ ¢¥àè¨ë ¢ í⮬ ¯®à浪¥ ¨ ¤«ï ª ¦¤®© ¢¥àè¨ë ¯®¤¢¥à£ ¥¬ ५ ªá 樨 ¢á¥ ¢ë室ï騥 ¨§ ¥ñ àñ¡à . Dag-Shortest-Paths(G,w,s) 1 ⮯®«®£¨ç¥áª¨ ®âá®àâ¨à®¢ âì ¢¥àè¨ë G 2 Initialize-Single-Source(G,s) 3 for (¤«ï) ¢á¥å ¢¥àè¨ u (¢ ©¤¥®¬ ¯®à浪¥) 4 do for (¤«ï) ¢á¥å ¢¥àè¨ v \in Adj[u] 5 do Relax(u,v,w) ਬ¥à à ¡®âë í⮣® «£®à¨â¬ ¯à¨¢¥¤ñ à¨á. 25.8. 楨¬ ¢à¥¬ï à ¡®âë «£®à¨â¬ Dag-Shortest-Paths. ª ¬ë ¢¨¤¥«¨ ¢ à §¤. 23.4, á⮨¬®áâì ⮯®«®£¨ç¥áª®© á®àâ¨à®¢ª¨ (áâப 1) ¥áâì (V + E ), á⮨¬®áâì ¨¨æ¨ «¨§ 樨 ¢ áâப¥ 2 ¥áâì O(V ). 横«¥ ¢ áâப å 3{5 ª ¦¤®¥ ॡ஠®¡à ¡ âë¢ ¥âáï, ª ª ¨ ¢ «£®à¨â¬¥ ¥©ªáâàë, ஢® ®¤¨ à §, ®, ¢ ®â«¨ç¨¥ ®â «£®à¨â¬ ¥©ªáâàë, á⮨¬®áâì â ª®© ®¡à ¡®âª¨ ¥áâì O(1). â «® ¡ëâì, è «£®à¨â¬ ¢ë¯®«ï¥âáï § ¢à¥¬ï (V + E ), ¯à®¯®à樮 «ì®¥ ®¡ê¥¬ã ¯ ¬ïâ¨, ¥®¡å®¤¨¬®¬ã ¯à¥¤áâ ¢«¥¨¥ £à ä á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. ®ª ¦¥¬, çâ® «£®à¨â¬ Dag-Shortest-Paths ¯à ¢¨«¥. ¥®à¥¬ 25.15 ãáâì ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä G = (V; E ) á ¨á室- 512 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ®© ¢¥à訮© s ¥ ᮤ¥à¦¨â 横«®¢. ®£¤ ¯® ®ª®ç ¨¨ à ¡®âë ¯à®æ¥¤ãàë Dag-Shortest-Paths ¤«ï ¢á¥å v 2 V ¡ã¤ã⠢믮«¥ë à ¢¥á⢠d[v] = (s; v), ¯®¤£à ä ¯à¥¤è¥á⢥¨ª®¢ G ¡ã¤¥â ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩. ®ª § ⥫ìá⢮ ®£« á® «¥¬¬¥ 25.9, ¤®áâ â®ç® ¤®ª § âì à ¢¥á⢠d[v] = (s; v ). ᫨ ¢¥àè¨ v ¥¤®á⨦¨¬ ¨§ s, â® d[v ] = (s; v ) = 1 ¯® á«¥¤á⢨î 25.6. ãáâì ⥯¥àì ¢¥àè¨ v ¤®á⨦¨¬ ¨§ s ¨ p = hs = v0 ; v1; : : :; vk = vi | ªà âç ©è¨© ¯ãâì. ®á«¥ ⮯®«®£¨ç¥áª®© á®àâ¨à®¢ª¨ ¢¥àè¨ë í⮣® ¯ã⨠à ᯮ«®¦¥ë ª ª à § ¢ 㪠§ ®¬ ¯®à浪¥, â ª ç⮠ॡà®, (v0; v1) ¯®¤¢¥à£ «®áì ५ ªá 樨 ¤® ॡà (v1; v2), ª®â®à®¥ ¯à¥¤è¥á⢮¢ «® ॡàã (v2; v3) ¨ â.¤. ¤ãªæ¨ï ¯® i á ¨á¯®«ì§®¢ ¨¥¬ «¥¬¬ë 25.7 (ª ª ¢ ¤®ª § ⥫ìá⢥ ª®à४â®á⨠«£®à¨â¬ ¥««¬ -®à¤ ) ¯®ª §ë¢ ¥â ⥯¥àì, çâ® d[vi] = (s; vi) ¤«ï ¢á¥å i, çâ® ¨ âॡ®¢ «®áì ¤®ª § âì. â¥à¥á®¥ ¯à¨«®¦¥¨¥ ®¯¨á ®£® «£®à¨â¬ | 宦¤¥¨¥ ªà¨â¨ç¥áª¨å ¯ã⥩ ¢ á¬ëá«¥ â ª §ë¢ ¥¬®© "â¥å®«®£¨¨ PERT" (program evaluation and review technique). í⮬ ¯à¨«®¦¥¨¨ ª ¦¤®¥ ॡ஠横«¨ç¥áª®£® ®à¨¥â¨à®¢ ®£® £à ä ®¡®§ ç ¥â ª ª®¥-â® ¤¥«®, ¢¥á à¥¡à ¥áâì ¢à¥¬ï, ¥®¡å®¤¨¬®¥ ¥£® ¢ë¯®«¥¨¥. ᫨ ¨¬¥îâáï àñ¡à (u; v) ¨ (v; x), â® à ¡®â , ᮮ⢥âáâ¢ãîé ï ॡàã (u; v), ¤®«¦ ¡ëâì ¢ë¯®«¥ ¤® ç « à ¡®âë, ᮮ⢥âáâ¢ãî饩 ॡàã (v; x). à¨â¨ç¥áª¨© ¯ãâì (critical path) | íâ® ¤«¨¥©è¨© ¯ãâì ¢ £à ä¥; ¥£® ¢¥á à ¢¥ ¢à¥¬¥¨, ª®â®à®¥ ¡ã¤¥â § âà 祮 ¢ë¯®«¥¨¥ ¢á¥å à ¡®â, ¥á«¨ ¬ë ¯® ¬ ªá¨¬ã¬ã ¨á¯®«ì§ã¥¬ ¢®§¬®¦®áâì ¢ë¯®«ïâì ¥ª®â®àë¥ à ¡®âë ¯ à ««¥«ì®. â®¡ë ©â¨ ªà¨â¨ç¥áª¨© ¯ãâì, ¬®¦® ¯®¬¥ïâì § ª ã ¢á¥å ¢¥á®¢ ¯à®â¨¢®¯®«®¦ë© ¨ § ¯ãáâ¨âì «£®à¨â¬ Dag-Shortest-Paths. ¯à ¦¥¨ï 25-4.1 ਬ¥¨â¥ «£®à¨â¬ Dag-Shortest-Paths ª £à äã à¨á. 25.8, ¢ë¡à ¢ ¢¥àè¨ã r ¢ ª ç¥á⢥ ¨á室®©. 25-4.2 ®ª ¦¨â¥, çâ® «£®à¨â¬ Dag-Shortest-Paths ®áâ ¥âáï ¯à ¢¨«ìë¬, ¥á«¨ ®¡à ¡ âë¢ âì ⮫쪮 ¯¥à¢ë¥ jV j ; 1 ¢¥àè¨. 25-4.3 § ¤ ç¥ ® ¯« ¨à®¢ ¨¨ à ¡®â ¯® â¥å®«®£¨¨ PERT ¬®¦® à¨á®¢ âì £à ä ¨ ç¥, áç¨â ï, çâ® à ¡®âë ᮮ⢥âáâ¢ãîâ ¥ àñ¡à ¬, ¢¥àè¨ ¬ £à ä . ਠí⮬ ª ¦¤®© ¢¥à訥 ¯à¨á¢®¥ ¢¥á (âॡ㥬®¥ ¢à¥¬ï), áâ५ª¨ 㪠§ë¢ îâ ®¯à¥¤¥«ï«¨ ¯®á«¥¤®¢ ⥫ì®áâì à ¡®â (ॡ஠(u; v) âॡã¥â § ¢¥àè¨âì à ¡®âã u ¤® ç « à ¡®âë v). ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ Dag-Shortest-Paths â ª, çâ®¡ë ® § «¨¥©®¥ ¢à¥¬ï 室¨« ¢ 横«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ ¯ãâì á ¬ ªá¨¬ «ì®© á㬬®© ¢¥á®¢ ¢¥àè¨. 25-4.4 §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, ¯®¤áç¨âë¢ î騩 ®¡é¥¥ ç¨á«® ¯ã⥩ ¢ 横«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥, ¨ ®æ¥¨â¥ ¢à¥¬ï ¥£® à ¡®âë. £à ¨ç¥¨ï à §®á⨠¨ ªà âç ©è¨¥ ¯ã⨠513 25.4 £à ¨ç¥¨ï à §®á⨠¨ ªà âç ©è¨¥ ¯ã⨠¡é ï § ¤ ç «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï á®á⮨⠢ ®âë᪠¨¨ íªáâ६㬠«¨¥©®© äãªæ¨¨ ¬®¦¥á⢥, § ¤ ®¬ á¨á⥬®© «¨¥©ëå ¥à ¢¥áâ¢. í⮬ à §¤¥«¥ ¬ë à áᬮâਬ á¯¥æ¨ «ìë© á«ãç © § ¤ ç¨ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï, ᢮¤ï騩áï ª 宦¤¥¨î ªà âç ©è¨å ¯ã⥩ ¨§ ®¤®© ¢¥àè¨ë. ª¨¬ ®¡à §®¬, à áᬠâਢ ¥¬ë© ç áâë© á«ãç © § ¤ ç¨ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï ¬®¦¥â ¡ëâì à¥èñ á ¯®¬®éìî «£®à¨â¬ ¥««¬ -®à¤ . ¨¥©®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¡é ï § ¤ ç «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï (linear-programming problem) á®á⮨⠢ á«¥¤ãî饬. ë m n-¬ âà¨æ A, m-¢¥ªâ®à b ¨ n-¢¥ªâ®à c. ॡã¥âáï ©â¨ n-¢¥ªâ®à x, ïî騩áï â®çª®© ¬ ªá¨¬ã¬ 楫¥¢®© äãªæ¨¨ (objective function) Pni=1 cixi ¬®¦¥á⢥, § ¤ ®¬ m ¥à ¢¥á⢠¬¨, ª®â®àë¥ ¬ë ¬®¦¥¬ § ¯¨á âì ª ª Ax 6 b. ¤ ç¨ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï ç áâ® ¢®§¨ª îâ ¢ ¯à¨«®¦¥¨ïå, ¯®í⮬㠨¬¨ ¬®£® § ¨¬ «¨áì. ¯à ªâ¨ª¥ § ¤ ç¨ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï ¡ëáâà® à¥è îâáï á ¯®¬®éìî ᨬ¯«¥ªá-¬¥â®¤ (simplex algorithm). ¨¬¯«¥ªá-¬¥â®¤ ®á®¢ ¯à®á¬®âॠ¢¥àè¨ ¬®£®£à ¨ª , § ¤ ¢ ¥¬®£® ¥à ¢¥á⢠¬¨®£à ¨ç¥¨ï¬¨ Ax 6 b, ¯à¨ ª®â®à®¬ § 票¥ 楫¥¢®© äãªæ¨¨ 㢥«¨ç¨¢ ¥âáï. (¨¬¯«¥ªá-¬¥â®¤ ¯®¤à®¡® ®¯¨á ¢ ª¨£¥ 樣 [53].) ®¦®, ®¤ ª®, ¯®áâநâì ¯®á«¥¤®¢ ⥫ì®áâì § ¤ ç «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï, ¤«ï ª®â®à®© ᨬ¯«¥ªá-¬¥â®¤ ¡ã¤¥â âॡ®¢ âì íªá¯®¥æ¨ «ì®£® (®â à §¬¥à ¢å®¤ ) ¢à¥¬¥¨. ¥â®¤ í««¨¯á®¨¤®¢ (ellipsoid algorithm) à¥è ¥â «î¡ãî § ¤ çã «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï § ¯®«¨®¬¨ «ì®¥ ¢à¥¬ï, ® ¯à ªâ¨ª¥ à ¡®â ¥â ¬¥¤«¥®. ãé¥áâ¢ã¥â â ª¦¥ ¯®«¨®¬¨ «ìë© «£®à¨â¬ ଠઠà (Karmarkar's algoritm), áà ¢¨¬ë© ¯® ¯à ªâ¨ç¥áª®© íä䥪⨢®á⨠á ᨬ¯«¥ªá-¬¥â®¤®¬. ë ¥ ¡ã¤¥¬ § ¨¬ âìáï «£®à¨â¬ ¬¨ ¤«ï à¥è¥¨ï ®¡é¨å § ¤ ç «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï (çâ® âॡ®¢ «® ¡ë ¡®«ì襣® § ª®¬áâ¢ á «¨¥©®© «£¥¡à®©, 祬 ®á⠫쮩 ¬ â¥à¨ « ª¨£¨), ᤥ« ¥¬ ⮫쪮 ¤¢ § ¬¥ç ¨ï. ®-¯¥à¢ëå, ¥á«¨ § ¤ çã ¬®¦® ᢥá⨠ª § ¤ ç¥ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï á ¨á室묨 ¤ 묨 ¯®«¨®¬¨ «ì®£® à §¬¥à , â® íâ § ¤ ç § ¢¥¤®¬® ¬®¦¥â ¡ëâì à¥è¥ á ¯®¬®éìî ¯®«¨®¬¨ «ì®£® «£®à¨â¬ . ®-¢â®àëå, ¤«ï ¬®£¨å á¯¥æ¨ «ìëå § ¤ ç «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï áãé¥áâ¢ãîâ «£®à¨â¬ë, ¯à¨¢®¤ï騥 ª 楫¨ ¡ëáâ॥, 祬 «£®à¨â¬ë ¤«ï ®¡é¥£® á«ãç ï. ¤¨ ¯à¨¬¥à â ª®£® த ¤®áâ ¢«ï¥â § ¤ ç , à §¡¨à ¥¬ ï ¢ í⮬ à §¤¥«¥; ¤à㣨¥ ¯à¨¬¥àë | ᢮¤ï騥áï ª § ¤ ç ¬ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï § ¤ ç ® ªà âç ©è¥¬ ¯ã⨠¬¥¦¤ã ¤ ®© 514 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¯ ன ¢¥àè¨ (ã¯à ¦¥¨¥ 25.5-4) ¨ § ¤ ç ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ (ã¯à ¦¥¨¥ 27.1-8). ¥ª®â®àëå á«ãç ïå 楫¥¢ ï äãªæ¨ï á ¥ ¨â¥à¥áã¥â, âॡã¥âáï ©â¨ å®âï ¡ë ®¤® ¤®¯ãá⨬®¥ à¥è¥¨¥ (feasible solution), â® ¥áâì à¥è¥¨¥ á¨áâ¥¬ë ¥à ¢¥á⢠Ax 6 b (¨«¨ ¤®ª § âì, çâ® â ª®¢ëå ¥â). ë § ©¬¥¬áï ¨¬¥® § ¤ 祩 â ª®£® ⨯ . ¨áâ¥¬ë ®£à ¨ç¥¨© à §®á⨠¨á⥬ ®£à ¨ç¥¨© à §®á⨠(system of dierence constraints) | íâ® á¨á⥬ «¨¥©ëå ¥à ¢¥á⢠Ax 6 b, ¤«ï ª®â®à®© ¢ ª ¦¤®© áâப¥ ¬ âà¨æë A ¯à¨áãâáâ¢ãîâ ஢® ¤¢ ¥ã«¥¢ëå í«¥¬¥â , ®¤¨ ¨§ ª®â®àëå à ¢¥ 1, ¤à㣮© ;1. 묨 á«®¢ ¬¨, ¢á¥ ¥à ¢¥á⢠¨¬¥îâ ¢¨¤ xi ; xj 6 bk ; £¤¥ 1 6 i; j 6 n ¨ 1 6 k 6 m. ¯à¨¬¥à, § ¤ ç 宦¤¥¨ï 5-¢¥ªâ®à x = (xi), 㤮¢«¥â¢®àïî饣® ãá«®¢¨î 0 0 1 1 ;1 0 0 0 1 0 0 0 0 ; 1 B 1 C 0 1 B;1C x1 B B C 1 0 0 ;1C B 0 CB C B 1 C B C Bx2 C B C 1 0 0C B;1 0 B 5 C x3 C B CB C; C6B 0 1 0 B;1 0 CB B 4 C @ A x4 B B C 0 ;1 1 0 C B 0 C B;1C @ A x5 @ A 0 0 ;1 0 1 ;3 0 0 0 ;1 1 ;3 à ¢®á¨«ì á¨á⥬¥ «¨¥©ëå ¥à ¢¥á⢠x1 ; x2 6 0; x1 ; x5 6 ;1; x2 ; x5 6 1; x3 ; x1 6 5; (25:4) x4 ; x1 6 4; x4 ; x3 6 ;1; x5 ; x3 6 ;3; x5 ; x4 6 ;3: ¤® ¨§ à¥è¥¨© í⮩ á¨áâ¥¬ë ¥áâì x = (;5; ;3; 0; ;1; ;4). ᫨ ª® ¢á¥¬ ª®¬¯®¥â ¬ ¢¥ªâ®à x ¯à¨¡ ¢¨âì ®¤® ¨ â® ¦¥ ç¨á«®, ¯®«ãç¨âáï ¤à㣮¥ à¥è¥¨¥: ¥¬¬ 25.16 ᫨ x = (x1; : : :; xn) | à¥è¥¨¥ á¨áâ¥¬ë ®£à ¨ç¥¨© à §®á⨠¨ d | ª®áâ â , â® x0 = (x1 + d; : : :; xn + d) | à¥è¥¨¥ ⮩ ¦¥ á¨á⥬ë. £à ¨ç¥¨ï à §®á⨠¨ ªà âç ©è¨¥ ¯ã⨠515 ¨á㮪 25.9 à ä ®£à ¨ç¥¨©, ᮮ⢥âáâ¢ãî騩 á¨á⥬¥ (25.4). ª ¦¤®© ¢¥à訥 vi ¯¨á ® ç¨á«® (v0 ; vi ). ¥ªâ®à x = (;5; ;3; 0; ;1; ;4) ï¥âáï ®¤¨¬ ¨§ à¥è¥¨© á¨á⥬ë (25.4). ¨áâ¥¬ë ®£à ¨ç¥¨© à §®á⨠¢®§¨ª îâ ¢® ¬®£¨å ¯à¨«®¦¥¨ïå. ¯à¨¬¥à, xi ¬®£ãâ ¡ëâì áப ¬¨ ç « à §«¨çëå à ¡®â ¯à¨ áâந⥫ìá⢥ ¤®¬ . ᫨ x1 | áப ç « àëâìï ª®â«®¢ ¯®¤ ä㤠¬¥â, x2 | áப ç « § «¨¢ª¨ ä㤠¬¥â , ¨ ¥á«¨ àëâì¥ ª®â«®¢ § ¨¬ ¥â 3 ¤ï, â® x1 ; x2 6 ;3. à äë ®£à ¨ç¥¨© ᫨ á¨á⥬ ®£à ¨ç¥¨© à §®á⨠¯à¥¤áâ ¢«¥ ¢ ¢¨¤¥ Ax 6 b, £¤¥ A | m n-¬ âà¨æ , 㤮¡® à áᬮâà¥âì ®à¨¥â¨à®¢ ë© £à ä, ¤«ï ª®â®à®£® A ¡ã¤¥â ¬ âà¨æ¥© ¨æ¨¤¥â®á⨠(á¬. ã¯à ¦¥¨¥ 23.1-7). ®ç¥¥ £®¢®àï, ¬ë ᤥ« ¥¬ ¥ ᮢᥬ íâ®, á¢ï¦¥¬ á á¨á⥬®© ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä G = (V; E ), ¢ ª®â®à®¬ V = fv0 ; v1; : : :; vng (¯® ®¤®© ¢¥à訥 ª ¦¤®¥ ¥¨§¢¥á⮥ ¯«îá ¢¥àè¨ v0), ª ¦¤®¬ã ¥à ¢¥áâ¢ã xj ; xi 6 bk ᮮ⢥âáâ¢ã¥â ॡ஠(vi; vj ) á ¢¥á®¬ bk (¥áª®«ìª® ¥à ¢¥áâ¢ á ®¤¨ ª®¢®© «¥¢®© ç áâìî ¬®¦® § ¬¥¨âì ®¤¨¬, ¢§ï¢ ¬¨¨¬ã¬ ¨å ¯à ¢ëå ç á⥩). ஬¥ ⮣®, ¢ £à ä¥ ¨¬¥îâáï n ॡ¥à (v0; v1); (v0; v2); : : :; (v0; vn) (ª ¦¤®¥ | ¢¥á 0). à¨á. 25.9 ¨§®¡à ¦¥ £à ä, ᮮ⢥âáâ¢ãî騩 á¨á⥬¥ (25.4). «¥¤ãîé ï ⥮६ ¯®ª §ë¢ ¥â, çâ® à¥è¥¨ï á¨á⥬ à §®áâëå ®£à ¨ç¥¨© ¬®¦® 室¨âì á ¯®¬®éìî «£®à¨â¬®¢ ¯®¨áª ªà âç ©è¨å ¯ã⥩. ¥®à¥¬ 25.17 ãáâì G = (V; E ) | £à ä, ᮮ⢥âáâ¢ãî騩 á¨á⥬¥ à §®áâëå ®£à ¨ç¥¨© á n ¥¨§¢¥áâ묨. ᫨ ® ¥ ᮤ¥à¦¨â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á , â® ¢¥ªâ®à x = ( (v0; v1); (v0; v2); : : :; (v0; vn)) (25:5) ï¥âáï à¥è¥¨¥¬ á¨á⥬ë. ᫨ G ᮤ¥à¦¨â 横« ®âà¨æ ⥫쮣® ¢¥á , â® á¨á⥬ à §®áâëå ®£à ¨ç¥¨© ¥á®¢¬¥áâ . ®ª § ⥫ìá⢮ ᫨ 横« ®âà¨æ ⥫쮣® ¢¥á ¥â, â® ¢á¥ (v0; vj ) ï¢ï«îâáï (ª®¥ç묨) ç¨á« ¬¨ ¨ «¥¬¬ 25.3 £ à â¨àã¥â, çâ® ç¨á« xi 㤮¢«¥â¢®àïî⠢ᥬ ¥à ¢¥á⢠¬. ᫨ 横« ®âà¨æ ⥫쮣® ¢¥á ¥áâì, â® ® ¥ ᮤ¥à¦¨â ¢¥àè¨ë v0, ¯®áª®«ìªã ¨ ®¤® ॡ஠¢ íâã ¢¥àè¨ã ¥ ¢å®¤¨â, â ª çâ® ¢á¥ ॡà 横« ᮮ⢥âáâ¢ãîâ ª ª¨¬-â® ¥à ¢¥á⢠¬ á¨á⥬ë. ª« ¤ë¢ ï ¥à ¢¥á⢠, ᮮ⢥âáâ¢ãî騥 à¥¡à ¬ 横« , ¯®«ã稬 (¯®áª®«ìªã «¥¢ë¥ ç á⨠¥à ¢¥á⢠横« ᮪à é îâáï) ¥à ¢¥á⢮ ¢¨¤ 0 6 b, £¤¥ b < 0 | ¢¥á 横« . «¥¤®¢ ⥫ì®, á¨á⥬ ¥á®¢¬¥áâ . ¥è¥¨¥ á¨á⥬ ®£à ¨ç¥¨© à §®á⨠516 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¥®à¥¬ 25.17 ¯®ª §ë¢ ¥â, çâ® ©â¨ å®âï ¡ë ®¤® à¥è¥¨¥ á¨áâ¥¬ë ®£à ¨ç¥¨© à §®á⨠¬®¦® á ¯®¬®éìî «£®à¨â¬ ¥««¬ -®à¤ . ¬¥â¨¬, ç⮠横« ®âà¨æ ⥫쮣® ¢¥á , ¥á«¨ ® ¥áâì, ®¡ï§ â¥«ì® ¤®á⨦¨¬ ¨§ ¢¥àè¨ë v0 (¯®áª®«ìªã ¨§ v0 ¨¤ãâ áâ५ª¨ ¢® ¢á¥ ®áâ «ìë¥ ¢¥àè¨ë), â ª çâ® á¨á⥬ ¥á®¢¬¥áâ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ «£®à¨â¬ ¥««¬ -®à¤ ¢®§¢à é ¥â § 票¥ false. ¨á⥬ m à §®áâëå ®£à ¨ç¥¨© á n ¥¨§¢¥áâ묨 ¯®à®¦¤ ¥â £à ä á n +1 ¢¥à訮© ¨ ¥ ¡®«¥¥ 祬 n + m à¥¡à ¬¨. ®í⮬㠩⨠å®âï ¡ë ®¤® à¥è¥¨¥ ¬®¦® § ¢à¥¬ï O((n + 1)(n + m)) = O(n2 + mn). ã¯à ¦¥¨¨ 25.5-5 ¬ë ¯®¯à®á¨¬ ¢ á ¤®ª § âì, çâ® ¬®¦® ¬®¤¨ä¨æ¨à®¢ âì íâ®â «£®à¨â¬ â ª¨¬ ®¡à §®¬, çâ®¡ë ® 室¨« à¥è¥¨¥ ¨«¨ ãáâ ¢«¨¢ « ¥á®¢¬¥áâ®áâì á¨áâ¥¬ë § ¢à¥¬ï O(mn). ¯à ¦¥¨ï 25.5-1 ©¤¨â¥ å®âï ¡ë ®¤® à¥è¥¨¥ ¨«¨ ãáâ ®¢¨â¥ ¥á®¢¬¥áâ®áâì á«¥¤ãî饩 á¨áâ¥¬ë ¥à ¢¥áâ¢: x1 ; x2 6 1; x1 ; x4 6 ;4; x2 ; x3 6 2; x2 ; x5 6 7; x2 ; x6 6 5; x3 ; x6 6 10; x4 ; x2 6 2; x5 ; x1 6 ;1; x5 ; x4 6 3; x6 ; x3 6 ;8: 25.5-2 ® ¦¥ § ¤ ¨¥, çâ® ¢ ¯à¥¤ë¤ã饬 ã¯à ¦¥¨¨, ¤«ï á¨á⥬ë x1 ; x2 6 4; x1 ; x5 6 5; x2 ; x4 6 ;6; x3 ; x2 6 1; x4 ; x1 6 3; x4 ; x3 6 5; x4 ; x5 6 10; x5 ; x3 6 ;4; x5 ; x4 6 ;8: 25.5-3 ®¦¥â «¨ ¢ £à ä¥ ®£à ¨ç¥¨© ªà âç ©è¨© ¯ãâì ¨§ v0 ¢ ª ªãî-â® ¢¥àè¨ã ¨¬¥âì ¯®«®¦¨â¥«ìë© ¢¥á? £à ¨ç¥¨ï à §®á⨠¨ ªà âç ©è¨¥ ¯ã⨠517 25.5-4 ¢¥¤¨â¥ § ¤ çã ® ªà âç ©è¥¬ ¯ã⨠¬¥¦¤ã ¯ ன ¢¥àè¨ ª § ¤ ç¥ «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï. 25.5-5 ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ ¥««¬ -®à¤ â ª¨¬ ®¡à §®¬, çâ®¡ë ¯à¨ à¥è¥¨¨ á¨á⥬ë m ®£à ¨ç¥¨© à §®á⨠á n ¥¨§¢¥áâ묨 ® à ¡®â « § ¢à¥¬ï O(mn). 25.5-6 ª á ¯®¬®éìî «£®à¨â¬ , «®£¨ç®£® «£®à¨â¬ã ¥««¬ -®à¤ , à¥è¨âì á¨á⥬㠮£à ¨ç¥¨© à §®áâ¨, ¯®«ì§ãïáì £à 䮬 ®£à ¨ç¥¨© ¡¥§ ¤®¯®«¨â¥«ì®© ¢¥àè¨ë v0? 25.5-7* ®ª ¦¨â¥, çâ® à¥è¥¨¥ á¨á⥬ë à §®áâëå ®£à ¨ç¥¨© á n ¥¨§¢¥áâ묨, 室¨¬®¥ «£®à¨â¬®¬ ¥««¬ -®à¤ , ¨¬¥¥â (á।¨ ¢á¥å à¥è¥¨© í⮩ á¨á⥬ë, ¢ ª®â®àëå ¢á¥ ¯¥à¥¬¥ë¥ ¥¯®«®¦¨â¥«ìë) ¬ ªá¨¬ «ì®¥ § 票¥ á㬬ë x1 + x2 + : : : + xn. 25.5-8* ®ª ¦¨â¥, çâ® à¥è¥¨¥ á¨á⥬ë à §®áâëå ®£à ¨ç¥¨© Ax 6 b á n ¥¨§¢¥áâ묨, 室¨¬®¥ «£®à¨â¬®¬ ¥««¬ -®à¤ , ¨¬¥¥â ¬¨¨¬ «ì® ¢®§¬®¦®¥ § 票¥ ¢¥«¨ç¨ë maxfxig;minfxig á।¨ ¢á¥å ®¥é¥¨© í⮩ á¨á⥬ë. ¥¬ ¯®«¥§® íâ® ®¡áâ®ï⥫ìá⢮ ¯à¨ ¯« ¨à®¢ ¨¨ áâந⥫ìá⢠? 25.5-9 áᬮâਬ á¨áâ¥¬ã ¥à ¢¥áâ¢, ¢ ª®â®à®© ª ¦¤®¥ ¥à ¢¥á⢮ ï¥âáï «¨¡® ®£à ¨ç¥¨¥¬ à §®áâ¨, «¨¡® ¥à ¢¥á⢮¬ ¢¨¤ xi 6 a, «¨¡® ¥à ¢¥á⢮¬ ¢¨¤ xj > a. ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ ¥««¬ -®à¤ â ª¨¬ ®¡à §®¬, çâ®¡ë ® 室¨« å®âï ¡ë ®¤® à¥è¥¨¥ ¨«¨ ãáâ ¢«¨¢ « ¥á®¢¬¥áâ®áâì â ª¨å á¨á⥬. 25.5-10 ãáâì ª á¨á⥬¥ ®£à ¨ç¥¨© à §®á⨠¤®¡ ¢«¥® ¥ª®â®à®¥ ª®«¨ç¥á⢮ ãà ¢¥¨© ¢¨¤ xi = xj + bk . ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ ¥««¬ -®à¤ â ª¨¬ ®¡à §®¬, çâ®¡ë ® ¬®£ 室¨âì à¥è¥¨ï â ª¨å á¨á⥬. 25.5-11 §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¤«ï 宦¤¥¨ï à¥è¥¨ï á¨áâ¥¬ë ®£à ¨ç¥¨© à §®áâ¨, ¢ ª®â®à®¬ ¢á¥ ¥¨§¢¥áâë¥ ï¢«ïîâáï 楫묨 ç¨á« ¬¨ (ª®áâ âë ¢ ®£à ¨ç¥¨ïå ¥ ®¡ï§ ë ¡ëâì 楫묨, ® ¨å ¬®¦® § ¬¥¨âì ¨å æ¥«ë¥ ç áâ¨). 25.5-12* §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¤«ï 宦¤¥¨ï à¥è¥¨ï á¨áâ¥¬ë ®£à ¨ç¥¨© à §®áâ¨, ¥á«¨ ¢á¥ ¯¥à¥¬¥ë¥ à §¡¨âë ¤¢¥ £à㯯ë: æ¥«ë¥ (¤«ï ª®â®àëå ¤®¯ãá⨬ë ⮫쪮 æ¥«ë¥ § 票ï) ¨ ¢¥é¥áâ¢¥ë¥ (¤«ï ª®â®àëå â ª®£® ®£à ¨ç¥¨ï ¥â). ¤ ç¨ 25-1 ®¤¨ä¨ª æ¨ï «£®à¨â¬ ¥««¬ -®à¤ ¯® ¥ã 롥६ ¯®à冷ª, ¢ ª®â®à®¬ ®¡à ¡ âë¢ îâáï àñ¡à ¢ «£®à¨â¬¥ ¥««¬ -®à¤ , á«¥¤ãî騬 ®¡à §®¬. à®ã¬¥à㥬 ª ª¨¬-«¨¡® ®¡à §®¬ ¢¥àè¨ë £à ä ¨ à §®¡ì¥¬ ¬®¦¥á⢮ E ¢¥àè¨ £à ä ¤¢ ¯®¤¬®¦¥á⢠: Ef , á®áâ®ï饥 ¨§ áâ५®ª, ¨¤ãé¨å ¨§ ¢¥àè¨ë á ¬¥ì訬 ®¬¥à®¬ ¢ ¢¥àè¨ã á ¡®«ì訬 ®¬¥à®¬, ¨ Eb, á®áâ®ï饥 ¨§ áâ५®ª, ¨¤ãé¨å ¨§ ¢¥àè¨ë á ¡®«ì訬 ®¬¥à®¬ ¢ ¢¥àè¨ã á ¬¥ì訬 ®¬¥à®¬. ãáâì Gf = (V; Ef ) ¨ Gb = (V; Eb) (ç¥à¥§ V ®¡®§ 祮 ¬®¦¥á⢮ ¢¥àè¨ £à ä ). çñ¬ á â ª®£® ®ç¥¢¨¤®£® ¡«î¤¥¨ï: 518 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ( ) ®ª ¦¨â¥, çâ® £à äë Gf ¨ Gb 横«¨çë, ¯à¨çñ¬ à ᯮ«®¦¥¨¥ ¢¥àè¨ ¢ ¯®à浪¥ ¢®§à áâ ¨ï (ã¡ë¢ ¨ï) ®¬¥à®¢ § ¤ ¥â ⮯®«®£¨ç¥áª®¥ 㯮à冷票¥ £à ä¥ Gf (Gb). 㤥¬ ⥯¥àì ¯à®¢®¤¨âì ५ ªá æ¨î ॡ¥à ¯à¨ ª ¦¤®© ¨â¥à 樨 横« ¢ «£®à¨â¬¥ ¥««¬ -®à¤ ¢ á«¥¤ãî饬 ¯®à浪¥: á ç « ¯¥à¥¡¨à ¥¬ ¢¥àè¨ë ¢ ¯®à浪¥ ¢®§à áâ ¨ï ®¬¥à®¢ ¨ ¤«ï ª ¦¤®© ¢¥àè¨ë ¯®¤¢¥à£ ¥¬ ५ ªá 樨 ¢á¥ ¢ë室ï騥 ¨§ ¥¥ à¥¡à £à ä Ef ; § ⥬ ¯¥à¥¡¨à ¥¬ ¢á¥ ¢¥àè¨ë ¢ ¯®à浪¥ ã¡ë¢ ¨ï ®¬¥à®¢ ¨ ¤«ï ª ¦¤®© ¢¥àè¨ë ¯®¤¢¥à£ ¥¬ ५ ªá 樨 ¢á¥ ¢ë室ï騥 ¨§ ¥¥ à¥¡à £à ä Eb. (¡) ãáâì G ¥ ᮤ¥à¦¨â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á , ¤®á⨦¨¬ëå ¨§ ¢¥àè¨ë s; ¤®ª ¦¨â¥, çâ® ¯®á«¥ djV j=2e ¨â¥à 権 横« à ¢¥á⢠d[v] = (s; v) ¡ã¤ã⠢믮«ïâìáï ¤«ï ¢á¥å v 2 V . (¢) 楨⥠¢à¥¬ï à ¡®âë ®¯¨á ®© ¬®¤¨ä¨ª 樨 «£®à¨â¬ ¥««¬ -®à¤ . 25-2 «®¦¥ë¥ ï騪¨ 㤥¬ £®¢®à¨âì, çâ® d-¬¥àë© ï騪 à §¬¥à®¢ (x1; x2; : : :; xd) ¢ª« ¤ë¢ ¥âáï (nests) ¢ ï騪 à §¬¥à®¢ (y1; y2; : : :; yd), ¥á«¨ ã ¬®¦¥á⢠f 1; 2; : : :; d g áãé¥áâ¢ã¥â â ª ï ¯¥à¥áâ ®¢ª , çâ® x(1) < y1; x(2) < y2 ; : : :; x(d) < yd . ( ) ®ª ¦¨â¥, çâ® ®â®è¥¨¥ "¢ª« ¤ë¢ âìáï" âà §¨â¨¢®. (¡) ¯¨è¨â¥ íää¥ªâ¨¢ë© á¯®á®¡ ¯à®¢¥à¨âì, ¢ª« ¤ë¢ ¥âáï «¨ ®¤¨ d-¬¥àë© ï騪 ¢ ¤à㣮©. (¢) ë n à §«¨çëå d-¬¥àëå ï騪®¢. ॡã¥âáï 㧠âì, ª ª®¥ ¬ ªá¨¬ «ì®¥ ç¨á«® ¨§ ¨å ¬®¦® ¯®á«¥¤®¢ â¥«ì® ¢«®¦¨âì ¤à㣠¢ ¤à㣠(¯¥à¢ë© ¢® ¢â®à®©, ¢â®à®© ¢ âà¥â¨© ¨ â.¤.). ª ¦¨â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ¤«ï à¥è¥¨ï í⮩ § ¤ ç¨ ¨ ®æ¥¨â¥ ¢à¥¬ï ¥£® à ¡®âë. 25-3 ࡨâà ¦ë¥ ®¯¥à 樨 ࡨâà ¦ë¬¨ ®¯¥à æ¨ï¬¨ (arbitrage) §ë¢ ¥âáï á«¥¤ãî騩 ᯮᮡ ¨§¢«¥ª âì ¯à¨¡ë«ì ¨§ ¥á®£« ᮢ ®á⨠ªãàᮢ ®¡¬¥ ¢ «îâ. ।¯®«®¦¨¬, çâ® ®¤¨ ¤®«« à ¬®¦® ®¡¬¥ïâì 0;7 äãâ áâ¥à«¨£®¢, ®¤¨ äãâ áâ¥à«¨£®¢ | 9;5 äà ª®¢, ¨ ®¤¨ äà ª | 0;16 ¤®«« à . ®£¤ , ®¡¬¥¨¢ ï 1 ¤®«« à ¢ 㪠§ ®© ¯®á«¥¤®¢ ⥫ì®áâ¨, ¢ १ã«ìâ ⥠¬®¦® ¯®«ãç¨âì 1;064 ¤®«« à ¨ ⥬ á ¬ë¬ ®áâ âìáï á ¯à¨¡ë«ìî 6;4%. ãáâì ¨¬¥îâáï n ¢ «îâ (¯à®ã¬¥à®¢ ëå ®â 1 ¤® n) ¨ ¬ áᨢ R[1::n; 1::n], ¢ ª®â®à®¬ § ¯¨á ë ªãàáë ®¡¬¥ (¥¤¨¨æã ¢ «îâë i ¬®¦® ®¡¬¥ïâì R[i; j ] ¥¤¨¨æ ¢ «îâë j ). ( ) §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, ¯®§¢®«ïî騩 ¢ëïá¨âì, áãé¥áâ¢ã¥â «¨ â ª ï ¯®á«¥¤®¢ ⥫ì®áâì (i1; i2; : : :; ik ), çâ® R[i1; i2] R[i2; i3] R[ik;1; ik ] R[ik; i1] > 1: 楨⥠¢à¥¬ï à ¡®âë ¢ 襣® «£®à¨â¬ . (¡) §à ¡®â ©â¥ íää¥ªâ¨¢ë© «£®à¨â¬, ¯¥ç â î騩 â ªãî ¯®á«¥¤®¢ ⥫ì®áâì, ¥á«¨ ® áãé¥áâ¢ã¥â. 楨⥠¢à¥¬ï ¥£® à ¡®âë. £à ¨ç¥¨ï à §®á⨠¨ ªà âç ©è¨¥ ¯ã⨠519 25-4 «£®à¨â¬ ¡®ã 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ á ¯®¬®éìî ¬ áèâ ¡¨à®¢ ¨ï ãáâì ¬ ¤ ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä G = (V; E ), ¢ ª®â®à®¬ ¢¥á ¢á¥å ॡ¥à ïîâáï 楫묨 ¥®âà¨æ ⥫ì묨 ç¨á« ¬¨, ¥ ¯à¥¢®á室ï騬¨ W . ®ª ¦¥¬, ª ª ¬®¦® ©â¨ ªà âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë § ¢à¥¬ï O(E lg W ). ãáâì k = dlg(W + 1)e | ª®«¨ç¥á⢮ ¡¨â®¢ ¢ ¤¢®¨ç®¬ ¯à¥¤áâ ¢«¥¨¨ ç¨á« W . «ï i = 1; 2; : : :; k ¯®«®¦¨¬ wi(u; v) = bw(u; v)=2k;ic (¨ë¬¨ á«®¢ ¬¨, wi(u; v) ¯®«ãç ¥âáï ¨§ w(u; v) ®â¡à áë¢ ¨¥¬ k ; i ¬« ¤è¨å ¡¨â®¢ ¢ ¤¢®¨ç®¬ ¯à¥¤áâ ¢«¥¨¨ ç¨á« w(u; v)). ¯à¨¬¥à, ¥á«¨ k = 5 ¨ w(u; v) = 25 = h11001i, â® w3(u; v) = h110i = 6. ç áâ®áâ¨, w1 ¯à¨¨¬ ¥â ⮫쪮 § 票ï 0 ¨ 1, ®¯à¥¤¥«ï¥¬ë¥ áâ à訬 à §à冷¬, wk = w. ãáâì i(u; v) | ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ u ¢ v ®â®á¨â¥«ì® ¢¥á®¢®© äãªæ¨¨ wi (¢ ç áâ®áâ¨, k (u; v) = (u; v)). «£®à¨â¬, ® ª®â®à®¬ ¯®©¤ñâ à¥çì ¢ í⮩ § ¤ ç¥, ©¤ñâ á ç « ¢á¥ 1(s; v) (s | ¨á室 ï ¢¥àè¨ ), § ⥬ ¢á¥ 2(s; v), ¨ â ª ¤ «¥¥, ¯®ª ¥ ¤®©¤ñâ ¤® k (s; v) = (s; v). «¥¥ ¬ë ¯®« £ ¥¬, çâ® jE j > jV j ; 1; ª ª ¬ë 㢨¤¨¬, á⮨¬®áâì 宦¤¥¨ï i ¯à¨ ¨§¢¥á⮬ i;1 ¥áâì O(E ), â ª çâ® «£®à¨â¬ ¡ã¤¥â à ¡®â âì § ¢à¥¬ï O(kE ) = O(E lg W ). ª®© ¯« à¥è¥¨ï § ¤ ç¨ | § ¬¥ ¨á室ëå ¤ ëå ¨å ¤¢®¨ç묨 ¯à¨¡«¨¦¥¨ï¬¨ á ¯®á«¥¤®¢ ⥫ìë¬ ãâ®ç¥¨¥¬ | §ë¢ ¥âáï ¬ áèâ ¡¨à®¢ ¨¥¬ (scaling) ( ) ãáâì (s; v ) 6 jE j ¤«ï ¢á¥å ¢¥àè¨ v 2 V (¯à¥¤¯®« £ ¥âáï, çâ® jE j > jV j ; 1 ¨ ¢¥á ïîâáï 楫묨 ¥®âà¨æ ⥫ì묨 ç¨á« ¬¨). ®ª ¦¨â¥, çâ® ¬®¦® ©â¨ (s; v) ¤«ï ¢á¥å v 2 V § ¢à¥¬ï O(E ). (¡) ®ª ¦¨â¥, çâ® ¬®¦® ¯®¤áç¨â âì 1 (s; v ) ¤«ï ¢á¥å v 2 V § ¢à¥¬ï O(E ). ¥¯¥àì § ©¬¥¬áï ¢ëç¨á«¥¨¥¬ i ¨áå®¤ï ¨§ i;1. (¢) ®ª ¦¨â¥, çâ® (¯à¨ i = 2; 3; : : :; k) «¨¡® wi (u; v ) = 2wi;1 (u; v ), «¨¡® wi(u; v) = 2wi;1(u; v) + 1. 뢥¤¨â¥ ®âáî¤ , çâ® 2i;1 (u; v ) 6 i (u; v ) 6 2i;1 (u; v ) + jV j ; 1 ¤«ï ¢á¥å v 2 V . (£) «ï i = 2; 3; : : :; k ¨ (u; v ) 2 E ¯®«®¦¨¬ w^i(u; v) = wi (u; v) + 2i;1 (s; u) ; 2i;1(s; v): ®ª ¦¨â¥, çâ® w^i(u; v) > 0. (¤) ãáâì ^i (s; v ) | ¢¥á ªà âç ©è¥£® ¯ã⨠®â®á¨â¥«ì® ¢¥á®¢®© äãªæ¨¨ w^i. ®ª ¦¨â¥, çâ® i (s; v) = ^i (s; v ) + 2i;1(s; v) ¨ çâ® ^i(s; v) 6 jE j. 520 « ¢ 25 à âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë (¥) ¡êïá¨â¥, ª ª § ¢à¥¬ï O(E ) ¢ëç¨á«¨âì ¢á¥ § 票ï i (s; v ), § ï i;1(s; v). ª ¢ëç¨á«¨âì (s; v) (¤«ï ¢á¥å v 2 V ) § ¢à¥¬ï O(E lg W )? 25-5 «£®à¨â¬ ௠¤«ï ®âë᪠¨ï 横« á ¬¨¨¬ «ìë¬ á।¨¬ ¢¥á®¬ ãáâì G = (V; E ) | ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! , ¨ ¯ãáâì n = jV j. ।¨¬ ¢¥á®¬ (mean weight) 横« c = he1; e2; : : :; ek i, £¤¥ ej | à¥¡à £à ä , §®¢¥¬ ç¨á«® R k X 1 (c) = k w(ei ): = minc (c), i=1 ãáâì £¤¥ c ¯à®¡¥£ ¥â ¢á¥ (®à¨¥â¨à®¢ ë¥) 横«ë. í⮩ § ¤ ç¥ ¬ë ®¯¨è¥¬ íää¥ªâ¨¢ë© «£®à¨â¬ ¤«ï ¢ëç¨á«¥¨ï . ¥ ®£à ¨ç¨¢ ï ®¡é®áâ¨, ¡ã¤¥¬ áç¨â âì, çâ® ª ¦¤ ï ¢¥àè¨ v 2 V ¤®á⨦¨¬ ¨§ ¥ª®â®à®© ¢¥àè¨ë s. ¥à¥§ (s; v ) ®¡®§ 稬 ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ s ¢ v; ¯ãáâì k (s; v) | ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ s ¢ v, á®áâ®ï饣® ¢ â®ç®á⨠¨§ k àñ¡¥à (¥á«¨ â ª®£® ¯ã⨠¥â, ¯®« £ ¥¬ k (s; v) = 1). ( ) ãáâì = 0. ®ª ¦¨â¥, çâ® G ¥ ᮤ¥à¦¨â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á ¨ çâ® (s; v) = min06k6n;1 k (s; v) ¤«ï ¢á¥å v 2 V . (¡) ãáâì = 0. ®ª ¦¨â¥, çâ® n (s; v) ; k (s; v ) > 0 max 06k6n;1 n;k ¤«ï «î¡®© ¢¥àè¨ë v 2 V (ª § ¨¥: ¢®á¯®«ì§ã©â¥áì ¤¢ã¬ï ã⢥ত¥¨ï¬¨ ¯à¥¤ë¤ã饣® ¯ãªâ .) (¢) ãáâì u ¨ v | ¤¢¥ ¢¥àè¨ë, «¥¦ 騥 横«¥ ã«¥¢®£® ¢¥á . ãáâì ¢¥á ãç á⪠í⮣® 横« ®â u ¤® v à ¢¥ x. ®ª ¦¨â¥, çâ® (s; v ) = (s; u) + x (ª § ¨¥: ¢¥á ãç á⪠®â v ¤® u à ¢¥ ;x). (£) ãáâì = 0. ®ª ¦¨â¥, çâ® áãé¥áâ¢ã¥â ¢¥àè¨ v , «¥¦ é ï 横«¥ á ¬¨¨¬ «ìë¬ á।¨¬ ¢¥á®¬, â ª ï, çâ® n (s; v) ; k (s; v ) = 0 max 06k6n;1 n;k (ª § ¨¥: ¯®ª ¦¨â¥, çâ® ªà âç ©è¨© ¯ãâì ®â s ¤® ¢¥àè¨ë, «¥¦ 饩 横«¥ á ã«¥¢ë¬ ¢¥á®¬, ¬®¦® ¯à®¤®«¦¨âì ¢¤®«ì í⮣® 横« â ª, çâ® ® ®áâ ¥âáï ªà âç ©è¨¬.) (¤) ãáâì = 0. ®ª ¦¨â¥, çâ® k (s; v) = 0: min max n (s; vn) ; v2V 06k6n;1 ;k (¥) ®ª ¦¨â¥, çâ® k (s; v ) = min max n (s; vn) ; v2V 06k6n;1 ;k £à ¨ç¥¨ï à §®á⨠¨ ªà âç ©è¨¥ ¯ã⨠521 (ª § ¨¥: ¥á«¨ ¯à¨¡ ¢¨âì ª®áâ âã t ª ¢¥á ¬ ¢á¥å ॡ¥à, ⮠㢥«¨ç¨âáï t.) (¦) §à ¡®â ©â¥ «£®à¨â¬, ¢ëç¨á«ïî騩 § ¢à¥¬ï O(V E ). ¬¥ç ¨ï «£®à¨â¬ ¥©ªáâàë [55] ¯®ï¢¨«áï ¢ 1959 £®¤ã (¡¥§ 㯮¬¨ ¨ï ®ç¥à¥¤¥© á ¯à¨®à¨â¥â ¬¨). «£®à¨â¬ ¥««¬ -®à¤ ®á®¢ ¤¢ãå ®â¤¥«ìëå «£®à¨â¬ å, ¨§®¡à¥âñëå ¥««¬ ®¬ [22] ¨ ®à¤®¬ [71]. ¢ï§ì ªà âç ©è¨å ¯ã⥩ á ®£à ¨ç¥¨ï¬¨ à §®á⨠®¯¨á ¥««¬ ®¬. «£®à¨â¬ ¤«ï ¯®¨áª ªà âç ©è¨å ¯ã⥩ ¢ 横«¨ç¥áª®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ § «¨¥©®¥ ¢à¥¬ï ®¯¨á ®ã«¥à®¬ [132] (ª ª "䮫쪫®àë©"). ᫨ ¢¥á àñ¡¥à | ¥¡®«ì訥 æ¥«ë¥ ç¨á« , â® ¤«ï 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¨§ ®¤®© ¢¥àè¨ë ¬®¦® ¯à¨¬¥¨âì ¨ ¡®«¥¥ íää¥ªâ¨¢ë¥ ¬¥â®¤ë. å㤦 , ¥«ìå®à, ૨ p ¨ àìï [6] ®¯¨áë¢ îâ «£®à¨â¬, à ¡®â î騩 § ¢à¥¬ï O(E + V lg W ) ¢ ¯à¥¤¯®«®¦¥¨¨, çâ® ¢¥á | æ¥«ë¥ ¥®âà¨æ ⥫ìë¥ ç¨á« , ¥ ¯à¥¢®á室ï騥 W . ¨ ¦¥ ¯à¨¢®¤ïâ ¯à®á⮩ «£®à¨â¬, à ¡®â î騩 § ¢à¥¬ï O(E + V lg W ). «ï á«ãç ï, ª®£¤ ¢¥á ¬®£ãâ ¡ëâì ®âà¨æ ⥫ì묨 (楫묨) ç¨á« ¬¨p, ¥áâì «£®à¨â¬ ¡®ã ¨ àìï [77], à ¡®â î騩 § ¢à¥¬ï O( V E lg(V W )), £¤¥ W | ¬ ªá¨¬ã¬ ¡á®«îâëå ¢¥«¨ç¨ ¢¥á®¢. ®à®è¨© ®¡§®à à §«¨çëå «£®à¨â¬®¢, á¢ï§ ëå á «¨¥©ë¬ ¯à®£à ¬¬¨à®¢ ¨¥¬ (¢ ç áâ®áâ¨, ᨬ¯«¥ªá-¬¥â®¤ ¨ ¬¥â®¤ í««¨¯á®¨¤®¢), ¤ îâ ¯ ¤¨¬¨âà¨ã ¨ â ©£«¨æ [154]. ¨¬¯«¥ªá-¬¥â®¤ ¡ë« ¨§®¡à¥âñ 樣®¬ (G. Dantzig) ¢ 1947 £®¤ã, ¨ à §«¨çë¥ ¢ ਠâë í⮣® ¬¥â®¤ ¤® á¨å ¯®à ®áâ îâáï ¨¡®«¥¥ ¯®¯ã«ïà묨 ᯮᮡ ¬¨ à¥è¥¨ï § ¤ ç «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï. ¥â®¤ í««¨¯á®¨¤®¢ ¯à¥¤«®¦¨« .. ç¨ï, ®á®¢ë¢ ïáì à ¡®â å .. ®à , .. ¤¨ ¨ .. ¥¬¨à®¢áª®£®. à¬ àª à ®¯¨áë¢ ¥â ᢮© «£®à¨â¬ ¢ [115]. 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ í⮩ £« ¢¥ ¬ë § ©¬ñ¬áï § ¤ 祩 ® 宦¤¥¨¨ ªà âç ©è¨å ¯ã⥩ ¤«ï ¢á¥å ¯ à ¢¥àè¨ £à ä . ¡«¨æ à ááâ®ï¨© ¬¥¦¤ã ¢á¥¢®§¬®¦ë¬¨ ¯ à ¬¨ £®à®¤®¢ ¢ ⫠ᥠ¤®à®£ ¯®«ãç ¥âáï ¢ १ã«ìâ ⥠à¥è¥¨ï ¨¬¥® â ª®© § ¤ ç¨. ª ¨ ¢ £« ¢¥ 25, ¡ã¤¥¬ à áᬠâਢ âì ®à¨¥â¨à®¢ ë© ¢§¢¥è¥ë© £à ä G = (V; E ) á ¢¥é¥á⢥®© ¢¥á®¢®© äãªæ¨¥© w : E ! . «ï ª ¦¤®© ¯ àë ¢¥àè¨ u; v 2 V ¬ë ¤®«¦ë ©â¨ ªà âç ©è¨© ¯ãâì u ¢ v, â®ç¥¥, ¯ãâì ¨¬¥ì襩 ¤«¨ë (¤«¨ ¯ã⨠®¯à¥¤¥«ï¥âáï ª ª á㬬 ¢¥á®¢ ¢á¥å ¥£® àñ¡¥à). ª¨¬ ®¡à §®¬, ®â¢¥â®¬ ¢ § ¤ ç¥ ® ªà âç ©è¨å ¯ãâïå ¬®¦® áç¨â âì â ¡«¨æã, ¢ ª®â®à®© ¯¥à¥á¥ç¥¨¨ áâப¨ u ¨ á⮫¡æ v ª®â®à®© 室¨âáï ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ u ¢ v (¤®¯®«¥ãî ¥ª®â®à®© ¨ä®à¬ 樥© ® á ¬¨å íâ¨å ¯ãâïå, á¬. ¨¦¥). §ã¬¥¥âáï, ¬®¦® à¥è¨âì íâã § ¤ çã, ¥á«¨ jV j à § ¯à¨¬¥¨âì «£®à¨â¬ ¤«ï ¯®¨áª ªà âç ©è¨å ¯ã⥩ ¨§ ®¤®© ¢¥àè¨ë (ª® ¢á¥¬ ¢¥àè¨ ¬ £à ä ¯® ®ç¥à¥¤¨). ᫨ ¢á¥ à¥¡à £à ä ¨¬¥îâ ¥®âà¨æ ⥫ìë¥ ¢¥á , â® à §ã¬® ¨á¯®«ì§®¢ âì «£®à¨â¬ ¥©ªáâàë; ¯à¨ ¯à®á⮩ ॠ«¨§ 樨 ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ á ¯®¬®éìî ¬ áᨢ ®¡é¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ á®áâ ¢¨â O(V 3 + V E ) = O(V 3). ᫨ ®ç¥à¥¤ì ॠ«¨§®¢ âì á ¯®¬®éìî ¤¢®¨ç®© ªãç¨, â® ®¡é ï á⮨¬®áâì á®áâ ¢¨â O(V E lg V ), çâ® ¤ ñ⠢먣àëè ¤«ï à §à¥¦¥ëå £à 䮢. ¡¥ í⨠®æ¥ª¨ ¬®¦® ã«ãçè¨âì, ¨á¯®«ì§®¢ ¢ 䨡® ç稥¢ë ªãç¨, ¤«ï ª®â®àëå ®¡é¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ ¥áâì «£®à¨â¬ ¡ã¤¥â O(V 2 lg V + V E ). ᫨ ¢ £à ä¥ ¥áâì àñ¡à á ®âà¨æ ⥫ì묨 ¢¥á ¬¨, â® «£®à¨â¬ ¥©ªáâàë ¯à¨¬¥¨âì ¥«ì§ï. ᫨ ¢¬¥áâ® ¥£® ¨á¯®«ì§®¢ âì ¡®«¥¥ ¬¥¤«¥ë© «£®à¨â¬ ¥««¬ -®à¤ , ¢ë¯®«ïï ¥£® ¤«ï ª ¦¤®© ¢¥àè¨ë £à ä , ®¡é¥¥ ¢à¥¬ï à ¡®âë á®áâ ¢¨â O(V 2E ) | ¤«ï ¯«®âëå £à ä å íâ® ¡ã¤¥â O(V 4). «£®à¨â¬ë, ®¯¨á ë¥ ¨¦¥, à ¡®â îâ ¡ëáâ॥. ஬¥ ⮣®, ¢ í⮩ £« ¢¥ ¬ë ãáâ ®¢¨¬ á¢ï§ì ¬¥¦¤ã § ¤ 祩 ® 宦¤¥¨¨ ªà âç ©è¨å ¯ã⥩ ¤«ï ¢á¥å ¯ à ¢¥àè¨ £à ä ¨ 㬮¦¥¨¥¬ ¬ âà¨æ, â ª¦¥ ¨áá«¥¤ã¥¬ ¥¥ «£¥¡à ¨ç¥áªãî áâàãªâãàã. ¡®«ìè¨á⢥ «£®à¨â¬®¢ í⮩ £« ¢ë £à äë ¯à¥¤áâ ¢«ïîâáï ¬ âà¨æ ¬¨ ᬥ¦®áâ¨. ᪫î票¥¬ ï¥âáï «£®à¨â¬ ¦®á® R « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ 523 ¤«ï à §à¥¦¥ëå £à 䮢, ª®â®àë© (ª ª ¨ «£®à¨â¬ë ¯®¨áª ¨§ ®¤®© ¢¥àè¨ë) ¨á¯®«ì§ã¥â ᯨ᪨ ᬥ¦®áâ¨. áâ¥á⢥® á®ç¥â âì ᢥ¤¥¨ï ® «¨ç¨¨ à¥¡à ¨ ® ¥£® ¢¥á¥ ¢ ®¤®© ¬ âà¨æ¥, ¯®« £ ï ¢¥á ®âáãâáâ¢ãîé¨å àñ¡¥à ¡¥áª®¥ç묨. ª¨¬ ®¡à §®¬, ¯à¨ ®¡à ¡®âª¥ ¢§¢¥è¥®£® ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) «£®à¨â¬ã ¤ ñâáï ¬ âà¨æ W = (wij ), £¤¥ 8 < ¥á«¨ i = j , wij = : ¢¥á (®à¨¥â¨à®¢ ®£®) ॡà (i; j ) ¥á«¨ i 6= j ¨ (i; j ) 2 E , 1 ¥á«¨ i = 6 j ¨ (i; j ) 62 E . (26:1) ¥¡à ¬®£ãâ ¨¬¥âì ®âà¨æ ⥫ìë© ¢¥á. ë ¡ã¤¥¬, ®¤ ª®, ¯à¥¤¯®« £ âì, ç⮠横«®¢ ®âà¨æ ⥫쮣® ¢¥á ¢ £à ä¥ ¥â. ।áâ ¢«¥ë¥ ¢ ¤ ®© £« ¢¥ «£®à¨â¬ë 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¤«ï ¢á¥å ¯ à ¢¥àè¨ ¡ã¤ãâ ¢ëç¨á«ïâì ¬ âà¨æã D = (dij ) à §¬¥à®¬ n n, í«¥¬¥â dij ª®â®à®© ᮤ¥à¦¨â ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ ¢¥àè¨ë i ¢ ¢¥àè¨ã j , â® ¥áâì à ¢¥ (i; j ) ¢ ®¡®§ 票ïå ¯à¥¤ë¤ã饩 £« ¢ë. ¥è¥¨¥ § ¤ ç¨ ® ªà âç ©è¨å ¯ãâïå ¤«ï ¢á¥å ¯ à ¢¥àè¨ ¤®«¦® ¢ª«îç âì ¢ á¥¡ï ¥ ⮫쪮 ¢¥á ªà âç ©è¨å ¯ã⥩, ® ¨ ¬ âà¨æ㠯।è¥á⢮¢ ¨ï (predecessor matrix) = (ij ), ¢ ª®â®à®© ij ï¥âáï ¢¥à訮©, ¯à¥¤è¥áâ¢ãî饩 j ®¤®¬ ¨§ ªà âç ©è¨å ¯ã⥩ ¨§ i ¢ j . (¬ë ¯®« £ ¥¬ ij = nil, ¥á«¨ i = j ¨«¨ ¯ã⥩ ¨§ i ¢ j ¥ áãé¥áâ¢ã¥â). «ï ª ¦¤®© ¢¥àè¨ë i 2 V ¬®¦® ®¯à¥¤¥«¨âì ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï (predecessor subgraph) G;i = (V;i; E;i), £¤¥ V;i = fj 2 V : ij = 6 nilg [ fig; ¨ E;i = f(ij ; j ) : j 2 V;i ¨ ij = 6 nilg: ë ¡ã¤¥¬ âॡ®¢ âì, çâ®¡ë ¤«ï ª ¦¤®£® i ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï G;i ¡ë« ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩ ¨§ ¢¥àè¨ë i (¢ á¬ëá«¥ £« ¢ë 25). í⮬ á«ãç ¥ á«¥¤ãîé ï ¯à®æ¥¤ãà ¯¥ç ⠥⠪à âç ©è¨© ¯ãâì ¨§ ¢¥àè¨ë i ¢ ¢¥àè¨ã j . 0 {\sc Print-All-Pairs-Shortest-Path}$(\Pi,i,j)$\\ 1 if $i=j$ 2 then print $i$ 3 else if $\pi_{ij}=\mbox{\sc nil}$ 4 then print ``ã⨠¨§'' $i$ ``¢'' $j$ ``¥â'' 5 else {\sc Print-All-Pairs-Shortest-Path}$(\Pi,i,\pi_{ij})$ 6 print $j$ ë ¥ ¡ã¤¥¬ ¯®¤à®¡® £®¢®à¨âì ® ¯®áâ஥¨¨ ¬ âà¨æë ¯à¥¤è¥á⢮¢ ¨ï (¥ñ ᢮©á⢠¬ ¯®á¢ï饮 ¥áª®«ìª® ã¯à ¦¥¨©). « £« ¢ë 524 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ à §¤¥«¥ 26.1 à áᬠâਢ ¥âáï «£®à¨â¬ à¥è¥¨ï § ¤ ç¨ ® ªà âç ©è¨å à ááâ®ï¨ïå ¤«ï ¢á¥å ¯ à ¢¥àè¨, ¢ ®á®¢¥ ª®â®à®£® «¥¦¨â 㬮¦¥¨¥ ¬ âà¨æ. ६ï à ¡®âë í⮣® «£®à¨â¬ | (V 3 lg V ); ® ¢ëç¨á«ï¥â á⥯¥ì ¬ âà¨æë, ¬®£®ªà â® ¢®§¢®¤ï ¥ñ ¢ ª¢ ¤à â. ®«¥¥ ¡ëáâàë© (O(V 3)) «£®à¨â¬ «®©¤ {®à讫« , â ª¦¥ ¨á¯®«ì§ãî騩 â¥å¨ªã ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï, ¨§« £ ¥âáï ¢ à §¤¥«¥ 26.2. í⮬ ¦¥ à §¤¥«¥ à áᬠâਢ ¥âáï § ¤ ç ® âà §¨â¨¢®¬ § ¬ëª ¨¨ ®à¨¥â¨à®¢ ®£® £à ä , ª®â®à ï ®ª §ë¢ ¥âáï â¥á® á¢ï§ ®© á § ¤ 祩 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¤«ï ¢á¥å ¯ à ¢¥àè¨. à §¤¥«¥ 26.3 ¨§« £ ¥âáï «£®à¨â¬ ¦®á® . ®â«¨ç¨¥ ®â ¤àã£¨å «£®à¨â¬®¢ í⮩ £« ¢ë, ® ¨á¯®«ì§ã¥â ¢ ᢮¥© à ¡®â¥ ᯨ᪨ ᬥ¦ëå ¢¥àè¨, ¥ ¬ âà¨æã ᬥ¦®áâ¨. ६ï à ¡®âë í⮣® «£®à¨â¬ ¥áâì O(V 2 lg V + V E ); â ª¨¬ ®¡à §®¬, ® íä䥪⨢¥ ¤«ï à §à¥¦¥ëå £à 䮢. ¯®á«¥¤¥¬ à §¤¥«¥ (26.4) ¬ë ¨áá«¥¤ã¥¬ «£¥¡à ¨ç¥áªãî áâàãªâãàã (§ ¬ªã⮥ ¯®«ãª®«ìæ®), ¯®§¢®«ïîéãî ¯à¨¬¥¨âì «£®à¨â¬ë 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¤«ï à¥è¥¨ï ¤àã£¨å § ¤ ç á £à ä ¬¨, ¢ ª®â®àëå â ª¦¥ âॡã¥âáï ®¯à¥¤¥«¨âì çâ®-«¨¡® ¤«ï ¢á¥å ¯ à ¢¥àè¨. áî¤ã ¢ í⮩ £« ¢¥ ¬ë à áᬠâਢ ¥¬ £à ä G = (V; E ) á n , ¢¥àè¨ ¬¨, â ª çâ® jV j = n. ë ¡ã¤¥¬ ®¡®§ ç âì ¬ âà¨æë ¡®«ì訬¨ ¡ãª¢ ¬¨ ( ¯à¨¬¥à, W ¨«¨ D) ®â¤¥«ìë¥ í«¥¬¥âë ¬ âà¨æ ᮮ⢥âáâ¢ãî騬¨ ¬ «¥ìª¨¬¨ ¡ãª¢ ¬¨ (wij ; dij ). ஬¥ ⮣®, ¬ë ¡ã¤¥¬ ¨á¯®«ì§®¢ âì ¢¥à娩 ¨¤¥ªá ¢ ᪮¡ª å ( ¯à®¤®¡¨¥ D(m) = (d(ijm))), à®«ì ª®â®à®£® ¡ã¤¥â «®£¨ç á⥯¥¨ ¬ âà¨æë (á¬. ¨¦¥). ª®¥æ, à §¬¥à n ª¢ ¤à ⮩ n n-¬ âà¨æë A ¬ë ¡ã¤¥¬ ¨®£¤ § ¯¨áë¢ âì ª ª rows[A] (rows | áâப¨). 26.1 à âç ©è¨¥ ¯ã⨠¨ 㬮¦¥¨¥ ¬ âà¨æ í⮬ à §¤¥«¥ ¬ë à áᬮâਬ «£®à¨â¬ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï à¥è¥¨ï § ¤ ç¨ å®¦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¤«ï ¢á¥å ¯ à ¢¥àè¨ ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ). ª ¦¤®¬ è £¥ ® ¡ã¤¥â ¯®ç⨠ç⮠㬮¦ âì ¬ âà¨æë | ⮫쪮 ¥ ¢¯®«¥ ®¡ëçë¬ ®¡à §®¬. ç « ¬ë ¯®áâந¬ «£®à¨â¬ á® á«®¦®áâìî (¢à¥¬¥¥¬ à ¡®âë) (V 4), § ⥬ ã«ãç訬 ¥£®, ¯®«ã稢 ®æ¥ªã (V 3 lg V ). è¥ ¨§«®¦¥¨¥ ¡ã¤¥â á«¥¤®¢ âì á奬¥ «£®à¨â¬ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï (£« ¢ 16) âàãªâãà ªà âç ©è¥£® ¯ã⨠¡¥¤¨¬áï, çâ® ç á⨠à¥è¥¨ï ïîñâáï à¥è¥¨ï¬¨ «®£¨çëå ¯®¤§ ¤ ç. 襬 á«ãç ¥ íâ® ®§ ç ¥â, çâ® ®â१ª¨ ªà âç ©è¥£® ¯ãâ¨ á ¬¨ ïîâáï ªà âç ©è¨¬¨ ¯ãâﬨ ¬¥¦¤ã ᮮ⢥âáâ¢ãî騬¨ ¢¥àè¨ ¬¨ («¥¬¬ 25.1). ¥ªãàᨢ ï ä®à¬ã« ¤«ï ¤«¨ë ªà âç ©è¥£® ¯ã⨠ãáâì d(ijm) ®¡®§ ç ¥â ¬¨¨¬ «ìë© ¢¥á ¯ã⨠¨§ ¢¥àè¨ë i ¢ ¢¥àè¨ã j , ¥á«¨ à áᬠâਢ âì ¯ãâ¨ á ¥ ¡®«¥¥ 祬 m àñ¡à ¬¨. « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ 525 ਠm = 0 ¤®¯ãáâ¨¬ë «¨èì "¯ãâ¨" ¢®¢á¥ ¡¥§ àñ¡¥à, â® ¥áâì i = j, (0) dij = 01 ¥á«¨ ¥á«¨ i = 6 j. ᫨ ¦¥ m > 1, â® ¬¨¨¬ã¬ d(ijm) ¤®á⨣ ¥âáï «¨¡® ¯ã⨠¨§ ¥ ¡®«¥¥ 祬 m ; 1 ॡà (¨ ⮣¤ à ¢¥ d(ijm;1) ), «¨¡® ¦¥ ¯ã⨠¨§ m ॡ¥à. ¯®á«¥¤¥¬ á«ãç ¥ íâ®â ¯ãâì ¬®¦® à §¡¨âì ç «ìë© ®â१®ª ¨§ m ; 1 àñ¡¥à, ¢¥¤ã騩 ¨§ ç «ì®© ¢¥àè¨ë i ¢ ¥ª®â®àãî ¢¥àè¨ã k, ¨ ¯®á«¥¤¥¥ ॡ஠(k; j ). ë ¯à¨å®¤¨¬ ª ä®à¬ã«¥ (m;1) + w g) = d(ijm) = min(d(ijm;1) ; 1min f d kj 6k6n ik (m;1) = 1min 6k6nfdik + wkj g (®á«¥¤¥¥ à ¢¥á⢮ ¨á¯®«ì§ã¥â à ¢¥á⢮ wjj = 0.) ᫨ £à ä ¥ ᮤ¥à¦¨â 横«®¢ á ®âà¨æ ⥫ì묨 ¢¥á ¬¨, ªà âç ©è¨© ¯ãâì ¬®¦® ¢ë¡à âì ¡¥§ 横«®¢; â ª®© ¯ãâì ᮤ¥à¦¨â ¥ ¡®«¥¥ n ; 1 àñ¡¥à. «¥¤®¢ ⥫ì®, (i; j ) = d(ijn;1) = d(ijn) = d(ijn+1) = : (26:3) ëç¨á«¥¨¥ ªà âç ©è¨å ¯ã⥩ "ᨧ㠢¢¥àå" ® § ¤ ®© ¬ âà¨æ¥ ¢¥á®¢ W = (wij ) ¬ë ¡ã¤¥¬ ¯®á«¥¤®¢ â¥«ì® ¢ëç¨á«ïâì ¬ âà¨æë D(1); D(2); : : : ; D(n;1), £¤¥ D(m) = (d(ijm)). ª ¬ë ¢¨¤¥«¨, ¯®á«¥¤ïï ¬ âà¨æ D(n;1) ¡ã¤¥â ᮤ¥à¦ âì ¢¥á ªà âç ©è¨å ¯ã⥩. ¬¥â¨¬, çâ® ¬ âà¨æ D(1) (¢¥á ¯ã⥩ ¨§ ®¤®£® ॡà ) ᮢ¯ ¤ ¥â á W . £ «£®à¨â¬ á®á⮨⠢ ¢ëç¨á«¥¨¨ D(m) ¯® D(m;1) ¨ W . {\sc Extend-Shortest-Paths}$(D,W)$\\ \verb|1 |$n \leftarrow rows[D]$\\ \verb|2 |¯ãáâì $D'=(d'_{ij})$ --- $n\times n$-¬ âà¨æ \verb|3 |for $i \leftarrow 1$ to $n$\\ \verb|4 |do for $j \leftarrow 1$ to $n$\\ \verb|5 |do $d'_{ij} \leftarrow \infty$\\ \verb|6 |for $k \leftarrow 1$ to $n$\\ \verb|7 |do $d'_{ij} \leftarrow \min(d'_{ij},\,d_{ik}+w_{k \verb|8 |return $D'$\\ â ¯à®æ¥¤ãà ¢ëç¨á«ï¥â ¬ âà¨æã D0 ¢ ᮮ⢥âá⢨¨ á ä®à¬ã«®© (26.2) ¯à¨ í⮬ à®«ì ¬ âà¨æ D ¨ D0 ¨£à îâ ¬ âà¨æë D(m;1 ) ¨ D(m). à®æ¥¤ãà ᮤ¥à¦¨â âਠ¢«®¦¥ëå 横« , â ª çâ® ¢à¥¬ï ¥ñ à ¡®âë ¥áâì (n3). 526 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ â®¡ë 㢨¤¥âì «®£¨î í⮩ ¯à®æ¥¤ãàë á ¯à®æ¥áᮬ 㬮¦¥¨ï ¬ âà¨æ, § ¯¨è¥¬ ¯à®æ¥¤ãàã 㬮¦¥¨ï ¬ âà¨æ A ¨ B à §¬¥à®¬ n n ¯® ä®à¬ã«¥ n X cij = aik bkj (26:4) k=1 {\sc Matrix-Multiply}$(A,B)$\\ \verb|1 |$n \leftarrow rows[A]$\\ \verb|2 |¯ãáâì $C=(c_{ij})$ --- $n\times n$-¬ âà¨æ \verb|3 |for $i \leftarrow 1$ to $n$\\ \verb|4 |do for $j \leftarrow 1$ to $n$\\ \verb|5 |do $c_{ij} \leftarrow 0$\\ \verb|6 |for $k \leftarrow 1$ to $n$\\ \verb|7 |do $c_{ij} \leftarrow c_{ij}+a_{ik}\cdot b_{kj}$\\ \verb|8 |return $C$ ¨¤®, çâ® íâ ¯à®æ¥¤ãà ¯®«ãç ¥âáï ¨§ ¯à¥¤ë¤ã饩 § ¬¥ ¬¨ d(m;1) ! a; w ! b; ( m d ) ! c; min ! +; + ! ਠí⮬ ᨬ¢®«ã 1, ïî饬ãáï ¥©âà «ìë¬ í«¥¬¥â®¬ ¤«ï ®¯¥à 樨 min (¢ ⮬ á¬ëá«¥, çâ® min(1; a) = a, ᮮ⢥âáâ¢ã¥â ç¨á«® 0, ïî饥áï ¥©âà «ìë¬ í«¥¬¥â®¢ ¤«ï ®¯¥à 樨 + (0+ a = a). â®çª¨ §à¥¨ï í⮩ «®£¨¨, ¬ë ª ª ¡ë ¢ëç¨á«ï¥¬ " ¯à®¨§¢¥¤¥¨¥" n ; 1 íª§¥¬¯«ï஢ ¬ âà¨æë W á ¯®¬®éìî ¯®á«¥¤®¢ ⥫ìëå 㬮¦¥¨©: D(1) = D(0) W = W, D(2) = D(1) W = W 2, D(3) = D(2) W = W 3, .. . D(n;1) = D(n;2) W = W n;1 . ¥§ã«ìâ â íâ¨å "㬮¦¥¨©", ¬ âà¨æ D(n;1) = W n;1 ᮤ¥à¦¨â ¢¥á ªà âç ©è¨å ¯ã⥩. ä®à¬¨¬ ®¯¨á ®¥ ¢ëç¨á«¥¨¥ ¢ ¢¨¤¥ ¯à®æ¥¤ãàë (á ¢à¥¬¥¥¬ à ¡®âë (n4)): {\sc Slow-All-Paths-Shortest-Paths}$(W)$\\ \verb|1 |$n \leftarrow rows[W]$\\ \verb|2 |$D^{(1)} \leftarrow W$\\ « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ 0 3 8 1 B 1 0 1 1 B D(1) = B 0 1 B 1 4 @ 2 1 ;5 0 01 1 1 6 0 3 ;3 2 B 3 0 ;4 1 B 0 5 D(3) = B B 7 4 @ 2 ;1 ;5 0 8 5 1 6 0 ;4 7 1 1 0 ;4 ;1 11 ;2 0 1 C C C C A 1 C C C C A 0 527 0 3 3 B 0 B D(2) = B 1 4 B @ 2 ;1 0 8 1 0 1 B 3 0 B D(4) = B B 7 4 @ 2 ;1 8 5 8 ;4 0 ;5 1 ;3 ;4 0 ;5 1 2 1 5 0 6 2 1 5 0 6 ;4 1 7 C C 11 C C ;2 A 0 1 ;4 ;1 C C 3 C C ;2 A 0 ¨á㮪 26.1 26.1 ਥâ¨à®¢ ë© £à ä G ¨ ¯®á«¥¤®¢ ⥫ì®áâì ¬ âà¨æ D(m) . ®¦® ã¡¥¤¨âìáï, çâ® ¬ âà¨æ D(5) = D(4) W ( § ç¨â, ¨ ¢á¥ ¯®á«¥¤ãî騥) ¡ã¤¥â à ¢ D(4) . \verb|3 |for $m \leftarrow 2$ to $n-1$\\ \verb|4 |do $D^{(m)} \leftarrow \mbox{\sc ExtendShortest-Paths}(D^{(m-1)},W )$\\ \verb|5 |return $D^{(n-1)}$\\ à¨á. 26.1 ¯®ª § ¯à¨¬¥à £à ä ¨ ᮮ⢥âáâ¢ãîé¨å ¥¬ã ¬ âà¨æ D(m). ®«¥¥ ¡ëáâàë© á¯®á®¡ ¬¥â¨¬, çâ® ¬ë ¢ëç¨á«ï¥¬ ¢á¥ ¬ âà¨æë D(m), å®âï á ¨â¥à¥áã¥â «¨èì ¬ âà¨æ D(n;1) ¨«¨ «î¡ ï ¨§ á«¥¤ãîé¨å § ¥© (¯à¨ ®âáãâá⢨¨ 横«®¢ á ®âà¨æ ⥫ì묨 ¢¥á ¬¨ ¢á¥ ®¨ à ¢ë). த®«¦¨¬ «®£¨î á 㬮¦¥¨¥¬: á⥯¥ì ç¨á« a ¬®¦® ¢ëç¨á«¨âì ¡ëáâ॥, ¥á«¨ ¥ ¤®¬®¦ âì ¢áñ ¢à¥¬ï a, ¢®§¢®¤¨âì ¢ ª¢ ¤à â (â ª®© ¬¥â®¤ § ¢¥¤®¬® ¯à¨¬¥¨¬, ¥á«¨ ¯®ª § ⥫ì á⥯¥¨ ¥áâì 2; 4; 8; : : : ). «®£¨çë¬ ®¡à §®¬ ¬ë ¬ë ¬®¦¥¬ ®¯à¥¤¥«¨âì D(n;1), ¢ë¯®«¨¢ ¢á¥£® dlg(n ; 1)e 㬮¦¥¨© ¬ âà¨æ, ¢ëç¨á«ïï ¬ âà¨æë ¢ ¯®á«¥¤®¢ ⥫ì®á⨠D(1) = W D(2) = W2 = W W, (4) 4 D = W = W 2 W 2, (8) 8 D = W = W 4 W 4, â® â¥å ¯®à, ¯®ª ¯®ª § ⥫ì á⥯¥¨ á⠥⠡®«ì訬 ¨«¨ à ¢ë¬ n ; 1 (¯à¨ í⮬ ® ¡ã¤¥â à ¢¥ 2dlg(n;1)e , ª ª «¥£ª® ¢¨¤¥âì). ¥ «¨§ã¥¬ íâ®â ¬¥â®¤ ¯®¢â®à®£® ¢®§¢¥¤¥¨ï ¢ ª¢ ¤à â (repeated squaring) ¢ ¢¨¤¥ ¯à®æ¥¤ãàë: {\sc Faster-All-Pairs-Shortest-Paths}$(W)$\\ 528 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ¨á㮪 26.2 26.2 §¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä, ¨á¯®«ì§ã¥¬ë© ¢ ã¯à. 26.1-1, 26.2-1 ¨ 26.3-1. \verb|1 |$n \leftarrow rows[W]$\\ \verb|2 |$D^{(1)} \leftarrow W$\\ \verb|3 |$m \leftarrow 1$\\ \verb|4 |while $n-1 > m$\\ \verb|5 |do $D^{(2m)} \leftarrow \mbox{\sc ExtendShortest-Paths}(D^{(m)}, D^{(m)})$\\ \verb|6 |$m \leftarrow 2m$\\ \verb|7 |return $D^{(m)}$ ª ¦¤®¬ è £¥ 横« while ¢ áâப å 4-6 ¢ëç¨á«ï¥âáï D(2m) = (D(m))2 ¨ § 票¥ m 㤢 ¨¢ ¥âáï, ¯®ª m ¥ á⠥⠡®«ì訬 ¨«¨ à ¢ë¬ n ; 1. ६ï à ¡®âë â ª®© ¯à®æ¥¤ãàë á®áâ ¢«ï¥â (n3 lg n), â.ª. ¢á¥£® ¢ë¯®«ï¥âáï dlg(n ; 1)e "㬮¦¥¨©" ¬ âà¨æ, ª ¦¤®¥ ¨§ ª®â®àëå âॡã¥â (n3) ¤¥©á⢨©. «£®à¨â¬ ¤®¢®«ì® ¯à®áâ, ¨ ¬®¦® ¤¥ïâìáï, çâ® ª®áâ â , áªàëâ ï ¢ -®¡®§ 票, ¡ã¤¥â ¥¡®«ì让. [ ¬¥â¨¬, çâ® ¬ë ¥ï¢® ¨á¯®«ì§®¢ «¨ áá®æ¨ ⨢®áâì 襣® " 㬮¦¥¨ï" ¬ âà¨æ, ¯¥à¥å®¤ï ª ¤à㣮¬ã ᯮᮡ㠢ëç¨á«¥¨ï á⥯¥¥©. ñ ¬®¦® ¯à®¢¥à¨âì ¯® «®£¨¨ á ¤®ª § ⥫ìá⢮¬ áá®æ¨ ⨢®á⨠¤«ï ®¡ë箣® 㬮¦¥¨ï | «¨¡® § ¬¥¨âì áá뫪ã áá®æ¨ ⨢®áâì ¯àï¬ë¬ ¤®ª § ⥫ìá⢮¬ ⮣®, çâ® D(2m) ¥áâì ¯à®¨§¢¥¤¥¨¥ D(m) D(m), ª®â®à®¥ «¥£ª® ¯à®¢¥áâ¨, à áᬠâਢ ï ¤¢¥ ¯®«®¢¨ë ¯ã⨠¤«¨ë 2m.] ¯à ¦¥¨ï 26.1-1 à®á«¥¤¨â¥ § ¨á¯®«¥¨¥¬ «£®à¨â¬®¢ Slow-All-PairsShortest-Paths ¨ Faster-All-Pairs-Shortest-Paths £à ä¥ à¨á. 26.2. ëç¨á«¨â¥ ¢á¥ ¢®§¨ª î騥 ¯à¨ í⮬ ¬ âà¨æë. 26.1-2 ¤¥ ¨á¯®«ì§ã¥âáï, çâ® wii = 0 ¯à¨ ¢á¥å i? 26.1-3 ⮠ᮮ⢥âáâ¢ã¥â ¬ âà¨æ¥ 1 0 0 1 1 ::: 1 B 1 0 1 ::: 1 C C B B 1 1 0 ::: 1 C (0) D =B C B . . . . C @ .. . . . .. 1 1 1 ::: 0 .. .. A ¥á«¨ ¯à®¤®«¦¨âì «®£¨î á ®¡ëçë¬ ã¬®¦¥¨¥¬ ¬ âà¨æ? 26.1-4 ।áâ ¢ì⥠§ ¤ çã ¯®¨áª ªà âç ©è¨å ¯ã⥩ ¨§ ®¤®© ¢¥àè¨ë ª ª § ¤ çã ®âë᪠¨ï ¯à®¨§¢¥¤¥¨© ¨ ¢¥ªâ®à . ª ¢ íâ¨å â¥à¬¨ å ¢ë£«ï¤¨â «£®à¨â¬ ¥««¬ -®à¤ (á¬. à §¤¥« 25.3)? 26.1-5 ਤ㬠©â¥ «£®à¨â¬ ¢ëç¨á«¥¨ï ¬ âà¨æë ¯à¥¤è¥á⢮¢ ¨ï ¯® 㦥 ¨¬¥î饩áï ¬ âà¨æ¥ D ¢¥á®¢ ªà âç ©è¨å ¯ã⥩ § «£®à¨â¬ «®©¤ -®à讫« 529 ¢à¥¬ï O(n3). 26.1-6 ¤à㣮© áâ®à®ë, ¬ âà¨æë ¯à¥¤è¥á⢮¢ ¨ï ¬®£ãâ ¢ëç¨á«ïâìáï ¯ à ««¥«ì® á ¢ëç¨á«¥¨¥¬ ¢¥á®¢. 㤥¬ ¡à âì ¢ ª ç¥á⢥ ij(m) ¯à¥¤è¥áâ¢ãîéãî j ¢¥àè¨ã ª ª®¬-¨¡ã¤ì ªà âç ©è¥¬ ¯ã⨠¨§ i ¢ j , á®áâ®ï饬 ¥ ¡®«¥¥ 祬 ¨§ m ॡ¥à. §¬¥¨â¥ ¯à®æ¥¤ãàë Extend-Shortest-Paths ¨ Slow-All-PairsShortest-Paths â ª, çâ®¡ë ®¨ ¢ ¤®¯®«¥¨¥ ª D(1), D(2), : : : , D(n;1) ¢ëç¨á«ï«¨ ¥éñ ¨ ¬ âà¨æë (1), (2), : : : , (n;1). 26.1-7 à®æ¥¤ãà Faster-All-Pairs-Shortest-Paths (¢ ¥ñ ë¥è¥¬ ¢¨¤¥) ¨á¯®«ì§ã¥â dlg(n ; 1)e ¬ âà¨æ (¬ áᨢ®¢) à §¬¥à®¬ n n. ¡é¨© ®¡ê¥¬ ¯ ¬ïâ¨, â ª¨¬ ®¡à §®¬, á®áâ ¢«ï¥â (n2 lg n). §¬¥¨â¥ ¥ñ â ª, çâ®¡ë ¨á¯®«ì§®¢ âì ¢á¥£® ¤¢ ¬ áᨢ à §¬¥à®¬ n n (⥬ á ¬ë¬ ã¬¥ì訢 ®¡êñ¬ ¯ ¬ï⨠¤® (n2 )). 26.7-8 §¬¥¨â¥ «£®à¨â¬ Faster-All-Pairs-Shortest-Paths â ª, çâ®¡ë ® ®¡ à㦨¢ « «¨ç¨¥ ¢ £à ä¥ æ¨ª« á ®âà¨æ ⥫ìë¬ ¢¥á®¬. 26.1-9 ਤ㬠©â¥ íää¥ªâ¨¢ë© «£®à¨â¬ ®¯à¥¤¥«¥¨ï ¬¨¨¬ «ì®£® ç¨á« àñ¡¥à ¢ 横«¥ ®âà¨æ ⥫쮣® ¢¥á (¤«ï ¤ ®£® £à ä ; ¯à¥¤¯®« £ ¥âáï, çâ® â ª®© 横« áãé¥áâ¢ã¥â). 26.1 «£®à¨â¬ «®©¤ -®à讫« í⮬ à §¤¥«¥ ¬ë à áᬮâਬ ¤à㣮© ᯮᮡ à¥è¥¨ï § ¤ ç¨ ® ªà âç ©è¨å ¯ãâïå ¤«ï ¢á¥å ¯ à ¢¥àè¨ ®à¨¥â¨à®¢ ®£® ¢§¢¥è¥®£® £à ä , â ª¦¥ ®á®¢ ë© â¥å¨ª¥ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï. â®â ᯮᮡ ( «£®à¨â¬ «®©¤ {®à讫« ) à ¡®â ¥â § ¢à¥¬ï (V 3). ë ¯®-¯à¥¦¥¬ã ¤®¯ã᪠¥¬ àñ¡à á ®âà¨æ ⥫ìë¬ ¢¥á®¬, ® § ¯à¥é ¥¬ 横«ë ®âà¨æ ⥫쮣® ¢¥á . ஬¥ ⮣®, ¬ë à áᬮâਬ «£®à¨â¬ 宦¤¥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï £à ä , ®á®¢ ë© â®© ¦¥ ¨¤¥¥. â஥¨¥ ªà âç ©è¥£® ¯ã⨠«£®à¨â¬ë ¯à¥¤ë¤ã饣® à §¤¥« ¢ë¤¥«ï«¨ ¯®á«¥¤¥¥ ॡ஠¯ãâ¨. «£®à¨â¬ «®©¤ {®àè «« ¤¥©áâ¢ã¥â ¨ ç¥: ¤«ï ¥£® ¢ ¦®, ª ª¨¥ ¢¥àè¨ë ¨á¯®«ì§ãîâáï ¢ ª ç¥á⢥ ¯à®¬¥¦ãâ®çëå, ¨ ®á®¡ãî à®«ì ¨£à î⠯஬¥¦ãâ®çë¥ ¢¥àè¨ë á ¬ ªá¨¬ «ìë¬ ®¬¥à®¬ (¢ ¥ª®â®à®© 㬥à 樨 ¢¥àè¨). ஬¥¦ãâ®ç®© (intermediate) ¢¥à訮© ¯à®á⮣® ¯ã⨠p = hv1; v2; : : : vl i ¡ã¤¥¬ §ë¢ âì «î¡ãî ¨§ ¢¥àè¨ v2; v3; : : : ; vl;1. 㤥¬ áç¨â âì, çâ® ¢¥àè¨ ¬¨ £à ä G ïîâáï ç¨á« 1; 2; : : : ; n. áᬮâਬ ¯à®¨§¢®«ì®¥ k 6 n. «ï ¤ ®© ¯ àë ¢¥àè¨ i; j 2 V à áᬮâਬ ¢á¥ ¯ã⨠¨§ i ¢ j , ã ª®â®àëå ¢á¥ ¯à®¬¥¦ãâ®çë¥ ¢¥àè¨ë ¯à¨ ¤«¥¦ â ¬®¦¥áâ¢ã f1; 2; : : : ; kg. ãáâì p | ¯ãâì ¬¨¨¬ «ì®£® ¢¥á á।¨ ¢á¥å â ª¨å ¯ã⥩. ¡ã¤¥â ¯à®áâë¬, â ª ª ª ¢ £à ä¥ ¥â 横«®¢ á ®âà¨æ ⥫ìë¬ ¢¥á®¬. ª 530 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ©â¨ ¢¥á í⮣® ¯ãâ¨, § ï ¢¥á ¢á¥å â ª¨å ¯ã⥩ (¤«ï ¢á¥å ¯ à ¢¥àè¨) ¤«ï ¬¥ìè¨å k? «ï ¯ã⨠p ¥áâì ¤¢¥ ¢®§¬®¦®áâ¨. ᫨ k ¥ ¢å®¤¨â ¢ p, ¢á¥ ¯à®¬¥¦ãâ®çë¥ ¢¥àè¨ë ¯ã⨠p ᮤ¥à¦ âáï ¢ ¬®¦¥á⢥ f1; 2; : : : ; k ; 1g. ®£¤ ¯ãâì p ï¥âáï ªà âç ©è¨¬ ¯ãâñ¬ ¨§ i ¢ j , ¯à®¬¥¦ãâ®çë¥ ¢¥àè¨ë ª®â®à®£® ¯à¨ ¤«¥¦ â ¬®¦¥áâ¢ã f1; 2; : : : ; k ; 1g. ᫨ k ï¥âáï ¯à®¬¥¦ãâ®ç®© ¢¥à訮© ¯ã⨠p, ® à §¡¨¢ ¥â ¥£® ¤¢ ãç á⪠p1 ¨ p2 (¢¥àè¨ k ¢áâà¥ç ¥âáï «¨èì ®¤ ¦¤ë, â ª ª ª p | ¯à®á⮩ ¯ãâì), á¬. à¨á. 26.3. ® «¥¬¬¥ 25.1 ¯ãâì p1 ¡ã¤¥â ªà âç ©è¨¬ ¯ãâñ¬ ¨§ i ¢ k á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; k ; 1g. ãâì p2 ï¥âáï ªà âç ©è¨¬ ¯ãâñ¬ ¨§ k ¢ j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; k ; 1g. ¥ªãà¥â ï ä®à¬ã« ¤«ï ¤«¨ ªà âç ©è¨å ¯ã⥩ ⨠à áá㦤¥¨ï ¯®§¢®«ïîâ ¯¨á âì ¤àã£ãî (¯® áà ¢¥¨î á ¯à¨¢¥¤ñ®© ¢ à §¤¥«¥ 26.1) ४ãà¥âãî ä®à¬ã«ã ¤«ï ¤«¨ ªà âç ©è¨å ¯ã⥩. ¡®§ 稬 ç¥à¥§ d(ijk) ¢¥á ªà âç ©è¥£® ¯ã⨠¨§ ¢¥àè¨ë i ¢ ¢¥àè¨ã j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; kg. ਠk = 0 ¯à®¬¥¦ãâ®çëå ¢¥àè¨ ¥â ¢®¢á¥, ¯®í⮬ã d(0) ij = wij . ®¡é¥¬ á«ãç ¥ ( wij ¥á«¨ k = 0, ( k ) dij = min( (26:5) ( k ; 1) ( k ; 1) ( k ; 1) dij ; dik + dkj ) ¥á«¨ k > 1. âà¨æ D(n) = (d(ijn)) ᮤ¥à¦¨â ¨áª®¬®¥ à¥è¥¨¥. à㣨¬¨ á«®¢ ¬¨, d(ijn) = (i; j ) ¤«ï ¢á¥å i; j 2 V , ¯®áª®«ìªã à §à¥è¥ë «î¡ë¥ ¯à®¬¥¦ãâ®çë¥ ¢¥àè¨ë. ëç¨á«¥¨¥ ªà âç ©è¨å ¯ã⥩ ᨧ㠢¢¥àå ¯¨è¥¬ ¯à®æ¥¤ãàã, ª®â®à ï ¢ëç¨á«ï¥â ¢¥á ªà âç ©è¨å ¯ã⥩, ¯®á«¥¤®¢ â¥«ì® å®¤ï § 票ï d(ijk) ¤«ï k = 1; 2; : : : ; n. ñ ¢å®¤¬ ï¥âáï ¬ âà¨æ W à §¬¥à®¬ n n (¢¥á àñ¡¥à £à ä ), १ã«ìâ ⮬ ï¥âáï ¬ âà¨æ D(n) ¢¥á®¢ ªà âç ©è¨å ¯ã⥩. {\sc Floyd-Warshall}$(W)$\\ \verb|1 |$n \leftarrow rows[W]$\\ \verb|2 |$D^{(0)} \leftarrow W$\\ \verb|3 |for $k \leftarrow 1$ to $n$\\ \verb|4 |do for $i \leftarrow 1$ to $n$\\ \verb|5 |do for $j \leftarrow 1$ to $n$\\ \verb|6 |$d^{(k)}_{ij} \leftarrow \min(d^{(k1)}_{ij}, d^{(k-1)}_{ik}+d^{(k-1)}_{kj})$\\ \verb|7 |return $D^{(n)}$ à¨á㪥 26.4 ¯®ª § ®à¨¥â¨à®¢ ë© à ä ¨ ¬ âà¨æë D(k), ¢ëç¨á«ï¥¬ë¥ í⨬ «£®à¨â¬®¬. «£®à¨â¬ «®©¤ -®à讫« 0 3 8 1 B 1 0 1 1 B 0 1 D(0) = B B 1 4 @ 2 1 ;5 0 0 1 1 1 6 0 3 8 1 B 1 0 1 1 B D(1) = B 0 1 B 1 4 @ 2 5 ;5 0 1 1 1 6 0 0 3 8 4 B 1 0 1 1 B 0 5 D(2) = B B 1 4 @ 2 5 ;5 0 0 1 1 1 6 0 3 8 4 B 1 0 1 1 B 1 4 0 5 D(3) = B B @ 2 ;1 ;5 0 1 1 1 6 0 0 3 ;1 4 B 3 0 ;4 1 B 0 5 D(4) = B B 7 4 @ 2 ;1 ;5 0 1 6 0 8 5 0 1 ;3 2 B 3 0 ;4 1 B D(5) = B 0 5 B 7 4 @ 2 ;1 ;5 0 8 5 1 6 0 531 ;4 7 1 1 0 ;4 7 1 ;2 1 0 C C C C A B (0) = B 1 0 C C C C A B (1) = B 0 1 ;4 7 C C 11 C C ;2 A 0 1 ;4 7 C C 11 C C ;2 A 0 1 ;4 ;1 C C 3 C C ;2 A 0 1 ;4 ;1 C C 3 C C ;2 A 0 B B @ B B @ 0 B B (2) = B B @ 0 B B (3) = B B @ 0 B B (4) = B B @ 0 B B (5) = B B @ nil 1 1 nil nil nil nil 3 nil 4 nil 4 nil nil nil nil 1 1 nil nil nil nil 3 nil 4 1 nil nil nil 1 nil nil nil 3 4 1 nil nil nil 1 nil nil nil 3 4 3 nil nil nil 1 4 nil 4 4 4 3 3 3 nil 3 4 nil 4 3 4 3 4 3 1 2 nil 2 nil nil nil nil 5 nil nil 1 2 2 nil nil 4 nil nil 5 1 2 nil 2 nil 2 4 nil nil 5 1 2 nil 2 nil 2 4 nil nil 5 4 2 4 2 nil 2 4 nil 4 5 4 5 4 2 nil 2 4 nil 4 5 1 nil C C C C A 1 C C C C A 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 nil nil nil nil 26.3 26.4 âà¨æë (k ) ¨ D (k ) , ¢ëç¨á«ï¥¬ë¥ «£®à¨â¬®¬ «®©¤ { ®à讫« ¤«ï £à ä à¨á. 26.1. ¨á㮪 1 C C C C A C C C C A C C C C A C C C C A 532 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ «£®à¨â¬ «®©¤ -®à讫« ᮤ¥à¦¨â âਠ¢«®¦¥ëå 横« (áâப¨ 3{6); ¢à¥¬ï ¥£® à ¡®âë ¥áâì (n3 ). ®áâ â , áªàëâ ï ¢ ®¡®§ 票¨, ¥¢¥«¨ª , ¯®áª®«ìªã «£®à¨â¬ ¯à®áâ ¨ ¥ ¨á¯®«ì§ã¥â á«®¦ëå áâàãªâãà ¤ ëå, â ª çâ® ® ¯à¨¬¥¨¬ ¤«ï ¤®áâ â®ç® ¡®«ìè¨å £à 䮢. ®áâ஥¨¥ ªà âç ©è¨å ¯ã⥩ ®¬¨¬® ¢¥á®¢ ªà âç ©è¨å ¯ã⥩, á ¨â¥à¥áãîâ ¨ á ¬¨ ¯ãâ¨. ¤¨ ¨§ ᯮᮡ®¢ ¨å ¯®áâ஥¨ï â ª®¢: ¢ëç¨á«¨ë ¢ëç¨á«¥¨¨ ¬ âà¨æã D ¨å ¢¥á®¢, ¬®¦® § ⥬ ¯®áâநâì ¯® ¥© ¬ âà¨æ㠯।è¥á⢮¢ ¨ï § ¢à¥¬ï O(n3) ¢à¥¬¥¨ (ã¯à. 26.1-5). ⥬ ¯à¨ ¯®¬®é¨ äãªæ¨¨ Print-All-Pairs-Shortest-Path ¬®¦® ¯¥ç â âì ªà âç ©è¨© ¯ãâì ¤«ï «î¡®© ¯ àë ¢¥àè¨. à㣮© ᯮᮡ á®á⮨⠢ ⮬, çâ®¡ë ¢ëç¨á«ïâì ¬ âà¨æ㠯।è¥á⢮¢ ¨ï ¯ à ««¥«ì® á ¨á¯®«¥¨¥¬ «£®à¨â¬ «®©¤ { ®à讫« . ਠí⮬ ¬ë ¢ëç¨á«ï¥¬ ¯®á«¥¤®¢ ⥫ì®áâì ¬ âà¨æ (0); (1); : : : ; (n), £¤¥ = (n) , ij(k) ®¯à¥¤¥«ï¥âáï ª ª ¢¥àè¨ , ¯à¥¤è¥áâ¢ãîé ï ¢¥à訥 j ªà âç ©è¥¬ ¯ã⨠¨§ ¢¥àè¨ë i ¢ ¢¥àè¨ã j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; kg. ¯¨è¥¬ ४ãà¥âãî ä®à¬ã«ã ¤«ï ij(k). ᫨ k = 0, â® ¯à®¬¥¦ãâ®çëå ¢¥àè¨ ¥â, ¯®í⮬㠥᫨ i = j ¨«¨ wij = 1, (0) ij = nil (26:6) i ¥á«¨ i = 6 j ¨ wij < 1. ãáâì ⥯¥àì k > 1. ᫨ ªà âç ©è¨© ¯ã⨠¨§ i ¢ j ¯à®å®¤¨â ç¥à¥§ ¢¥àè¨ã k, â® ¯à¥¤¯®á«¥¤¥© ¥£® ¢¥à訮© ¡ã¤¥â â ¦¥ á ¬ ï ¢¥àè¨ , ª®â®à ï ¡ã¤¥â ¯à¥¤¯®á«¥¤¥© ªà âç ©è¥¬ ¯ã⨠¨§ k ¢ j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; k ; 1g. ᫨ ¦¥ ¯ãâì ¥ ¯à®å®¤¨â ç¥à¥§ k, â® ® ᮢ¯ ¤ ¥â á ªà âç ©è¨¬ ¯ã⥬ ¨§ i ¢ j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; k ; 1g. ª¨¬ ®¡à §®¬, ij(k) = ( ij(k;1) ¥á«¨ d(ijk;1) 6 d(ikk;1) + d(kjk;1), kj(k;1) ¥á«¨ d(ijk;1) > d(ikk;1) + d(kjk;1). (26:7) ëç¨á«¥¨ï ¯® í⨬ ä®à¬ã« ¬ «¥£ª® ¤®¡ ¢¨âì ª «£®à¨â¬ã «®©¤ {®à讫« (ã¯à. 26.2-3). à¨á. 26.4 ¯®ª § ¯®á«¥¤®¢ ⥫ì®áâì ¬ âà¨æ (k), ¯®«ãç îé ïáï ¢ ¯à®æ¥áᥠ¢ëç¨á«¥¨©. ⮬ ¦¥ ã¯à ¦¥¨¨ ¯à¥¤« £ ¥âáï ¤®ª § âì, çâ® ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï G;i ï¥âáï ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩ ¨§ ¢¥àè¨ë i. à㣮© ᯮᮡ ¯®áâ஥¨ï ªà âç ©è¨å ¯ã⥩ 㪠§ ¢ ã¯à. 26.2-6. à §¨â¨¢®¥ § ¬ëª ¨¥ ®à¨¥â¨à®¢ ®£® £à ä ¤ ç ® âà §¨â¨¢®¬ § ¬ëª ¨¨ á®á⮨⠢ á«¥¤ãî饬. ®à¨¥â¨à®¢ ë© £à ä G = (V; E ) á ¢¥àè¨ ¬¨ 1; 2; : : : ; n. ॡã¥âáï ®¯à¥¤¥«¨âì ¤«ï «î¡®© ¯ àë ¥£® ¢¥àè¨ i; j 2 V , áãé¥áâ¢ã¥â «£®à¨â¬ «®©¤ -®à讫« 533 «¨ ¢ £à ä¥ ¯ãâì ¨§ ¢¥àè¨ë i ¢ ¢¥àè¨ã j . à §¨â¨¢ë¬ § ¬ëª ¨¥¬ ®à¨¥â¨à®¢ ®£® £à ä G §ë¢ ¥âáï £à ä G = (V; E ), £¤¥ E = f(i; j ) : ¢ £à ä¥ G áãé¥áâ¢ã¥â ¯ãâì ¨§ i ¢ j g: à §¨â¨¢®¥ § ¬ëª ¨¥ £à ä ¬®¦® ¢ëç¨á«¨âì § ¢à¥¬ï (n3) ¯à¨ ¯®¬®é¨ «£®à¨â¬ «®©¤ {®à讫« , áç¨â ï, çâ® ¢á¥ àñ¡à £à ä ¨¬¥îâ ¢¥á 1: ¥á«¨ áãé¥áâ¢ã¥â ¯ãâì ¨§ ¢¥àè¨ë i ¢ ¢¥àè¨ã j , â® dij ¡ã¤¥â ¬¥ì¥è n, ¢ ¯à®â¨¢®¬ á«ãç ¥ dij = 1. ¯à ªâ¨ª¥ ¡®«¥¥ ¢ë£®¤® (¢ á¬ëá«¥ ¢à¥¬¥¨ ¨ ¯ ¬ïâ¨) ¯®«ì§®¢ âìáï ¥áª®«ìª® ¤à㣨¬ ᯮᮡ®¬ ¢ëç¨á«¥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï § ¢à¥¬ï (n3). ¬¥¨¬ ¢ «£®à¨â¬¥ «®©¤ {®à讫« à¨ä¬¥â¨ç¥áª¨¥ ®¯¥à 樨 min ¨ + «®£¨ç¥áª¨¥ ®¯¥à 樨 _ ¨ ^. à㣨¬¨ á«®¢ ¬¨, ¯®«®¦¨¬ t(ijk) à ¢ë¬ 1, ¥á«¨ ¢ £à ä¥ G áãé¥áâ¢ã¥â ¯ãâì ¨§ i ¢ j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; kg, ¨ à ¢ë¬ 0, ¥á«¨ â ª®£® ¯ã⨠¥â. ¥¡à® (i; j ) ¯à¨ ¤«¥¦¨â âà §¨â¨¢®¬ã § ¬ëª ¨î G ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ t(ijn) = 1. ® «®£¨¨ á ä®à¬ã«®© (26.5) ¯¨è¥¬ á®®â®è¥¨ï ¤«ï t(ijk) : i= 6 j ¨ (i; j ) 62 E , (0) tij = 01 ¥á«¨ ¥á«¨ i = j ¨«¨ (i; j ) 2 E , ¨ (¯à¨ k > 1) t(ijk) = t(ijk;1) _ (t(ikk;1) ^ t(kjk;1)): (26:8) ᮢ ë© í⮬ á®®â®è¥¨¨ «£®à¨â¬ ¯®á«¥¤®¢ â¥«ì® ¢ëç¨á«ï¥â ¬ âà¨æë T (k) = (t(ijk)) ¤«ï k = 1; 2; : : : ; n: {\sc Transitive-Clusure}$(G)$\\ \verb|1 |$n \leftarrow |V[G]|$\\ \verb|2 |for $i\leftarrow 1$ to $n$\\ \verb|3 |do for $j\leftarrow 1$ to $n$\\ \verb|4 |do if $i=j$ or $(i,j)\in E[G]$\\ \verb|5 |then $t^{(0)}_{ij} \leftarrow 1$\\ \verb|6 |else $t^{(0)}_{ij} \leftarrow 0$\\ \verb|7 |for $k\leftarrow 1$ to $n$\\ \verb|8 |do for $i\leftarrow 1$ to $n$\\ \verb|9 |do for $j\leftarrow 1$ to $n$\\ \verb|10 |do $t^{(k)}_{ij}\leftarrow t^{(k1)}_{ij}\vee (t^{(k-1)}_{ik}\wedge t^{(k-1)}_{kj})$\\ \verb|11 |return $T^{(n)}$ à¨á. 26.5 ¯à¨¢¥¤ñ ¯à¨¬¥à £à ä ¨ ¬ âà¨æ T (k), ¢ëç¨á«¥ëå ¯à®æ¥¤ãன Transitive-Clusure. ६ï à ¡®âë ¯à®æ¥¤ãàë Transitive-Clusure á®áâ ¢«ï¥â (n3 ), ª ª ¨ ã «£®à¨â¬ «®©¤ {®à讫« . ¤ ª® ¬®£¨å 534 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ 0 B T (0) = B @ 0 B T (3) = B @ 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 C C A T (1) = B @ 1 0 C C A T (4) = B @ B B 1 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 C C A T (2) = B @ 1 B 1 0 0 1 0 1 1 0 C C A ¨á㮪 26.4 26.5 ਥâ¨à®¢ ë© £à ä ¨ ¬ âà¨æë T (k) , ¢ëç¨á«¥ë¥ «£®à¨â¬®¬ ¯®áâ஥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï. ª®¬¯ìîâ¥à å «®£¨ç¥áª¨¥ ®¯¥à 樨 ¢ë¯®«ïîâáï ¡ëáâ॥, 祬 à¨ä¬¥â¨ç¥áª¨¥ ®¯¥à 樨 á 楫묨 ç¨á« ¬¨, ¯®í⮬㠯à®æ¥¤ãà Transitive-Clusure íä䥪⨢¥¥ «£®à¨â¬ «®©¤ -®à讫« . ஬¥ ⮣®, ¨á¯®«ì§®¢ ¨¥ ¡ã«¥¢áª¨å ¯¥à¥¬¥ëå ¢¬¥á⮠楫ëå ᮪à é ¥â ®¡êñ¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨. à §¤¥«¥ 26.4 ¬ë 㢨¤¨¬, çâ® «®£¨ï ¬¥¦¤ã «£®à¨â¬ ¬¨ «®©¤ {®à讫« ¨ ¯®áâ஥¨¥¬ âà §¨â¨¢®£® § ¬ëª ¨ï ¥ á«ãç © : ®¡ «£®à¨â¬ ®á®¢ ë «£¥¡à ¨ç¥áª®© áâàãªâãà¥, §ë¢ ¥¬®© "§ ¬ªã⮥ ¯®«ãª®«ìæ®". ¯à ¦¥¨ï 26.2-1 ᯮ«¨â¥ «£®à¨â¬ «®©¤ -®à讫« ¤«ï ¢§¢¥è¥®£® ®à¨¥â¨à®¢ ®£® £à ä à¨á. 26.2, ©¤ï ¢á¥ ¬ âà¨æë D(k). 26.2-2 ¯à¨¢¥¤ñ®¬ ¬¨ ¢¨¤¥ «£®à¨â¬ «®©¤ -®à讫« âॡã¥â (n3) ¯ ¬ï⨠¤«ï åà ¥¨ï ¬ âà¨æ D(k) = (d(ijk)). ®¥ç®, ¬®¦® áíª®®¬¨âì ¬¥áâ®, ¥á«¨ åà ¨âì ⮫쪮 ¤¢¥ á®á¥¤¨¥ ¬ âà¨æë. ª §ë¢ ¥âáï, ¬®¦® ¯®©â¨ ¥éñ ¤ «ìè¥: ¤®ª §¨â¥, çâ® ¥á«¨ ¢ ¯à®æ¥¤ãॠFloyd-Warshall ã¡à âì ¢¥à娥 ¨¤¥ªáë, â® ® ¯®¯à¥¦¥¬ã ¡ã¤¥â ¢ëç¨á«ïâì ¢¥á ªà âç ©è¨å ¯ã⥩. {\sc Floyd-Warshall'}$(W)$\\ \verb|1 |$n \leftarrow rows[W]$\\ \verb|2 |$D \leftarrow W$\\ \verb|3 |for $k \leftarrow 1$ to $n$\\ \verb|4 |do for $i \leftarrow 1$ to $n$\\ \verb|5 |do for $j \leftarrow 1$ to $n$\\ \verb|6 |$d_{ij} \leftarrow \min(d_{ij}, d_{ik}+d_{kj})$\\ \verb|7 |return $D$ ¥¬ á ¬ë¬ ¬ë ᮪à ⨫¨ ®¡êñ¬ âॡ㥬®© ¯ ¬ï⨠¤® (n2). 26.2-3 ®¡ ¢ì⥠¢ ¯à®æ¥¤ãàã Floyd-Warshall ¢ëç¨á«¥¨¥ ¬ âà¨æ ¯à¥¤è¥á⢮¢ ¨ï (k) ¯® ä®à¬ã« ¬ (26.6) ¨ (26.7). ®ª ¦¨â¥, çâ® ¤«ï «î¡®© ¢¥àè¨ë i 2 V ¯®¤£à ä ¯à¥¤è¥á⢮¢ ¨ï G;i ï¥âáï ¤¥à¥¢®¬ ªà âç ©è¨å ¯ã⥩ ¨§ ¢¥àè¨ë i. 26.2-4 㤥⠫¨ ¯à ¢¨«ì® ¢ëç¨á«¥ ¬ âà¨æ ¯à¥¤è¥á⢮¢ ¨ï 0 1 1 1 0 1 1 1 1 C C A «£®à¨â¬ «®©¤ -®à讫« 535 , ¥á«¨ ¨§¬¥¨âì ä®à¬ã«ã (26.7) â ª: ( ij(k;1) ¥á«¨ d(ijk;1) < d(ikk;1) + d(kjk;1), kj(k;1) ¥á«¨ d(ijk;1) > d(ikk;1) + d(kjk;1). 26.2-5 ª ¬®¦® ¨á¯®«ì§®¢ âì १ã«ìâ â à ¡®âë «£®à¨â¬ «®©¤ {®à讫« , ç⮡ë 㧠âì, ¥áâì «¨ ¢ £à ä¥ æ¨ª« ®âà¨æ ⥫쮣® ¢¥á ? 26.2-6 é¥ ®¤¨ ᯮᮡ ¯®áâ஥¨ï ªà âç ©è¨å ¯ã⥩ ¢ «£®à¨â¬¥ «®©¤ -®à讫« â ª®¢. ãáâì '(ijk) (i; j; k = 1; 2; : : : ; n) ¥áâì ¯à®¬¥¦ãâ®ç ï ¢¥àè¨ á ¬ ªá¨¬ «ìë¬ ®¬¥à®¬ ªà âç ©è¥¬ ¯ã⨠¨§ i ¢ j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; : : : ; kg. ¯¨è¨â¥ ४ãà¥â®¥ á®®â®è¥¨¥ ¤«ï '(ijk) ¨ ¤®¯®¨â¥ ¯à®æ¥¤ãàã Floyd-Warshall ¢ëç¨á«¥¨¥¬ § 票© '(ijk). ª®¥æ, ¨§¬¥¨â¥ äãªæ¨î Print-All-Pairs-ShortestPaths â ª, çâ®¡ë ¢å®¤®¬ ¤«ï ¥ñ á«ã¦¨« ¬ âà¨æ = ('(ijn)). ¡êïá¨â¥ «®£¨î ¬¥¦¤ã ¬ âà¨æ¥© ¨ â ¡«¨æ¥© s ¢ § ¤ ç¨ ®¡ ®¯â¨¬ «ì®© à ááâ ®¢ª¥ ᪮¡®ª ¢ ¯à®¨§¢¥¤¥¨¨ ¬ âà¨æ (à §¤¥« 16.1). 26.2-7 ਤ㬠©â¥ «£®à¨â¬ ¢ëç¨á«¥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ) á ¢à¥¬¥¥¬ à ¡®âë O(V E ). 26.2-8 ।¯®«®¦¨¬, çâ® âà §¨â¨¢®¥ § ¬ëª ¨¥ ®à¨¥â¨à®¢ ®£® 横«¨ç¥áª®£® £à ä ¬®¦¥â ¡ëâì ¯®áâ஥® § ¢à¥¬ï f (V; E ), £¤¥ f (V; E ) = (V + E ) ¨ f | ¬®®â®® ¢®§à áâ îé ï äãªæ¨ï. ®ª ¦¨â¥, ç⮠⮣¤ âà §¨â¨¢®¥ § ¬ëª ¨¥ ¯à®¨§¢®«ì®£® ®à¨¥â¨à®¢ ®£® £à ä ¬®¦¥â ¡ëâì ¯®áâ஥® § ¢à¥¬ï O(f (V; E )). «£®à¨â¬ ¦®á® ¤«ï à §à¥¦¥ëå £à 䮢 «£®à¨â¬ ¦®á® 室¨â ªà âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ § ¢à¥¬ï O(V 2 lg V + V E ), ¨ ¯®í⮬㠤«ï ¤®áâ â®ç® à §à¥¦¥ëå £à 䮢 íä䥪⨢¥¥ ¯®¢â®à®£® ¢®§¢¥¤¥¨ï ¢ ª¢ ¤à â ¬ âà¨æë ᬥ¦®á⨠£à ä ¨ «£®à¨â¬ «®©¤ -®à讫« . «£®à¨â¬ ¦®á® «¨¡® ¢®§¢à é ¥â ¬ âà¨æã ¢¥á®¢ ªà âç ©è¨å ¯ã⥩, «¨¡® á®®¡é ¥â, çâ® ¢ £à ä¥ ¨¬¥¥âáï 横« ®âà¨æ ⥫쮣® ¢¥á . â®â «£®à¨â¬ ᮤ¥à¦¨â ¢ë§®¢ë ®¯¨á ëå ¢ £« ¢¥ 25 «£®à¨â¬®¢ ¥©ªáâàë ¨ ¥««¬ -®à¤ . «£®à¨â¬ ¦®á® ®á®¢ ¨¤¥¥ ¨§¬¥¥¨ï ¢¥á®¢ (reweighting). ᫨ ¢¥á ¢á¥å àñ¡¥à £à ä ¥®âà¨æ ⥫ìë, â® ¬®¦® ©â¨ ªà âç ©è¨¥ ¯ã⨠¬¥¦¤ã ¢á¥¬¨ ¯ à ¬¨ ¢¥àè¨, ¯à¨¬¥¨¢ «£®à¨â¬ ¥©ªáâàë ª ª ¦¤®© ¢¥à訥. ᯮ«ì§ãï 䨡® ç稥¢ë ªãç¨, ¬ë ¬®¦¥¬ ᤥ« âì íâ® § ¢à¥¬ï O(V 2 lg V + V E ). ᫨ ¦¥ ¢ £à ä¥ ¨¬¥îâáï ॡà á ®âà¨æ ⥫ìë¬ ¢¥á®¬, â® ¬®¦® ¯®¯ëâ âìáï ᢥá⨠§ ¤ çã ª á«ãç î ¥®âà¨æ ⥫ìëå ¢¥á®¢, ¨§¬¥¨¢ ¢¥á®¢ãî äãªæ¨î. ਠí⮬ ¤®«¦ë ¢ë¯®«ïâìáï â ª¨¥ ᢮©á⢠: 1. à âç ©è¨¥ ¯ã⨠¥ ¨§¬¥¨«¨áì: ¤«ï «î¡®© ¯ àë ¢¥àè¨ u; v 2 V , ªà âç ©è¨© ¯ãâì ¨§ u ¢ v á â®çª¨ §à¥¨ï ¢¥á®¢®© äãªæ¨¥© w ij(k) = 536 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ï¢«ï¥âáï â ª¦¥ ªà âç ©è¨¬ ¯ãâñ¬ á â®çª¨ §à¥¨ï w^ ¨ ®¡®à®â. 2. ᥠ®¢ë¥ ¢¥á w^(u; v ) ¥®âà¨æ ⥫ìë. ª ¬ë 㢨¤¨¬, ®¢ ï ¢¥á®¢ ï äãªæ¨ï w^ á â ª¨¬¨ ᢮©á⢠¬¨ ¬®¦¥â ¡ëâì ¯®áâ஥ § ¢à¥¬ï O(V E ). à âç ©è¨¥ ¯ã⨠á®åà ïîâáï «¥¤ãîé ï «¥¬¬ 㪠§ë¢ ¥â ¯à®á⮩ ®¡é¨© ᯮᮡ ¨§¬¥¨âì ¢¥á®¢ãî äãªæ¨î, ¥ ¬¥ïï ªà âç ©è¨å ¯ã⥩. ¥ñ ä®à¬ã«¨à®¢ª¥ ¤«¨ë ªà âç ©è¨å ¯ã⥩ á ¢¥á®¢ë¬¨ äãªæ¨ï¬¨ w ¨ w^ ®¡®§ ç îâáï ç¥à¥§ ¨ ^ ᮮ⢥âá⢥®. ¥¬¬ 26.1 (§¬¥¥¨¥ ¢¥á®¢ ¥ ¬¥ï¥â ªà âç ©è¨å ¯ã⥩) ãáâì G = (V; E ) | ¢§¢¥è¥ë© ®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨¥© w : E ! . ãáâì h : V ! | ¯à®¨§¢®«ì ï äãªæ¨ï á ¢¥é¥á⢥묨 § 票ﬨ, ®¯à¥¤¥«ñ ï ¢¥àè¨ å £à ä . áᬮâਬ ®¢ãî ¢¥á®¢ãî äãªæ¨î w^ (u; v ) = w(u; v) + h(u) ; h(v): (26:9) ®£¤ (a) ¯à®¨§¢®«ìë© ¯ãâì p = hv0; v1; : : : ; vk i ï¥âáï ªà âç ©è¨¬ ®â®á¨â¥«ì® w ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ® ¡ã¤¥ââ ªà âç ©è¨¬ ®â®á¨â¥«ì® w^; (b) £à ä G ᮤ¥à¦¨â 横« á ®âà¨æ ⥫ìë¬ w-¢¥á®¬ ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ® ᮤ¥à¦¨â 横« á ®âà¨æ ⥫ìë¬ w^-¢¥á®¬. ®ª § ⥫ìá⢮. ¡ ã⢥ত¥¨ï «¥¬¬ë á«¥¤ãîâ ¨§ à ¢¥á⢠w^ (p) = w(p) + h(v0) ; h(vk ): (26:10) á ¬®¬ ¤¥«¥, ¨§ ¥£® á«¥¤ã¥â, çâ® ¤«ï ¯ã⥩ á 䨪á¨à®¢ 묨 ç «®¬ ¨ ª®æ®¬ à §¨æ ¬¥¦¤ã áâ àë¬ ¨ ®¢ë¬ ¢¥á®¬ ¯®áâ®ï (⥬ á ¬ë¬ ®¤¨ ¨ â®â ¦¥ ¯ãâì ¡ã¤¥â ªà âç ©è¨¬). ஬¥ ⮣®, ¢¨¤®, çâ® ¤«ï 横«®¢ á㬬 àë© ¢¥á ¢ áâ ஬ ¨ ®¢®¬ á¬ëá«¥ ®¤¨ ª®¢, â ª ª ª à §¨æ h(v0) ; h(vk ) ®¡à é ¥âáï ¢ 0. ¢¥á⢮ (26.10) ¯à®¢¥à¨âì «¥£ª®. «ï ª ¦¤®£® à¥¡à ¯ã⨠¨¬¥¥¬ w^(vi ; vi+1) = w(vi; vi+1) + h(vi) ; h(vi+1 ): ᫨ ¬ë ⥯¥àì á«®¦¨¬ íâ¨ à ¢¥á⢠¤«ï ¢á¥å àñ¡¥à, â® ¯à®¬¥¦ãâ®çë¥ ç«¥ë ᮪à âïâáï, ¨ ¯®«ãç¨âáï à ¢¥á⢮ (26.10). ª ¯®«ãç¨âì ¥®âà¨æ ⥫ìë¥ ¢¥á ? ¥¯¥àì ¤® ¯®¤®¡à âì äãªæ¨î h â ª, çâ® ¡ë ¨§¬¥ñë¥ ¢¥á w^(u; v ) ¡ë«¨ ¥®âà¨æ ⥫ìë. â® ¬®¦® ᤥ« âì á«¥¤ãî騬 ®¡à §®¬. ® ¤ ®¬ã ®à¨¥â¨à®¢ ®¬ã ¢§¢¥è¥®¬ã £à äã G = (V; E ) á ¢¥á®¢®© äãªæ¨¥© w ¯®áâந¬ ®¢ë© £à ä G0 = (V 0; E 0) á ®¤®© ¤®¯®«¨â¥«ì®© ¢¥à訮© s (¤à㣨¬¨ á«®¢ ¬¨, V 0 = V [ fsg), ¨§ ª®â®à®© ¨¤ãâ àñ¡à ã«¥¢®£® ¢¥á ¢® ¢á¥ ¢¥àè¨ë £à ä V (E 0 = E [ f(s; v ) : v 2 V g ¨ w(s; v ) = 0 ¤«ï ¢á¥å v 2 V ). ¬¥â¨¬, çâ® ¢¥àè¨ s ¬®¦¥â ¡ëâì «¨èì ç «ì®© ¢¥à訮© ¢ ¯ã⨠(¢å®¤ïé¨å ¢ s àñ¡¥à ¥â). 祢¨¤®, çâ® ®¢ë© £à ä G0 ᮤ¥à¦¨â R R «£®à¨â¬ «®©¤ -®à讫« 537 横« ®âà¨æ ⥫쮣® ¢¥á ⮣¤ ¨ ⮫쪮 ⮣¤ , â ª®© 横« ¥áâì ¢ ¨á室®¬ £à ä¥ G. à¨á. 26.6 (a) ¯®ª § £à ä G0, ᮮ⢥âáâ¢ãî騩 £à äã G à¨á. 26.1. ।¯®«®¦¨¬ ⥯¥àì, çâ® £à ä G ( ¯®â®¬ã ¨ G0) ¥ ᮤ¥à¦¨â 横« ®âà¨æ ⥫쮣® ¢¥á . ®«®¦¨¬ h(v) = (s; v) ¤«ï 8v 2 V 0. ®£« á® «¥¬¬¥ 25.3, ¤«ï ¢á¥å àñ¡¥à (u; v) 2 E 0 ¢ë¯®«¥® ¥à ¢¥á⢮ h(v) 6 h(u) + w(u; v), ª®â®à®¥ ¬®¦® ¯¥à¥¯¨á âì ª ª w(u; v) + h(u) ; h(v ) > 0. à㣨¬¨ á«®¢ ¬¨, ®¢ ï ¢¥á®¢ ï äãªæ¨ï, ®¯à¥¤¥«ñ ï ä®à¬ã«®© (26.9), ¥®âà¨æ ⥫ì . à¨á. 26.6(b) ¯®ª § ë ®¢ë¥ ¢¥á àñ¡¥à £à ä G0 à¨á. 26.6(a). ëç¨á«¥¨¥ ªà âç ©è¨å ¯ã⥩ ª ¬ë ¢¨¤¨¬, ®âë᪠¨¥ ªà âç ©è¨å ¯ã⥩ ¤«ï ¯à®¨§¢®«ì®£® £à ä ¡¥§ 横«®¢ ®âà¨æ ⥫쮣® ¢¥á ¬®¦® ᤥ« âì ¢ ¤¢ ¯à¨ñ¬ : á ç « ¬ë ¨é¥¬ ªà âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë s (¤«ï 祣® £®¤¨âáï «£®à¨â¬ ¥««¬ {®à¤ ), ¯®á«¥ í⮣® ¨§¬¥ï¥¬ ¢¥á ¨ ¯®«ãç ¥¬ £à ä á ¥®âà¨æ ⥫ì묨 ¢¥á ¬¨, ¢ ª®â®à®¬ ¨é¥¬ ªà âç ©è¨¥ ¯ãâ¨ á ¯®¬®éìî «£®à¨â¬ ¥©ªáâàë, ¯à¨¬¥ñ®£® ¯®á«¥¤®¢ â¥«ì® ª® ¢á¥¬ ¢¥àè¨ ¬. ¯¨è¥¬ ᮮ⢥âáâ¢ãîéãî ¯à®æ¥¤ãàã. ë áç¨â ¥¬, çâ® £à ä § ¤ á ¯®¬®éìî ᯨ᪮¢ ᬥ¦ëå ¢¥àè¨. à®æ¥¤ãà ¢®§¢à é ¥â ¬ âà¨æã D = (dij ) à §¬¥à jV j jV j, £¤¥ dij = ij , ¨«¨ ¦¥ á®®¡é ¥â ® «¨ç¨¨ ¢ £à ä¥ æ¨ª«®¢ á ®âà¨æ ⥫ì묨 ¢¥á ¬¨. (ë ¯à¥¤¯®« £ ¥¬, çâ® ¢¥àè¨ë £à ä G ¯à®ã¬¥à®¢ ë ®â 1 ¤® jV j.) {\sc Johnson}$(G)$\\ \verb|1 |ᮧ¤ âì £à ä $G'$, ¤«ï ª®â®à®£® $V[G']=V[G]\cup\{s\}$ ¨\\ \verb| |$E[G']=E[G]\cup\{(s,v):\ v\in V[G]\}$\\ \verb|2 |if {\sc Bellmann-Ford}$(G',w,s)=${\sc false}\\ \verb|3 |then print ``¨¬¥¥âáï 横« ®âà¨æ ⥫쮣® ¢¥á ''\\ \verb|4 |else for (¤«ï) ª ¦¤®© ¢¥àè¨ë $v\in V[G']$\\ \verb|5 |do $h(v)\leftarrow\delta(s,v)$,\\ \verb| |(§ 票¥ $\delta(s,v)$ ¢ëç¨- á«¥® «£®à¨â¬®¬ \verb|6 \verb|7 h(v)$\\ \verb|8 \verb|9 \verb| ¥««¬ --®à¤ )\\ |for (¤«ï) ª ¦¤®£® ॡà $(u,v)\in E[G']$\\ |do $\hat w(u,v)\leftarrow w(u,v)+h(u)|for (¤«ï) ª ¦¤®© ¢¥àè¨ë $u\in V[G]$\\ |do {\sc Dijkstra}$(G,\hat w,u)$\\ |(¢ëç¨á«¥¨¥ $\hat\delta(u,v)$ ¤«ï ¢á¥å $v\in V[G])$\\ |for (¤«ï) ª ¦¤®© ¢¥àè¨ë $v\in V[G]$\\ |do $d_{uv}\leftarrow\hat\delta(u,v)+h(v)- \verb|10 \verb|11 h(u)$\\ \verb|12 |return $D$ 538 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ¨á㮪 26.5 26.6 «£®à¨â¬ ¦®á® ¢ ¯à¨¬¥¥¨¨ ª £à äã à¨á. 26.1. (a) à ä G0 á ¨á室®© ¢¥á®¢®© äãªæ¨© w. ᯮ¬®£ ⥫ì ï ¢¥àè¨ s | çñà ï. ãâਠª ¦¤®© ¢¥àè¨ë v § ¯¨á ® § 票¥ h(v) = (s; v). (b) ¦¤®¬ã ॡàã (u; v) ¯à¨¯¨á ®¢ë© ¢¥á w^ (u; v) = w(u; v) + h(u) ; h(v). (c){(g) ¥§ã«ìâ âë à ¡®âë «£®à¨â¬ ¥©ªáâàë ¤«ï ¢á¥å ¢¥àè¨ £à ä G á ¢¥á®¢®© äãªæ¨tq w^ . ª ¦¤®¬ á«ãç ¥ ç «ì ï ¢¥àè¨ ¢ë¤¥«¥ çñàë¬. ãâਠª ¦¤®© ¢¥àè¨ë § ¯¨á ë ¢¥«¨ç¨ë ^(u; v)=(u; v). ¥á ªà âç ©è¥£® ¯ã⨠duv = (u; v) à ¢¥ ^(u; v) + h(v) ; h(u). â ¯à®æ¥¤ãà á«¥¤ã¥â ®¯¨á ®© á奬¥. áâப¥ 1 ä®à¬¨àã¥âáï £à ä G0, § ⥬ ¢ áâப¥ 2 ª ¥¬ã ¯à¨¬¥ï¥âáï «£®à¨â¬ ¥««¬ ®à¤ (¯à¨ í⮬ ¨á¯®«ì§ã¥âáï ¢¥á®¢ ï äãªæ¨ï w). ᫨ ¢ G0 ( § ç¨â, ¨ ¢ G) ¥áâì 横« ®âà¨æ ⥫쮣® ¢¥á , â® ®¡ í⮬ á®®¡é ¥âáï ¢ áâப¥ 3. âப¨ 4{11 ¢ë¯®«ïîâáï, ¥á«¨ ¢ £à ä¥ â ª®£® 横« ¥â. áâப å 4{5 ¢ëç¨á«ïîâáï § 票ï äãªæ¨¨ h(v) ¤«ï ¢á¥å ¢¥àè¨ v 2 V 0 (¢¥á ªà âç ©è¨å ¯ã⥩ (s; v), ©¤¥ë¥ «£®à¨â¬®¬ ¥««¬ -®à¤ ). áâப å 6{7 ¢ëç¨á«ïîâáï ®¢ë¥ ¢¥á àñ¡¥à. áâப å 8{11 ¤«ï ª ¦¤®© ¢¥àè¨ë u 2 V [G] ¢ë§ë¢ ¥âáï «£®à¨â¬ ¥©ªáâàë ¨ ®¯à¥¤¥«ïîâáï ¢¥á ªà âç ©è¨å ¯ã⥩ ^(u; v) ¨§ í⮩ ¢¥àè¨ë, § ⥬ ®¨ ¯¥à¥áç¨âë¢ îâáï ¢ (u; v) ¯® ä®à¬ã«¥ (26.10), ¨ ®â¢¥â ¯®¬¥é ¥âáï ¢ ¬ áᨢ¥ D. à¨á. 26.6 ¯®ª § ¯à¨¬¥à ¢ë¯®«¥¨ï «£®à¨â¬ ¦®á® . ¥âà㤮 ¯®¤áç¨â âì, çâ® ¢à¥¬ï à ¡®âë «£®à¨â¬ ¦®á® á®áâ ¢¨â O(V 2 lg V +V E ), ¥á«¨â ¨á¯®«ì§®¢ âì 䨡® ç稥¢ã ªãç¨ ¤«ï åà ¥¨ï ®ç¥à¥¤¨ á ¯à¨®à¨â¥â ¬¨ ¢ ¢ «£®à¨â¬¥ ¥©ªáâàë. ਠ¡®«¥¥ ¯à®á⮩ ॠ«¨§ 樨 ®ç¥à¥¤¨ ¢ ¢¨¤¥ ¤¢®¨ç®© ªãç¨ ®¡é¥¥ ¢à¥¬ï à ¡®âë á®áâ ¢¨â O(V E lg V ), çâ® ¬¥ìè¥, 祬 ®æ¥ª O(V 3) ¤«ï «£®à¨â¬ «®©¤ -®à讫« , ¥á«¨ ⮫쪮 £à ä ¤®áâ â®ç® à §à¥¦¥. ¯à ¦¥¨ï 26.3-1 ਬ¥¨â¥ «£®à¨â¬ ¦®á® ª £à äã à¨á. 26.2, ©¤ï § 票ï h ¨ w^. 26.3-2 ª¨¬ ®¡à §®¬ ¨á¯®«ì§ã¥âáï ¢á¯®¬®£ ⥫ì ï ¢¥àè¨ ¢ ¢ «£®à¨â¬¥ ¦®á® ? 26.3-3 ਬ¥¨¬ «£®à¨â¬ ¦®á® ª £à äã, ¢ ª®â®à®¬ ¨á室 ï ¢¥á®¢ ï äãªæ¨ï á ¬ ¥®âà¨æ ⥫ì . â® ¬®¦® ᪠§ âì ® ®¢®© ¢¥á®¢®© äãªæ¨¨ ¢ í⮬ á«ãç ¥? 26.4* ¬ªãâë¥ ¯®«ãª®«ìæ : ®¡é ï á奬 ¤«ï § ¤ ç ® ¯ãâïå í⮬ à §¤¥«¥ ¬ë ¢¢¥¤ñ¬ ¯®ïâ¨ï § ¬ªã⮣® ¯®«ãª®«ìæ ¨ ¤ ¤¨¬ ®¡éãî á奬ã à¥è¥¨ï § ¤ ç ® ¯ãâïå ¢ ®à¨¥â¨à®¢ ëå £à ä å. ਠí⮬ «£®à¨â¬ «®©¤ {®à讫« ¨ «£®à¨â¬ ¯®áâ஥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï £à ä ®ª ¦ãâáï ç áâ묨 á«ãç ﬨ í⮩ ®¡é¥© á奬ë. ¯à¥¤¥«¥¨¥ § ¬ªã⮣® ¯®«ãª®«ìæ ¬ªãâë¬ ¯®«ãª®«ì殬 (S; ; ; 0; 1) (¯®- £«¨©áª¨ closed semiring) §ë¢ ¥âáï ¬®¦¥á⢮ S á ®¯à¥¤¥«ñ묨 ¥¬ ¡¨- «£®à¨â¬ «®©¤ -®à讫« 539 à묨 ®¯¥à æ¨ï¬¨ á«®¦¥¨ï ¨ 㬮¦¥¨ï (¢ £«¨©áª®¬ ®à¨£¨ «¥ ¨á¯®«ì§ãîâáï â¥à¬¨ë summary ¨ extension), â ª¦¥ í«¥¬¥â ¬¨ 0; 1 2 S , ¤«ï ª®â®à®£® ¢ë¯®«¥ë â ª¨¥ ᢮©á⢠: 1. (S; ; 0) ï¥âáï ¬®®¨¤®¬ (monoid): S § ¬ªãâ® (is closed) ®â®á¨â¥«ì® , â® ¥áâì a b 2 S ¤«ï ¢á¥å a; b 2 S ; ®¯¥à æ¨ï áá®æ¨ ⨢ (is associative): a (b c) = (a b) c ¤«ï ¢á¥å a; b; c 2 S ; 0 | ¥©âà «ìë© í«¥¬¥â (is an identity) ¤«ï , â® ¥áâì a 0 = 0 a = a ¤«ï ¢á¥å a 2 S ; (S; ; 1) â ª¦¥ ï¥âáï ¬®®¨¤®¬; 2. «¥¬¥â 0 | ã«ïâ®à (annihilator): a 0 = 0 a = 0 ¤«ï ¢á¥å a 2 S ; 3. ¯¥à æ¨ï ª®¬¬ãâ ⨢ (is commutative): a b = b a ¤«ï ¢á¥å a; b 2 S . 4. ¯¥à æ¨ï ¨¤¥¬¯®â¥â (is idempotent): a a = a; 5. ¯¥à æ¨ï ¤¨áâਡã⨢ ®â®á¨â¥«ì® (distributes over ): a (b c) = (a b) (a c) ¨ (b c) a = (b a) (c a) ¤«ï ¢á¥å a; b; c. 6. ®¦® ¯à®¤®«¦¨âì ®¯¥à æ¨î ¡¥áª®¥çë¥ ¯®á«¥¤®¢ ⥫ì®áâ¨, § ¤ ç ¤«ï «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠a1; a2; a3; : : : í«¥¬¥â®¢ S ¥ñ á㬬ã a1 a2 a3 2 S . ਠí⮬ 㫨 (í«¥¬¥âë 0) ¢ ¡¥áª®¥ç®© á㬬¥ ¬®¦® ¢ëª¨¤ë¢ âì; ¥á«¨ ¯à¨ í⮬ ® ¯à¥¢à é ¥âáï ª®¥çãî, â® ¤®«¦ ᮢ¯ ¤ âì á á㬬®© ¢ ¯à¥¦¥¬ á¬ëá«¥. 7. ¯¥à æ¨ï ¡¥áª®¥ç®£® á㬬¨à®¢ ¨ï ®¡« ¤ ¥â ᢮©á⢠¬¨ áá®æ¨ ⨢®áâ¨, ª®¬¬ãâ ⨢®á⨠¨ ¨¤¥¬¯®â¥â®áâ¨. (¥¬ á ¬ë¬, ¢ «î¡®© ¡¥áª®¥ç®© á㬬¥ ¬®¦® ¯à®¨§¢®«ì® ¬¥ïâì ¯®à冷ª á« £ ¥¬ëå ¨ 㤠«ïâì ¯®¢â®àïî騥áï í«¥¬¥âë, ¡¥§ ¨§¬¥¥¨ï १ã«ìâ â .) 8. ¯¥à æ¨ï ¤¨áâਡã⨢ ®â®á¨â¥«ì® ¡¥áª®¥çëå á㬬: a (b1 b2 b3 : : : ) = (a b1) (a b2) (a b3) : : : ¨ (a1 a2 a3 ) b = (a1 b) (a2 b) (a3 b) . áç¨á«¥¨¥ ¯ã⥩ ¢ ®à¨¥â¨à®¢ ëå £à ä å ¬ªãâë¥ ¯®«ãª®«ìæ , ¥á¬®âàï áâ®«ì ¡áâà ªâ®¥ ®¯à¥¤¥«¥¨¥, â¥á® á¢ï§ ë á ¯ãâﬨ ¢ ®à¨¥â¨à®¢ ëå £à ä å. áᬮâਬ ®à¨¥â¨à®¢ ë© £à ä G = (V; E ) á § ¤ ®© ñ¬ äãªæ¨¥© à §¬¥âª¨ (labeling function) : V V ! S . ë ¡ã¤¥¬ áç¨â âì, çâ® íâ äãªæ¨ï § ¤ ¥ ⮫쪮 àñ¡à å, ® ¨ «î¡ëå ¯ à å ¢¥àè¨, ¯®« £ ï, çâ® ¤«ï ¯ à (u; v), ¥ ïîé¨åáï àñ¡à ¬¨, § 票¥ (u; v) à ¢® 0, â ª çâ® ¯® áãé¥áâ¢ã äãªæ¨ï § ¤ ñâáï ¬¥âª ¬¨ àñ¡à å (labels of edges) ¯à¥¤¥«¨¬ ⥯¥àì ¯®ï⨥ ¬¥âª¨ ¯ã⨠(path label). ¬¥®, ¤«ï «î¡®£® ¯ã⨠p = hv1; v2; : : : ; vki ¬ë ¡ã¤¥¬ §ë¢ âì ¥£® ¬¥âª®© (p) 540 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ¯à®¨§¢¥¤¥¨¥ (p) = (v1; v2) (v2; v3) (vk;1 ; vk ): ¤¨¨çë© í«¥¬¥â 1 ¤«ï 㬮¦¥¨ï ¡ã¤¥â ¬¥âª®© ¯ãá⮣® ¯ã⨠(¤«¨ë 0). ᫨ ¯ãâì p ¥ ï¥âáï ¯ãâñ¬ ¢ £à ä¥ (â® ¥áâì ¯à¨ ¥ª®â®à®¬ i ¯ à (vi; vi+1) ¥ ï¥âáï ॡ஬), â® ¢ ¢ëà ¦¥¨¨ ¤«ï (p) ®¤¨ ¨§ ¬®¦¨â¥«¥© ¨ ¯®â®¬ã ¢áñ ¯à®¨§¢¥¤¥¨¥ (á¬. ¯ãªâ 2 ®¯à¥¤¥«¥¨ï § ¬ªã⮣® ¯®«ãª®«ìæ ) à ¢ë 0. ë ¡ã¤¥¬ ¨««îáâà¨à®¢ âì ¯à¨¬¥¥¨¥ § ¬ªãâëå ¯®«ãª®«¥æ ¯à¨¬¥à¥ § ¤ ç¨ ® ªà âç ©è¨å ¯ãâïå (¤«ï á«ãç ï ¥®âà¨æ ⥫ìëå ¢¥á®¢). ª ç¥á⢥ S ¢®§ì¬ñ¬ ¬®¦¥á⢮ S = >0 [f1g (¬®¦¥á⢮ ¥®âà¨æ ⥫ìëå ¢¥é¥á⢥ëå ç¨á¥« á ¤®¡ ¢«¥®© (¯«îá) ¡¥áª®¥ç®áâìî). ®£¤ ¢¥á ¢á¥å àñ¡¥à ¡ã¤ãâ í«¥¬¥â ¬¨ S . ¯¥à 樥© "㬮¦¥¨ï" ¡ã¤¥â ®¡ë箥 á«®¦¥¨¥; çâ®¡ë ¥ § ¯ãâ âìáï, ®âë¥ ¬ë ¡ã¤¥¬ ¡à âì ¢ ª ¢ë窨 á«®¢ "¯à®¨§¢¥¤¥¨¥", "á㬬 " ¨ â.¯., ¥á«¨ ®¨ ®â®áïâáï ª ®¯¥à ¨ï¬ ¢ ¯®«ãª®«ìæ¥. ®£¤ " ¯à®¨§¢¥¤¥¨¥¬" ¬¥â®ª àñ¡à å ¢¤®«ì ¯ã⨠¡ã¤¥â á㬬 ¢¥á®¢ àñ¡¥à, â® ¥áâì ¢¥á ¯ãâ¨. " ¤¨¨æ¥©" ¯®«ãª®«ìæ ¡ã¤¥â ¥©âà «ìë© í«¥¬¥â ®â®á¨â¥«ì® á«®¦¥¨ï, â® ¥áâì 0: ¬®¦® ¯¨á âì 1 = 0. ¥âª ¯ãá⮣® ¯ã⨠(®¡®§ 稬 ¥£® ") ¡ã¤¥â à ¢ ã«î: (") = w(") = 0 = 1. ®§¢à é ïáì ª ®¡é¥© á¨âã 樨, ®¯à¥¤¥«¨¬ ᮥ¤¨¥¨¥, ¨«¨ ª®ª ⥠æ¨î (concatenation) ¤¢ãå ¯ã⥩ p1 = hv1; v2; : : : ; vk i ¨ p2 = hvk ; vk+1; : : : ; vli ª ª ¯ãâì p1 p2 = hv1; v2; : : : ; vk ; vk+1 ; : : : ; vli; (ᮥ¤¨¥¨¥ ¨¬¥¥â á¬ëá«, ¥á«¨ ª®¥æ ¯¥à¢®£® ¯ã⨠ᮢ¯ ¤ ¥â á ç «®¬ ¢â®à®£®). áá®æ¨ ⨢®áâì "㬮¦¥¨ï" £ à â¨àã¥â ¬, çâ® ¬¥âª ᮥ¤¨¥¨ï ¯ã⥩ à ¢ "¯à®¨§¢¥¤¥¨î" ¨å ¬¥â®ª: (p1 p2) = (v1; v2) (v2; v3) (vk;1; vk ) (vk; vk+1) (vk+1; vk+2) (vl;1; vl) = ((v1; v2) (v2; v3) (vk;1 ; vk )) : ((vk ; vk+1 ) (vk+1; vk+2 ) (vl;1; vl)) = (p1) (p2) ª ¬ë 㢨¤¨¬, à §«¨çë¥ § ¤ ç¨ ® ¯ãâïå ¬®£ãâ à áᬠâਢ âìáï ª ª ç áâë¥ á«ãç ¨ â ª®© ®¡é¥© § ¤ ç¨. ® § ¬ªã⮥ ¯®«ãª®«ìæ® ¨ £à ä á ¬¥âª ¬¨ àñà å; ©â¨ (¤«ï ¢á¥å ¯ à ¢¥àè¨ i; j 2 V ) áã¬¬ë ¬¥â®ª ¯® ¢á¥¬ ¢®§¬®¦ë¬ ¯ãâï¬ ¨§ i ¢ j: O lij = (p): (26:11) R ipj â "á㬬 " ¬®¦¥â ¡ëâì ¡¥áª®¥ç®© (¯ã⥩ ¨§ i ¢ j ¬®¦¥â ¡ëâì ¡¥áª®¥ç® ¬®£®). ਠ¥ñ ¢ëç¨á«¥¨¨ ¬®¦® ¢ª«îç âì ¨ «£®à¨â¬ «®©¤ -®à讫« 541 ¨á㮪 26.6 26.7 㬬㠬¥â®ª ¯ã⥩ p1 p2 ¨ p1 p3 ¬®¦® § ¯¨á âì ª ª ((p1 ) (p2 )) ((p1 ) (p3 )). ® ᢮©áâ¢ã ¤¨áâਡã⨢®á⨠íâ® ¢ëà ¦¥¨¥ à ¢® (p1 ) ((p2 ) (p3 )). ¨á㮪 26.7 26.8 « £®¤ àï 横«ã c ¨¬¥¥âáï ¡¥áª®¥ç® ¬®£® ¯ã⥩ ¨§ ¢¥àè¨ë v ¢ ¢¥àè¨ã x, ¨¬¥®, p1 p2 , p1 c p2 , p1 c c p2 ¨ â.¤. ¯ãâ¨, ¯à®å®¤ï騥 ¯® ®âáãâáâ¢ãî騬 ¢ £à ä¥ àñ¡à ¬: ª ª ¬ë ¤®£®¢®à¨«¨áì, ¬¥âª¨ â ª¨å àñ¡¥à à ¢ë 0, ¯®í⮬㠨 ¬¥âª¨ íâ¨å ¯ã⥩ à ¢ë 0 ¨ ¯® 襬㠯।¯®«®¦¥¨î (᢮©á⢮ 6) "á㬬ã" â ª¨¥ ¯ã⨠¥ ¢«¨ïîâ. ®¬¬ãâ ⨢®áâì ¨ áá®æ¨ ⨢®áâì ®¯¥à â®à (᢮©á⢮ 7) ¯®§¢®«ïîâ ¬ ¥ 㪠§ë¢ âì ¯®à冷ª ¯ã⥩ ¯à¨ á㬬¨à®¢ ¨¨. ¥àñ¬áï ª 襬㠯ਬ¥àã, ¢ ª®â®à®¬ í«¥¬¥â ¬¨ S ¡ë«¨ ¥®âà¨æ ⥫ìë¥ ¤¥©á⢨⥫ìë¥ ç¨á« ¨ ᨬ¢®« 1, "㬮¦¥¨¥¬" ¡ë«® ®¡ë箥 á«®¦¥¨¥. ᫨ ¬ë ⥯¥àì ®¯à¥¤¥«¨¬ "á«®¦¥¨¥" ª ª ¢§ï⨥ ¬¨¨¬ã¬ (â®ç¥¥, â®ç®© ¨¦¥© £à ¨, â ª ª ª ¬ë ¤®«¦ë ®¯à¥¤¥«¨âì ¥£® ¨ ¤«ï ¡¥áª®¥çëå ¯®á«¥¤®¢ ⥫ì®á⥩), â® ¯®«ã稬 § ¬ªã⮥ ¯®«ãª®«ìæ® (᢮©á⢠1{8 «¥£ª® ¯à®¢¥à¨âì). ⬥⨬, çâ® í«¥¬¥â 0=1 ï¥âáï ¥©âà «ìë¬ í«¥¬¥â®¬ ¤«ï "á«®¦¥¨ï": min(a; 1) = a. ᫨ áç¨â âì ¬¥âª®© à¥¡à ¥£® ¢¥á, â® ¬¥âª®© ¯ã⨠¡ã¤¥â â ª¦¥ ¥£® ¢¥á (á㬬 ¢¥á®¢ àñ¡¥à), ãà ¢¥¨¥ (26.11) ®¯à¥¤¥«ï¥â lij ª ª â®çãî ¨¦îî £à ì ¢¥á®¢ ¢á¥å ¯ã⥩ ¨§ i ¢ j . ®ï⨥ ¯®«ãª®«ìæ ¯®§¢®«ï¥â ¢ë¯®«ïâì «£¥¡à ¨ç¥áª¨¥ ¯à¥®¡à §®¢ ¨ï á ¬¥âª ¬¨ ¯ã⥩. ਬ¥à â ª®£® த ¯à¨¢¥¤ñ à¨á. 26.7. ¡®«¥¥ á«®¦ëå á«ãç ïå ç¨á«® ¯ã⥩ ¬®¦¥â ¡ëâì ¡¥áª®¥ç®. ª®© ¯à¨¬¥à ¯à¨¢¥¤ñ à¨á. 26.8. ¤¥áì (áç¨â ¥¬, çâ® ¤àã£¨å ¯ã⥩ ¨§ u ¢ x ¥â) ä®à¬ã« (26.11) ¯à¨¢®¤¨â ª "á㬬¥" (p1) (p2) (p1) (c) (p2) (p1) (c) (c) (p2) : : : = ; = (p1) 1 (c) (c) (c) : : : (p2) «ï ªà ⪮© § ¯¨á¨ â ª®© "á㬬ë" ¢¢¥¤ñ¬ á«¥¤ãî饥 ®¯à¥¤¥«¥¨¥. ãáâì a | ¯à®¨§¢®«ìë© í«¥¬¥â § ¬ªã⮣® ¯®«ãª®«ìæ S . ¬ëª ¨¥¬ (closure) í«¥¬¥â a §®¢ñ¬ ¢ëà ¦¥¨¥ a = 1 a (a a) (a a a) : : : ®£¤ ¯à¥¤ë¤ã饥 ¢ëà ¦¥¨¥ (¤«ï à¨á. 26.8) ¬®¦® § ¯¨á âì ª ª (p1) ((c)) (p2). 襬 ¯à¨¬¥à¥ ¯®«ãª®«ìæ (ᮮ⢥âáâ¢ãî饣® § ¤ ç¥ ® ªà âç ©è¨å ¯ãâïå) ¨¬¥¥¬ a = minfkajk = 0; 1; 2; : : : g = 0 ¤«ï «î¡®£® í«¥¬¥â a > 0. â® ¨ ¥ 㤨¢¨â¥«ì®: ¥á«¨ 横« ¨¬¥¥â ¥®âà¨æ ⥫ìë© ¢¥á, â® ¨¤â¨ ¯® ¥¬ã ¥â á¬ëá« . 542 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ à¨¬¥àë § ¬ªãâëå ¯®«ãª®«¥æ ¤¨ â ª®© ¯à¨¬¥à ¬ë 㦥 à ᬮâ५¨: ¯®«ãª®«ìæ® S1 = f >0 [ f1g; min; +; 1; 0g. ë ¬®¦¥¬ à áè¨à¨âì íâ® ¯®«ãª®«ìæ®, à §à¥è¨¢ ®âà¨æ ⥫ìë¥ í«¥¬¥âë, â ª¦¥ í«¥¬¥â ;1. ®«ãç¨âáï ¯®«ãª®«ìæ® S2 = f [ f+1g [ f;1g; min; +; +1; 0g (ã¯à. 26.4-3). â® ¯®«ãª®«ìæ® ¬®¦® ¨á¯®«ì§®¢ âì ¯à¨ ¤®ª § ⥫ìá⢥ ¯à ¢¨«ì®á⨠«£®à¨â¬ «®©¤ {®àè «« ¤«ï á«ãç ï ®âà¨æææ ⥫ìëå ¢¥á®¢. ⬥⨬, ç⮠⥯¥àì 0;¥á«¨ a > 0, a = ;1;¥á«¨ a < 0. â®à®© á«ãç © (a < 0) £®¢®à¨â ¬, ç⮠横« ®âà¨æ ⥫쮣® ¢¥á ¬®¦® ¯à®å®¤¨âì ¬®£®ªà â®, ¨ ¢¥á ¡ã¤ãâ áâ६¨âìáï ª ;1. ¤ ç¥ ® âà §¨â¨¢®¬ § ¬ëª ¨¨ ᮮ⢥âáâ¢ã¥â § ¬ªã⮥ ¯®«ãª®«ìæ® S3 = (f0; 1g; _; ^; 0; 1). ਠí⮬ ¢á¥ àñ¡à ¨á室®£® £à ä ¨¬¥îâ ¯®¬¥âªã 1 ( ®âáãâáâ¢ãî騬 ᮮ⢥âáâ¢ã¥â § 票¥ 0 = 0, ª ª ¬ë £®¢®à¨«¨). í⮬ ¯®«ãª®«ìæ¥ § 票¥ lij , ¢ëç¨á«¥®¥ ¯® ä®à¬ã«¥ (26.11), à ¢® 1, ¥á«¨ ¯ à (i; j ) ¯à¨ ¤«¥¦¨â âà §¨â¨¢®¬ã § ¬ëª ¨î (â® ¥áâì ¥áâì ¯ãâì ¨§ i ¢ j ), ¨ à ¢® 0 ¢ ¯à®â¨¢®¬ á«ãç ¥. ⬥⨬, çâ® ¤«ï í⮣® ª®«ìæ R R 1 = 0 = 1. ¨ ¬¨ç¥áª®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¨ á㬬 ¬¥â®ª ¯® ¯ãâï¬ ®ª ¦¥¬, ª ª ¬®¦® ¢ëç¨á«¨âì ¢ëà ¦¥¨¥ (26.11) á ¯®¬®éìî «£®à¨â¬ , «®£¨ç®£® «£®à¨â¬ã «®©¤ {®àè «« ¨ «£®à¨â¬ã ¢ëç¨á«¥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï. ¯®¬¨¬, çâ® ¬ ¤ ® § ¬ªã⮥ ¯®«ãª®«ìæ® S ¨ ®à¨¥â¨à®¢ ë© £à ä (G; V ), àñ¡à ª®â®à®£® ¯®¬¥ç¥ë í«¥¬¥â ¬¨ S . ë å®â¨¬ ¤«ï ª ¦¤®© ¯ àë ¢¥àè¨ i; j ¢ëç¨á«¨âì " á㬬ã" (¢ á¬ëá«¥ ¯®«ãª®«ìæ ) M lij = (p) £¤¥ "á㬬¨à®¢ ¨¥" ¯à®¨á室¨â ¯® ¢á¥¬ ¯ãâï¬ ¨§ i ¢ j , (p) ¥áâì ¬¥âª ¯ã⨠p, â® ¥áâì "¯à®¨§¢¥¤¥¨¥" ¬¥â®ª ¥£® àñ¡à å. áᬮâਬ ¢¥«¨ç¨ã lij(k), ª®â®à ï ¯®«ãç¨âáï, ¥á«¨ ®£à ¨ç¨âì á㬬¨à®¢ ¨¥ ⮫쪮 ⥬¨ ¯ãâﬨ, ¢ ª®â®àëå ¢á¥ ¯à®¬¥¦ãâ®çë¥ ¢¥àè¨ë «¥¦ â ¢ ¬®¦¥á⢥ f1; 2; : : : ; kg. «ï lij(k) ¬®¦® ¯¨á âì ४ãà¥â®¥ á®®â®è¥¨¥: (k;1)) l(k;1)): lij(k) = lij(k;1) (lik(k;1) (lkk kj (26:12) â® ä®à¬ã« ¯®¬¨ ¥â ४ãà¥âë¥ á®®â®è¥¨ï (26.5) ¨ (k;1)) , (26.8); à §¨æ ¢ ⮬, çâ® ¢ ¥© ¥áâì "¬®¦¨â¥«ì" (lkk ᮮ⢥âáâ¢ãî騩 "á㬬¥" ¬¥â®ª ¢á¥å 横«®¢, ç¨ îé¨åáï ¨ «£®à¨â¬ «®©¤ -®à讫« 543 ª®ç îé¨åáï ¢ k. (®ç¥¬ã ¥ ¡ë«® â ª®£® ¬®¦¨â¥«ï ¢ «£®à¨â¬¥ «®©¤ {®àè «« á ¥®âà¨æ ⥫ì묨 ¢¥á ¬¨ ¨ ¢ «£®à¨â¬¥ ¢ëç¨á«¥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï? ¥«® ¢ ⮬, çâ® ¢ ®¡®¨å á«ãç å a = 1 ¨ ¯®í⮬ã íâ®â " ¬®¦¨â¥«ì" ¬®¦® ¡ë«® ®¯ãáâ¨âì.) ç «ìë¥ § ç¥¨ï ¤«ï ४ãàà¥â®£® á®®â®è¥¨ï (26.12) â ª®¢ë: i= 6 j, (0) lij = 1 (i; j )(i; j ) ¥á«¨ ¥á«¨ i = j: á ¬®¬ ¤¥«¥, ¯ãâì ¨§ ®¤®£® à¥¡à ¨¬¥¥â ¬¥âªã, à ¢ãî ¬¥âªã í⮣® ॡà , ¯ãá⮩ ¯ãâì ¨¬¥¥â ¬¥âªã 1 ¢ ᮮ⢥âá⢨¨ á 訬 ᮣ« 襨¥¬; íâ®â ¯ãâì ¤® ãç¥áâì ¯à¨ i = j . ë ¯à¨å®¤¨¬ ª «£®à¨â¬ã, ¨á¯®«ì§ãî饬㠬¥â®¤ ¤¨ ¬¨ç¥áª®£® ¯à®£à ¬¬¨à®¢ ¨ï ¤«ï ¯®á«¥¤®¢ ⥫쮣® ®âë᪠¨ï ¢¥«¨ç¨ lij(k) ¯à¨ k = 0; 1; 2 : : : ; n; ¥£® ®â¢¥â®¬ ï¥âáï ¬ âà¨æ L(n) = (lij(n)) (ᮮ⢥âáâ¢ãîé ï " á㬬¨à®¢ ¨î" ¯® ¢á¥¬ ¯ãâï¬ ¡¥§ ®£à ¨ç¥¨© ¯à®¬¥¦ãâ®çë¥ ¢¥àè¨ë). {\sc Compute-Summaries}$(\lambda,V)$\\ \verb|1 |$n\leftarrow|V|$\\ \verb|2 |for $i\leftarrow1$ to $n$\\ \verb|3 |do for $j\leftarrow1$ to $n$\\ \verb|4 |do if $i=j$\\ \verb|5 |then $l^{(0)}_{ij}\leftarrow\bar1\oplus\lambda(i,j \verb|6 |else $l^{(0)}_{ij}\leftarrow\lambda(i,j)$\\ \verb|7 |for $k\leftarrow1$ to $n$\\ \verb|8 |do for $i\leftarrow1$ to $n$\\ \verb|9 |do for $j\leftarrow1$ to $n$\\ \verb|10 |do $l^{(k)}_{ij}=l^{(k-1)}_{ij}\oplus(l^{(k1)}_{ik}\ odot(l^{(k-1)}_{kk})^{\ast}\odot l^{(k-1)}_{kj})$\\ \verb|11 |return $L^{(n)}$ ६ï à ¡®âë ¤ ®£® «£®à¨â¬ § ¢¨á¨â ®â ¢à¥¬¥¨ ¢ë¯®«¥¨ï ®¯¥à 権 , ¨ . ¡®§ 稢 ¢à¥¬ï ¢ë¯®«¥¨ï ®¯¥à 権 ç¥à¥§ T, T, T, ®¡é¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ ComputeSummaries ¬®¦® § ¯¨á âì ª ª (n3 )(T + T + T )), çâ® ¯à¥¢à é ¥âáï ¢ (n3), ¥á«¨ ¢à¥¬ï ¢ë¯®«¥¨ï «î¡®© ¨§ âàñå ®¯¥à 権 á®áâ ¢«ï¥â O(1). ¯à ¦¥¨ï 26.4-1 ஢¥àìâ¥, çâ® S1 = ( >0 [ f1g; min; +; 1; 0) ¨ S3 = (f0; 1g; _; ^; 0; 1g) ïîâáï § ¬ªãâ묨 ¯®«ãª®«ìæ ¬¨. 26.4-2 ஢¥àìâ¥, çâ® S2 = ( [f;1; +1g; min; +; +1; 0) ï¥âáï § ªãâë¬ ¯®«ãª®«ì殬. ¥¬ã à ¢® § 票¥ a + (;1) ¤«ï a 2 ? â® ¬®¦® ᪠§ âì ® § 票¨ (;1) + (+1)? R R R 544 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ 26.4-3 ¯¨è¨â¥ «£®à¨â¬ Compute-Summaries ¤«ï á«ãç ï § ¬ªã⮣® ¯®«ãª®«ìæ S2, «®£¨çë© «£®à¨â¬ã «®©¤ ®à讫« . ¥¬ã ¤®«¦® ¡ëâì à ¢® § 票¥ ;1 + 1, çâ®¡ë «£®à¨â¬ ¯à ¢¨«ì® ¨áª ¤ ¤«¨ë ªà âç ©è¨å ¯ã⥩? 26.4-4 ¢«ï¥âáï «¨ S4 = ( ; +; ; 0; 1) § ¬ªãâë¬ ¯®«ãª®«ì殬? (®ç¥¥ á«¥¤®¢ «® ¡ë á¯à®á¨âì â ª: ¬®¦® «¨ ¥£® ¯à¥¢à â¨âì ¢ § ¬ªã⮥ ¯®«ãª®«ìæ®, ®¯à¥¤¥«¨¢ ª ª¨¬-«¨¡® ®¡à §®¬ á㬬㠫£® ¡¥áª®¥ç®£® àï¤ ?) 26.4-5 ®¦¥¬ «¨ ¬ë ®¡®¡é¨âì á«ãç © ¯à®¨¢§®«ì®£® § ¬ªã⮣® ¯®«ãª®«ìæ «£®à¨â¬ ¥©ªáâàë? «£®à¨â¬ ¥««¬ ®à¤ ? à®æ¥¤ãàã Faster-All-Pairs-Shortest-Paths? R 26.4-6 ë å®â¨¬ 㧠âì, ª ª®© ¨¡®«¥¥ âï¦ñ«ë© £à㧮¢¨ª ¬®¦¥â ¯à®¥å âì ¨§ ®àî¨ ¢ à®á⮪¢ 訮, ¨¬¥ï ª àâã ¤®à®£ ¬¥¦¤ã í⨬¨ áñ« ¬¨, ¢ ª®â®à®© ¤«ï ª ¦¤®© ¤®à®£¨ 㪠§ ¬ ªá¨¬ «ì® ¢®§¬®¦ë© ¢¥á £à㧮¢¨ª . ®áâன⥠«£®à¨â¬ ¤«ï à¥è¥¨ï í⮩ § ¤ ç¨, ¨á¯®«ì§ãî騩 ¯®¤å®¤ï饥 § ¬ªã⮥ ¯®«ãª®«ìæ®. ¤ ç¨ 26-1 à §¨â¨¢®¥ § ¬ëª ¨¥ à áâã饣® £à ä ë å®â¨¬ ¢ëç¨á«ïâì âà §¨â¨¢®¥ § ¬ëª ¨¥ ®à¨¥â¨à®¢ ®£® £à ä G = (V; E ), ¬®¦¥á⢮ àñ¡¥à ª®â®à®£® à áâñâ. à㣨¬¨ á«®¢ ¬¨, ¬ë å®â¨¬ ®¡®¢«ïâì âà §¨â¨¢®¥ § ¬ëª ¨¥ ¯®á«¥ ¤®¡ ¢«¥¨ï ¢ £à ä ¥éñ ®¤®£® ॡà . ë áç¨â ¥¬, çâ® ¨§ ç «ì® £à ä G ¥ ¨¬¥« àñ¡¥à ¢®¢á¥. à §¨â¨¢®¥ § ¬ëª ¨¥ ¤®«¦® åà ¨âìáï ¢ ¡ã«¥¢®© ¬ âà¨æ¥. a. ®ª ¦¨â¥, ª ª § ¢à¥¬ï O(V 2 ) ¬®¦® ¯à®¨§¢¥á⨠®¡®¢«¥¨¥ âà §¨â¨¢®£® § ¬ëª ¨ï ¯®á«¥ ¤®¡ ¢«¥¨ï ¢ £à ä G ®¢®£® ॡà . b. ®ª ¦¨â¥, çâ® «î¡®© «£®à¨â¬ ®¡®¢«¥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï (åà ï騩 ¥£® ¢ ¡ã«¥¢®© ¬ âà¨æ¥) ¬®¦¥â ¯®âॡ®¢ âì ¢à¥¬¥¨ O(V 2) ¯®á«¥ ¤®¡ ¢«¥¨ï ®¤®£® ॡà . c. ®áâன⥠«£®à¨â¬ ®¡®¢«¥¨ï âà §¨â¨¢®£® § ¬ëª ¨ï £à ä ¯®á«¥ ¤®¡ ¢«¥¨ï àñ¡¥à, ¤«ï ª®â®à®£® á㬬 ஥ ¢à¥¬ï à ¡®âë ¯à¨ ¤®¡ ¢«¥¨¨ «î¡®© ¯®á«¥¤®¢ ⥫ì®á⨠àñ¡¥à ¥ ¯à¥¢®á室¨â O(V 3). 26-2 à âç ©è¨¥ ¯ã⨠¢ "-¯«®âëå £à ä å à ä G = (V; E ) §ë¢ ¥âáï "-¯«®âë¬, ¥á«¨ jE j = (V 1+") ¤«ï ¥ª®â®à®© ª®áâ âë ", «¥¦ 饩 ¢ ¤¨ ¯ §®¥ 0 < " 6 1. ᯮ«ì§®¢ ¨¥ d-¨çëå ªãç (c¬. § ¤ çã 7-2) ¢ «£®à¨â¬¥ ¯®¨áª ªà âç ©è¨å ¯ã⥩ "-¯«®âëå £à ä å ¯®§¢®«ï¥â ¨§¡ ¢¨âìáï ®â ¨á¯®«ì§®¢ ¨ï 䨡® ç稥¢ëå ªãç (¤®¢®«ì® á«®¦®© áâàãªâãàë ¤ ëå), á®åà ¨¢ âã ¦¥ ᨬ¯â®â¨ç¥áªãî ®æ¥ªã ¢à¥¬¥¨ à ¡®âë. a. ¯à¥¤¥«¨â¥ ᨬ¯â®â¨ªã ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãà Insert, Extract-Min ¨ Decrease-Key ª ª äãªæ¨î ®â d ¨ n (§¤¥áì n | «£®à¨â¬ «®©¤ -®à讫« 545 ç¨á«® í«¥¬¥â®¢ d-¨ç®© ªãç¨). â® ¯®«ãç ¥âáï ¯à¨ d = (n), £¤¥ 0 < 6 1 | ¥ª®â®à ï ª®áâ â . à ¢¨â¥ í⨠¢à¥¬¥ á ãçñâ묨 ¢à¥¬¥ ¬¨ íâ¨å ®¯¥à 権 ¤«ï 䨡® 稥¢ëå ªãç. b. ਤ㬠©â¥ ᯮᮡ ¢ëç¨á«¨âì ªà âç ©è¨¥ ¯ã⨠¨§ ®¤®© ¢¥àè¨ë ¢ "-¯«®â®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ¡¥§ àñ¡¥à ®âà¨æ ⥫쮣® ¢¥á § ¢à¥¬ï O(E ). (ª § ¨¥: ¢ë¡¥à¨â¥ ¯®¤å®¤ï饥 d ª ª äãªæ¨î ".) c. ®ª ¦¨â¥, çâ® ¬®¦® ¢ëç¨á«¨âì ªà âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ¢ "-¯«®â®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ) ¡¥§ àñ¡¥à ®âà¨æ¨â¥«ì®£® ¢¥á § ¢à¥¬ï O(V E ). d. ®ª ¦¨â¥, çâ® § ¢à¥¬ï O(V E ) ¬®¦® ¢ëç¨á«¨âì ªà âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ¢ "-¯«®â®¬ ®à¨¥â¨à®¢ ®¬ £à ä¥ G = (V; E ), ª®â®àë© ¬®¦¥â ¨¬¥âì àñ¡à ®âà¨æ ⥫쮣® ¢¥á , ® ¥ ᮤ¥à¦¨â 横«®¢ ®âà¨æ ⥫쮣® ¢¥á . 26-3 ¨¨¬ «ìë© ®á⮢ ¨ § ¬ªã⮥ ¯®«ãª®«ìæ® ãáâì G = (V; E ) | á¢ï§ë© ¥®à¨¥â¨à®¢ ë© £à ä á ¢¥á®¢®© äãªæ¨© w : E ! , ¢¥àè¨ ¬¨ ª®â®à®£® ïîâáï ç¨á« ®â 1 ¤® n. ।¯®«®¦¨¬, çâ® ¢¥á w(i; j ) ¢á¥å àñ¡¥à à §«¨çë. ãáâì T | ¥¤¨áâ¢¥ë© (á¬. ã¯à. 24.1-6) ¬¨¨¬ «ìë© ®á⮢ £à ä G. £á (B.M.Maggs) ¨ ..«®âª¨ ¯à¥¤«®¦¨«¨ ¨á¯®«ì§®¢ âì § ¬ªã⮥ ¯®«ãª®«ìæ® ¤«ï ®âë᪠¨ï ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ . «ï ª ¦¤®© ¯ àë ¢¥àè¨ ®¯à¥¤¥«¨¬ ¬¨¨¬ ªáë© ¢¥á (minimax weight) mij ¢§ï¢ ¬¨¨¬ã¬ ¯® ¢á¥¬ ¯ãâï¬ ¬ ªá¨¬ã¬®¢ ¢¥á®¢ àñ¡¥à ª ¦¤®¬ ¯ãâ¨. a. ®ª ¦¨â¥, çâ® S = ( [ f;1; 1g; min; max; 1; ;1) ï¥âáï § ¬ªãâë¬ ¯®«ãª®«ì殬. ª¨¬ ®¡à §®¬, ¬ë ¬®¦¥¬ ¨á¯®«ì§®¢ âì ¯à®æ¥¤ãàã ComputeSummaries ¤«ï ¢ëç¨á«¥¨ï ¬¨¨¬ ªáëå ¢¥á®¢ mij ¢ £à ä¥ G. ¡®§ 稬 ç¥à¥§ m(ijk) ¬¨¨¬ ªáë© ¢¥á ¤«ï ¢á¥å ¯ã⥩ ¨§ i ¢ j á ¯à®¬¥¦ãâ®ç묨 ¢¥àè¨ ¬¨ ¨§ ¬®¦¥á⢠f1; 2; ; kg. b. ¯¨è¨â¥ ४ãàà¥âãî ä®à¬ã«ã ¤«ï m(ijk) ¯à¨ k > 0. c. ãáâì Tm = f(i; j ) 2 E : w(i; j ) = mij g. ®ª ¦¨â¥, çâ® à¥¡à ¨§ Tm ®¡à §ãîâ ¯®ªàë¢ î饥 ¤¥à¥¢® ¤«ï £à ä G. d. ®ª ¦¨â¥, çâ® íâ® ¯®ªàë¢ î饥 ¤¥à¥¢® ¡ã¤¥â ¬¨¨¬ «ìë¬. (ª § ¨¥. ®á¬®âà¨â¥, çâ® ¯à®¨á室¨â ¯à¨ ¤®¡ ¢«¥¨¨ ॡà (i; j ) ¢ T ¨ ®¤®¢à¥¬¥®¬ 㤠«¥¨¨ ¨§ T ª ª®£®-¨¡ã¤ì ॡà , «¥¦ 饣® ¯ã⨠¨§ i ¢ j . ®á¬®âà¨â¥ â ª¦¥, çâ® ¯à®¨á室¨â ¯à¨ § ¬¥¥ ॡà (i; j ) ¨§ T ¤à㣮¥ ॡà®.) ¬¥ç ¨ï ®ã«¥à [132] ¯®¤à®¡® à áᬠâਢ ¥â § ¤ çã 宦¤¥¨ï ªà âç ©è¨å ¯ã⥩ ¤«ï ¢á¥å ¯ à ¢¥àè¨, å®âï ¨ ¥ ¢ë¤¥«ï¥â ®â¤¥«ì® á«ãç © à §à¥¦¥ëå £à 䮢 (¯à¨ í⮬ á¢ï§ì § ¤ ç¨ ® ªà âç ©è¨å ¯ãâïå á 㬮¦¥¨¥¬ ¬ âà¨æ ®â®á¨âáï ª 䮫쪫®àã). «£®à¨â¬ «®©¤ {®à讫« ®¯¨á ¢ à ¡®â¥ «®©¤ [68], ª®â®àë© ®¯¨à ¥âáï १ã«ìâ â ®à讫« [198] (® âà §¨â¨¢ë¬ § ¬ëª R R 546 « ¢ 26 à âç ©è¨¥ ¯ã⨠¤«ï ¢á¥å ¯ à ¢¥àè¨ ¨¨ ¡ã«¥¢ëå ¬ âà¨æ). ®ï⨥ § ¬ªã⮣® ¯®«ãª®«ìæ ¯®ï¢¨«®áì ¢ ª¨£¥ å®, ®¯ª®äâ ¨ «ì¬ [4]. «£®à¨â¬ ¦®á® ¢§ïâ ¨§ [114]. 27 ªá¨¬ «ìë© ¯®â®ª áᬮâਬ ®à¨¥â¨à®¢ ë© £à ä. 㤥¬ à áᬠâਢ âì ¥£® ª ª á¥âì âàã¡, ¯® ª®â®àë¬ ¥ª®â®à®¥ ¢¥é¥á⢮ ¤¢¨¦¥âáï ®â ¨á⮪ (£¤¥ ®® ¯à®¨§¢®¤¨âáï á ¥ª®â®à®© ¯®áâ®ï®© ᪮à®áâìî) ª á⮪ã (£¤¥ ®® ¯®âॡ«ï¥âáï | á ⮩ ¦¥ ᪮à®áâìî). ¬¥áâ® ¯®â®ª®¢ ¢¥é¥á⢠¬®¦® à áᬠâਢ âì ¤¢¨¦¥¨¥ ⮪ ¯® ¯à®¢®¤ ¬, ¤¥â «¥© ¯® ª®¢¥©¥àã, ¨ä®à¬ 樨 ¯® «¨¨ï¬ á¢ï§¨ ¨«¨ ⮢ ஢ ®â ¯à®¨§¢®¤¨â¥«ï ª ¯®âॡ¨â¥«î. ª ¨ ¢ § ¤ ç¥ ® ªà âç ©è¨å ¯ãâïå, ª ¦¤®¬ ॡॠ£à ä ¬ë ¯¨è¥¬ ç¨á«®. ® ¥á«¨ â ¬ íâ® ç¨á«® ®§ ç «® ¤«¨ã ¯ãâ¨, ⮠⥯¥àì í⮠᪮॥ è¨à¨ ¤®à®£¨, ¨«¨ ¯à®¯ã᪠ï ᯮᮡ®áâì âàã¡ë | ¬ ªá¨¬ «ì ï ᪮à®áâì ¯®â®ª ¢ í⮩ âàã¡¥. ¯à¨¬¥à, ® ¬®¦¥â ¡ëâì 200 «¨â஢ ¢ ç á, ¨«¨ 20 ¬¯¥à (¥á«¨ à¥çì ¨¤ñâ ®¡ í«¥ªâà¨ç¥á⢥). ë áç¨â ¥¬, çâ® ¢ ¢¥àè¨ å ¢¥é¥á⢮ ¥ ª ¯«¨¢ ¥âáï | ᪮«ìª® ¯à¨å®¤¨â, á⮫쪮 ¨ ã室¨â (¥á«¨ ¢¥àè¨ ¥ ï¥âáï ¨á⮪®¬ ¨«¨ á⮪®¬). ⮠᢮©á⢮ §ë¢ ¥âáï "§ ª®®¬ á®åà ¥¨ï ¯®â®ª " (ow conservation). «ï í«¥ªâà¨ç¥áª®£® ⮪ í⮠᢮©á⢮ §ë¢ ¥âáï ¯¥à¢ë¬ ¯à ¢¨«®¬ ¨à壮ä . ¤ ç ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¤«ï ¤ ®© á¥â¨ á®á⮨⠢ á«¥¤ãî饬: ©â¨ ¬ ªá¨¬ «ì® ¢®§¬®¦ãî ᪮à®áâì ¯à®¨§¢®¤á⢠(¨ ¯®âॡ«¥¨ï) ¢¥é¥á⢠, ¯à¨ ª®â®à®© ¥£® ¥éñ ¬®¦® ¤®áâ ¢¨âì ®â ¨á⮪ ª á⮪㠯ਠ¤ ëå ¯à®¯ãáªëå ᯮᮡ®áâïå âàã¡. í⮩ £« ¢¥ ¯®á«¥ â®ç®© ä®à¬ã«¨à®¢ª¨ í⮩ § ¤ ç¨ (à §¤¥« 27.1) ®¯¨á ë ¤¢ ¬¥â®¤ ¥ñ à¥è¥¨ï. à §¤¥«¥ 27.2 à §®¡à ª« áá¨ç¥áª¨© ¬¥â®¤ ®à¤ { «ª¥àá® . £® ¨á¯®«ì§®¢ ¨¥ ¤«ï ¯®¨áª ¬ ªá¨¬ «ì®£® ¯ à®á®ç¥â ¨ï ¢ ¤¢ã¤®«ì®¬ ¥®à¨¥â¨à®¢ ®¬ £à ä¥ ®¯¨á ® ¢ à §¤¥«¥ 27.3. §¤¥« 27.4 ¨§« £ ¥â á奬ã " ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª " ª®â®à ï ¨á¯®«ì§ã¥âáï ¢® ¬®£¨å ᮢ६¥ëå «£®à¨â¬ å ¤«ï à¥è¥¨ï § ¤ ç ® ¯®â®ª å ¢ á¥âïå. ¤¨ ¨§ â ª¨å «£®à¨â¬®¢ ®¯¨á ¢ à §¤¥«¥ 27.5. ®âï ® ¨ ¥ á ¬ë© ¡ëáâàë© ¨§ ¨§¢¥áâëå (¢à¥¬ï à ¡®âë O(V 3)), ® ® ¨á¯®«ì§ã¥â ⥠¦¥ ¨¤¥¨, çâ® ¨ á ¬ë¥ ¡ëáâàë¥ «£®à¨â¬ë, ¨ ¤®áâ â®ç® íä䥪⨢¥ ¯à ªâ¨ª¥. 548 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª 27.1 ®â®ª¨ ¢ á¥âïå í⮬ à §¤¥«¥ ¬ë ¤ ¤¨¬ â®ç®¥ ®¯à¥¤¥«¥¨¥ á¥â¥© ¨ ¯®â®ª®¢ ¢ ¨å, ®¡á㤨¬ ¨å ᢮©á⢠, áä®à¬ã«¨à㥬 § ¤ çã ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¨ ¢¢¥¤ñ¬ ¥ª®â®àë¥ ¯®«¥§ë¥ ®¡®§ 票ï. ¥â¨ ¨ ¯®â®ª¨ H §®¢¥¬ á¥âìî (ow network) ®à¨¥â¨à®¢ ë© £à ä G = (V; E ), ª ¦¤®¬ã ॡàã (u; v) 2 E ª®â®à®£® ¯®áâ ¢«¥® ¢ ᮮ⢥âá⢨¥ ç¨á«® c(u; v) > 0, §ë¢ ¥¬®¥ ¯à®¯ã᪮© ᯮᮡ®áâìî (capacity) ॡà . á«ãç ¥ (u; v) 2= E ¬ë ¯®« £ ¥¬ c(u; v) = 0. £à ä¥ ¢ë¤¥«¥ë ¤¢¥ ¢¥àè¨ë: ¨á⮪ (source) s ¨ á⮪ (sink) t. «ï 㤮¡á⢠¬ë ¯à¥¤¯®«£ ¥¬, çâ® ¢ £à ä¥ ¥â "¡¥á¯®«¥§ëå" ¢¥àè¨ (ª ¦¤ ï ¢¥àè¨ v 2 V «¥¦¨â ª ª®¬-â® ¯ã⨠s v t ¨§ ¨á⮪ ¢ á⮪). ( â ª®¬ á«ãç ¥ £à ä á¢ï§¥ ¨ jE j > jV j; 1.) ਬ¥à á¥â¨ ¯®ª § à¨á.27.1. ¥¯¥àì ¤ ¤¨¬ ®¯à¥¤¥«¥¨¥ ¯®â®ª . ãáâì ¤ á¥âì G = (V; E ), ¯à®¯ã᪠ï ᯮᮡ®áâì ª®â®à®© § ¤ ñâáï äãªæ¨¥© c. ¥âì ¨¬¥¥â ¨á⮪ s ¨ á⮪ t. ®â®ª®¬ (ow) ¢ á¥â¨ G §®¢ñ¬ äãªæ¨î f : V V ! R, 㤮¢«¥â¢®àïîéãî âàñ¬ ᢮©á⢠¬: £à ¨ç¥¨¥, á¢ï§ ®¥ á ¯à®¯ã᪮© ᯮᮡ®áâìî (capacity constraint): f (u; v ) 6 c(u; v ). ¤«ï ¢á¥å u; v ¨§ V . ®á®á¨¬¬¥âà¨ç®áâì (skew symmetry): f (u; v) = ;f (v; u) ¤«ï ¢á¥å u; v ¨§ V . ®åà ¥¨¥ ¯®â®ª (ow conservation): X f (u; v ) = 0: v 2V ¤«ï ¢á¥å u ¨§ V ; fs; tg. ¥«¨ç¨ f (u; v) ¬®¦¥â ¡ëâì ª ª ¯®«®¦¨â¥«ì®©, â ª ¨ ®âà¨æ ⥫쮩. ®¯à¥¤¥«ï¥â, ᪮«ìª® ¢¥é¥á⢠¤¢¨¦¥âáï ¨§ ¢¥àè¨ë u ¢ ¢¥àè¨ã v (®âà¨æ ⥫ìë¥ § 票ï ᮮ⢥âáâ¢ãîâ ¤¢¨¦¥¨î ¢ ®¡à âãî áâ®à®ã). ¥«¨ç¨ (value) ¯®â®ª f ®¯à¥¤¥«ï¥âáï ª ª á㬬 X f (s; v): (27:1) v2V (᪫ ¤ë¢ ¥¬ ¯®â®ª¨ ¯® ¢á¥¬ àñ¡à ¬, ¢ë室ï騬 ¨§ ¨á⮪ ). ®¡®§ ç ¥âáï jf j (¥ á¯ãâ ©â¥ á ¡á®«î⮩ ¢¥«¨ç¨®© ç¨á« !). ¤ ç ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ (maximum-ow problem) á®á⮨⠢ á«¥¤ãî饬: ¤«ï ¤ ®© á¥â¨ G á ¨á⮪®¬ s ¨ á⮪®¬ t ©â¨ ¯®â®ª ¬ ªá¨¬ «ì®© ¢¥«¨ç¨ë. ®ïᨬ á¬ëá« âàñå è¨å ᢮©áâ¢. ¥à¢®¥ ®§ ç ¥â, çâ® ¯®â®ª ¨§ ®¤®© ¢¥àè¨ë ¢ ¤àã£ãî ¥ ¯à¥¢ëè ¥â ¯à®¯ã᪮© ᯮᮡ®á⨠ॡà . â®à®¥ ¯à¥¤áâ ¢«ï¥â ᮡ®© ᮣ« 襨¥ ® ⮬, ®â®ª¨ ¢ á¥âïå 549 ¨á㮪 27.1 27.1. ( ) ¥âì G = (V; E ), ®¯¨áë¢ î騥 ¢®§¬®¦®á⨠¯¥à¥¢®§®ª ¯à®¤ãªæ¨¨ ä¨à¬ë "«¥®¢ë¥ «¨áâìï". á⮪ s | ä ¡à¨ª ¢ ªã¢¥à¥, á⮪ t | ᪫ ¤ ¢ ¨¨¯¥£¥. ª ¦¤®¬ ॡॠ¯¨á ® ¬ ªá¨¬ «ì®¥ ç¨á«® ï騪®¢, ª®â®àë¥ ¬®¦® ®â¯à ¢¨âì ¢ ¤¥ì. (b) ਬ¥à ¯®â®ª f ¢ á¥â¨ G ¢¥«¨ç¨ë 19. ®ª § ë ⮫쪮 ¯®«®¦¨â¥«ìë¥ § 票ï f (u; v) > 0 (¯®á«¥ ª®á®© ç¥àâë á⮨⠯யã᪠ï ᯮᮡ®áâì c(u;v). çâ® ®âà¨æ ⥫ìë¥ ç¨á« ᮮ⢥âáâ¢ãîâ ¯®â®ªã ¢ ®¡à âãî áâ®à®ã. § ¥£® á«¥¤ã¥â â ª¦¥, çâ® f (u; u) = 0 ¤«ï «î¡®© ¢¥àè¨ë u (¯®«®¦¨¬ u = v). à¥âì¥ á¢®©á⢮ ®§ ç ¥â, çâ® ¤«ï «î¡®© ¢¥àè¨ë u (ªà®¬¥ á⮪ ¨ ¨á⮪ ) á㬬 ¯®â®ª®¢ ¢® ¢á¥ ¤à㣨¥ ¢¥àè¨ë à ¢ ã«î. ç¨âë¢ ï ª®á®á¨¬¬¥âà¨ç®áâì, í⮠᢮©á⢮ ¬®¦® ¯¥à¥¯¨á âì ª ª X f (u; v) = 0 u2V (⥯¥àì ¯¥à¥¬¥ ï á㬬¨à®¢ ¨ï ®¡®§ ç¥ u) ¨ ¯à®ç¥áâì â ª: "á㬬 ¢á¥å ¯®â®ª®¢ ¨§ ¤àã£¨å ¢¥àè¨ à ¢ ã«î". ¬¥â¨¬ â ª¦¥, çâ® ¥á«¨ ¢¥àè¨ë u ¨ v ¥ ᮥ¤¨¥ë ॡ஬, â® ¯®â®ª ¬¥¦¤ã ¨¬¨, â® ¥áâì f (u; v), à ¢¥ ã«î. ¥©á⢨⥫ì®, ¥á«¨ (u; v) 2= E ¨ (v; u) 2= E , â® c(u; v) = c(v; u) = 0. ®£¤ ¨§ ¯¥à¢®£® ᢮©á⢠᫥¤ã¥â, çâ® f (u; v) 6 0 ¨ f (v; u) 6 0. ᯮ¬¨ ï, çâ® f (u; v) = ;f (v; u) (ª®á®á¨¬¬¥âà¨ç®áâì), ¬ë ¢¨¤¨¬, çâ® f (u; v) = f (v; u) = 0. §¤¥«¨¬ ¢¥é¥á⢮, ¯®áâ㯠î饥 ¢ ¤ ãî ¢¥àè¨ã v ¨ ¢¥é¥á⢮, ¨§ ¥ñ ¢ë室ï饥 (â® ¥áâì ¯®«®¦¨â¥«ìë¥ ¨ ®âà¨æ ⥫ìë¥ § 票ï f (u; v)). 㬬ã X f (u; v ): (27:2) u2V f (u;v)>0 §®¢ñ¬ ¢å®¤ï騬 (¢ ¢¥àè¨ã v) ¯®â®ª®¬. ë室ï騩 ¯®â®ª ®¯à¥¤¥«ï¥âáï ᨬ¬¥âà¨ç®. ¥¯¥àì § ª® á®åà ¥¨ï ¯®â®ª ¬®¦® áä®à¬ã«¨à®¢ âì â ª: ¤«ï «î¡®© ¢¥àè¨ë, ªà®¬¥ ¨á⮪ ¨ á⮪ , ¢å®¤ï騩 ¯®â®ª à ¢¥ ¨á室ï饬ã. ਬ¥à á¥â¨ áᬮâਬ ¯à¨¬¥à à¨á. 27.1 ( ). ®¬¯ ¨ï "«¥®¢ë¥ «¨áâìï" ¯à®¨§¢®¤¨â 宪ª¥©ë¥ è ©¡ë ä ¡à¨ª¥ ¢ ªã¢¥à¥ (¨á⮪ s) ¨ ᪫ ¤¨àã¥â ¨å ¢ ¨¨¯¥£¥ (á⮪ t). ।ã¥â ¬¥áâ® ¢ £à㧮¢¨ª å ¤à㣮© ä¨à¬ë, ¨ ¬¥áâ® íâ® ®£à ¨ç¥®: ¨§ £®à®¤ u ¢ £®à®¤ v ¬®¦® ¤®áâ ¢¨âì ¥ ¡®«¥¥ c(u; v) ï騪®¢ ¢ ¤¥ì. £à ¨ç¥¨ï c(u; v) ¯®ª § ë à¨á㪥. ¤ ç á®á⮨⠢ ⮬, çâ®¡ë ¯¥à¥¢®§¨âì ¬ ªá¨¬ «ì® ¢®§¬®¦®¥ ª®«¨ç¥á⢮ è ©¡ ¨§ ªã¢¥à ¢ ¨¨¯¥£ ¥¦¥¤¥¢®. ਠí⮬ ¯ãâì ¬®¦¥â § ¨¬ âì ¥áª®«ìª® ¤¥©, ¨ ï騪¨ ¬®£ãâ ¦¤ âì ®â¯à ¢ª¨ ¢ ¯à®¬¥¦ãâ®çëå ¯ãªâ å, ® ¥®¡å®¤¨¬®, çâ®¡ë ¤«ï ª ¦¤®£® ¯ãªâ 550 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¨á㮪 27.2 27.2 ®ªà 饨¥. (a) ¥àè¨ë v1 ¨ v2 . ¤¥áì c(v1; v2 ) = 10 ¨ c(v2 ; v1 ) = 4. (b) ¦¥¤¥¢® 8 ï騪®¢ ¯¥à¥¢®§ïâ ¨§ v1 ¢ v2 . (c) ®¡ ¢¨«¨ ¢áâà¥çë¥ ¯¥à¥¢®§ª¨ 3 ï騪®¢ ¢ ¤¥ì ¨§ v2 ¢ v1 . (d) ®ªà ⨫¨ ¯à®â¨¢®¯®«®¦ë¥ ¯®â®ª¨ | ®áâ «®áì 5 ï騪®¢ ¢ ¤¥ì. (¥) ®¡ ¢¨«¨ ¯¥à¥¢®§ªã ¥éñ 7 ï騪®¢ ¢ ¤¥ì ¨§ v2 ¢ v1 . ç¨á«® ¥¦¥¤¥¢® ¯à¨¡ë¢ îé¨å ï騪®¢ ¡ë«® à ¢® ç¨á«ã 㢮§¨¬ëå (¨ ç¥ ï騪®¢ ¥ å¢ â¨â ¨«¨ ®¨ ¡ã¤ãâ ª ¯«¨¢ âìáï). ¥¬ á ¬ë¬ ¢ë¯®«¥® ᢮©á⢮ á®åà ¥¨ï ¯®â®ª . ¥«¨ç¨®© ¯®â®ª ¡ã¤¥â ç¨á«® è ©¡, ¥¦¥¤¥¢® ®â£à㦠¥¬ëå ¨§ ªã¢¥à , ¨ á ¨â¥à¥áã¥â ¯®â®ª ¬ ªá¨¬ «ì®© ¢¥«¨ç¨ë. ¤¨ ¨§ ¢®§¬®¦ëå ¯®â®ª®¢ ¯®ª § à¨á.27.1(b). § ¢¥àè¨ë u ¢ ¢¥àè¨ã v ¢ ¤¥ì ®â¯à ¢«ï¥âáï f (u; v) ï騪®¢; ¥á«¨ f (u; v ) à ¢® 0, ï騪¨ ¥ ®â¯à ¢«ïîâáï; ®âà¨æ ⥫ìë¥ § 票ï f (u; v) ᮮ⢥âáâ¢ãîâ ï騪 ¬, ¯à¨¡ë¢ î騬 ¢ u ¨§ v. ¨¬ ⥫ìë© ç¨â â¥«ì ¬®£ 㦥 § ¬¥â¨âì, ç⮠ॠ«ì ï á¨âã æ¨ï ¥ ¢¯®«¥ ®¯¨áë¢ ¥âáï 襩 ¬®¤¥«ìî. ¬¥®, è ¬®¤¥«ì ¥ ãç¨âë¢ ¥â ¢áâà¥çë¥ ¯¥à¥¢®§ª¨. ᫨ ¨§ ¢¥àè¨ë v1 ¢ v2 ¥¦¥¤¥¢® ¢¥§ãâ ¢®á¥¬ì ï騪®¢, ¨§ v2 ¢ v1 ¥¦¥¤¥¢® ¢¥§ãâ âਠï騪 , 祬㠤®«¦ë ¡ëâì à ¢ë f (v1; v2) ¨ f (v2; v1)? ( ¯®¬¨¬, çâ® í⨠¢¥«¨ç¨ë ¤®«¦ë ¡ëâì ¯à®â¨¢®¯®«®¦ë.) ë ¯®« £ ¥¬ f (v1 ; v2) = 8 ; 3 = 5, f (v2; v1) = ;5. ¥ ¦¥ § 票ï äãªæ¨¨ f ᮮ⢥âáâ¢ãîâ ¥¦¥¤¥¢ë¬ ¯¥à¥¢®§ª ¬ ¯ï⨠ï騪®¢ ¨§ v1 ¢ v2, â ª çâ® ¢ 襩 ¬®¤¥«¨ ¢áâà¥çë¥ ¯¥à¥¢®§ª¨ ¢â®¬ â¨ç¥áª¨ ᮪à é îâáï. ¯à®ç¥¬, ¨ ¢ ॠ«ì®á⨠¢áâà¥çë¥ ¯¥à¥¢®§ª¨ à §ã¬® " ᮪à â¨âì" ¤àã£ á ¤à㣮¬, (íª®®¬¨ª ¤®«¦ ¡ëâì íª®®¬®©), ¯à¨ í⮬ ¬¥áâ £à㧮¢¨ª å ¯® ¤®¡¨âáï ⮫쪮 ¬¥ìè¥. H à¨á. 27.2 ¯®ª § ¯à¨¬¥à ᮪à é¥¨ï ¯®â®ª®¢ ¬¥¦¤ã ¢¥àè¨ ¬¨ v1 ¨ v2 (27.2 (a)). ç « ¨§ v1 ¢ v2 ¢®§¨«¨ ¥¦¥¤¥¢® 8 ï騪®¢ (27.2 (b)). ⥬ áâ «¨ ¢®§¨âì 3 ï騪 ¢ ®¡à ⮬ ¯à ¢«¥¨¨ (27.2 (c)), ¯®ª ¥ ¤®£ ¤ «¨áì ¢¬¥áâ® í⮣® 㬥ìè¨âì ç¨á«® ¯¥à¥¢®§¨¬ëå ¢ ®¡à âãî áâ®à®ã ï騪®¢ 3 (27.2 (d)). ⨠¤¢¥ à §«¨çë¥ (¢ ¦¨§¨) á¨âã 樨 ᮮ⢥âáâ¢ãîâ ®¤®© ¨ ⮩ ¦¥ äãªæ¨¨ f : ¢ ®¡®¨å á«ãç ïå f (v1; v2) = 5, f (v2; v1) = ;5. ᫨ ⥯¥àì à㪮¢®¤á⢮ âॡã¥â ç âì ¯¥à¥¢®§ª¨ ¤®¯®«¨â¥«ìëå 7 ï騪®¢ ¢ ¤¥ì ¨§ v2 ¢ v1 , ⮠㦮 ¯à¥¦¤¥ ¢á¥£® ®â¬¥¨âì ¯¥à¥¢®§ª¨ 5 ï騪®¢ ¢ ®¡à âãî áâ®à®ã, ¯®á«¥ 祣® § ç¨âì ¯¥à¥¢®§ªã ¤®¯®«¨â¥«ìëå 2 ï騪®¢ (27.2 (e)). ¥¬ á ¬ë¬ âॡ®¢ ¨¥ ¡ã¤¥â ¢ë¯®«¥® (¥á¬®âàï â®, ªáâ â¨, çâ® ¢ £à㧮¢¨ª å ¨§ v2 ¢ v1 ¥áâì ¬¥áâ ⮫쪮 4 ï騪 . ¥â¨ á ¥áª®«ìª¨¬¨ ¨á⮪ ¬¨ ¨ á⮪ ¬¨ ®¦® à áᬠâਢ âì § ¤ çã ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¤«ï á«ãç ï ¥áª®«ìª¨å ¨á⮪®¢ ¨ á⮪®¢. ®¬¯ ¨ï "«¥®¢ë¥ «¨áâìï" ¬®¦¥â ¨¬¥âì m ä ¡à¨ª fs1; s2; : : :sm g ¨ n ᪫ ¤®¢ ft1; t2; : : :; tng (à¨á. 27.3 ( )). H® íâ® ¥ ãá«®¦ï¥â ¤¥« , ¯®â®¬ã çâ® â ª®© ®â®ª¨ ¢ á¥âïå 551 ¨á㮪 27.3 27.3 ¤ ç ® ¬ ªá¨¬ «ì®¬ ¯®â®ª ¤«ï ¥áª®«ìª¨å ¨á⮪®¢ ¨ á⮪®¢ ᢮¤¨âáï ª ®¡ë箩. (a) ¥âì á ¯ïâìî ¨á⮪ ¬¨ S = fs1 ; s2 ; s3 ; s4 ; s5 g ¨ â६ï á⮪ ¬¨ T = ft1 ; t2 ; t3 g. (b) ®®®â¢¥âáâ¢ãîé ï á¥âì á ®¤¨¬ ¨á⮪®¬ ¨ ®¤¨¬ á⮪®¬; ¤®¡ ¢«¥ë¥ àñ¡à ¨¬¥îâ ¡¥áª®¥çãî ¯à®¯ãáªãî ᯮᮡ®áâì. ¢ ਠ⠯஡«¥¬ë ¬®¦® ᢥá⨠ª ®¡ë箬ã. H à¨á. 27.3 (b) ¯®ª § íª¢¨¢ «¥â ï á¥âì á ®¤¨¬ ¨á⮪®¬ ¨ ®¤¨¬ á⮪®¬. ë ¤®¡ ¢¨«¨ ®¡é¨© ¨á⮪ (supersource) s, ¨§ ª®â®à®£® ¢¥¤ãâ àñ¡à ¡¥áª®¥ç®© ¯à®¯ã᪮© ᯮᮡ®á⨠¢® ¢á¥ ¯à¥¦¨¥ ¨á⮪¨ (c(s; si) = 1 ¯à¨ ¢á¥å i = 1; 2; : : :; m). «®£¨çë¬ ®¡à §®¬ ¨§ ¢á¥å ¯à¥¦¨å á⮪®¢ ¯à®¢¥¤¥ë àñ¡à ¢ ®¡é¨© á⮪ (supersink) t. ¥£ª® ¢¨¤¥âì, çâ® ª ¦¤ë© ¯®â®ª ¢ á¥â¨ (a) ᮮ⢥âáâ¢ã¥â ¯®â®ªã ¢ á¥â¨ (b) ¨ ®¡®à®â (ä®à¬ «ì®¥ ¤®ª § ⥫ìá⢮ ®áâ ¢«ï¥âáï ç¨â â¥«î ¢ ª ç¥á⢥ ã¯à. 27.1-3) ¡®§ 票ï ë ¡ã¤¥¬ ¨á¯®«ì§®¢ âì á«¥¤ãî饥 ᮣ« 襨¥: ¥á«¨ ¢ ¢ëà ¦¥¨¨ ¬¥á⥠¢¥àè¨ë á⮨⠬®¦¥á⢮ ¢¥àè¨, â® ¨¬¥¥âáï ¢ ¢¨¤ã á㬬 ¯® ¢á¥¬ í«¥¬¥â ¬ í⮣® ¬®¦¥á⢠( ¥ï¢®¥ á㬬¨à®¢ ¨¥, inplicit summary notation). â® ®â®á¨âáï ¨ ª á«ãç î ¥áª®«ìª¨å ¯¥à¥¬¥ëå. H ¯à¨¬¥à, ¥á«¨ X ¨ Y | ¬®¦¥á⢠¢¥àè¨, â® XX f (X; Y ) = f (x; y ): x2X y2Y íâ¨å ®¡®§ 票ïå § ª® á®åà ¥¨ï ¯®â®ª § ¯¨è¥âáï ª ª f (u; V ) = 0 ¤«ï ¢á¥å u 2 V ; fs; tg. ஬¥ ⮣®, ¢ ¥ï¢ëå á㬬 å ¬ë ®¯ã᪠¥¬ 䨣ãàë¥ áª®¡ª¨ ( ¯à¨¬¥à, ¢ à ¢¥á⢥ f (s; V n s) = f (s; V ) ᨬ¢®« V n s ®¡®§ ç ¥â V n fsg. ®â ¥áª®«ìª® ¯®«¥§ëå ᢮©á⢠⠪¨å á㬬 (¤®ª § ⥫ìá⢮ ¬ë ®áâ ¢«ï¥¬ ç¨â â¥«î ª ª ã¯à. 27.1-4): ¥¬¬ 27.1 ãáâì f | ¯®â®ª ¢ á¥â¨ G = (V; E ). ®£¤ ¤«ï «î¡®£® X V ¢ë¯®«¥® f (X; X ) = 0: «ï «î¡ëå X; Y V ¢ë¯®«¥® f (X; Y ) = ;f (Y; X ): «ï «î¡ëå X; Y; Z V ¨§ X \ Y = ; á«¥¤ã¥â f (X [ Y; Z ) = f (X; Z ) + f (Y; Z ) ¨ f (Z; X [ Y ) = f (Z; X ) + f (Z; Y ): «ï ¯à¨¬¥à ¤®ª ¦¥¬ á ¨á¯®«ì§®¢ ¨¥¬ â ª¨å ®¡®§ 票©, çâ® ¢¥«¨ç¨ ¯®â®ª à ¢ á㬬¥ ¯®â®ª®¢ ¨§ ¢á¥å ¢¥àè¨ ¢ á⮪: jf j = f (V; t): (27:3) 552 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª âã¨â¨¢® íâ® ïá® (ªã¤ ¦ ¥¬ã ¥éñ ¤¥¢ âìáï), ® ¬®¦® ¯à®¢¥á⨠¨ ä®à¬ «ì®¥ à áá㦤¥¨¥. ®â ®®: ® ®¯à¥¤¥«¥¨î, jf j = f (s; V ) ਬ¥ïï «¥¬¬ã 27.1, ¨¬¥¥¬ f (s; V ) = f (V; V ) ; f (V n s; V ) = f (V; V n s) = f (V; t) + f (V; V n s n t): ® § ª®ã á®åà ¥¨ï ¯®â®ª ¢â®à®¥ á« £ ¥¬®¥ à ¢® 0, ¨ ®áâ ñâáï f (V; t). ¡®¡é¥¨¥ «¥¬¬ë 27.1 ¡ã¤¥â ¤®ª § ® ¨¦¥ («¥¬¬ 27.5) ¯à ¦¥¨ï 27.1-1 «¥¤ãï ®¡à §æã à¨á. 27.2, ¨§®¡à §¨â¥ ¤¢¥ ¢¥àè¨ë u ¨ v, ¤«ï ª®â®àëå c(u; v) = 5, c(v; u) = 8, ¨§ u ¢ v ¯¥à¥áë« îâáï 3 ¥¤¨¨æë, ¨§ v ¢ u | 4. ¥¬ã à ¢¥ ¯®â®ª ¨§ u ¢ v? 27.1-2 ஢¥àìâ¥, çâ® äãªæ¨ï f à¨á.27.1 (b) ¤¥©áâ¢¨â¥«ì® ï¢«ï¥âáï ¯®â®ª®¬. 27.1-3 ª ¯à¨á¯®á®¡¨âì ®¯à¥¤¥«¥¨¥ ¯®â®ª ¤«ï á«ãç ï ¥áª®«ìª¨å ¨á⮪®¢ ¨ á⮪®¢? ®ª ¦¨â¥, çâ® § ¤ ç ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¤«ï â ª®£® á«ãç ï ᢮¤¨âáï ª ®¡ë箩 á ¯®¬®éìî ®¯¨á ®£® ¬¨ ¯à¨ñ¬ . 27.1-4 ®ª ¦¨â¥ «¥¬¬ã 27.1. 27.1-5 «ï á¥â¨ G = (V; E ) ¨ ¯®â®ª f à¨á.27.1 (b), 㪠¦¨â¥ ¯à¨¬¥à ¯®¤¬®¦¥á⢠X; Y V , ¤«ï ª®â®àëå f (X; Y ) = ;f (V n X; Y , â ª¦¥ ¯®¤¬®¦¥á⢠X; Y V , ¤«ï ª®â®àëå f (X; Y ) = 6 ;f (V n X; Y . 27.1-6 ãáâì ¨¬¥¥âáï á¥âì G = (V; E ) ¨ ¤¢ ¯®â®ª f1 ¨ f2 ¥©. áᬮâਬ ¨å á㬬ã (äãªæ¨î ¨§ V V ¢ ): (f1 + f2 )(u; v ) = f1 (u; v ) + f2(u; v ) (27:4) ª¨¬ âॡ®¢ ¨ï¬ ¨§ ®¯à¥¤¥«¥¨ï ¯®â®ª ® 㤮¢«¥â¢®àï¥â ®¡ï§ ⥫ì®, ª ª¨¬ ¬®¦¥â ¥ 㤮¢«¥â¢®àïâì? R 27.1-7 ®â®ª f ¬®¦® 㬮¦¨âì ¢¥é¥á⢥®¥ ç¨á«® , ¯®«ã稢 äãªæ¨î (f )(u; v ) = f (u; v ) ®ª ¦¨â¥, çâ® ¤«ï «î¡®© á¥â¨ ¬®¦¥á⢮ ¯®â®ª®¢ ¢ë¯ãª«®. â® § ç¨â, çâ® ¥á«¨ f1 ¨ f2 | ¯®â®ª¨, â® á㬬 f1 +(1 ; )f2 ¯à¨ 0 6 6 1 ⮦¥ ï¥âáï ¯®â®ª®¬. ®â®ª¨ ¢ á¥âïå 553 27.1-8 ä®à¬ã«¨àã©â¥ § ¤ çã ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ª ª § ¤ çã «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï. 27.1-9 áᬮâਬ á¥âì á ¥áª®«ìª¨¬¨ ¢¥é¥á⢠¬¨ (multicommodity ow network) ¢ ª®â®à®© ¨¬¥îâáï ¯®â®ª¨ p ¢¥é¥áâ¢, ¤«ï ª ¦¤®£® ¨§ ª®â®àëå ¥áâì ᢮© ¨á⮪ ¨ ᢮© á⮪. «ï ª ¦¤®£® ¢¥é¥á⢠¥áâì ᢮© § ª® á®åà ¥¨ï ¯®â®ª , ¯à®¯ã᪠ï ᯮᮡ®áâì ®¤ ¢á¥å (á㬬 ¯®â®ª®¢ ¢á¥å ¢¥é¥á⢠¨§ u ¢ v ¥ ¤®«¦ ¯à¥¢ëè âì c(u; v). «ï ª ¦¤®£® ¢¥é¥á⢠¨¬¥¥âáï á¢®ï ¢¥«¨ç¨ ¯®â®ª ; ᪫ ¤ë¢ ï í⨠¢¥«¨ç¨ë, ¯®«ã稬 á㬬 àãî ¢¥«¨ç¨ã (total ow value) ¯®â®ª . ®ª ¦¨â¥, çâ® ¯®â®ª ¬ ª- ᨬ «ì®© á㬬 ன ¢¥«¨ç¨ë ¬®¦® ©â¨ § ¯®«¨®¬¨ «ì®¥ ¢à¥¬ï, ¯à¥¤áâ ¢¨¢ íâã § ¤ çã ª ª § ¤ çã «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï. (î¡ ï § ¤ ç «¨¥©®£® ¯à®£à ¬¬¨à®¢ ¨ï à §à¥è¨¬ § ¯®«¨®¬¨ «ì®¥ ¢à¥¬ï: íâ®â ä ªâ ¬ë 㯮¬¨ «¨ ¢ à §¤¥«¥ 25.5.) 㯯 ¤ áâ ¯® âਠç¨á« , ¡®«ìè¨å x, § ¤¢ã¬ï ¢®§¬®¦ë¬¨ ¨áª«î票ﬨ: £à㯯 , ᮤ¥à¦ é ï x, ¨ ¯®á«¥¤ïï ¥¯®« ï £à㯯 . ¥¬ á ¬ë¬ ¨¬¥¥âáï ¥ ¬¥¥¥ l m 3 1 n ; 2 > 3n ; 6: 2 5 10 í«¥¬¥â®¢, § ¢¥¤®¬® ¡®«ìè¨å x, ¨ â®ç® â ª ¦¥ ¯®«ãç ¥¬, çâ® ¨¬¥¥âáï ¥ ¬¥¥¥ 3n=10 ; 6 í«¥¬¥â®¢, § ¢¥¤®¬® ¬¥ìè¨å x. ç¨â, «£®à¨â¬ Select, ४ãàᨢ® ¢ë§ë¢ ¥¬ë© ¯ï⮬ è £¥, ¡ã¤¥â ®¡à ¡ âë¢ âì ¬ áᨢ ¤«¨®© ¥ ¡®«¥¥ 7n=10 + 6. ãáâì ⥯¥àì T (n) | ¢à¥¬ï à ¡®âë «£®à¨â¬ Select ¬ áᨢ¥ ¨§ n í«¥¬¥â®¢ ¢ åã¤è¥¬ á«ãç ¥. ¥à¢ë©, ¢â®à®© ¨ ç¥â¢¥àâë© è £¨ ¢ë¯®«ïîâáï § ¢à¥¬ï O(n) ( ¢â®à®¬ è £¥ ¬ë O(n) à § á®àâ¨à㥬 ¬ áᨢë à §¬¥à®¬ O(1)), âà¥â¨© è £ ¢ë¯®«ï¥âáï § ¢à¥¬ï ¥ ¡®«¥¥ T (dn=5e), ¯ïâë© è £, ¯® ¤®ª § ®¬ã, | § ¢à¥¬ï, ¥ ¯à¥¢®á室ï饥 T (b7n=10+6c) (ª ª ¨ à ìè¥, ¬®¦® ¯à¥¤¯®« £ âì, çâ® T (n) ¬®®â®® ¢®§à áâ ¥â á à®á⮬ n). â «® ¡ëâì, T (n) 6 T (dn=5e) + T (b7n=10 + 6c) + O(n): ®áª®«ìªã á㬬 ª®íää¨æ¨¥â®¢ ¯à¨ n ¢ ¯à ¢®© ç á⨠(1=5 + 7=10 = 9=10) ¬¥ìè¥ ¥¤¨¨æë, ¨§ í⮣® ४ãàà¥â®£® á®®â®è¥¨ï ¢ë⥪ ¥â, çâ® T (n) 6 cn ¤«ï ¥ª®â®à®© ª®áâ âë c. â® ¬®¦® ¤®ª § âì ¯® ¨¤ãªæ¨¨. á ¬®¬ ¤¥«¥, ¯à¥¤¯®« £ ï, çâ® T (m) 6 cm ¤«ï ¢á¥å m < n, ¨¬¥¥¬ T (n) 6 c(dn=5e) + c(b7n=10 + 6c) + O(n) 6 c(n=5 + 1) + c(7n=10 + 6) + O(n) 6 9cn=10 + 7c + O(n) = = cn ; c(n=10 ; 7) + O(n): 554 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ਠ¯®¤å®¤ï饬 ¢ë¡®à¥ c íâ® ¢ëà ¦¥¨¥ ¡ã¤¥â ¥ ¡®«ìè¥ cn ¯à¨ ¢á¥å n > 70 ( ¤®, ç⮡ë c(n=10 ; 6) ¯à¥¢®á室¨«® ª®íää¨æ¨¥â, ¯®¤à §ã¬¥¢ ¥¬ë© ¢ O(n)). ª¨¬ ®¡à §®¬, ¨¤ãªâ¨¢ë© ¯¥à¥å®¤ ¢®§¬®¦¥ ¯à¨ n > 70 (§ ¬¥â¨¬ ¥éñ, çâ® ¯à¨ â ª¨å n ¢ëà ¦¥¨ï dn=5e ¨ b7n=10 + 6c ¬¥ìè¥ n). ¢¥«¨ç¨¢ c ¥éñ (¥á«¨ ¤®), ¬®¦® ¤®¡¨âìáï ⮣®, ç⮡ë T (n) ¥ ¯à¥¢®á室¨«® cn ¨ ¯à¨ ¢á¥å n 6 70, çâ® § ¢¥àè ¥â à áá㦤¥¨¥ ¯® ¨¤ãªæ¨¨. â «® ¡ëâì, «£®à¨â¬ Select à ¡®â ¥â § «¨¥©®¥ ¢à¥¬ï (¢ åã¤è¥¬ á«ãç ¥). ⬥⨬, çâ® «£®à¨â¬ë Select ¨ Randomized-Select, ¢ ®â«¨ç¨¥ ®â ®¯¨á ëå ¢ £« ¢¥ 9 «£®à¨â¬®¢ á®àâ¨à®¢ª¨ § «¨¥©®¥ ¢à¥¬ï, ¨á¯®«ì§ãîâ ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï í«¥¬¥â®¢ ¬ áᨢ ¨ ¯à¨¬¥¨¬ë ¤«ï ¯à®¨§¢®«ì®£® 㯮à冷祮£® ¬®¦¥á⢠. ⨠«£®à¨â¬ë ᨬ¯â®â¨ç¥áª¨ íä䥪⨢¥¥ ®ç¥¢¨¤®£® ¯®¤å®¤ "㯮àï¤®ç¨ ¬®¦¥á⢮ ¨ ¢ë¡¥à¨ ã¦ë© í«¥¬¥â", ¯®áª®«ìªã ¢á直© «£®à¨â¬ á®àâ¨à®¢ª¨, ¨á¯®«ì§ãî騩 ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï, âॡã¥â ¢à¥¬¥¨ (n lg n) ¥ ⮫쪮 ¢ åã¤è¥¬ á«ãç ¥ (à §¤¥« 9.1), ® ¨ ¢ á।¥¬ (§ ¤ ç 9-1). ¯à ¦¥¨ï 㤥⠫¨ «£®à¨â¬ Select à ¡®â âì § «¨¥©®¥ ¢à¥¬ï, ¥á«¨ à §¡¨¢ âì ¬ áᨢ £àã¯¯ë ¥ ¨§ ¯ïâ¨, ¨§ ᥬ¨ í«¥¬¥â®¢? ®ª ¦¨â¥, çâ® ¤«ï £à㯯 ¨§ âàñå í«¥¬¥â®¢ à áá㦤¥¨¥ ¥ ¯à®å®¤¨â. 27.1-2 ãáâì x | "¬¥¤¨ ¬¥¤¨ " ¢ «£®à¨â¬¥ Select (¬ áᨢ ᮤ¥à¦¨â n í«¥¬¥â®¢). ®ª ¦¨â¥, çâ® ¯à¨ n > 38 ª®«¨ç¥á⢮ í«¥¬¥â®¢, ¡®«ìè¨å x (â ª ¦¥ ª ª ¨ ª®«¨ç¥á⢮ í«¥¬¥â®¢, ¬¥ìè¨å x) ¥ ¬¥ìè¥ dn=4e. 27.1-3 ®¤¨ä¨æ¨àã©â¥ «£®à¨â¬ ¡ëáâன á®àâ¨à®¢ª¨ â ª, çâ®¡ë ® à ¡®â « § ¢à¥¬ï O(n lg n) ¢ åã¤è¥¬ á«ãç ¥. 27.1-4? ãáâì «£®à¨â¬ ¢ë¡®à i-£® ¯® áçñâã í«¥¬¥â ¨á¯®«ì§ã¥â ⮫쪮 ¯®¯ àë¥ áà ¢¥¨ï. ®ª ¦¨â¥, çâ® á ¯®¬®éìî â¥å ¦¥ áà ¢¥¨© ¬®¦® ¢ ª ç¥á⢥ ¯®¡®ç®£® १ã«ìâ â ¯®«ãç¨âì ᯨ᪨ í«¥¬¥â®¢, ¬¥ìè¨å ¨áª®¬®£®, â ª¦¥ ¡®«ìè¨å ¨áª®¬®£®. 27.1-5 ãáâì ã á ¥áâì ª ª®©-â® «£®à¨â¬, 室ï騩 ¬¥¤¨ ã § «¨¥©®¥ ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï. ᯮ«ì§ãï ¥£® ¢ ª ç¥á⢥ ¯®¤¯à®£à ¬¬ë, à §à ¡®â ©â¥ ¯à®á⮩ «£®à¨â¬, à¥è î騩 § ¤ çã 宦¤¥¨ï ¯à®¨§¢®«ì®© ¯®à浪®¢®© áâ â¨á⨪¨ § «¨¥©®¥ ¢à¥¬ï. 27.1-1 ®â®ª¨ ¢ á¥âïå 555 ¨á㮪 27.4 ª ¯à®¢¥áâ¨ á ¢®á⮪ § ¯ ¤ ¬ £¨áâà «ì, ç⮡ë á㬬 à ï ¤«¨ ¯®¤¢®¤ïé¨å âàã¡®¯à®¢®¤®¢ ¡ë« ¬¨¨¬ «ì ? ®¤ k-ª¢ ⨫ﬨ (k-th quantiles) ¬®¦¥á⢠¨§ n ç¨á¥« ¬ë ¯®¨¬ ¥¬ k ; 1 ¥£® í«¥¬¥â®¢, ®¡« ¤ îé¨å á«¥¤ãî騬 ᢮©á⢮¬: ¥á«¨ à ᯮ«®¦¨âì í«¥¬¥âë ¬®¦¥á⢠¢ ¯®à浪¥ ¢®§à áâ ¨ï, â® ª¢ ⨫¨ ¡ã¤ãâ à §¡¨¢ âì ¬®¦¥á⢮ k à ¢ëå (â®ç¥¥, ®â«¨ç îé¨åáï ¥ ¡®«¥¥ 祬 ®¤¨ í«¥¬¥â) ç á⥩. §à ¡®â ©â¥ «£®à¨â¬, ª®â®àë© § ¢à¥¬ï O(n lg k) 室¨â k-ª¢ ⨫¨ ¤ ®£® ¬®¦¥á⢠. 27.1-7 §à ¡®â ©â¥ «£®à¨â¬, ª®â®àë© ¯® § ¤ ®¬ã k 室¨â ¢ ¤ ®¬ ¬®¦¥á⢥ S ¥£® k í«¥¬¥â®¢, ¬¥¥¥ ¢á¥£® ®âáâ®ïé¨å ®â ¬¥¤¨ ë. ¨á«® ®¯¥à 権 ¤®«¦® ¡ëâì O(jS j). 27.1-8 ãáâì X [1 : :n] ¨ Y [1 : :n] | ¤¢ ¢®§à áâ îé¨å ¬ áᨢ . §à ¡®â ©â¥ «£®à¨â¬, 室ï騩 § ¢à¥¬ï O(lg n) ¬¥¤¨ ã ¬®¦¥á⢠, ¯®«ã祮£® ®¡ê¥¤¨¥¨¥¬ í«¥¬¥â®¢ íâ¨å ¬ áᨢ®¢. 27.1-9 à®ä¥áá®à ª®áã«ìâ¨àã¥â ¥äâïãî ª®¬¯ ¨î, ª®â®à®© âॡã¥âáï ¯à®¢¥á⨠¬ £¨áâà «ìë© ¥ä⥯஢®¤ ¢ ¯à ¢«¥¨¨ áâண® á § ¯ ¤ ¢®á⮪ ç¥à¥§ ¥ä⥮ᮥ ¯®«¥, ª®â®à®¬ à ᯮ«®¦¥ë n ¥äâïëå ᪢ ¦¨. â ª ¦¤®© ᪢ ¦¨ë ¥®¡å®¤¨¬® ¯®¤¢¥á⨠ª ¬ £¨áâà «¨ âàã¡®¯à®¢®¤ ¯® ªà âç ©è¥¬ã ¯ã⨠(áâண® ᥢ¥à ¨«¨ î£, à¨á. 10.2). ®®à¤¨ âë ¢á¥å ᪢ ¦¨ ¯à®ä¥áá®àã ¨§¢¥áâë; ¥®¡å®¤¨¬® ¢ë¡à âì ¬¥á⮯®«®¦¥¨¥ ¬ £¨áâà «¨, ç⮡ë á㬬 ¤«¨ ¢á¥å âàã¡®¯à®¢®¤®¢, ¢¥¤ãé¨å ®â ᪢ ¦¨ ª ¬ £¨áâà «¨, ¡ë« ¬¨¨¬ «ì . ®ª ¦¨â¥, çâ® ®¯â¨¬ «ì®¥ ¬¥áâ® ¤«ï ¬ £¨áâà «¨ ¬®¦® ©â¨ § «¨¥©®¥ ¢à¥¬ï. 27.1-6 556 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¤ ç¨ 27-1 ®àâ¨à®¢ª i ¨¡®«ìè¨å í«¥¬¥â®¢ ® ¬®¦¥á⢮ ¨§ n ç¨á¥«; âॡã¥âáï ¢ë¡à âì ¨§ ¨å i ¨¡®«ìè¨å ¨ ®âá®àâ¨à®¢ âì (¯®«ì§ãïáì ⮫쪮 ¯®¯ à묨 áà ¢¥¨ï¬¨). «ï ª ¦¤®£® ¨§ ¯à¨¢¥¤¥ëå ¨¦¥ ¯®¤å®¤®¢ à §à ¡®â ©â¥ ᮮ⢥âáâ¢ãî騩 «£®à¨â¬ ¨ ¢ëïá¨â¥, ª ª § ¢¨á¨â ®â n ¨ i ¢à¥¬ï à ¡®âë íâ¨å «£®à¨â¬®¢ ¢ åã¤è¥¬ á«ãç ¥. âá®àâ¨à®¢ âì ¢á¥ ç¨á« ¨ ¢ë¯¨á âì i ¨¡®«ìè¨å. ¡ ®¬¥áâ¨âì ç¨á« ¢ ®ç¥à¥¤ì á ¯à¨®à¨â¥â ¬¨ ¨ ¢ë§¢ âì i à § ¯à®æ¥¤ãàã Extract-Max. ¢ ©â¨ á ¯®¬®éìî «£®à¨â¬ à §¤¥« 10.3 i-¥ ¯® ¢¥«¨ç¨¥ ç¨á«® (áç¨â ï ®â ¨¡®«ì襣®), à §¡¨âì ¬ áᨢ ®â®á¨â¥«ì® ¥£® ¨ ®âá®àâ¨à®¢ âì i ¨¡®«ìè¨å ç¨á¥«. 27-2 §¢¥è¥ ï ¬¥¤¨ ãáâì ¤ ® n à §«¨çëå ç¨á¥« x1; : : :; xn, ¨ ¯ãáâì ª ¦¤®¬ã xi ᮯ®áâ ¢«¥® ¯®«®¦¨â¥«ì®¥ ç¨á«® ("¢¥á") wi, ¯à¨çñ¬ á㬬 ¢á¥å ¢¥á®¢ à ¢ 1. §¢¥è¥®© ¬¥¤¨ ®© (weighted median) §ë¢ ¥âáï â ª®¥ ç¨á«® xk , çâ® X xi <xk wi 6 12 ¨ X xi >xk wi 6 12 : ®ª ¦¨â¥, çâ® ¥á«¨ ¢á¥ ¢¥á à ¢ë 1=n, â® ¢§¢¥è¥ ï ¬¥¤¨ ᮢ¯ ¤ ¥â á ®¡ë箩. ¡ ª ©â¨ ¢§¢¥è¥ãî ¬¥¤¨ ã n ç¨á¥« á ¯®¬®éìî á®àâ¨à®¢ª¨ § ¢à¥¬ï O(n lg n) ¢ åã¤è¥¬ á«ãç ¥? ¢ ª ¬®¤¨ä¨æ¨à®¢ âì «£®à¨â¬ Select (à §¤¥« 10.3), çâ®¡ë ® ¨áª « ¢§¢¥è¥ãî ¬¥¤¨ ã § ¢à¥¬ï (n) ¢ åã¤è¥¬ á«ãç ¥? ¤ ç ® ¢ë¡®à¥ ¬¥áâ ¤«ï ¯®çâë (post-oce location problem) á®á⮨⠢ á«¥¤ãî饬. ® n â®ç¥ª p1; : : :; pn ¨ n ¯®«®¦¨â¥«ìëå ¢¥á®¢ w1; : : :; wn; âॡã¥âáï ©â¨ â®çªã p (¥ ®¡ï§ â¥«ì® á®¢¯ ¤ îéãî á ®¤®© ¨§ pi), ¤«ï ª®â®à®© ¢ëà ¦¥¨¥ Pni=1 wid(p; pi) ¡ã¤¥â ¬¨¨¬ «ì® (ç¥à¥§ d(a; b) ®¡®§ ç ¥âáï à ááâ®ï¨¥ ¬¥¦¤ã â®çª ¬¨ a ¨ b). ¤ ®ª ¦¨â¥, çâ® ¢ ®¤®¬¥à®¬ á«ãç ¥ (â®çª¨ | ¢¥é¥áâ¢¥ë¥ ç¨á« , d(a; b) = ja ; bj) ¢§¢¥è¥ ï ¬¥¤¨ ¡ã¤¥â à¥è¥¨¥¬ í⮩ § ¤ ç¨. ¥ ©¤¨â¥ ®¯â¨¬ «ì®¥ à¥è¥¨¥ ¢ ¤¢ã¬¥à®¬ á«ãç ¥ (â®çª¨ | ¯ àë ¢¥é¥á⢥ëå ç¨á¥«), ¥á«¨ à ááâ®ï¨¥ ¬¥¦¤ã â®çª ¬¨ a = (x1; y1) ¨ b = (x2; y2) § ¤ ¥âáï "¢ L1-¬¥âਪ¥": d(a; b) = jx1 ; x2j + jy1 ; y2 j ( ¬¥à¨ª æë §ë¢ îâ â ªãî ¬¥âਪã Manhattan ¬¥ç ¨ï ª £« ¢¥ 10 557 distance, ¯® §¢ ¨î à ©® ìî-®àª , à §¡¨â®£® ã«¨æ ¬¨ ¯àאַ㣮«ìë¥ ª¢ àâ «ë) 27-3 宦¤¥¨¥ i-£® ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¯à¨ ¬ «ëå i ãáâì T (n) | ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë Select, ¯à¨¬¥¥®© ª ¬ áᨢ㠨§ n ç¨á¥«; ¢ åã¤è¥¬ á«ãç ¥ T (n) = (n), ® ª®íää¨æ¨¥â ¯à¨ n, ¯®¤à §ã¬¥¢ ¥¬ë© ¢ í⮬ ®¡®§ 票¨, ¤®¢®«ì® ¢¥«¨ª. ᫨ i ¬ «® ¯® áà ¢¥¨î á n, â® ®â®¡à âì i-ë© ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¬®¦® ¡ëáâ॥. ¯¨è¨â¥ «£®à¨â¬, ª®â®àë© å®¤¨â i-© ¯® ¢¥«¨ç¨¥ í«¥¬¥â ¢ ¬®¦¥á⢥ ¨§ n ç¨á¥«, ¤¥« ï Ui(n) áà ¢¥¨©, ¯à¨çñ¬ ( n 6 2i, Ui(n) = Tn=(2n)+ U (bn=2c) + T (2i + 1) ¥á«¨ ¨ ç¥. i (ª § ¨¥: ᤥ« ©â¥ bn=2c ¯®¯ àëå áà ¢¥¨© ¨ ®â¡¥à¨â¥ i ¨¬¥ìè¨å á।¨ ¬¥ìè¨å í«¥¬¥â®¢ ¯ à.) ¡ ®ª ¦¨â¥, çâ® Ui (n) = n + O(T (2i) log(n=i)). ¢ ®ª ¦¨â¥, çâ®, ¯à¨ ¯®áâ®ï®¬ i, ¨¬¥¥¬ Ui (n) = n + O(lg n). [ ¦¥ ®æ¥ª ¯®«ãç¨âáï, ¥á«¨ ¯®áâநâì ªãçã ¨§ £« ¢ë 7, § ⥬ i à § ¢ë¡à âì ¨§ ¥ñ ¬¨¨¬ «ìë© í«¥¬¥â.] £ ãáâì i = n=k, ¯à¨çñ¬ k > 2; ¯®ª ¦¨â¥, çâ® Ui (n) = n + O(T (2n=k) lg k). ¬¥ç ¨ï «£®à¨â¬ ¤«ï 宦¤¥¨ï ¬¥¤¨ ë § «¨¥©®¥ ¢ åã¤è¥¬ á«ãç ¥ ¢à¥¬ï ¯à¥¤«®¦¨«¨ «î¬, «®©¤, à ââ, ¨¢¥áâ ¨ àìï [29]. ¥à®ïâ®áâë© «£®à¨â¬ á «¨¥©ë¬ á।¨¬ ¢à¥¬¥¥¬ à ¡®âë ¯à¨ ¤«¥¦¨â ® àã [97]. «®©¤ ¨ ¨¢¥áâ [70] à §à ¡®â «¨ ãᮢ¥àè¥á⢮¢ ãî ¢¥àá¨î í⮣® «£®à¨â¬ , ¢ ª®â®à®© £à ¨æ à §¡¨¥¨ï ®¯à¥¤¥«ï¥âáï ¯® ¥¡®«ì让 á«ãç ©®© ¢ë¡®àª¥. 27.2 ¥â®¤ ®à¤ { «ª¥àá® í⮬ à §¤¥«¥ ¬ë à áᬮâਬ ¬¥â®¤ ®à¤ { «ª¥àá® ®âë᪠¨ï ¬ ªá¨¬ «ì®£® ¯®â®ª . ë £®¢®à¨¬ ® ¬¥â®¤¥, ¥ ®¡ «£®à¨â¬¥, ¯®áª®«ìªã ¥áâì ¥áª®«ìª® «£®à¨â¬®¢, ¥£® ॠ«¨§ãîé¨å ¨ ®â«¨ç îé¨åáï ¢à¥¬¥¥¬ à ¡®âë. ¤ ¨§ â ª¨å ॠ«¨§ 権 ¯à¨¢¥¤¥ ¢ ª®æ¥ à §¤¥« . «î祢ãî à®«ì ¢ ¬¥â®¤¥ ®¤ { «ª¥àá® ¨£à îâ âਠ¯®ïâ¨ï: ®áâ â®çë¥ á¥â¨, ¤®¯®«ïî騥 ¯ã⨠¨ à §à¥§ë. ᮢ ï ⥮६ | ⥮६ 27.7 ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¨ ¬¨¨¬ «ì®¬ à §à¥§¥. 558 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ®¨áª ¬ ªá¨¬ «ì®£® ¯®â®ª ¬¥â®¤®¬ ®à¤ { «ª¥àá® ¯à®¢®¤¨âáï ¯®á«¥¤®¢ ⥫ì®. ç «¥ ¯®â®ª ã«¥¢®© (¨ ¢¥«¨ç¨ ¥£® à ¢ ã«î). ª ¦¤®¬ è £¥ ¬ë 㢥«¨ç¨¢ ¥¬ § 票¥ ¯®â®ª . «ï í⮣® ¬ë 室¨¬ "¤®¯®«ïî騩 ¯ãâì", ¯® ª®â®à®¬ã ¬®¦® ¯à®¯ãáâ¨âì ¥éñ ¥¬®£® ¢¥é¥á⢠, ¨ ¨á¯®«ì§ã¥¬ ¥£® ¤«ï 㢥«¨ç¥¨ï ¯®â®ª . â®â è £ ¯®¢â®àï¥âáï, ¯®ª ¥áâì ¤®¯®«ïî騥 ¯ãâ¨. ª ¯®ª ¦¥â ⥮६ ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¨ ¬¨¨¬ «ì®¬ à §à¥§¥, ¯®«ãç¥ë© ¯®â®ª ¡ã¤¥â ¬ ªá¨¬ «ìë¬. ¯¨è¥¬ íâ®â ¯« á ¯®¬®éìî ¯á¥¢¤®ª®¤ : Ford-Fulkerson-Method($G,s,t$) 1 ¯®«®¦¨âì ¯®â®ª $f$ à ¢ë¬ $0$ 2 while (¯®ª ) áãé¥áâ¢ã¥â ¤®¯®«ïî騩 ¯ãâì $p$ 3 do ¤®¯®«¨âì $f$ ¢¤®«ì $p$ 4 return $f$ áâ â®çë¥ á¥â¨ ãáâì ¤ á¥âì ¨ ¯®â®ª ¢ ¥©. ¥ä®à¬ «ì® £®¢®àï, ®áâ â®ç ï á¥âì á®á⮨⠨§ â¥å àñ¡¥à, ¯®â®ª ¯® ª®â®àë¬ ¬®¦® 㢥«¨ç¨âì. âண®¥ ®¯à¥¤¥«¥¨¥ â ª®¢®: ¯ãáâì G = (V; E ) | á¥âì á ¨á⮪®¬ s ¨ á⮪®¬ t. ãáâì f | ¯®â®ª ¢ í⮩ á¥â¨. «ï «î¡®© ¯ àë ¢¥àè¨ u ¨ v. à áᬮâਬ ®áâ â®çãî ¯à®¯ãáªãî ᯮᮡ®áâì (residual capacity) ¨§ u ¢ v, ®¯à¥¤¥«ï¥¬ãî ª ª cf (u; v ) = c(u; v) ; f (u; v): (27:5) ®¯à¥¤¥«ï¥â, ᪮«ìª® ¥éñ ¯®â®ª ¬®¦® ¯à ¢¨âì ¨§ u ¢ v. H ¯à¨¬¥à, ¥á«¨ c(u; v ) = 16, f (u; v ) = 11 â® ¬ë ¬®¦¥¬ ¯¥à¥á« âì ¥éñ cf (u; v) = 5 ¥¤¨¨æ ¯® ॡàã (u; v). áâ â®ç ï ¯à®¯ã᪠ï ᯮᮡ®áâì cf (u; v) ¬®¦¥â ¯à¥¢®á室¨âì c(u; v), ¥á«¨ ¢ ¤ ë© ¬®¬¥â ¯®â®ª f (u; v) ®âà¨æ ⥫¥. H ¯à¨¬¥à, ¥á«¨ c(u; v) = 16, f (u; v) = ;4, â® cf (u; v) = 20. á ¬®¬ ¤¥«¥, ¬ë ¬®¦¥¬ 㢥«¨ç¨âì ¯®â®ª 4, ®â¬¥¨¢ ¢áâà¥çë© ¯®â®ª, ¨ ¥éñ ®â¯à ¢¨âì 16 ¥¤¨¨æ, ¥ ¯à¥¢ëè ï ¯à®¯ã᪮© ᯮᮡ®á⨠ॡà (u; v ). ¥âì Gf = (V; Ef , £¤¥ Ef = f(u; v ) 2 V V : cf (u; v) > 0g §®¢ñ¬ ®áâ â®ç®© á¥âìî (residual network) á¥â¨ G, ¯®à®¦¤ñ®© ¯®â®ª®¬ f . ñ àñ¡à , §ë¢ ¥¬ë¥ ®áâ â®ç묨 àñ¡à ¬¨ (residual edges) ¤®¯ã᪠îâ ¯®«®¦¨â¥«ìë© ¯®â®ª. H à¨á. 27.4 (a) ¨§®¡à ¦¥ ¯®â®ª f ¢ á¥â¨ G (¢§ïâë© á à¨á. 27.1 (b)), à¨á. 27.4 (b) ¨§®¡à ¦¥ ®áâ â®ç ï á¥âì Gf . ¬¥â¨¬, çâ® ®áâ â®ç®¥ ॡ஠(u; v) ¥ ®¡ï§ ® ¡ëâì ॡ஬ á¥â¨ G. 묨 á«®¢ ¬¨, ¬®¦¥â ®ª § âìáï, çâ® Ef 6 E . ñ¡¥à ¥â®¤ ®à¤ { «ª¥àá® 559 (v1; s) ¨ v2 ; v3) à¨á. 27.4 (b) ¥ ¡ë«® ¢ ¨á室®© á¥â¨. ª®¥ ॡ஠¨§ u ¢ v ¯®ï¢«ï¥âáï, ª®£¤ f (u; v) < 0, â® ¥áâì ª®£¤ ¨¬¥¥âáï ¨¬¥¥âáï ¯®â®ª ¢¥é¥á⢠¢ ®¡à ⮬ ¯à ¢«¥¨¨ (¯® ॡàã (v; u)) | ¢¥¤ì íâ®â ¯®â®ª ¬®¦® 㬥ìè¨âì. ª¨¬ ®¡à §®¬, ¥á«¨ ॡ஠(u; v) ¯à¨ ¤«¥¦¨â ®áâ â®ç®© á¥â¨, â® å®âï ¡ë ®¤® ¨§ àñ¡¥à (u; v) ¨ (v; u) ¡ë«® ¢ ¨á室®© á¥â¨. ®«ãç ¥¬ ®æ¥ªã jEf j 6 2jE j: áâ â®ç ï á¥âì Gf ï¥âáï á¥âìî á ¯à®¯ãáªë¬¨ ᯮᮡ®áâﬨ cf . «¥¤ãîé ï «¥¬¬ ¯®ª §ë¢ ¥â, ª ª á®®â®áïâáï ¯®â®ª¨ ¢ ¨á室®© ¨ ¢ ®áâ â®ç®© á¥âïå. ¥¬¬ 27.2 ãáâì G = (V; E ) | á¥âì á ¨á⮪®¬ s ¨ á⮪®¬ t, f | ¯®â®ª ¢ ¥©. ãáâì Gf | ®áâ â®ç ï á¥âì á¥â¨ G, ¯®à®¦¤ñ ï ¯®â®ª®¬ f . ãáâì f 0 | ¯®â®ª ¢ Gf . ®£¤ á㬬 f + f 0, ®¯à¥¤¥«¥ ï ª ª ¢ (27.4), ï¥âáï ¯®â®ª®¬ ¢ á¥â¨ G ¢¥«¨ç¨ë jf + f 0j = jf j + jf 0j. ®ª § ⥫ìá⢮ ç « ¤®ª ¦¥¬, çâ® f + f 0 ¡ã¤¥â ¯®â®ª®¬. ஢¥à¨¬ ª®á®á¨¬¬¥âà¨ç®áâì. «ï ¢á¥å u; v 2 V ¢ë¯®«¥® (f + f 0 )(u; v ) = f (u; v ) + f 0 (u; v ) = = ;f (v; u) ; f 0 (v; u) = = ;(f (v; u) + f 0 (v; u)) = = ;(f + f 0 )(v; u): ஢¥à¨¬ ãá«®¢¨¥, á¢ï§ ®¥ á ®£à ¨ç¥®© ¯à®¯ã᪮© ᯮᮡ®áâìî. ¬¥â¨¬, çâ® f 0(u; v) 6 cf (u; v) ¤«ï ¢á¥å u; v 2 V , ¯®í⮬ã (f + f 0 )(u; v ) = f (u; v )+ f 0(u; v ) 6 f (u; v )+(c(u; v ) ; f (u; v)) = c(u; v ): ஢¥à¨¬ § ª® á®åà ¥¨ï ¯®â®ª . «ï ¢á¥å u 2 V n fs; tg ¢ë¯®«¥® à ¢¥á⢮ (f + f 0)(u; V ) = f (u; V ) + f 0(u; V ) = f (u; V ) + f 0(u; V ) = 0 + 0 = 0: ª®¥æ, ©¤ñ¬ ¢¥«¨ç¨ã á㬬 ண® ¯®â®ª : jf + f 0j = (f + 0 f )(s; V ) = f (s; V ) + f 0 (s; V ) = jf j + jf 0j: ®¯®«ïî騥 ¯ã⨠ãáâì f | ¯®â®ª ¢ á¥â¨ G = (V; E ). H §®¢ñ¬ ¤®¯®«ïî騬 ¯ãâñ¬ (augmenting path) ¯à®á⮩ ¯ãâì ¨§ ¨á⮪ s ¢ á⮪ t ¢ ®áâ â®ç®© á¥â¨ Gf . § ®¯à¥¤¥«¥¨ï ®áâ â®ç®© á¥â¨ ¢ë⥪ ¥â, çâ® ¯® ¢á¥¬ à¥¡à ¬ (u; v) ¤®¯®«ïî饣® ¯ã⨠¬®¦® ¯¥à¥á« âì ¥éñ ᪮«ìª®-â® ¢¥é¥á⢠, ¥ ¯à¥¢ëᨢ ¯à®¯ãáªãî ᯮᮡ®áâì ॡà . 560 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¨á㮪 27.5 27.4 (a) ®â®ª f ¢ á¥â¨ G (ª ª à¨á. 27.1). (b) áâ â®ç ï á¥âì Gf . 뤥«¥ ¤®¯®«ïî騩 ¯ãâì p. £® ®áâ â®ç ï ¯à®¯ã᪠ï ᯮᮡ®áâì cf (p) à ¢ c(v2 ; v3 ) = 4. (c) ¥§ã«ìâ â ¤®¡ ¢«¥¨ï ¯®â®ª ¢¥«¨ç¨ë 4, ¯à®å®¤ï饣® ¢¤®«ì ¯ã⨠p. (d) áâ â®ç ï á¥âì, ¯®à®¦¤ñ ï ¯®â®ª®¬ à¨á. (c). H à¨á. 27.4 (b) ¤®¯®«ïî騩 ¯ãâì ¢ë¤¥«¥ á¥àë¬ æ¢¥â®¬. ® ¥¬ã ¬®¦® ®â¯à ¢¨âì ¥é¥ 4 ¥¤¨¨æë ¯®â®ª , â ª ª ª ¨¬¥ìè ï ®áâ â®ç ï ¯à®¯ã᪠ï ᯮᮡ®áâì àñ¡¥à í⮣® ¯ãâ¨ à ¢ c(v2; v3) = 4. ¥«¨ç¨ã ¨¡®«ì襣® ¯®â®ª , ª®â®àë© ¬®¦® ¯¥à¥á« âì ¯® ¤®¯®«ïî饬㠯ã⨠p, §®¢ñ¬ ®áâ â®ç®© ¯à®¯ã᪮© ᯮᮡ®áâìî (residual capacity) ¯ã⨠p: cf (p) = minfcf (u; v) : (u; v ) 2 pg ª § ®¥ ãâ®çï¥âáï ¢ á«¥¤ãî饩 «¥¬¬¥ (¤®ª § ⥫ìá⢮ ¬ë ®áâ ¢«ï¥¬ ç¨â â¥«î ¢ ª ç¥á⢥ ã¯à. 27.2-3). ¥¬¬ 27.3 ãáâì f | ¯®â®ª ¢ á¥â¨ G = (V; E ) ¨ p | ¤®¯®«ïî騩 ¯ãâì ¢ Gf . ¯à¥¤¥«¨¬ äãªæ¨î fp : V V ! â ª: 8 > < cf (p); ¥á«¨ (u; v ) 2 p fp (u; v) = > ;cf (p); ¥á«¨ (v; u) 2 p (27:6) : 0 ¢ ®áâ «ìëå á«ãç ïå. ®£¤ fp | ¯®â®ª ¢ á¥â¨ Gf ¨ jfpj = cf (p) > 0. ¥¯¥àì ¢¨¤®, çâ® ¥á«¨ ¤®¡ ¢¨âì ¯®â®ª fp ª ¯®â®ªã f , ¯®«ãç¨âáï ¯®â®ª ¢ á¥â¨ G á ¡®«ì訬 § 票¥¬. H à¨á. 27.4 (c) ¨§®¡à ¦ñ १ã«ìâ â ¤®¡ ¢«¥¨ï ¯®â®ª fp (à¨á. 27.4 (b)) ª ¯®â®ªã f (à¨á. 27.4 (a)). ä®à¬ã«¨à㥬 íâ® ¥éñ à §: «¥¤á⢨¥ 27.4 ãáâì f | ¯®â®ª ¢ á¥â¨ G = (V; E ), p | ¤®¯®«ïî騩 ¯ãâì ¢ á¥â¨ Gf , § ¤ ë© à ¢¥á⢮¬ (27.6). ®£¤ äãªæ¨ï f 0 = f + fp ï¥âáï ¯®â®ª®¬ ¢ á¥â¨ G ¢¥«¨ç¨ë jf 0j = jf j + jfpj > jf j. ®ª § ⥫ìá⢮ ⢥ত¥¨¥ ¢ë⥪ ¥â ¨§ «¥¬¬ 27.2 ¨ 27.3. §à¥§ë ¢ á¥âïå ¥â®¤ ®à¤ { «ª¥àá® ¤®¡ ¢«ï¥â ¯®á«¥¤®¢ â¥«ì® ¯®â®ª¨ ¯® ¤®¯®«ïî騬 ¯ãâï¬, ¯®ª ¥ ¯®«ãç¨âáï ¬ ªá¨¬ «ìë© ¯®â®ª. ª ¬ë ¢áª®à¥ 㢨¤¨¬ (⥮६ ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¨ ¬¨¨¬ «ì®¬ à §à¥§¥), ¢¥«¨ç¨ ¯®â®ª ¬ ªá¨¬ «ì ¢ ⮬ ¨ ⮫쪮 ¢ ⮬ á«ãç ¥, ª®£¤ ®áâ â®ç ï á¥âì ¥ ᮤ¥à¦¨â ¤®¯®«ïîé¨å ¯ã⥩. «ï ¤®ª § ⥫ìá⢠¬ ¯® ¤®¡¨âáï ¯®ï⨥ à §à¥§ á¥â¨. H §®¢ñ¬ à §à¥§®¬ (cut) á¥â¨ G = (V; E ) à §¡¨¥¨¥ ¬®¦¥á⢠V ¤¢¥ ç á⨠S ¨ T = V n S , ¤«ï ª®â®àëå s 2 S ¨ t 2 T . (®¤®¡ ï ¯à®æ¥¤ãà ¤¥« « áì ¤«ï ¬¨¨¬ «ì®£® ¯®ªàë¢ î饣® ¤¥à¥¢ ¢ £« ¢¥ 24, ® ⥯¥àì £à ä ®à¨¥â¨à®¢ ¨, ªà®¬¥ ⮣®, ¬ë R ¥â®¤ ®à¤ { «ª¥àá® 561 ¨á㮪 27.6 27.5 §à¥§ (S; T ) ¢ á¥â¨ à¨á. 27.1 (b). ¤¥áì S = fs; v1 ; v2 g (ç¥àë¥ ¢¥àè¨ë) ¨ T = fv3 ; v4 ; tg (¡¥«ë¥ ¢¥àè¨ë). ਠí⮬ f (S; T ) = 19 (¯®â®ª ç¥à¥§ à §à¥§) ¨ c(S; T ) = 26 (¯à®¯ã᪠ï ᯮᮡ®áâì) âॡ㥬, ç⮡ë s 2 S , t 2 T .) யã᪮© ᯮᮡ®áâìî à §à¥§ (capacity of the cut) (S; T ) §ë¢ îâ á㬬ã c(S; T ). ஬¥ ⮣®, ¤«ï § ¤ ®£® ¯®â®ª f ¢¥«¨ç¨ ¯®â®ª ç¥à¥§ à §à¥§ (S; T ) ®¯à¥¤¥«ï¥âáï ª ª á㬬 f (S; T ). H à¨á. 27.5 ¨§®¡à ¦ñ à §à¥§ (fs; v1; v2g; fv3; v4; tg) á¥â¨ à¨á. 27.1 (b). ®â®ª ç¥à¥§ íâ®â à §à¥§ à ¢¥ f (v1; v2) + f (v2; v3) + f (v2; v; 4) = 12 + (;4) + 11 = 19; ¯à®¯ã᪠ï ᯮᮡ®áâì à §à¥§ à ¢ c(v1; v3) + c(v2; v4) = 12 + 14 = 26: ª ¢¨¤®, ¯®â®ª ç¥à¥§ à §à¥§, ¢ ®â«¨ç¨¥ ®â ¯à®¯ã᪮© ᯮᮡ®áâ¨ à §à¥§ , ¬®¦¥â ¢ª«îç âì ¨ ®âà¨æ ⥫ìë¥ á« £ ¥¬ë¥. «¥¤ãîé ï «¥¬¬ ã⢥ত ¥â, çâ® ¢¥«¨ç¨ë ¯®â®ª®¢ ç¥à¥§ ¢á¥ à §à¥§ë ®¤¨ ª®¢ë (¨ à ¢ë ¢¥«¨ç¨¥ ¯®â®ª ). ¥¬¬ 27.5 ãáâì f | ¯®â®ª ¢ á¥â¨ G á ¨á⮪®¬ s ¨ á⮪®¬ t, (S; T ) | à §à¥§ á¥â¨ G. ®£¤ ¯®â®ª ç¥à¥§ à §à¥§ (S; T ) à ¢¥ f (S; T ) = jf j. ®ª § ⥫ìá⢮ ®£®ªà â® ¨á¯®«ì§ãï «¥¬¬ã 27.1, ¯®«ãç ¥¬ f (S; T ) = f (S; V ) ; f (S; S ) = = f (S; V ) = = f (s; V ) + f (S n s; V ) = = f (s; V ) = = jf j ®ª § ®¥ ¢ëè¥ à ¢¥á⢮ (27.3) (¢¥«¨ç¨ ¯®â®ª à ¢ ¯®â®ªã ¢ á⮪) ¥¬¥¤«¥® á«¥¤ã¥â ¨§ í⮩ «¥¬¬ë. «¥¤á⢨¥ 27.6 票¥ «î¡®£® ¯®â®ª f ¢ á¥â¨ G ¬¥ìè¥ ¨«¨ à ¢® ¯à®¯ã᪮© ᯮᮡ®á⨠«î¡®£® à §à¥§ á¥â¨ G. ®ª § ⥫ìá⢮ ãáâì (S; T ) | ¯à®¨§¢®«ìë© à §à¥§ á¥â¨ G. ᨫã 27.5 ¨ ®£à ¨ç¥¨© ¯®â®ª¨ ¯® àñ¡à ¬ jf j = f (S; T ) = XX = f (u; v) 6 6 u2S v2T XX u2S v2T c(u; v) = = c(S; T ): 562 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¥¯¥àì ¤®ª ¦¥¬ ®á®¢ãî ⥮६ã í⮣® à §¤¥« (max-ow min-cut theorem). ¥®à¥¬ 27.7 (® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¨ ¬¨¨¬ «ì®¬ à §à¥§¥) ãáâì f | ¯®â®ª ¢ á¥â¨ G = (V; E ). ®£¤ á«¥¤ãî騥 ã⢥ত¥¨ï à ¢®á¨«ìë: 1. ®â®ª f ¬ ªá¨¬ «¥ (ï¥âáï ¯®â®ª®¬ ¬ ªá¨¬ «ì®© ¢¥«¨ç¨ë) ¢ á¥â¨ G. 2. áâ â®ç ï á¥âì Gf ¥ ᮤ¥à¦¨â ¤®¯®«ïîé¨å ¯ã⥩. 3. «ï ¥ª®â®à®£® à §à¥§ (S; T ) á¥â¨ G ¢ë¯®«¥® à ¢¥á⢮ jf j = c(S; T ). ( í⮬ á«ãç ¥, ª ª ¯®ª §ë¢ ¥â á«¥¤á⢨¥ 27.6, à §à¥§ ï¥âáï ¬¨¨¬ «ìë¬, â® ¥áâì ¨¬¥¥â ¬¨¨¬ «ì® ¢®§¬®¦ãî ¯à®¯ãáªãî ᯮᮡ®áâì.) ®ª § ⥫ìá⢮ (1) ) (2) áá㦤 ï ®â ¯à®â¨¢®£®, ¤®¯ãá⨬, çâ® ¯®â®ª f ¬ ªá¨¬ «¥, ® Gf ᮤ¥à¦¨â ¤®¯®«ïî騩 ¯ãâì p. áᬮâਬ á㬬ã f + fp , £¤¥ fp § ¤ ¥âáï à ¢¥á⢮¬ (27.6). ® á«¥¤á⢨î 27.4 íâ á㬬 ï¥âáï ¯®â®ª®¬ ¢ G, ¢¥«¨ç¨ ª®â®à®£® ¡®«ìè¥ jf j, çâ® ¯à®â¨¢®à¥ç¨â ¬ ªá¨¬ «ì®á⨠f . (2) ) (3) ãáâì ¢ á¥â¨ Gf ¥â ¯ã⨠¨§ ¨á⮪ s ¢ á⮪ t. áᬮâਬ ¬®¦¥á⢮ S = fv 2 V j ¢ Gf áãé¥áâ¢ã¥â ¯ãâì ¨§ s ¢ vg: ®«®¦¨¬ T = V n S . 祢¨¤®, çâ® s 2 S , t 2 T , â ª ª ª ¢ Gf ¥â ¯ã⨠¨§ s ¢ t. ®í⮬㠯 à (S; T ) | à §à¥§. H¨ ¤«ï ª ª¨å u 2 S ¨ v 2 T ॡ஠(u; v) ¥ ¯à¨ ¤«¥¦¨â Ef (¢ ¯à®â¨¢®¬ á«ãç ¥ ¢¥àè¨ v ¯®¯ « ¡ë ¢ S ). ®í⮬ã f (u; v) = c(u; v). ® «¥¬¬¥ 27.5 jf j = f (S; T ) = c(S; T ). (3) ) (1) «ï «î¡®£® à §à¥§ (S; T ) ¢ë¯®«¥® jf j 6 c(S; T ) (á«¥¤á⢨¥ 27.6). ®í⮬㠨§ à ¢¥á⢠jf j = c(S; T ) á«¥¤ã¥â, çâ® ¯®â®ª f ¬ ªá¨¬ «¥. ¡é ï á奬 «£®à¨â¬ ®à¤ { «ª¥àá® ¥©áâ¢ãï ¯® ¬¥â®¤ã ®à¤ { «ª¥àá® , ª ¦¤®¬ è £¥ ¬ë ¢¨¡¨à ¥¬ ¯à®¨§¢®«ìë© ¤®¯®«ïî騩 ¯ãâì p ¨ 㢥«¨ç¨¢ ¥¬ ¯®â®ª f , ¤®¡ ¢«ïï ¯®â®ª ¢¥«¨ç¨ë cf (p) ¯® ¯ã⨠p. ਢ®¤¨¬ë© ¨¦¥ «£®à¨â¬ ¨á¯®«ì§ã¥â ¬ áᨢ f [u; v] ¤«ï åà ¥¨ï ⥪ãé¨å § ç¥¨ï ¯®â®ª . ë áç¨â ¥¬, çâ® äãªæ¨ï c(u; v) ¢ëç¨á«ï¥âáï § ¢à¥¬ï O(1), ¯à¨ í⮬ c(u; v) = 0 ¥á«¨ (u; v) 2= E . (ਠ¥áâ¥á⢥®© ॠ«¨§ 樨 § 票¥ (u; v) åà ¨âáï à冷¬ á àñ¡à ¬¨ ¢ á¯¨áª å ¨á室ïé¨å àñ¡¥à.) áâப¥ 5 ¢¥«¨ç¨ cf (u; v) ¯®¨¬ ¥âáï ¢ ᮮ⢥âá⢨¨ á ä®à¬ã«®© (27.5). ¨¬¢®« cf (p) ®¡®§ ç ¥â «®ª «ìãî ¯¥à¥¬¥ãî, ¢ ª®â®àãî ¯®¬¥é ¥âáï ®áâ â®ç ï ¯à®¯ã᪠ï ᯮᮡ®áâì ¯ã⨠p. ¥â®¤ ®à¤ { «ª¥àá® 563 ¨á㮪 27.7 27.6 ¡®â ¯à®æ¥¤ãàë Ford-Fulkerson. (a){(d) £¨ ¢ë¯®«¥¨ï 横« . «¥¢ ¨§®¡à ¦¥ ®áâ â®ç ï á¥âì Gf (¤®¯®«ïî騩 ¯ãâì p ¢ë¤¥«¥ á¥àë¬), á¯à ¢ ¯®ª § 㢥«¨ç¥ë© ¯®â®ª. ç «¥ (a) à®«ì ®áâ â®ç®© á¥â¨ ¨£à ¥â ¨á室 ï á¥âì G. (e) áâ â®ç ï á¥âì ¡®«¥¥ ¥ ᮤ¥à¦¨â ¤®¯®«ïî饣® ¯ãâ¨; ¯®â®ª ¬ ªá¨¬ «¥. Ford-Fulkerson($G,s,t$) 1 for (¤«ï) ª ¦¤®£® ॡà $(u,v)$ ¨§ $E[G]$ 2 do $f[u,v]\leftarrow 0$ 3 $f[v,u]\leftarrow 0$ 4 while (¯®ª ) ¢ ®áâ â®ç®© á¥â¨ $G_f$ áãé¥áâ¢ã¥â ¯ãâì $p$ ¨§ $s$ ¢ $t$ 5 do $c_f(p)\leftarrow\min\{c_f(u,v)|(u,v) \textrm{ ¢å®¤¨â ¢ } p\}$ 6 for (¤«ï) ª ¦¤®£® ॡà $(u,v)$ ¯ã⨠$p$ 7 do $f[u,v]\leftarrow f[u,v]+c_f(p)$ 8 $f[v,u]\leftarrow -f[u,v]$ à®æ¥¤ãà Ford-Fulkerson á«¥¤ã¥â ®¯¨á ®© ¢ëè¥ á奬¥ ( Ford-Fulkerson-Method). âப¨ 1{3 § ¤ îâ ¯¥à¢® ç «ì®¥ § 票¥ ¯®â®ª ; 横« ¢ áâப å 4{8 ª ¦¤®¬ è £¥ 室¨â ¤®¯®«ïî騩 ¯ãâì p ¢ Gf ¨ 㢥«¨ç¨¢ ¥â ¯®â®ª f . ᫨ ¤®¯®«ïî饣® ¯ã⨠¥â, ©¤¥ë© ¯®â®ª ¬ ªá¨¬ «¥. ਬ¥à à ¡®âë ¯à®£à ¬¬ë ¨§®¡à ¦¥ à¨á.27.6. «¨§ «£®à¨â¬ ®à¤ { «ª¥àᮠ६ï à ¡®âë ¯à®æ¥¤ãàë Ford-Fulkerson § ¢¨á¨â ®â ⮣®, ª ª ¨é¥âáï ¯ãâì p (áâப 4). ¯à¨æ¨¯¥ «£®à¨â¬ ¬®¦¥â ¢®®¡é¥ ¥ ®áâ ®¢¨âìáï, ¥á«¨ § 票¥ ¯®â®ª ¡ã¤¥â à á⨠¢áñ ¡®«¥¥ ¬¥«ª¨¬¨ è £ ¬¨, â ª ¨ ¥ ¤®á⨣㢠¬ ªá¨¬ã¬ . ¤ ª® ¥á«¨ ¢ë¡¨à âì ¤®¯®«ïî騩 ¯ãâì ¯à¨ ¯®¬®é¨ ¯®¨áª ¢ è¨à¨ã (à §¤¥« 23.2), â® «£®à¨â¬ à ¡®â ¥â ¯®«¨®¬¨ «ì®¥ ¢à¥¬ï. ०¤¥ 祬 ¤®ª § âì íâ®, ¬ë ãáâ ®¢¨¬ ¯à®áâãî ¢¥àåîî ®æ¥ªã ¤«ï á«ãç ï 楫ëå ¯à®¯ãáªëå ᯮᮡ®á⥩. (â®â á«ãç © ç áâ® ¢áâà¥ç ¥âáï ¯à ªâ¨ª¥. «ãç © à 樮 «ìëå ¯à®¯ãáªëå ᯮᮡ®á⥩ ᢮¤¨âáï ª ¥¬ã 㬮¦¥¨¥¬ ç¨á«®.) «ï 㪠§ ®£® á«ãç ï (¯à®¯ãáªë¥ ᯮᮡ®á⨠| æ¥«ë¥ ç¨á« ), ¯à®æ¥¤ãà Ford-Fulkerson ¢ë¯®«ï¥âáï § ¢à¥¬ï O(E jf j), £¤¥ f | ¬ ªá¨¬ «ìë© ¯®â®ª. á ¬®¬ ¤¥«¥, ¢ë¯®«¥¨¥ áâப 13 âॡã¥â ¢à¥¬¥¨ (E ). ¨ª« ¢ áâப å 4{8 ¢ë¯®«ï¥âáï ¥ ¡®«¥¥ jf j à §, â ª ª ª ¯®á«¥ ª ¦¤®£® ¢ë¯®«¥¨ï ¢¥«¨ç¨ ¯®â®ª 㢥«¨ç¨¢ ¥âáï ¯® ªà ©¥© ¬¥à¥ ¥¤¨¨æã. áâ «®áì ®æ¥¨âì ¢à¥¬ï ®¤®£® è £ , ª®â®à®¥ § ¢¨á¨â ®â ⮣®, ª ª ¬ë åà ¨¬ ¤ ë¥ ® ¯®â®ª¥. áᬮâਬ ®à¨¥â¨à®¢ ë© £à ä G0 = (V; E 0), ¢ 564 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¨á㮪 27.8 27.7 (a) ¥âì, ¤«ï ª®â®à®© ¯à®æ¥¤ãà Ford-Fulkerson âॡã¥â ¢à¥¬¥¨ (E jf j), £¤¥ f | ¬ ªá¨¬ «ìë© ¯®â®ª ¢¥«¨ç¨ë jf j = 2 000 000. 뤥«¥ ¤®¯®«ïî騩 ¯ãâì á ¯à®¯ã᪮© ᯮᮡ®áâìî 1. (b) ®«ãç¥ ï ®áâ â®ç ï á¥âì. 뤥«¥ ¤®¯®«ïî騩 ¯ãâì á ⮩ ¦¥ ¯à®¯ã᪮© ᯮᮡ®áâìî. (c) ®«ãç¥ ï ®áâ â®ç ï á¥âì. ª®â®à®¬ E 0 = f(u; v)j(u; v) 2 E ¨«¨ (v; u) 2 E g; ¨ ¡ã¤¥¬ åà ¨âì ¯®â®ª¨ ¨ ¯à®¯ãáªë¥ ᯮᮡ®á⨠à冷¬ á ᮮ⢥âáâ¢ãî騬¨ àñ¡à ¬¨ (àñ¡à á¥â¨ G ¢å®¤ïâ ¨ ¢ £à ä G0, â ª çâ® ¯à®¯ãáªë¥ ᯮᮡ®á⨠¥áâì £¤¥ åà ¨âì). áâ â®ç ï á¥âì (¤«ï ⥪ã饣® ¯®â®ª ) á®á⮨⠨§ â¥å àñ¡¥à (u; v) £à ä G0, ¤«ï ª®â®àëå c(u; v) ; f [u; v] = 6 0. ®¨áª ¤®¯®«ïî饣® ¯ã⨠¢ ®áâ â®ç®© á¥â¨ (¢ £«ã¡¨ã ¨«¨ ¢ è¨à¨ã | ¯®ª íâ® ¢áñ à ¢®) § ©¬¥â ¢à¥¬ï O(E ) = O(E 0). ®í⮬㠢६ï à ¡®âë ¯à®æ¥¤ãàë ¡ã¤¥â O(E jf j). § ¤®ª § ®© ®æ¥ª¨ á«¥¤ã¥â, çâ® ¯à¨ ¥¡®«ì讬 § 票¨ jf j ¨ 楫ëå ¯à®¯ãáªëå ᯮᮡ®áâïå ¢à¥¬ï à ¡®âë ¯à®æ¥¤ãàë FordFulkerson ¥¢¥«¨ª®. H® ¯à¨ ¡®«ì讬 jf j ¢à¥¬ï à ¡®âë «£®à¨â¬ ¬®¦¥â ¡ëâì ¢¥«¨ª® ¤ ¦¥ ¤«ï ¯à®á⮩ á¥â¨, ª ª ¯®ª §ë¢ ¥â ¯à¨¬¥à à¨á. 27.7. 票¥ ¬ ªá¨¬ «ì®£® ¯®â®ª ¢ í⮩ á¥â¨ à ¢® 2; 000; 000 (¥á«¨ ¨á¯®«ì§®¢ âì àñ¡à , ¨¤ã騥 á«¥¢ ¯à ¢®). ᫨, ª ª ¯®ª § ® à¨á. 27.7 (a) ¨ 27.7 (b), çñâëå è £ å ¡ã¤¥â ¢ë¡¨à âìáï ¤®¯®«ïî騩 ¯ãâì s ! v ! u ! t, ñç¥âëå | s ! u ! v ! t, â® ¯®âॡã¥âáï 2; 000; 000 è £®¢, çâ®¡ë ©â¨ ¬ ªá¨¬ «ìë© ¯®â®ª. ®¦® ¯®«ãç¨âì «ãçèãî ®æ¥ªã ¢à¥¬¥¨ à ¡®âë ¯à®æ¥¤ãàë Ford-Fulkerson, ¥á«¨ ¯à¥¤¯®«®¦¨âì, çâ® ¢ áâப¥ 4 ¨á¯®«ì§ã¥âáï ¯®¨áª ¢ è¨à¨ã. í⮬ á«ãç ¥ ¯ãâì p ¡ã¤¥â ªà âç ©è¨¬ ¨§ ¤®¯®«ïîé¨å ¯ã⥩ (¤«¨ã ª ¦¤®£® ॡà áç¨â ¥¬ à ¢®© ¥¤¨¨æ¥). â ॠ«¨§ æ¨ï ¬¥â®¤ ®à¤ { «ª¥àá® §ë¢ ¥âáï «£®à¨â¬®¬ ¤¬®¤á { ௠. ®ª ¦¥¬, çâ® ¢à¥¬ï à ¡®âë «£®à¨â¬ ¤¬®¤á { à¯ à ¢® O(V E 2). ¡®§ 稬 ¤«¨ã ªà âç ©è¥£® ¯ã⨠¢ Gf ¬¥¦¤ã ¢¥àè¨ ¬¨ u ¨ v ç¥à¥§ f (u; v)). ¥¬¬ 27.8 áᬮâਬ à ¡®âã «£®à¨â¬ ¤¬®¤á { ௠á¥â¨ G = (V; E ) á ¨á⮪®¬ s ¨ á⮪®¬ t. «ï «î¡®© ¢¥àè¨ë v ¨§ V n fs; tg à ááâ®ï¨¥ f (s; v) ¢ ®áâ â®ç®© á¥â¨ ¬¥¦¤ã ¨á⮪®¬ ¨ ¢¥à訮© v 2 V n fs; tg ¬®®â®® ¥ã¡ë¢ ¥â ª ¦¤®¬ è £¥ 横« . ®ª § ⥫ìá⢮ ।¯®«®¦¨¬ ¯à®â¨¢®¥: ¯ãáâì ¯®á«¥ 㢥«¨ç¥¨ï ¯®â®ª f (¢¤®«ì ¤®¯®«ïî饣® ¯ãâ¨) à ááâ®ï¨¥ f (s; v ) ®â ¨á⮪ s ¤® ¥ª®â®à®© ¢¥àè¨ë v ¨§ V n fs; tg 㬥ì訫®áì. ¡®§ 稢 㢥«¨- ¥â®¤ ®à¤ { «ª¥àá® 565 ç¥ë© ¯®â®ª ç¥à¥§ f 0, ¯®«ãç ¥¬, çâ® f0 (s; v) < f (s; v): ।¨ ¢¥àè¨ v á â ª¨¬ ᢮©á⢮¬ ¢ë¡¥à¥¬ ¡«¨¦ ©èãî (¢ á¬ëá«¥ á¥â¨ G0f ) ª ¨á⮪ã. í⮬ á«ãç ¥ ¨§ f0 (s; u) < f0 (s; v) á«¥¤ã¥â f (s; u) 6 f0 (s; u) (27:7) ¤«ï ¢á¥å u 2 V n fs; tg. ®§ì¬¥¬ ªà âç ©è¨© ¯ãâì p0 ¨§ s ¢ v ¢ á¥â¨ G0f ¨ à áᬮâਬ ¢¥àè¨ã u, ¥¯®á।á⢥® ¯à¥¤è¥áâ¢ãîéãî ¢¥à訥 v ¢ í⮬ ¯ã⨠(s u ! v). ®£« á® á«¥¤á⢨î 25.2, f0 (s; u) = f0 (s; v) ; 1. «¥¤®¢ ⥫ì®, ¯® ¯à¥¤¯®«®¦¥¨î (27.7) f (s; u) 6 f0 (s; u): ®¦¥â «¨ ॡ஠(u; v) ¢å®¤¨âì ¢ Ef (íâ® § ç¨â, çâ® f [u; v] < c(u; v )). ®£¤ ¯® «¥¬¬¥ 25.3 ¤®«¦® ¡ëâì f (s; v) 6 f (s; u) + 1 6 6 f0 (s; u) + 1 = = f0 (s; v ); çâ® ¯à®â¨¢®à¥ç¨â ç «ì®¬ã ¯à¥¤¯®«®¦¥¨î. «¥¤®¢ ⥫ì®, (u; v) 2= Ef . H® ॡ஠(u; v) ¯à¨ ¤«¥¦¨â Ef0 , ¯®í⮬㠤®¯®«ïî騩 ¯ãâì p, ¯à¥¢à ⨢訩 á¥âì Gf ¢ á¥âì G0f , ᮤ¥à¦ « ॡ஠(v; u). ª ª ª ¯ãâì p ¡ë« ªà âç ©è¨¬ ¯ãâñ¬ ¨§ s ¢ t ¢ á¥â¨ Gf , â® «î¡®© ¥£® ¯®¤¯ãâì â ª¦¥ ¡ë« ªà âç ©è¨¬ («¥¬¬ 25.1), ¯®í⮬ã f (s; u) = f (s; v )+1. âáî¤ á«¥¤ã¥â, çâ® f (s; v) = f (s; u) ; 1 6 6 f0 (s; u) ; 1 = = f0 (s; v ) ; 2 < < f0 (s; v ); çâ® ¯à®â¨¢®à¥ç¨â ç «ì®¬ã ¯à¥¤¯®«®¦¥¨î. ¥®à¥¬ 27.9 «£®à¨â¬ ¤¬®¤á { ௠á¥â¨ G = (V; E ) ¢ë¯®«ï¥âáï § O(V E ) è £®¢. ®ª § ⥫ìá⢮ ª ¦¤®¬ ¤®¯®«ïî饬 ¯ã⨠®â¬¥â¨¬ àñ¡à ¬¨¨¬ «ì®© ¯à®¯ã᪮© ᯮᮡ®áâ¨, ª®â®àë¥ ¡ã¤¥¬ §ë¢ âì ªà¨â¨ç¥áª¨¬¨ (critical) (¤«ï ¤ ®£® è £ ). ¬¥â¨¬, çâ® ªà¨â¨ç¥áª¨¥ àñ¡à ¨á祧 î⠯ਠ¯¥à¥å®¤¥ ª á«¥¤ãî饩 ®áâ â®ç®© á¥â¨. 566 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ®ª ¦¥¬, çâ® ¤«ï ®¤® ¨ â® ¦¥ ॡ஠¬®¦¥â ¡ëâì ªà¨â¨ç¥áª¨¬ ¥ ¡®«¥¥ O(V ) à §. ®áª®«ìªã ¢á¥ àñ¡à ¢á¥å ®áâ â®çëå á¥â¥© ᮮ⢥âáâ¢ãîâ àñ¡à ¬ £à ä (¢®§¬®¦®, ¢ ®¡à ⮬ ¯à ¢«¥¨¨), ¨å ç¨á«® ¥ ¯à¥¢®á室¨â 2E , â ª çâ® ®¡é¥¥ ç¨á«® è £®¢ ¤¥©áâ¢¨â¥«ì® ¥áâì O(EV ). â ª, ¯®á¬®âਬ, ᪮«ìª® à § § ¢à¥¬ï à ¡®âë «£®à¨â¬ ¤¬®¤á { ௠ॡ஠(u; v) ¬®¦¥â ¡ëâì ªà¨â¨ç¥áª¨¬. ᫨ ॡ஠¡ë«® ªà¨â¨ç¥áª¨¬, ®® ¨á祧 ¥â, ¨ ¬®¦¥â ¯®ï¢¨âìáï ¢®¢ì «¨èì ¯®á«¥ ⮣®, ª ª ¯®â®ª ¨§ u ¢ v 㬥ìè¨âáï. â® ¬®¦¥â ¯à®¨§®©â¨ ⮫쪮 ¥á«¨ ॡ஠(v; u) ¢®©¤ñâ ¢ ¤®¯®«ïî騩 ¯ãâì. ª¨¬ ®¡à §®¬, ¢®§¨ª ¥â ¯®á«¥¤®¢ ⥫ì®áâì á¨âã 権: (u; v ) ¢å®¤¨â ¢ ¤®¯®«ïî騩 ¯ãâì (¨ ªà¨â¨ç¥áª®¥ ¢ ñ¬); (v; u) ¢å®¤¨â ¢ ¤®¯®«ïî騩 ¯ãâì (¥ ®¡ï§ â¥«ì® ªà¨â¨ç¥áª®¥); (u; v ) ¢å®¤¨â ¢ ¤®¯®«ïî騩 ¯ãâì (¨ ªà¨â¨ç¥áª®¥ ¢ ñ¬); (v; u) ¢å®¤¨â ¢ ¤®¯®«ïî騩 ¯ãâì (¥ ®¡ï§ â¥«ì® ªà¨â¨ç¥áª®¥); ¨ â ª ¤ «¥¥. ®ª ¦¥¬, çâ® ç¨á«® â ª¨å á¨âã 権 ¥áâì O(V ). «ï í⮣® ¯à®á«¥¤¨¬, ª ª ¬¥ïîâáï à ááâ®ï¨ï ®â ¨á⮪ ¤® ¢¥àè¨ u ¨ v ¢ ®áâ â®çëå á¥âïå. ª ¬ë § ¥¬ («¥¬¬ 27.8), í⨠¤¢¥ ¢¥«¨ç¨ë ¬®£ãâ ⮫쪮 ¢®§à áâ âì. ਠí⮬ â® ®¤ , â® ¤àã£ ï ¢ëàë¢ ¥âáï ¢¯¥àñ¤ 1 (¯®áª®«ìªã ®¨ á®á¥¤áâ¢ãîâ ¢ ªà âç ©è¥¬ ¯ãâ¨, «¥¬¬ 25.1). ¬¥â¨¬, çâ® ¯à¨ ¯¥à¥å®¤¥ ®â ¯¥à¢®© á¨âã 樨 ª® ¢â®à®© à ááâ®ï¨¥ ®â ¨á⮪ ¤® u 㢥«¨ç¨âáï ¯® ªà ©¥© ¬¥à¥ 2 (®® ¡ë«® ¬¥ìè¥ à ááâ®ï¨ï ¤® v, áâ «® ¡®«ìè¥). ਠ¯¥à¥å®¤¥ ®â ¢â®à®© áâப¨ ª âà¥â쥩 à ááâ®ï¨¥ ®â ¨á⮪ ¤® v 㢥«¨ç¨âáï ¯® ªà ©¥© ¬¥à¥ 2 ¨ â ª ¤ «¥¥. ¬¥â¨¬, çâ® à ááâ®ï¨ï ®£à ¨ç¥ë ᢥàåã § 票¥¬ V (ªà âç ©è¨© ¯ãâì ¥ ¯à®å®¤¨â ¤¢ ¦¤ë ç¥à¥§ ®¤ã ¢¥àè¨ã), â ª çâ® ®¡é¥¥ ç¨á«® â ª¨å ç¥à¥¤®¢ ¨© ¥áâì O(V ), ª ª ¬ë ¨ ®¡¥é «¨. ®¤áç¨â ¥¬ ⥯¥àì ®¡é¥¥ ¢à¥¬ï à ¡®âë «£®à¨â¬ ¤¬®¤á { ௠. ¦¤ ï ¨â¥à æ¨ï âॡã¥â ¢à¥¬¥¨ O(E ), ¨å ¡ã¤¥â O(V E ), ¯®í⮬㠢ᥣ® ¡ã¤¥â O(V E 2). à §¤¥«¥ 27.4 ¬ë à á᪠¦¥¬ ® ¤à㣮¬ ¯®¤å®¤¥ ª ¯®¨áªã ¬ ªá¨¬ «ì®£® ¯®â®ª , ª®â®àë© ¯®§¢®«ï¥â ᤥ« âì íâ® § O(V 2E ). £® ãᮢ¥àè¥á⢮¢ ¨¥ ¯®§¢®«ï¥â ¥éñ 㬥ìè¨âì ¢à¥¬ï à ¡®âë, ¯®«ã稢 ®æ¥ªã O(V 3) (à §¤¥« 27.5). ¯à ¦¥¨ï 27.2-1 H ©¤¨â¥ ¯®â®ª ç¥à¥§ à §à¥§ (fs; v2; v4g; fv1; v3; tg) à¨á. 27.1 b). ¥¬ã à ¢ ¯à®¯ã᪠ï ᯮᮡ®áâì í⮣® à §à¥§ ? 27.2-2 à®á«¥¤¨â¥ § ¢ë¯®«¥¨¥¬ «£®à¨â¬ ¤¬®¤á { ௠¤«ï ¥â®¤ ®à¤ { «ª¥àá® 567 á¥â¨ à¨á. 27.1 (a). 27.2-3 ª ¦¨â¥ ¬¨¨¬ «ìë© à §à¥§ à¨á. 27.6, ᮮ⢥âáâ¢ãî騩 à¨á®¢ ®¬ã ¬ ªá¨¬ «ì®¬ã ¯®â®ªã. ª ª¨å á«ãç ïå ¤®¯®«ïî騩 ¯ãâì 㬥ìè « ¯®â®ª, ¨¤ã騩 ¢ ®¡à ⮬ ¯à ¢«¥¨¨? 27.2-4 ®ª ¦¨â¥, çâ® ¤«ï «î¡ëå ¢¥àè¨ u ¨ v, «î¡®£® ¯®â®ª f ¨ ¯à®¯ã᪮© ᯮᮡ®á⨠c ¢ë¯®«¥® cf (u; v) + cf (v; u) = c(u; v) + c(v; u). 27.2-5 ᯮ¬¨¬ ª®áâàãªæ¨î ¨§ à §¤¥« 27.1, á ¯®¬®éìî ª®â®à®© á¥âì á ¥áª®«ìª¨¬¨ ¨á⮪ ¬¨ ¨ á⮪ ¬¨ ᢮¤¨âáï ª ®¡ë箩. ®ª ¦¨â¥, çâ® ¥á«¨ ¯à®¯ã᪠ï ᯮᮡ®áâì «î¡®£® à¥¡à ¨á室®© á¥â¨ ¡ë« ª®¥ç®©, â® ¢ ¯®«ã稢襩áï á¥â¨ ¢¥«¨ç¨ «î¡®£® ¯®â®ª ª®¥ç . 27.2-6 áᬮâਬ á¥âì á ¥áª®«ìª¨¬¨ ¨á⮪ ¬¨ ¨ á⮪ ¬¨, ¢ ª®â®à®© ª ¦¤ë© ¨á⮪ si ¯à®¨§¢®¤¨â ஢® pi ¥¤¨¨æ ¯®â®ª , ª ¦¤ë© á⮪ tj ¯®âॡ«ï¥â P ஢® Pqj ¥¤¨¨æ, â.¥. f (si ; V ) = pi ¨ f (V; tj ) = qj . ਠí⮬ i pi = j qj . ª 㧠âì, ¢®§¬®¦¥ «¨ ¯®â®ª á â ª¨¬¨ ®£à ¨ç¥¨ï¬¨, ᢥ¤ï íâã § ¤ çã ª § ¤ ç¥ ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥? 27.2-7 ®ª ¦¨â¥ «¥¬¬ã 27.3. 27.2-8 ®ª ¦¨â¥, çâ® ¯à¨ ¯®¨áª¥ ¬ ªá¨¬ «ì®£® ¯®â®ª ¢ á¥â¨ G = (V; E ) ¤®áâ â®ç® ᤥ« âì jE j è £®¢, ¥á«¨ ⮫쪮 ¯à ¢¨«ì® ¢ë¡à âì ¤®¯®«ïî騥 ¯ã⨠ª ¦¤®¬ è £¥. (ª § ¨¥. ç¨â ï, çâ® ¬ ªá¨¬ «ìë© ¯®â®ª ¨§¢¥áâ¥, ¯®ª ¦¨â¥, ª ª á«¥¤ã¥â ¢ë¡¨à âì ¯ãâ¨.) 27.2-9 H §®¢ñ¬ § ¯ ᮬ á¢ï§®á⨠(edge connectivity) ¥®à¨¥â¨à®¢ ®£® £à ä ¬¨¨¬ «ì®¥ ç¨á«® àñ¡¥à, ª®â®à®¥ ¥®¡å®¤¨¬® 㤠«¨âì, ç⮡ë ᤥ« âì £à ä ¥á¢ï§ë¬. H ¯à¨¬¥à, á¢ï§®áâì ¤¥à¥¢ à ¢ ¥¤¨¨æ¥, á¢ï§®áâì 横« à ¢ 2. ª 㧠âì á¢ï§®áâì £à ä á ¯®¬®éìî ¯à®£à ¬¬ë ¯®¨áª ¬ ªá¨¬ «ì®£® ¯®â®ª ? ñ á«¥¤ã¥â ¯à¨¬¥ïâì ¥ ¡®«¥¥ 祬 ª jV j á¥âï¬, ª ¦¤ ï ¨§ ª®â®àëå ᮤ¥à¦¨â O(V ) ¢¥àè¨ ¨ O(E ) àñ¡¥à. 27.2-10 ।¯®«®¦¨¬, çâ® ¤«ï ª ¦¤®£® ॡà (u; v) á¥â¨ ®¡à ⮥ ¥¬ã ॡ஠(v; u) â ª¦¥ ¢å®¤¨â ¢ á¥âì ®ª ¦¨â¥, çâ® «£®à¨â¬ ¤¬®¤á { ௠âॡã¥â ¥ ¡®«¥¥ jV j jE j=4 ¨â¥à 権. (ª § ¨¥: ¤«ï ª ¦¤®£® ॡà (u; v) ¯à®á«¥¤¨â¥, ª ª ¬¥ïîâáï (s; u) ¨ (v; t) ¬¥¦¤ã ⥬¨ ¬®¬¥â ¬¨, ª®£¤ ॡ஠(u; v ) ªà¨â¨ç¥áª®¥.) 568 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¨á㮪 27.9 27.8 ¢ã¤®«ìë© £à ä. ®¦¥á⢮ ¢¥àè¨ à §¡¨â® ¤¢¥ ç á⨠L ¨ R. (a) à®á®ç¥â ¨¥ ¨§ ¤¢ãå àñ¡¥à. (b) ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥ á®á⮨⠨§ âàñå í«¥¬¥â®¢. 27.3 ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥ ¢ ¤¢ã¤®«ì®¬ £à ä¥ H¥ª®â®àë¥ ª®¬¡¨ â®àë¥ § ¤ ç¨ ( ¯à¨¬¥à, § ¤ ç ® á¥â¨ á ¥áª®«ìª¨¬¨ ¨á⮪ ¬¨ ¨ á⮪ ¬¨ ¨§ à §¤¥« 27.1) ᢮¤ïâáï ª à §®¡à ®© ¬¨ § ¤ ç¥ ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥. à㣮© ¯à¨¬¥à â ª®£® த | § ¤ ç ® ¬ ªá¨¬ «ì®¬ ¯ à®á®ç¥â ¨¨ ¢ ¤¢ã¤®«ì®¬ £à ä¥ (á¬. à §¤¥« 5.4). í⮬ à §¤¥«¥ ¯®ª ¦¥¬, ª ª á ¯®¬®éìî ¬¥â®¤ ®à¤ - «ª¥àá® ¬®¦® à¥è¨âì íâã § ¤ çã ¤«ï £à ä G = (V; E ) § ¢à¥¬ï O(V E ). ¤ ç ® ¬ ªá¨¬ «ì®¬ ¯ à®á®ç¥â ¨¨ ãáâì G = (V; E ) | ¥®à¨¥â¨à®¢ ë© £à ä. à®á®ç¥â ¨¥¬ (matching) §®¢¥¬ ¬®¦¥á⢮ àñ¡¥à M E , ¥ ¨¬¥îé¨å ®¡é¨å ª®æ®¢ (ª ¦¤ ï ¢¥àè¨ v 2 V ï¥âáï ª®æ®¬ ¬ ªá¨¬ã¬ ®¤®£® à¥¡à ¨§ M ). 㤥¬ £®¢®à¨âì, çâ® ¢¥àè¨ v 2 V ¢å®¤¨â ¢ ¯ à®á®ç¥â ¨¥ M (is matched), ¥á«¨ ¢ M ¥áâì à¥¡à® á ª®æ®¬ v; ¢ ¯à®â¨¢®¬ á«ãç ¥ v ᢮¡®¤ (is unmatched). ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥ (maximum matching) | íâ® ¯ à®á®ç¥â ¨¥ M , ᮤ¥à¦ 饥 ¬ ªá¨¬ «ì® ¢®§¬®¦®¥ ç¨á«® àñ¡¥à (jM j > jM 0j ¤«ï «î¡®£® ¯ à®á®ç¥â ¨ï M 0). ਬ¥à ¯ à®á®ç¥â ¨ï ¯à¨¢¥¤ñ à¨á. 27.8. í⮬ à §¤¥«¥ ¬ë ¡ã¤¥¬ à áᬠâਢ âì ¯ à®á®ç¥â ¨ï «¨èì ¢ ¤¢ã¤®«ìëå £à ä å. ë ¯à¥¤¯®« £ ¥¬, çâ® ¬®¦¥á⢮ V à §¡¨â® ¤¢ ¥¯¥à¥á¥ª îé¨åáï ¯®¤¬®¦¥á⢠L ¨ R, ¨ «î¡®¥ ॡ஠¨§ E ᮥ¤¨ï¥â ¥ª®â®àãî ¢¥àè¨ã ¨§ L á ¥ª®â®à®© ¢¥à訮© ¨§ R. «ï § ¤ ç¨ ® ¬ ªá¨¬ «ì®¬ ¯ à®á®ç¥â ¨¨ ¢ ¤¢ã¤®«ì®¬ £à ä¥ ¥áâì ¥áª®«ìª® ¬¥â ä®à. ®â ¨¡®«¥¥ ¨§¢¥áâ ï: L | ¦¥¨å¨, R | ¥¢¥áâë, «¨ç¨¥ ॡà (u; v) ®§ ç ¥â, çâ® u ¨ v ᮣ« áë áâ âì áã¯à㣠¬¨. ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥ ¤®áâ ¢«ï¥â ã ¡®«ìè¥ ¢á¥£® à ¡®âë. ®¨áª ¬ ªá¨¬ «ì®£® ¯ à®á®ç¥â ¨ï ¢ ¤¢ã¤®«ì®¬ £à ä¥ ë ¡ã¤¥¬ ¨á¯®«ì§®¢ âì ¬¥â®¤ ®à¤ { «ª¥àá® ¤«ï ¯®¨áª ¬ ªá¨¬ «ì®£® ¯ à®á®ç¥â ¨ï ¢ ¤¢ã¤®«ì®¬ £à ä¥ G = (V; E ) § ¯®«¨®¬¨ «ì®¥ ®â jV j ¨ jE j ¢à¥¬ï. «ï í⮣® à áᬮâਬ á¥âì G0 = (V 0; E 0), ᮮ⢥âáâ¢ãîéãî ¤¢ã¤®«ì®¬ã £à äã G (à¨á. 27.9). â á¥âì áâநâáï â ª: ¤®¡ ¢ï«ïîâáï ¤¢¥ ®¢ë¥ ¢¥àè¨ë, ª®â®àë¥ ¡ã¤ãâ ¨á⮪®¬ (s) ¨ á⮪®¬ (t): V 0 = V [ fs; tg. ®¦¥- ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥ ¢ ¤¢ã¤®«ì®¬ £à ä¥ 569 ¨á㮪 27.10 27.9 ¥âì, ᮮ⢥âáâ¢ãîé ï ¤¢ã¤®«ì®¬ã £à äã. (a) ¢ã¤®«ìë© £à ä à¨á. 27.8. 뤥«¥ë¥ àñ¡à ®¡à §ãîâ ¬ ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥. (b) ®®â¢¥âáâ¢ãîé ï á¥âì G0 ¨ ¬ ªá¨¬ «ìë© ¯®â®ª ¢ ¥©. யã᪠ï ᯮᮡ®áâì «î¡®£® ॡà à ¢ ¥¤¨¨æ¥; ¯®â®ª ¯® ¢ë¤¥«¥ë¬ àñ¡à ¬ à ¢¥ ¥¤¨¨æ¥, ¯® ®áâ «ìë¬ | ã«î. 뤥«¥ë¥ àñ¡à , ᮥ¤¨ïî騥 ¢¥àè¨ë ¨§ L á ¢¥àè¨ ¬¨ ¨§ R, ᮮ⢥âáâ¢ãîâ ¬ ªá¨¬ «ì®¬ã ¯ à®á®ç¥â ¨î ¢ ¤¢ã¤®«ì®¬ £à ä¥. á⢮ ( ¯à ¢«¥ëå) àñ¡¥à á¥â¨ G0 â ª®¢®: E 0 =f(s; u)ju 2 Lg [ [ f(u; v)ju 2 L; v 2 R; (u; v) 2 E g [ f(v; t)jv 2 Rg: ( ¯®¬¨¬, çâ® ç¥à¥§ L ¨ R ®¡®§ ç îâáï ¤®«¨ £à ä ). 㤥¬ áç¨â âì, çâ® ¯à®¯ã᪠ï ᯮᮡ®áâì ª ¦¤®£® ॡà à ¢ ¥¤¨¨æ¥. «¥¤ãîé ï «¥¬¬ ãáâ ¢«¨¢ ¥â ᮮ⢥âá⢨¥ ¬¥¦¤ã ¯®â®ª ¬¨ ¢ G0 ¨ ¯ à®á®ç¥â ¨ï¬¨ ¢ G | ® ¯à¥¦¤¥ ¤ ¤¨¬ ¥éñ ®¤® ®¯à¥¤¥«¥¨¥. ®â®ª f ¢ á¥â¨ G = (V; E ) §ë¢ ¥âáï 楫®ç¨á«¥ë¬ (integervalued), ¥á«¨ ¢á¥ § 票ï f (u; v ) | 楫ë¥. ¥¬¬ 27.10 ãáâì G = (V; E ) | ¤¢ã¤®«ìë© £à ä á ¤®«ï¬¨ L ¨ R, ¨ G0 = (V 0 ; E 0) | ᮮ⢥âáâ¢ãîé ï á¥âì. ãáâì M | ¯ à®á®ç¥â ¨¥ ¢ G. ®£¤ áãé¥áâ¢ã¥â 楫®ç¨á«¥ë© ¯®â®ª ¢ G0 á® § 票¥¬ jf j = jM j. ¡à â®, ¥á«¨ f | 楫®ç¨á«¥ë© ¯®â®ª ¢ G0, â® ¢ G0 ©¤¥âáï ¯ à®á®ç¥â ¨¥ ¨§ jf j í«¥¬¥â®¢. ®ª § ⥫ìá⢮ ç « ¤®ª ¦¥¬, çâ® ¯ à®á®ç¥â ¨¥ ¯®à®¦¤ ¥â ¯®â®ª, § ¤ ¢ ¯®â®ª f á«¥¤ãî騬 ®¡à §®¬. ᫨ (u; v) 2 M , â® f (s; u) = f (u; v) = f (v; t) = 1 ¨ f (u; s) = f (v; u) = f (t; v ) = ;1. «ï ¢á¥å ®áâ «ìëå àñ¡¥à (u; v) 2 E 0 ¯®«®¦¨¬ f (u; v) = 0. H¥ä®à¬ «ì® £®¢®àï, ª ¦¤®¥ ॡ஠(u; v) 2 M ᮮ⢥âáâ¢ã¥â ¥¤¨¨ç®¬ã ¯®â®ªã ¯® ¯ã⨠s ! u ! v ! t. H¨ª ª¨¥ ¤¢ â ª¨å ¯ã⨠¥ ᮤ¥à¦ â ®¡é¨å ¢¥àè¨ (ªà®¬¥ ¨á⮪ ¨ á⮪ ) ¨«¨ àñ¡¥à. â®¡ë ¯à®¢¥à¨âì, çâ® f ï¥âáï ¯®â®ª®¬, ¤®áâ â®ç® § ¬¥â¨âì, çâ® f ¯à¥¤áâ ¢¨¬ ¢ ¢¨¤¥ áã¬¬ë ¯®â®ª®¢ ¯® í⨬ ¯ãâï¬. ®â®ª ç¥à¥§ à §à¥§ (L [fsg; R [ftg) à ¢¥ jM j, ¯®í⮬㠯® «¥¬¬¥ 27.5 § 票¥ ¯®â®ª jf j à ¢® jM j. ®ª ¦¥¬ ®¡à ⮥. ãáâì jf j | 楫®ç¨á«¥ë© ¯®â®ª ¢ G0; ¥£® § ç¥¨ï ¬®£ãâ ¡ëâì à ¢ë 0 ¨«¨ 1, â ª ª ª ¯à®¯ã᪠ï ᯮᮡ®áâì àñ¡¥à ®£à ¨ç¥ ¥¤¨¨æ¥©. ¯à¥¤¥«¨¬ M = f(u; v)ju 2 L; v 2 R; f (u; v) = 1g: ®ª ¦¥¬, çâ® M | ¯ à®á®ç¥â ¨¥. á ¬®¬ ¤¥«¥, ¨§ ®¤®© ¢¥àè¨ë u ¥ ¬®£ãâ ¢ë室¨âì ¤¢ ॡà (u; v0) ¨ (u; v00), ¯® ª®â®àë¬ 570 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¯®â®ª à ¢¥ 1, â ª ª ª ¢å®¤ï騩 ¢ u ¯®â®ª ¥ ¯à¥¢®á室¨â 1. ® «®£¨çë¬ ¯à¨ç¨ ¬ ¢ «î¡ãî ¢¥àè¨ã v ¢å®¤¨â ¥ ¡®«¥¥ ®¤®£® ॡà á ¥¤¨¨çë¬ ¯®â®ª®¬. ⮡ë ã¡¥¤¨âìáï, çâ® jM j = jf j, § ¬¥â¨¬, çâ® jM j ¥áâì ¯®â®ª ç¥à¥§ à §à¥§ (L [ fsg; R [ ftg (¯® ª ¦¤®¬ã ॡàã ¨¤ñâ ¯®â®¬ 1, ç¨á«® àñ¡¥à ¥áâì M ). ¥¬¬ ᢮¤¨â § ¤ çã ® ¬ ªá¨¬ «ì®¬ ¯ à®á®ç¥â ¨¨ ª § ¤ ç¥ ® ¬ ªá¨¬ «ì®¬ 楫®ç¨á«¥®¬ ¯®â®ª¥. ॡ®¢ ¨ï 楫®ç¨á«¥®á⨠ã á à ìè¥ ¥ ¡ë«®, ® ®ª §ë¢ ¥âáï, çâ® ¬¥â®¤ ®à¤ { «ª¥àá® ¢á¥£¤ ¤ ñâ 楫®ç¨á«¥ë© ¬ ªá¨¬ «ìë© ¯®â®ª, ¥á«¨ ⮫쪮 ¯à®¯ãáªë¥ ᯮᮡ®á⨠¢á¥å àñ¡¥à 楫ë¥, â ª çâ® á¯¥æ¨ «ì® § ¡®â¨âáï ® 楫®ç¨á«¥®á⨠¥ ¤®. ¥®à¥¬ 27.11 (¥®à¥¬ ® 楫®ç¨á«¥®¬ ¯®â®ª¥) ᫨ ¯à®¯ãáªë¥ ᯮᮡ®á⨠¢á¥å àñ¡¥à | æ¥«ë¥ ç¨á« , â® ¬ ªá¨¬ «ìë© ¯®â®ª, ©¤¥ë© «£®à¨â¬®¬ ®à¤ { «ª¥àá® , ¡ã¤¥â 楫®ç¨á«¥ë¬. ®ª § ⥫ìá⢮ ª ¦¤®¬ è £¥ (¯à¨ ª ¦¤®¬ ¤®¡ ¢«¥¨¨ ¯®â®ª ¯® ¤®¯®«ïî饬㠯ãâ¨) ¯®â®ª ®áâ ñâáï 楫®ç¨á«¥ë¬. (®¤à®¡®¥ ¤®ª § ⥫ìá⢮ ¬ë ®áâ ¢«ï¥¬ ç¨â â¥«î ¢ ª ç¥á⢥ ã¯à.27.3-2.) «¥¤á⢨¥ 27.12 ¨á«® àñ¡¥à ¢ ¬ ªá¨¬ «ì®¬ ¯ à®á®ç¥â ¨ï M ¢ ¤¢ã¤®«ì®¬ £à ä¥ G à ¢® § ç¥¨î ¬ ªá¨¬ «ì®£® ¯®â®ª ¢ á¥â¨ G0. ®ª § ⥫ìá⢮ ® ⥮६¥ 27.11 ¬®¦® § ¬¥¨âì á«®¢ "¬ ªá¨¬ «ì®£® ¯®â®ª " "¬ ªá¨¬ «ì®£® 楫®ç¨á«¥®£® ¯®â®ª ", ¯®á«¥ 祣® á®á« âìáï «¥¬¬ã 27.10. ª¨¬ ®¡à §®¬, çâ®¡ë ©â¨ ¬ ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥ ¢ ¤¢ã¤®«ì®¬ £à ä¥ G, ¬ ¤®áâ â®ç® ¯à¨¬¥¨âì ¬¥â®¤ ®à¤ { «ª¥àá® ¨ ©â¨ ¬ ªá¨¬ «ìë© ¯®â®ª ¢ ᮮ⢥áâ¢ãî饩 á¥â¨ G0. 楨¬ ¢à¥¬ï à ¡®âë â ª®£® «£®à¨â¬ . ¨ª ª®¥ ¯ à®á®ç¥â ¨¥ ¢ ¤¢ã¤®«ì®¬ £à ä¥ ¥ ¬®¦¥â ᮤ¥à¦ âì ¡®«¥¥ min(L; R) = O(V ) àñ¡¥à, ¯®í⮬㠧 票¥ ¬ ªá¨¬ «ì®£® ¯®â®ª ¢ G0 à ¢® O(V ). «¥¤®¢ ⥫ì®, ¢à¥¬ï à ¡®âë «£®à¨â¬ ®à¤ { «ª¥àá® à ¢® O(V E ) (á¬. «¨§ «£®à¨â¬ ®à¤ { «ª¥àá® ¢ à §¤¥«¥ 27.2). ¯à ¦¥¨ï 27.3-1 ਬ¥¨â¥ «£®à¨â¬ ®à¤ - «ª¥àá® ª á¥â¨ à¨á㪠27.9(b). ª ¡ã¤ã⠢룫拉âì ®áâ â®çë¥ á¥â¨ ¯®á«¥ ª ¦¤®£® è £ ? (à®ã¬¥àã©â¥ ¢¥àè¨ë ᢥàåã ¢¨§ ®â¤¥«ì® ¢ L ¨ ¢ R; ª ¦¤®¬ è £¥ ¢ë¡¨à ©â¥ ¨¬¥ì訩 ¢ á¬ëá«¥ «¥ªá¨ª®£à ä¨ç¥áª®£® ¯®à浪 ¤®¯®«ïî騩 ¯ãâì.) 27.3-2 ®ª ¦¨â¥ ⥮६ã 27.11. 27.3-3 ãáâì G = (V; E ) | ¤¢ã¤®«ìë© £à ä ¨ G0 | á®â- «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª 571 ¢¥âáâ¢ãîé ï á¥âì. 楨âì ᢥàåã ¤«¨ã «î¡®£® ¤®¯®«ïî饣® ¯ã⨠¢ G0, ©¤¥®£® ¯à¨ à ¡®â¥ ¯à®æ¥¤ãàë Ford{Fulkerson. 27.3-4* ®«ë¬ (ᮢ¥àè¥ë¬) ¯ à®á®ç¥â ¨¥¬ (perfect matching) §ë¢ ¥âáï ¯ à®á®ç¥â ¨¥, ¢ ª®â®à®¥ ¢å®¤ï⠢ᥠ¢¥àè¨ë. ãáâì G = (V; E ) | ¥®à¨¥â¨à®¢ ë© ¤¢ã¤®«ìë© £à ä, ¢ ª®â®à®¬ ¤®«¨ L ¨ R ¨¬¥îâ ¯®à®¢ã í«¥¬¥â®¢. «ï ª ¦¤®£® X V ®¯à¥¤¥«¨¬ ¬®¦¥á⢮ á®á¥¤¥© (neighborhood of) X ä®à¬ã«®© N (X ) = fy 2 V j(x; y ) 2 E ¤«ï ¥ª®â®à®£® x 2 X; (á®á¥¤ï¬¨ ïîâáï ¢¥àè¨ë, ᮥ¤¨ñë¥ à¥¡à®¬ á ¥ª®â®àë¬ í«¥¬¥â®¬ ¬®¦¥á⢠X ). ®ª ¦¨â¥ ⥮६㠮«« (Hall's theorem): ¯®«®¥ ¯ à®á®ç¥â ¨¥ áãé¥áâ¢ã¥â ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ ¤«ï «î¡®£® A L ¢ë¯®«¥® jAj 6 jN (A)j. 27.3-5* H §®¢¥¬ ¤¢ã¤®«ìë© £à ä G = (V; E ) á ¤®«ï¬¨ L ¨ R dॣã«ïàë¬ (d-regular), ¥á«¨ á⥯¥ì ª ¦¤®© ¢¥àè¨ë v 2 V à ¢ d. ( ¬¥â¨¬, çâ® ¢ â ª®¬ á«ãç ¥ jLj = jRj.) ®ª ¦¨â¥, çâ® ¤«ï d-ॣã«ïண® £à ä ¢á¥£¤ áãé¥áâ¢ã¥â ¯®«®¥ ¯ à®á®ç¥â ¨¥. 27.4 «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª í⮬ à §¤¥«¥ ¬ë ¨§« £ ¥¬ ¬¥â®¤ "¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ". H ¨¡®«¥¥ ¡ëáâàë¥ ¨§ ¨§¢¥áâëå «£®à¨â¬®¢ ¤«ï § ¤ ç¨ ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¨á¯®«ì§ãîâ ¨¬¥® ¥£®. ¯à¨¬¥¨¬ ¨ ª ¤à㣨¬ § ¤ ç ¬, ¯à¨¬¥à ª § ¤ ç¥ ® ¯®â®ª ¨¬¥ì襩 á⮨¬®áâ¨. í⮬ à §¤¥«¥, á«¥¤ãï ®«ì¤¡¥à£ã, ¬ë ®¯¨è¥¬ " ®¡é¨©" ¬¥â®¤ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª . ¦¥ ¯à®á⥩è ï ¥£® ॠ«¨§ æ¨ï âॡã¥â ¢á¥£® «¨èì O(V 2E ) è £®¢ ¨ ®¯¥à¥¦ ¥â «£®à¨â¬ ¤¬®¤á - ௠(O(V E 2)). à §¤¥«¥ 27.5 ¬ë ¯®ª ¦¥¬, ª ª ã«ãçè¨âì ®æ¥ªã ¤® O(V 3). ®â«¨ç¨¥ ®â «£®à¨â¬ ¤¬®¤á - ௠, ¬ë ¥ ¯à®á¬ âਢ ¥¬ ¢áî ¢áî ®áâ â®çãî á¥âì ª ¦¤®¬ è £¥, ¤¥©áâ¢ã¥¬ «®ª «ì® ¢ ®ªà¥áâ®á⨠®¤®© ¢¥àè¨ë. ஬¥ ⮣®, ¬ë ¥ âॡ㥬, ¢ë¯®«¥¨ï § ª® á®åà ¥¨ï ¯®â®ª ¢ ¯à®æ¥áá¥ à ¡®âë «£®à¨â¬ , ¤®¢®«ìáâ¢ãïáì ¢ë¯®«¥¨¥¬ ᢮©á⢠¯à¥¤¯®â®ª . ë ¡ã¤¥¬ §ë¢ âì ¯à¥¤¯®â®ª®¬ (preow) äãªæ¨î f : V V ! , ª®â®à ï ª®á®á¨¬¬¥âà¨ç , 㤮¢«¥â¢®àï¥â ®£à ¨ç¥¨ï¬, á¢ï§ ë¬ á ¯à®¯ãáªë¬¨ ᯮᮡ®áâﬨ, â ª¦¥ â ª®¬ã ¨ ®á« ¡«¥®¬ã § ª®ã á®åà ¥¨ï: f (V; u) > 0 ¤«ï ¢á¥å ¢¥àè¨ u 2 V n fsg. ª¨¬ ®¡à §®¬, ¢ ª ¦¤®© ¢¥à訥 u (ªà®¬¥ ¨á⮪ ) ¥áâì ¥ª®â®àë© ¥®âà¨æ ⥫ìë© ¨§¡ë⮪ (excess ow) e(u) = f (V; u): (27:8) R 572 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¥àè¨ã (®â«¨çãî ®â ¨á⮪ ¨ á⮪ ) á ¯®«®¦¨â¥«ìë¬ ¨§¡ë⪮¬ §®¢ñ¬ ¯¥à¥¯®«¥®© (overowing). (®«ì§ãïáì ¬¥â ä®à®© ¥ä⥯஢®¤ , ¬®¦® ᪠§ âì, çâ® ¯à¨å®¤ïéãî ¥äâì ¥ ãᯥ¢ î⠮⪠稢 âì, ¨ ¨§¡ë⮪ ¥ä⨠᫨¢ ¥âáï.) í⮬ à §¤¥«¥ ¬ë ®¡êïᨬ ¨¤¥î ¬¥â®¤ ¨ ®¯¨è¥¬ ¤¢¥ ®á®¢ë¥ ®¯¥à 樨: "¯à®â «ª¨¢ ¨¥" ¯à¥¤¯®â®ª ¨ "¯®¤êñ¬" ¢¥àè¨ë. ®á«¥ í⮣® ¤®ª ¦¥¬ ¯à ¢¨«ì®áâì ®¡é¥£® «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ¨ ®æ¥¨¬ ¢à¥¬ï ¥£® à ¡®âë. ®â¨¢¨à®¢ª ¬¥â®¤¥ ®à¤ { «ª¥àá® ¬ë ¢ ª ¦¤ë© ¬®¬¥â ¨¬¥¥¬ ¤¥«® á ¯®â®ª®¬ ¦¨¤ª®á⨠¯® âàã¡ ¬ ®â ¨á⮪ ª á⮪ã; ª ¦¤®¬ è £¥ ¬ë 㢥«¨ç¨¢ ¥¬ íâ®â ¯®â®ª, å®¤ï ¤®¯®«ïî騩 ¯ãâì. ¨¤ª®áâì ¨ªã¤ ¥ ¯à®«¨¢ ¥âáï ¯® ¤®à®£¥. «£®à¨â¬ å ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ¨§¡ë⮪ ¦¨¤ª®á⨠¢ ª ¦¤®© ¢¥à訥 (¬¥á⥠ᮥ¤¨¥¨ï âàã¡) ᫨¢ ¥âáï. ஬¥ ⮣®, ¢ ¦ãî à®«ì ¨£à ¥â 楫®ç¨á«¥ë© ¯ à ¬¥âà, ª®â®àë© ¡ã¤¥â §ë¢ âìáï ¢ëá®â®© ¢¥àè¨ë | ¬ë ¡ã¤¥¬ ¢®®¡à ¦ âì, çâ® ¢ ¯à®æ¥áá¥ à ¡®âë «£®à¨â¬ ¢¥àè¨ ¬®¦¥â ¯®¤¨¬ âìáï ¢¢¥àå. ëá®â ¢¥àè¨ë ®¯à¥¤¥«ï¥â, ªã¤ ¬ë áâ à ¥¬áï ¯à ¢¨âì ¨§¡ë⮪ ¦¨¤ª®áâ¨: å®âï (¯®«®¦¨â¥«ìë©) ¯®â®ª ¦¨¤ª®á⨠¬®¦¥â ¨¤â¨ ¨ ᨧ㠢¢¥àå, 㢥«¨ç¨¢ âì ¥£® ¢ â ª®© á¨âã 樨 ¥«ì§ï. (®¤à®¡®á⨠á¬. ¨¦¥.) ëá®â ¨á⮪ ¢á¥£¤ à ¢ jV j, á⮪ | ã«î. ᥠ®áâ «ìë¥ ¢¥àè¨ë ¨§ ç «ì® å®¤ïâáï ¢ëá®â¥ 0, ¨ á® ¢à¥¬¥¥¬ ¯®¤¨¬ îâáï. «ï ç « ¬ë ®â¯à ¢«ï¥¬ ¨§ ¨á⮪ ¢¨§ á⮫쪮 ¦¨¤ª®áâ¨, ᪮«ìª® ¬ ¯®§¢®«ïî⠯யãáªë¥ ᯮᮡ®á⨠¢ë室ïé¨å ¨§ ¨á⮪ âàã¡ (íâ® ª®«¨ç¥á⢮ à ¢® ¯à®¯ã᪮© ᯮᮡ®áâ¨ à §à¥§ (s; V n s)). ®§¨ª î騩 (¢ á®á¥¤¨å á ¨á⮪®¬ ¢¥àè¨ å) ¨§¡ë⮪ ¦¨¤ª®á⨠ᯥࢠ¯à®áâ® ¢ë«¨¢ ¥âáï, ® § ⥬ ® ¡ã¤¥â ¯à ¢«¥ ¤ «ìè¥. áᬠâਢ ï ª ªãî-«¨¡® ¢¥àè¨ã u ¢ 室¥ à ¡®âë «£®à¨â¬ , ¬ë ¬®¦¥¬ ®¡ à㦨âì, çâ® ¢ ¥© ¥áâì ¨§¡ë⮪ ¦¨¤ª®áâ¨, ® çâ® ¢á¥ âàã¡ë, ¯® ª®â®àë¬ ¥éñ ¬®¦® ®â¯à ¢¨âì ¦¨¤ª®áâì ¨§ u ªã¤ -â® (¢á¥ ¥ áëé¥ë¥ âàã¡ë) ¢¥¤ãâ ¢ ¢¥àè¨ë ⮩ ¦¥ ¨«¨ ¡®«ì襩 ¢ëá®âë. í⮬ á«ãç ¥ ¬ë ¬®¦¥¬ ¢ë¯®«¨âì ¤àã£ãî ®¯¥à æ¨î, §ë¢ ¥¬ãî " ¯®¤êñ¬®¬" ¢¥àè¨ë u. ®á«¥ í⮣® ¢¥àè¨ u áâ ®¢¨âáï ¥¤¨¨æã ¢ëè¥ á ¬®£® ¨§ª®£® ¨§ â¥å ¥ñ á®á¥¤¥©, ¢ ª®â®à®£® ¢¥¤ñâ ¥ áëé¥ ï âàã¡ | ¤à㣨¬¨ á«®¢ ¬¨, ¬ë ¯®¤¨¬ ¥¬ u ஢® á⮫쪮, çâ®¡ë ¯®ï¢¨« áì ¥ áëé¥ ï âàã¡ , ¢¥¤ãé ï ¢¨§. ª®æ¥ ª®æ®¢ ¬ë ¤®¡ìñ¬áï ⮣®, çâ® ¢ á⮪ ¯à¨å®¤¨â ¬ ªá¨¬ «ì® ¢®§¬®¦®¥ ª®«¨ç¥á⢮ ¦¨¤ª®á⨠(¤«ï ¤ ëå ¯à®¯ãáªëå ᯮᮡ®á⥩ âàã¡). ਠí⮬ ¯à¥¤¯®â®ª ¬®¦¥â ¥éñ ¥ ¡ëâì ¯®â®ª®¬ (¨§¡ë⮪ ¦¨¤ª®á⨠᫨¢ ¥âáï). த®«¦ ï ¯®¤êñ¬ ¢¥àè¨ (ª®â®àë¥ ¬®£ãâ áâ âì ¢ëè¥ ¨á⮪ ), ¬ë ¯®á⥯¥® ®â¯à ¢¨¬ ¨§¡ë⮪ ®¡à â® ¢ ¨á⮪ (çâ® ®§ ç ¥â ᮪à 饨¥ «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª 573 ¯®â®ª ¦¨¤ª®á⨠®â ¨á⮪ ) | ¨ ¯à¥¢à ⨬ ¯à¥¤¯®â®ª ¢ ¯®â®ª (ª®â®àë© ®ª ¦¥âáï ¬ ªá¨¬ «ìë¬). á®¢ë¥ ®¯¥à 樨 â ª, «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ¨á¯®«ì§ã¥â ¤¢¥ ®á®¢ë¥ ®¯¥à 樨: ¯à®â «ª¨¢ ¨¥ ¯®â®ª ¨§ ¢¥àè¨ë ¢ á®á¥¤îî ¨ ¯®¤êñ¬ ¢¥àè¨ë. ¤¨¬ â®çë¥ ®¯à¥¤¥«¥¨ï. ãáâì G = (V; E ) | á¥âì á ¨á⮪®¬ s ¨ á⮪®¬ t, f | ¯à¥¤¯®â®ª ¢ G. ãªæ¨ï h : V ! §ë¢ ¥âáï ¢ëá®â®© äãªæ¨¥© (height function) ¤«ï ¯à¥¤¯®â®ª f , ¥á«¨ h(s) = jV j, h(t) = 0 ¨ h(u) 6 h(v ) + 1 ¤«ï «î¡®£® ®áâ â®ç®£® ॡà (u; v) 2 Ef . «¥¤ãîé ï «¥¬¬ ¤ ñ⠮祢¨¤ãî ¯¥à¥ä®à¬ã«¨à®¢ªã í⮣® ãá«®¢¨ï: ¥¬¬ 27.13 ãáâì f | ¯à¥¤¯®â®ª ¢ á¥â¨ G = (V; E ) ¨ h | ¢ëá®â ï äãªæ¨ï. ®£¤ ¥á«¨ ¤«ï ¢¥àè¨ u; v 2 V , ¢ë¯®«¥® h(u) > h(v) + 1, â® ®áâ â®ç ï á¥âì ¥ ᮤ¥à¦¨â ॡà (u; v) ("¯® ªàãâ® ¨¤ã騬 ¢¨§ âàã¡ ¬ ¨¤ñâ ¬ ªá¨¬ «ì® ¢®§¬®¦ë© ¯®â®ª".) ¥¯¥àì ®¯à¥¤¥«¨¬ ®á®¢ë¥ ®¯¥à 樨. à®æ¥¤ãà Push(u; v) ¯à¨¬¥¨¬ , ¥á«¨ ¢¥àè¨ u ¯¥à¥¯®«¥ (â® ¥áâì cf (u; v ) > 0) ¨ ¥á«¨ h(u) = h(v ) + 1. ਠí⮬ ¯®â®ª ¨§ ¢¥àè¨ë u ¢ ¥ñ á®á¥¤ v à áâñâ | ¥£® 㢥«¨ç¥¨¥ ®£à ¨ç¥® ¨§¡ë⪮¬ ¦¨¤ª®á⨠¢ u ¨ ®áâ â®ç®© ¯à®¯ã᪮© ᯮᮡ®áâìî ॡà (u; v). N \textsc{Push}($u,v$) 1 $\triangleright$ ¤ ®: ¢¥àè¨ $u$ ¯¥à¥¯®«¥ , $c_f(u,v)>0$ ¨ $h(u)=h(v)+1$. 2 $\triangleright$ ¤®: ¯à®â®«ªãâì $d_f(u,v)=\min(e[u],c_f(u,v)$ ¥¤¨¨æ ¯®â®ª ¨§ $u$ ¢ 3 $d_f(u,v)\leftarrow\min(e[u],c_f(u,v)$ 4 $f[u,v]\leftarrow f[u,v]+d_f(u,v)$ 5 $f[v,u]\leftarrow -f[u,v]$ 6 $e[u]\leftarrow e[u]-d_f(u,v)$ 7 $e[v]\leftarrow e[v]+d_f(u,v)$ $v$. ë ¯à¥¤¯®« £ ¥¬, çâ® ¨§¡ë⮪ ¢ ¢¥à訥 à ¢¥ e[u] > 0, ¨ çâ® ®áâ â®ç ï ¯à®¯ã᪠ï ᯮᮡ®áâì ॡà (u; v) â ª¦¥ ¯®«®¦¨â¥«ì . ®íâ®¬ã ¬ë ¬®¦¥¬ ¯à ¢¨âì min(e[u]; cf (u; v)) > 0 ¥¤¨¨æ ¯®â®ª ¨§ u ¢ v (¬ë ¢ëç¨á«ï¥¬ íâã ¢¥«¨ç¨ã ¢ áâப¥ 3), ¥ ¯à¥¢ëᨢ ¯à®¯ã᪮© ᯮᮡ®á⨠¨ ¥ ᤥ« ¢ ¨§¡ë⮪ ®âà¨æ ⥫ìë¬. «¥¤®¢ ⥫ì®, ¥á«¨ äãªæ¨ï f ®áâ ¥âáï ¯à¥¤¯®â®ª®¬ (¥á«¨ ® ¨¬ ¡ë« ). ë ¨§¬¥ï¥¬ f ¢ áâப å 4-5 ¨ e ¢ áâப å 6-7. á«®¢¨¥ h(u) = h(v) + 1 £ à â¨àã¥â, çâ® ¬ë ¯à ¢«ï¥¬ ¤®¯®«¨â¥«ìë© ¯®â®ª «¨èì ¯® àñ¡à ¬, ¨¤ã騬 ¢¨§ á ¥¤¨¨ç®© 574 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª à §¨æ¥© ¢ëá®â. ¯à®ç¥¬, ¡®«¥¥ ªàãâë¥ àñ¡à 㦥 áëé¥ë ¨ â ª («¥¬¬ 27.13) ¯¥à æ¨ï Push §ë¢ ¥âáï ¯à®â «ª¨¢ ¨¥¬ ¨§ ¢¥àè¨ë u ¢ ¢¥àè¨ã v (¯à¨¬¥ñë¬ ª ¢¥à訥 u). à®â «ª¨¢ ¨¥ §ë¢ ¥âáï áëé î騬 (saturating), ¥á«¨ ¢ १ã«ìâ ⥠ॡ஠(u; v ) áâ ®¢¨âáï áëé¥ë¬ (saturated), â® ¥áâì ¥á«¨ cf (u; v ) ®¡à é ¥âáï ¢ ã«ì (ॡ஠¨á祧 ¥â ¨§ ®áâ â®ç®© á¥â¨); ¢ ¯à®â¨¢®¬ á«ãç ¥ ¯à®â «ª¨¢ ¨¥ áç¨â îâ ¥ áëé î騬 (nonsaturating). à®æ¥¤ãà Lift(u) ¯®¤¨¬ ¥â ¯¥à¥¯®«¥ãî ¢¥àè¨ã u ¬ ªá¨¬ «ìãî ¢ëá®âã, ª®â®à ï ¤®¯ãá⨬ ¯® ®¯à¥¤¥«¥¨î ¢ëá®â®© äãªæ¨¨. ®á¬®âਬ á®®â®è¥¨¥ ¢ëá®â ¢¥àè¨ë ¨ ¥ñ á®á¥¤¥© ¢ ®áâ â®ç®© á¥â¨. ® ®¯à¥¤¥«¥¨î ¢ëá®â®© äãªæ¨¨ ¢ëá®â ¢¥àè¨ë ¯à¥¢®á室¨â ¢ëá®âã á®á¥¤ ¢ ®áâ â®ç®© á¥â¨ ¥ ¡®«¥¥ 祬 1. ᫨ ¥áâì á®á¥¤, ª®â®àë© ¥¤¨¨æã ¨¦¥, â® ¬®¦® ¢ë¯®«¨âì ¯à®â «ª¨¢ ¨¥ (® ¥«ì§ï ¢ë¯®«¨âì ¯®¤êñ¬). ᫨ ¢á¥ á®á¥¤¨ ¥ ¨¦¥, â® ¯à®â «ª¨¢ ¨¥ ¢ë¯®«¨âì ¥«ì§ï, ¯®¤êñ¬ | ¬®¦®, ¯®á«¥ 祣® ¢®§¬®¦® ¯à®â «ª¨¢ ¨¥. ®â ª ª ¢ë£«ï¤¨â ¯à®æ¥¤ãà ¯®¤êñ¬ (lifting): \textsc{Lift}($u$) 1 $\triangleright$ ¤ ®: ¢¥àè¨ $u$ ¯¥à¥¯®«¥ ; ¤«ï «î¡®£® ॡà $(u,v)\in E_f$ ¢ë¯®«¥® ¥à ¢¥á⢮ $h(u)\le h(v)$. 2 $\triangleright$ ¤®: 㢥«¨ç¨âì $h[u]$, ¯®¤£®â®- ¢«ïï ¯à®â «ª¨¢ ¨¥ ¨§ ¢¥àè¨ë $u$ 3 $h[u]\leftarrow 1+\min\{h[v]|(u,v)\ in E_f\}$ ¬¥â¨¬, çâ® ¥á«¨ ¢¥àè¨ u ¯¥à¥¯®«¥ , â® ¢ Ef ©¤ñâáï ¯® ªà ©¥© ¬¥à¥ ®¤® ॡà®, ¢ë室ï饥 ¨§ u (¬¨¨¬ã¬ ¢ áâப¥ 3 ¡¥àñâáï ¯® ¥¯ãá⮬㠬®¦¥áâ¢ã). â®¡ë ¤®ª § âì íâ®, ¢á¯®¬¨¬, çâ® f [V; u] = e[u] > 0, ¯®í⮬ã áãé¥áâ¢ã¥â ¯® ªà ©¥© ¬¥à¥ ®¤ â ª ï ¢¥àè¨ v, ¤«ï ª®â®à®© f (v; u) > 0. ®«ãç ¥¬ cf (u; v ) = c(u; v) ; f [u; v ] = c(u; v ) + f [v; u] > 0; íâ® ®§ ç ¥â, çâ® (u; v) 2 Ef . ( ᫨ ¢ ¢¥à訥 ¦¨¤ª®áâì ¢ë«¨¢ ¥âáï, â® ® ®âªã¤ -â® ¯à¨å®¤¨â, ¨ ¥áâì १¥à¢, á®áâ®ï騩 ¢ 㬥ì襨¨ í⮣® ¯à¨å®¤ .) ¡é ï á奬 «£®à¨â¬ «£®à¨â¬ ç¨ ¥âáï á ¢ë§®¢ Initialize-Preflow, § ¤ î饣® ç «ìë© ¯à¥¤¯®â®ª: 8 > < c(u; v ) ¥á«¨ u = s; f [u; v] = > ;c(v; u) ¥á«¨ v = s; (27:9) : 0 ¢ ®áâ «ìëå á«ãç ïå. «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª 575 \textsc{Initialize-Preflow}($G,s$) 1 for (¤«ï) ª ¦¤®© ¢¥àè¨ë $u\in V[G]$ 2 do $h[u]\leftarrow 0$ $e[u]\leftarrow 0$ 4 for (¤«ï) ª ¦¤®£® ॡà $(u,v)\in E[G]$ 5 do $f[u,v]\leftarrow 0$ 6 $f[v,u]\leftarrow 0$ 7 $h[s]\leftarrow |V[G]|$ 8 for (¤«ï) ª ¦¤®© ¢¥àè¨ë $u\in Adj[s]$ 9 do $f[s,u]\leftarrow c(s,u)$ 10 $f[u,s]\leftarrow -c(s,u)$ 11 $e[u]\leftarrow c(s,u)$ ¬ áᨢ¥ h åà ïâáï ¢ëá®âë, ¢ ¬ áᨢ¥ e | ¨§¡ë⪨, c(u; v) | ¯à®¯ãáªë¥ ᯮᮡ®á⨠(áç¨â ¥¬, çâ® ®¨ § ¤ ë â ª, çâ® ¢ëç¨á«¥¨¥ c(u; v) âॡã¥â ¢à¥¬¥¨ O(1)). ®â®ª § ¯¨áë¢ ¥âáï ¢ ¬ áᨢ f . ®â®ª ¯® ª ¦¤®¬ã ॡàã, ¢ë室ï饬㠨§ ¨á⮪ s, áâ ®¢¨âáï à ¢ë¬ ¯à®¯ã᪮© ᯮᮡ®á⨠í⮣® ॡà . ® ®áâ «ìë¬ àñ¡à ¬ ¯®â®ª à ¢¥ 0. ª ¦¤®© ᬥ¦®© á ¨á⮪®¬ ¢¥à訥 v ¯®ï¢«ï¥âáï ¨§¡ë⮪ e[v ] = c(s; v). H ç «ì ï ¢ëá®â § ¤ ¥âáï ä®à¬ã«®© u = s; h[u] = jV0j;; ¥á«¨ ¢ ¯à®â¨¢®¬ á«ãç ¥. â® ¤¥©áâ¢¨â¥«ì® ¢ëá®â ï äãªæ¨ï, â ª ª ª àñ¡à (u; v), ¤«ï ª®â®àëå h[u] > h[v] + 1, ¢ë室ïâ ⮫쪮 ¨§ ¨á⮪ (u = s), ® í⨠àñ¡à áëé¥ë ¨ ¨å ¥â ¢ ®áâ â®ç®© á¥â¨. à®£à ¬¬ Generic-Preflow-Push ¤ ñâ ®¡éãî á奬㠫£®à¨â¬ , ®á®¢ ®£® ¯à®â «ª¨¢ ¨¨ ¯à¥¤¯®â®ª . \textsc{Generic-Preflow-Push} 1 \textsc{Initialize-Preflow} 2 while (¯®ª ) ¢®§¬®¦ë ®¯¥à 樨 ¯®¤êñ¬ ¨«¨ ¯à®â «ª¨¢ ¨ï 3 do ¢ë¯®«¨âì ®¤ã ¨§ íâ¨å ®¯¥à 権 «¥¤ãîé ï «¥¬¬ ¯®ª §ë¢ ¥â, çâ® ¯®ª ¥áâì å®âì ®¤ ¯¥à¥¯®«¥ ï ¢¥àè¨ , ª ª ï-â® ¨§ ®¯¥à 権 ¯®¤êñ¬ ¨«¨ ¯à®â «ª¨¢ ¨ï ¢®§¬®¦ . ¥¬¬ 27.14 ( ¯¥à¥¯®«¥®© ¢¥à訥 ¢®§¬®¦® «¨¡® ¯à®â «ª¨¢ ¨¥, «¨¡® ¯®¤êñ¬) ãáâì f | ¯à¥¤¯®â®ª ¢ á¥â¨ G = (V; E ). ãáâì h | ¢ëá®â ï äãªæ¨ï ¤«ï f ¨ ¢¥àè¨ u ¯¥à¥¯®«¥ . ®£¤ ¢ u ¢®§¬®¦® «¨¡® ¯à®â «ª¨¢ ¨¥, «¨¡® ¯®¤êñ¬. ®ª § ⥫ìá⢮ 576 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ®áª®«ìªã h | ¢ëá®â ï äãªæ¨ï, â® h(u) 6 h(v) + 1 ¤«ï «î¡®£® ®áâ â®ç®£® ॡà (u; v). ᫨ ¢ u ¥¢®§¬®¦® ¯à®â «ª¨¢ ¨¥, â® ¤«ï ¢á¥å ®áâ â®çëå àñ¡¥à (u; v) ¢ë¯®«¥® ¥à ¢¥á⢮ h(u) < h(v ) + 1, ¨§ 祣® á«¥¤ã¥â, çâ® h(u) 6 h(v ), ¨ ¢ ¢¥à訥 u ¢®§¬®¦¥ ¯®¤êñ¬. ®à४â®áâì ¬¥â®¤ ®à४â®áâì ¬¥â®¤ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ¬ë ¤®ª ¦¥¬ ¢ ¤¢ íâ ¯ . ç « ¬ë ¤®ª ¦¥¬, çâ® ¥á«¨ «£®à¨â¬ ®áâ ®¢¨âáï, â® ¯à¥¤¯®â®ª f ¢ íâ®â ¬®¬¥â ¡ã¤¥â ¬ ªá¨¬ «ìë¬ ¯®â®ª®¬. ⥬ ¬ë ¤®ª ¦¥¬, çâ® «£®à¨â¬ ¤¥©áâ¢¨â¥«ì® ®áâ ®¢¨âáï. çñ¬ á â ª®£® § ¬¥ç ¨ï (®ç¥¢¨¤®£® á«¥¤ãî饣® ¨§ ®¯¨á ¨ï ¯à®æ¥¤ãàë ¯®¤êñ¬ ). ¥¬¬ 27.15 (ëá®â ¢¥àè¨ë ¥ ã¡ë¢ ¥â) ਠ¨á¯®«¥¨¨ ¯à®£à ¬¬ë Generic-Preflow-Push ¢ëá®â h[u] «î¡®© ¢¥àè¨ë u 2 V ¬®¦¥â ⮫쪮 ¢®§à áâ âì (¯à¨ ª ¦¤®¬ ¯®¤êñ¬¥ í⮩ ¢¥àè¨ë ¯® ¬¥ì襩 ¬¥à¥ ¥¤¨¨æã). ¥¬¬ 27.16 ® ¢à¥¬ï ¢ë¯®«¥¨ï ¯à®£à ¬¬ë Generic-Preflow-Push äãªæ¨ï h ®áâ ñâáï ¢ëá®â®© äãªæ¨¥©. ®ª § ⥫ìá⢮ ®á¬®âਬ, çâ® ¯à®¨á室¨â ¯à¨ ¯à®â «ª¨¢ ¨¨ ¨ ¯à¨ ¯®¤êñ¬¥. ਠ¯®¤êñ¬¥ ¢¥àè¨ë u ¬ë § ¡®â¨¬áï ® ⮬, çâ®¡ë ¢ë室ï騥 ¨§ u ®áâ â®çë¥ àñ¡à ¥ àãè «¨ ®¯à¥¤¥«¥¨¥ ¢ëá®â®© äãªæ¨¨. â® ¦¥ ª á ¥âáï ¢å®¤ïé¨å àñ¡¥à, â® á ¨¬¨ ¥ ¬®¦¥â ¡ëâì ¯à®¡«¥¬, â ª ª ª ¢ëá®â ¢¥àè¨ë u ⮫쪮 ¢®§à áâ ¥â. áᬮâਬ ⥯¥àì ¯à®æ¥¤ãàã Push(u; v). ¥£ª® ¯®ïâì, çâ® ªàãâ® ¨¤ã騥 ¢¨§å ¥ áëé¥ë¥ àñ¡à ¯®ï¢¨âìáï ¥ ¬®£ãâ. ®«¥¥ ä®à¬ «ì®, íâ ¯à®æ¥¤ãà ¬®¦¥â ¤®¡ ¢¨âì ॡ஠(v; u) ¢ Ef , â ª¦¥ 㤠«¨âì ॡ஠(u; v) ¨§ Ef . ¯¥à¢®¬ á«ãç ¥ h[v] = h[u];1 ¨ h ®áâ ñâáï ¢ëá®â®© äãªæ¨¥©. ® ¢â®à®¬ á«ãç ¥ 㤠«¥¨î ॡà ᮯãâáâ¢ã¥â ®â¬¥ ᮮ⢥âáâ¢ãî饣® ®£à ¨ç¥¨ï ¨ h ᮢ ®áâ ñâáï ¢ëá®â®© äãªæ¨¥©. ®ª ¦¥¬ ®¤® ¢ ¦®¥ ᢮©á⢮ ¢ëá®â®© äãªæ¨¨. ¥¬¬ 27.17 ãáâì G = (V; E ) | á¥âì á ¨á⮪®¬ s ¨ á⮪®¬ t. ãáâì f | ¯à¥¤¯®â®ª ¢ G, h | ¢ëá®â ï äãªæ¨ï ¤«ï f . ®£¤ ¢ ®áâ â®ç®© á¥â¨ Gf ¥ áãé¥áâ¢ã¥â ¯ã⨠¨§ ¨á⮪ ¢ á⮪. ®ª § ⥫ìá⢮ ãáâì íâ® ¥ â ª ¨ â ª®© ¯ãâì áãé¥áâ¢ã¥â. áâà ïï 横«ë, ¬®¦® áç¨â âì, çâ® ® ¯à®á⮩ ¨ ¯®â®¬ã ¤«¨ ¥£® ¬¥ìè¥ jV j. ਠí⮬ ¢ëá®â ¯ ¤ ¥â ®â jV j ¤® ã«ï. «¥¤®¢ ⥫ì®, ¢ ¯ã⨠¥áâì ॡà®, £¤¥ ¢ëá®â ¯ ¤ ¥â ¯® ªà ©¥© ¬¥à¥ 2 | â ª®¥ ॡ஠¥ ¬®¦¥â ¢å®¤¨âì ¢ ®áâ â®çãî á¥âì. ¥®à¥¬ 27.18 (®à४â®áâì ¬¥â®¤ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ) «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª 577 ᫨ ¯à®£à ¬¬ Generic-Preflow-Push, ¯à¨¬¥ñ ï ª á¥â¨ G = (V; E ) á ¨á⮪®¬ s ¨ á⮪®¬ t ®áâ ¢«¨¢ ¥âáï, â® ¯®«ãç î騩áï ¯à¥¤¯®â®ª f , ¡ã¤¥â ¬ ªá¨¬ «ìë¬ ¯®â®ª®¬ ¤«ï G. ®ª § ⥫ìá⢮ ¥¬¬ 27.14 £ à â¨àã¥â, çâ® ¢ ¬®¬¥â ®áâ ®¢ª¨ ¯¥à¥¯®«¥ëå ¢¥àè¨ ¢ á¥â¨ ¥â (¨§¡ë⮪ ¢ ª ¦¤®© à ¢¥ ã«î). ç¨â, ¢ íâ®â ¬®¬¥â ¯à¥¤¯®â®ª ï¥âáï ¯®â®ª®¬. ® «¥¬¬¥ 27.16 äãªæ¨ï h ¡ã¤¥â ¢ëá®â®© äãªæ¨¥©, ¨ ¯®â®¬ã («¥¬¬ 27.17) ¢ ®áâ â®ç®© á¥â¨ Gf ¥â ¯ã⨠¨§ s ¢ t. ® ⥮६¥ ® ¬ ªá¨¬ «ì®¬ ¯®â®ª¥ ¨ ¬¨¨¬ «ì®¬ à §à¥§¥ ¯®â®ª f ¬ ªá¨¬ «¥. «¨§ ¬¥â®¤ ⮡ë ã¡¥¤¨âì, çâ® «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ®áâ ¢«¨¢ ¥âáï, 㪠¦¥¬ ¢¥à娥 £à ¨æë ®â¤¥«ì® ¤«ï ç¨á« ¯®¤êñ¬®¢, áëé îé¨å ¨ ¥ áëé îé¨å ¯à®â «ª¨¢ ¨©. ®á«¥ í⮣® áâ ¥â ïá®, çâ® ¢à¥¬ï à ¡®âë «£®à¨â¬ ¥áâì O(V 2E ). çñ¬ á â ª®© ¢ ¦®© «¥¬¬ë: ¥¬¬ 27.19 ãáâì G = (V; E ) | á¥âì á ¨á⮪®¬ s ¨ á⮪®¬ t, f | ¯à¥¤¯®â®ª ¢ G. ®£¤ ¤«ï «î¡®© ¯¥à¥¯®«¥®© ¢¥àè¨ë u ©¤¥âáï ¯à®á⮩ ¯ãâì ¨§ u ¢ s ¢ ®áâ â®ç®© á¥â¨ Gf . ®ª § ⥫ìá⢮. ¨¤ª®áâì, ᫨¢ ¥¬ ï ¢ ¢¥à訥 u, ¯®¯ ¤ ¥â â㤠¨§ ¨á⮪ s ¯® ª ª®¬ã-â® ¯ãâ¨: áãé¥áâ¢ã¥â ¯ãâì ¨§ s ¢ u, ¯® àñ¡à ¬ ª®â®à®£® ¨¤ñâ ¯®«®¦¨â¥«ìë© ¯®â®ª. (®à¬ «ì® ¬®¦® à áá㦤 âì â ª: à áᬮâਬ ¬®¦¥á⢮ U â¥å ¢¥àè¨, ¨§ ª®â®àëå ¢ u ¬®¦® ¯à®©â¨ ¯® àñ¡à ¬ á ¯®«®¦¨â¥«ìë¬ ¯®â®ª®¬. ᫨ á।¨ ¨å ¥â ¨á⮪ , â® ¢ U ¨ ¯® ª ª¨¬ àñ¡à ¬ ¦¨¤ª®áâì ¥ ¢å®¤¨â. âáî¤ á«¥¤ã¥â, çâ® e(U ) (á㬬 ¢á¥å ¨§¡ë⪮¢ ¢¥àè¨ ¢ U ), à ¢ ï f (V; U ) = f (V n U; U ) + f (U; U ) = f (V n U; U ) 6 0, â ª çâ® ¢á¥ ¨§îë⪨ à ¢ë 0.) â ª, ¢®§ì¬ñ¬ ¯ãâì ¨§ s ¢ u, ¯® ¢á¥¬ àñ¡à ¬ ª®â®à®£® ¨¤ñâ ¯®«®¦¨â¥«ìë© ¯®â®ª, ¨ ®¡à ⨬ ¥£® àñ¡à . ¡à âë¥ àñ¡à ¢å®¤ïâ ¢ ®áâ â®çãî á¥âì. «ï ¤®ª § ⥫ìá⢠ã⢥ত¥¨ï «¥¬¬ë ®áâ ñâáï 㤠«¨âì 横«ë (¥á«¨ ®¨ ¥áâì). «¥¤ãîé ï «¥¬¬ ®£à ¨ç¨¢ ¥â ¢ëá®âã ¢¥àè¨ë, ¨ ⥬ á ¬ë¬ ç¨á«® ¢®§¬®¦ëå ¯®¤êñ¬®¢. ¥¬¬ 27.20 ਠ¨á¯®«¥¨¨ ¯à®£à ¬¬ë Generic-Preflow-Push ¢ëá®â «î¡®© ¢¥àè¨ë v 2 V ¨ª®£¤ ¥ ¯à¥¢§®©¤ñâ 2jV j ; 1. ®ª § ⥫ìá⢮ ® ®¯à¥¤¥«¥¨î ¢ëá®âë h[s] = jV j ¨ h[t] = 0. ®¤êñ¬ ¯à¨¬¥¨¬ ⮫쪮 ª ¯¥à¥¯®«¥ë¬ ¢¥àè¨ ¬ | ¯®á¬®âਬ, ª ª®© ¢ëá®â¥ ®¨ ¬®£ãâ ¡ëâì. ãáâì u | ¯¥à¥¯®«¥ ï ¢¥àè¨ . ® «¥¬¬¥ 27.19, ¢ Gf áãé¥áâ¢ã¥â ¯à®á⮩ ¯ãâì p ¨§ í⮩ ¢¥àè¨ë ¢ s. ® ®¯à¥¤¥«¥¨î ¢ëá®â®© äãªæ¨¨, ¢ëá®â ¥ ¬®¦¥â ã¡ë¢ âì 578 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¡®«¥¥ 祬 1 ¢¤®«ì àñ¡¥à á¥â¨ Gf , ¢ëá®â ª®¥ç®© ¢¥àè¨ë ¯ã⨠(â.¥. s) à ¢ jV j. ãâì (¡ã¤ãç¨ ¯à®áâë¬) ᮤ¥à¦¨â ¥ ¡®«¥¥ jV j ; 1 àñ¡¥à, â ª çâ® ¢ëá®â ¥£® ç « ¥ ¯à¥¢®á室¨â 2jV j ; 1. «¥¤á⢨¥ 27.21 (楪 ç¨á« ¯®¤êñ¬®¢) ਠ¨á¯®«¥¨¨ ¯à®£à ¬¬ë Generic-Preflow-Push ®¡é¥¥ ç¨á«® ®¯¥à 権 ¯®¤êñ¬ ¥ ¯à¥¢®á室¨â 2jV j2. ®ª § ⥫ìá⢮ ëá®â ¢¥àè¨ë ¯à¨ ¯®¤êñ¬¥ 㢥«¨ç¨¢ ¥âáï, ® ¥ ¬®¦¥â áâ âì ¡®«ìè¥ 2jV j ; 1, ¯®í⮬㠫î¡ãî ¢¥àè¨ã v 2 V n fs; tg ¬®¦® ¯®¤ïâì á ¬®¥ ¡®«ì襥 2jV j ; 1 à §. ᥣ® â ª¨å ¢¥àè¨ jV j ; 2, ¯®í⮬㠮¡é¥¥ ç¨á«® ¯®¤êñ¬®¢ ¥ ¯à¥¢®á室¨â (2jV j ; 1)(jV j ; 2j) < 2jV j2. ¥¬¬ 27.22 (楪 ç¨á« áëé îé¨å ¯à®â «ª¨¢ ¨©) ਠ¨á¯®«¥¨¨ ¯à®£à ¬¬ë Generic-Preflow-Push ª®«¨ç¥á⢮ áëé îé¨å ¯à®â «ª¨¢ ¨© ¥ ¯à¥¢®á室¨â 2jV jjE j. ®ª § ⥫ìá⢮ áᬮâਬ áëé î騥 ¯à®â «ª¨¢ ¨ï ¬¥¦¤ã ¢¥àè¨ ¬¨ u; v 2 V (¢ ®¡¥ áâ®à®ë). ᫨ å®âï ¡ë ®¤® ¯à®â «ª¨¢ ¨¥ ¡ë«®, â® å®âï ¡ë ®¤® ¨§ àñ¡¥à (u; v) ¨«¨ (v; u) ¯à¨ ¤«¥¦¨â E . ãáâì ¨¬¥«® ¬¥áâ® áëé î饥 ¯à®â «ª¨¢ ¨¥ ¨§ u ¢ v. ®á«¥ ¥£® ॡ஠(u; v) ¨á祧«® ¨§ ®áâ â®ç®© á¥â¨ Gf . «ï ⮣®, ç⮡ë í⮠ॡ஠¯®ï¢¨«®áì, ¥®¡å®¤¨¬® ¯à®â®«ªãâì ¯®â®ª ¨§ v ¢ u, ® í⮣® ¥«ì§ï ᤥ« âì, ¯®ª ¥ ¡ã¤¥â ¢ë¯®«¥® h[v] = h[u] + 1, â.¥. h[v] ¥®¡å®¤¨¬® 㢥«¨ç¨âì ¯® ªà ©¥© ¬¥à¥ 2. ®á¬®âਬ § 票¥ á㬬ë h[u] + h[v] ¢ ¬®¬¥âë áëé îé¨x ¯à®â «ª¨¢ ¨ï ¬¥¦¤ã u ¨ v. ¬¥â¨¬, çâ® ¯à®â «ª¨¢ ¨¥ ¢®§¬®¦®, ⮫쪮 ¥á«¨ ¢ëá®âë ¢¥àè¨ u ¨ v ®â«¨ç îâáï ¥¤¨¨æã. ®í⮬㠯¥à¢ ï á㬬 ¥ ¬¥ìè¥ 1, ¯®á«¥¤ïï á㬬 ¥ ¡®«ìè¥ (2jV j ; 1) + 2(jV j ; 2) = 4jV j ; 3. ¢¥ á®á¥¤¨¥ áã¬¬ë ®â«¨ç îâáï ¯® ªà ©¥© ¬¥à¥ 2. ª¨¬ ®¡à §®¬, ¢á¥£® ¨¬¥¥âáï ¥ ¡®«¥¥ ((4jV j; 3) ; 1)=2+1 = 2jV j; 1 áëé îé¨å ¯à®â «ª¨¢ ¨©. (ë ¤®¡ ¢¨«¨ ¥¤¨¨æã, ç⮡ë ãç¥áâì ¨ ¯¥à¢®¥, ¨ ¯®á«¥¤¥¥ ¯à®â «ª¨¢ ¨¥.). «¥¤®¢ ⥫ì®, ®¡é¥¥ ç¨á«® áëé îé¨å ¯à®â «ª¨¢ ¨© (¤«ï ¢á¥å àñ¡¥à) ¥ ¯à¥¢®á室¨â (2jV j ; 1)jE j < 2jV jjE j. ¥¬¬ 27.23 (楪 ç¨á« ¥ áëé îé¨å ¯à®â «ª¨¢ ¨©) ਠ¨á¯®«¥¨¨ ¯à®£à ¬¬ë Generic-Preflow-Push ç¨á«® ¥ áëé îé¨å ¯à®â «ª¨¢ ¨© ¥ ¯à¥¢®á室¨â 4jV j2(jV j + jE j). ®ª § ⥫ìá⢮ §®¢ñ¬ ¯®â¥æ¨ «®¬ á㬬㠢ëá®â ¯¥à¥¯®«¥ëå ¢¥àè¨, ¨ ¡ã¤¥¬ ᬮâà¥âì, ª ª ¬¥ï¥âáï ¯®â¥æ¨ « (®¡®§ 稬 ¥£® ) ¢ 室¥ ¨á¯®«¥¨ï ¯à®£à ¬¬ë. § ç «ì® = 0. ®¤ê¥¬ ¯à®¨§¢®«ì®© ¢¥àè¨ë u 㢥«¨ç¨¢ ¥â ¥ ¡®«¥¥, 祬 2jV j (¢ëá®â ¢¥àè¨ë ¥ ¯à¥¢®á室¨â 2jV j, «¥¬¬ 27.20). H áëé î饥 ¯à®â «ª¨¢ ¨¥ ¨§ ¥ª®â®à®© ¢¥àè¨ë u ¢ ¥ª®â®àãî ¢¥àè¨ã v ¬®¦¥â 㢥«¨ç¨âì ¯®â¥æ¨ « «¨èì § áçñâ ¯®ï¢«¥¨ï ®¢®© ¯¥à¥¯®«¥- «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª 579 ®© ¢¥àè¨ë v (â ª ¡ã¤¥â, ¥á«¨ v | ¥ á⮪ ¨ ¥ ¨á⮪), â® ¥áâì ¥ ¡®«¥¥ 祬 2jV j. H ª®¥æ, ¥ áëé î饥 ¯à®â «ª¨¢ ¨¥ ¨§ u ¢ v 㬥ìè ¥â ¯® ªà ©¥© ¬¥à¥ ¥¤¨¨æã, â ª ª ª ¢¥àè¨ u ¯¥à¥áâ ñâ ¡ëâì ¯¥à¥¯®«¥®© ¨ á« £ ¥¬®¥ h[u] ¨á祧 ¥â, ¯®ï¢¨âìáï ¬®¦¥â «¨èì á« £ ¥¬®¥ h[v] (¥á«¨ ¢¥àè¨ v ¥ á⮪, ¥ ¨á⮪ ¨ ¥ ¡ë« ¯¥à¥¯®«¥®©), ª®â®à®¥ ¥¤¨¨æã ¬¥ìè¥. ª¨¬ ®¡à §®¬, ®¡é ï á㬬 , ª®â®àãî 㢥«¨ç¨¢ ¥âáï ¢® ¢à¥¬ï à ¡®âë ¯à®£à ¬¬ë, ¥ ¯à¥¢®á室¨â (2jV j)(2jV j2) + (2jV j)(2jV jjE j) = 4jV j2 (jV j + jE j) (¬ë ¨á¯®«ì§ã¥¬ á«¥¤á⢨¥ 27.21 ¨ «¥¬¬ã 27.22) H® > 0, ¯®í⮬㠮¡é ï á㬬 , ª®â®àãî 㬥ìè¨âáï, ¨ ⥬ á ¬ë¬ ®¡é¥¥ ª®«¨ç¥á⢮ ¥ áëé îé¨å ¯à®â «ª¨¢ ¨©î ¥ ¯à¥¢®á室¨â 4jV j2(jV j + jE j). ¥®à¥¬ 27.24 ¡é¥¥ ç¨á«® ®¯¥à 権 ¯®¤êñ¬ ¨ ¯à®â «ª¨¢ ¨ï ¯à¨ ¨á¯®«¥¨¨ ¯à®£à ¬¬ë Generic-Preflow-Push á¥â¨ G = (V; E ) à ¢® O (V 2 E ). ®ª § ⥫ìá⢮ ਬ¥ï¥¬ á«¥¤á⢨¥ 27.21 ¨ «¥¬¬ë 27.22, 27.23. «¥¤á⢨¥ 27.25 «£®à¨â¬, ®á®¢ ë© ¯à®â «ª¨¢ ¨¨ ¯à¥¤¯®â®ª , ¬®¦® ॠ«¨§®¢ âì â ª, ç⮡ë á¥â¨ G = (V; E ) ¢à¥¬ï ¥£® à ¡®âë ¡ë«® O(V 2E ). ®ª § ⥫ìá⢮ ¥£ª® ¢¨¤¥âì (ã¯à. 27.4-1), çâ® ¬®¦® ¢ë¯®«¨âì ¯®¤êñ¬ § ¢à¥¬ï O(V ) ¨ ¯à®â «ª¨¢ ¨¥ § ¢à¥¬ï O(1), çâ® ¨ ¤ ñâ âॡ㥬ãî ®æ¥ªã. ¯à ¦¥¨ï 27.4-1 ª ॠ«¨§®¢ âì «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª â ª, çâ®¡ë ¯®¤êñ¬ ã室¨«® ¢à¥¬ï O(V ), ¨ ¯à®â «ª¨¢ ¨¥ O(1)? (ਠí⮬ ®¡é¥¥ ¢à¥¬ï ¡ã¤¥â O(V 2E ).) 27.4-2 ®ª ¦¨â¥, çâ® «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª , ¢á¥ O(V 2) ¯®¤êñ¬®¢ âà â¨â O(V E ) ¢à¥¬¥¨. 27.4-3 ®¯ãá⨬, ¬ë 諨 ¬ ªá¨¬ «ìë© ¯®â®ª ¢ á¥â¨ G ¬¥â®¤®¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª . ª ⥯¥àì ¡ëáâà® ©â¨ ¬¨¨¬ «ìë© à §à¥§? 27.4-4 ª ©â¨ ¬ ªá¨¬ «ì®¥ ¯ à®á®ç¥â ¨¥ ¢ ¤¢ã¤®«ì®¬ £à ä¥, ¨á¯®«ì§ãï ¬¥â®¤ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª ? ª®¢® ¢à¥¬ï à ¡®âë ¢ 襣® «£®à¨â¬ ? 27.4-5 ãáâì ¢á¥ ¯à®¯ãáªë¥ ᯮᮡ®á⨠àñ¡¥à á¥â¨ G = (V; E ) | æ¥«ë¥ ç¨á« ®â 1 ¤® k. 楨⥠¢ â¥à¬¨ å jV j, jE j ¨ k ¢à¥¬ï à - 580 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª ¡®âë «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª . (ª § ¨¥: ᪮«ìª® ¥ áëé îé¨å ¯à®â «ª¨¢ ¨© ¬®¦® ¯à¨¬¥¨âì ª ¥ áë饮¬ã ॡàã, ¯à¥¦¤¥ 祬 ®® áâ ¥â áëé¥ë¬?) 27.4-6 ®ª ¦¨â¥, çâ® áâபã 7 ¯à®æ¥¤ãàë Initialize-Preflow ¬®¦® § ¬¥¨âì áâப®© h[s] jV [G]j ; 2; ¥ àãè ï ª®à४â®á⨠¨ ¥ ¬¥ïï ᨬ¯â®â¨ª¨ ¢à¥¬¥¨ à ¡®âë «£®à¨â¬ . 27.4-7 ¡®§ 稬 ç¥à¥§ f (u; v) à ááâ®ï¨¥ (ª®«¨ç¥á⢮ àñ¡¥à) ®â ¢¥àè¨ë u ¤® ¢¥àè¨ë v ¢ ®áâ â®ç®© á¥â¨ Gf . ®ª ¦¨â¥, çâ® ¢® ¢à¥¬ï ¢ë¯®«¥¨ï ¯à®£à ¬¬ë Generic-Preflow-Push ®áâ ñâáï ¢¥à묨 á«¥¤ãî騥 ã⢥ত¥¨ï: ¥á«¨ h[u] < jV j, â® h[u] 6 f (u; t); ¥á«¨ h[u] > V , â® h[u] 6 f (u; s). 27.4-8* ª ¨ ¢ ¯à¥¤ë¤ã饬 ã¯à ¦¥¨¨, f (u; v) ®¡®§ ç ¥â à ááâ®ï¨¥ ®â ¢¥àè¨ë u ¤® ¢¥àè¨ë v ¢ ®áâ â®ç®© á¥â¨ Gf . ª ¨§¬¥¨âì «£®à¨â¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª , çâ®¡ë ¢® ¢à¥¬ï ¥£® à ¡®âë ®áâ ¢ «¨áì ¢¥à묨 â ª¨¥ ã⢥ত¥¨ï: ¥á«¨ h[u] < jV j, â® h[u] = f (u; t); ¥á«¨ h[u] > V , â® h[u] = f (u; s). (®¯®«¨â¥«ìë¥ ¤¥©áâ¢¨ï ¤®«¦ë 㪫 ¤ë¢ âìáï ¢ O(V E ) ®¯¥à 権.) 27.4-9 ®ª ¦¨â¥, çâ® ç¨á«® ¥ áëé îé¨å ¯à®â «ª¨¢ ¨©, ¢ë¯®«¥ëå ¯à®£à ¬¬®© Generic-Preflow-Push á¥â¨ G = (V; E ), ¥ ¯à¥¢®á室¨â 4jV j2jE j (¥á«¨ jV j > 4). 27.5 «£®à¨â¬ ¯®¤ïâì-¨-¢- ç «® ®«ì§ãïáì ¬¥â®¤®¬ ¯à®â «ª¨¢ ¨ï ¯à¥¤¯®â®ª , ¬ë ¯à¨¬¥ï«¨ ®¯¥à 樨 ¯®¤êñ¬ ¨ ¯à®â «ª¨¢ ¨ï ¢ ¡®«¥¥ ¨«¨ ¬¥¥¥ ¯à®¨§¢®«ì®¬ ¯®à浪¥. ®«¥¥ ¯à®¤ã¬ ë© ¯®à冷ª ¢ë¯®«¥¨ï íâ¨å ®¯¥à 権 ¯®§¢®«ï¥â 㬥ìè¨âì ¢à¥¬ï à ¡®âë «£®à¨â¬ (¯® áà ¢¥¨î á ®æ¥ª®© O(V 2E ) ¨§ á«¥¤á⢨ï 27.25). í⮬ à §¤¥«¥ ¬ë à áᬮâਬ «£®à¨â¬ "¯®¤ïâì-¨-¢- ç «®" (lift-to-front algorithm), ¨á¯®«ì§ãî騩 íâã ¨¤¥î; ¢à¥¬ï ¥£® à ¡®âë ¥áâì O(V 3), ç⮠ᨬ¯â®â¨ç¥áª¨ ¯® ªà ©¥© ¬¥à¥ ¥ å㦥, 祬 O(V 2E ). «£®à¨â¬ "¯®¤ïâì-¨-¢- ç «®" åà ¨â ¢á¥ ¢¥àè¨ë á¥â¨ ¢ ¢¨¤¥ ᯨ᪠. «£®à¨â¬ ¯à®á¬ âਢ ¥â íâ®â ᯨ᮪, ç¨ ï á £®«®¢ë. ¨ 室¨â ¢ ¥¬ ¯¥à¥¯®«¥ãî ¢¥àè¨ã u. ⥬ «£®à¨â¬ "®¡á«ã¦¨¢ ¥â" íâã ¢¥àè¨ã, ¯à¨¬¥ïï ª ¥© ®¯¥à 樨 ¯®¤êñ¬ ¨ ¯à®â «ª¨¢ ¨ï ¤® â¥å ¯®à, ¯®ª ¨§¡ë⮪ ¥ áâ ¥â à ¢ë¬ ã«î. ᫨ ¤«ï í⮣® ¢¥àè¨ã ¯à¨è«®áì ¯®¤ïâì, ¥ñ ¯¥à¥- «£®à¨â¬ ¯®¤ïâì-¨-¢- ç «® 581 ¬¥é îâ ¢ ç «® ᯨ᪠(®âáî¤ ¨ §¢ ¨¥ «£®à¨â¬ ), ¨ ¯à®á¬®âà á¯¨áª ç¨ ¥âáï ¢®¢ì. ਠ«¨§¥ «£®à¨â¬ ¯®«ì§ã¥¬áï ¯®ï⨥¬ ¤®¯ãá⨬®£® ॡà | à¥¡à ®áâ â®ç®© á¥â¨, ¯® ª®â®à®¬ã ¢®§¬®¦® ¯à®â «ª¨¢ ¨¥. ç « ¬ë ¨§ã稬 ¥ª®â®àë¥ ¨å ᢮©á⢠¨ à áᬮâਬ ¯à®æ¥áá " ®¡á«ã¦¨¢ ¨ï" ¢¥àè¨ë. ®¯ãáâ¨¬ë¥ àñ¡à ãáâì f | ¯à¥¤¯®â®ª ¢ á¥â¨ G = (V; E ), h | ¢ëá®â ï äãªæ¨ï. H §®¢¥¬ ॡ஠(u; v) ¤®¯ãáâ¨¬ë¬ (admissible), ¥á«¨ ®® ¢å®¤¨â ¢ ®áâ â®çãî á¥âì (cf (u; v) > 0) ¨ h(u) = h(v)+1 áâ «ìë¥ àñ¡à ¬ë ¡ã¤¥¬ §ë¢ âì ¥¤®¯ãá⨬묨 (inadmissible). ¡®§ 稬 ç¥à¥§ Ef;h ¬®¦¥á⢮ ¤®¯ãá⨬ëå àñ¡¥à; á¥âì Gf;h = (V; Ef;h) §®¢ñ¬ á¥âìî ¤®¯ãá⨬ëå àñ¡¥à (admissible network). á®á⮨⠨§ àñ¡¥à, ¯® ª®â®àë¬ ¢®§¬®¦® ¯à®â «ª¨¢ ¨¥. ®áª®«ìªã ¢¤®«ì ¤®¯ãá⨬®£® à¥¡à ¢ëá®â 㬥ìè ¥âáï, ¨¬¥¥â ¬¥áâ® â ª ï «¥¬¬ : ¥¬¬ 27.26 (®¯ãáâ¨¬ë¥ àñ¡à ®¡à §ãîâ 横«¨ç¥áª¨© £à ä) ãáâì f | ¯à¥¤¯®â®ª ¢ á¥â¨ G = (V; E ); ¯ãáâì h | ¢ëá®â ï äãªæ¨ï. ®£¤ á¥âì ¤®¯ãá⨬ëå àñ¡¥à Gf;h = (V; Ef;h) ¥ ᮤ¥à¦¨â 横«®¢. ®á¬®âਬ, ª ª ¨§¬¥ïîâ á¥âì ¤®¯ãá⨬ëå àñ¡¥à ®¯¥à 樨 ¯®¤êñ¬ ¨ ¯à®â «ª¨¢ ¨ï. ¥¬¬ 27.27 ãáâì f | ¯à¥¤¯®â®ª ¢ á¥â¨ G = (V; E ) ¨ h | ¢ëá®â ï äãªæ¨ï. ãáâì (u; v) | ¤®¯ãá⨬®¥ ॡ஠¨ ¢¥àè¨ u ¯¥à¥¯®«¥ . ®£¤ ¯® (u; v) ¢®§¬®¦® ¯à®â «ª¨¢ ¨¥. १ã«ìâ ⥠¢ë¯®«¥¨ï í⮩ ®¯¥à 樨 ®¢ë¥ ¤®¯ãáâ¨¬ë¥ àñ¡à ¥ ¯®ï¢«ïîâáï, ® ॡ஠(u; v) ¬®¦¥â áâ âì ¥¤®¯ãá⨬ë¬. ®ª § ⥫ìá⢮ १ã«ìâ ⥠¯à®â «ª¨¢ ¨ï ¢ ®áâ â®ç®© á¥â¨ ¬®¦¥â ¯®ï¢¨âìáï ⮫쪮 ॡ஠(v; u). ®áª®«ìªã ॡ஠(u; v) ¤®¯ãá⨬®, â® h(v ) = h(u) ; 1, ¨ ¯®â®¬ã ॡ஠(v; u) ¥¤®¯ãá⨬®. ᫨ ¯à®â «ª¨¢ ¨¥ ®ª §ë¢ ¥âáï áëé î騬, â® ¢ १ã«ìâ ⥠cf (u; v) = 0 ¨ ॡ஠(u; v) ¨á祧 ¥â ¨§ ®áâ â®ç®© á¥â¨ (¨ áâ ®¢¨âáï ¥¤®¯ãá⨬ë¬). ¥¬¬ 27.28 ãáâì f | ¯à¥¤¯®â®ª ¢ á¥â¨ G = (V; E ) ¨ h | ¢ëá®â ï äãªæ¨ï. ᫨ ¢¥àè¨ u ¯¥à¥¯®«¥ ¨ ¨§ ¥¥ ¥ ¢ë室¨â ¤®¯ãá⨬ëå àñ¡¥à, â® ¢®§¬®¦¥ ¯®¤êñ¬ ¢¥àè¨ë u. ®á«¥ ¯®¤êñ¬ ¯®ï¢¨âáï ¯® ªà ©¥© ¬¥à¥ ®¤® ¤®¯ãá⨬®¥ ॡà®, ¢ë室ï饥 ¨§ ¢¥àè¨ë u ¨ ¥ ¡ã¤¥â àñ¡¥à, ¢å®¤ïé¨å ¢ u. ®ª § ⥫ìá⢮ ª ¬ë ¢¨¤¥«¨ («¥¬¬ 27.14), ¢ ¯¥à¥¯®«¥®© ¢¥à訥 u ¢®§¬®¦® «¨¡® ¯à®â «ª¨¢ ¨¥, «¨¡® ¯®¤êñ¬. ª ª ª ¨§ u ¤®¯ãáâ¨¬ë¥ àñ¡à ¥ ¢ë室ïâ, â® ¯à®â «ª¨¢ ¨¥ ¢ ¥© ¥¢®§¬®¦®, ¨ ¢®§¬®¦¥ ¯®¤êñ¬. ਠí⮬ ¢ëá®â ¢¥àè¨ë 㢥«¨ç¨¢ ¥âáï 582 « ¢ 27 ªá¨¬ «ìë© ¯®â®ª â ª, çâ® ¯à®â «ª¨¢ ¨¥ áâ ®¢¨âáï ¢®§¬®¦ë¬, â® ¥áâì ¯®ï¢«ï¥âáï ¤®¯ãá⨬®¥ ॡà®. ஢¥à¨¬ ¢â®à®¥ ã⢥ত¥¨¥ «¥¬¬ë. ।¯®«®¦¨¬, çâ® ¯®á«¥ ¯®¤êñ¬ ¨¬¥¥âáï ¤®¯ãá⨬®¥ ॡ஠(v; u). ®£¤ h(v) = h(u)+ 1 | ¤® ¯®¤êñ¬ ¡ë«® ¢ë¯®«¥® h(v ) > h(u)+1. ® ®¯à¥¤¥«¥¨î ¢ëá®â®© äãªæ¨¨ ॡ஠(u; v) ¤®«¦® ¡ëâì áëé¥ë¬ (¤® ¨ ¯®á«¥ ¯®¤êñ¬ | ¯®¤êñ¬ ¥ ¬¥ï¥â ¯®â®ª®¢), ¨ ¯®â®¬ã ¥ ¢å®¤¨â ¢ ®áâ â®çãî á¥âì ¨ ¥ ï¥âáï ¤®¯ãá⨬ë¬. ¯¨áª¨ á®á¥¤¥© «£®à¨â¬ "¯®¤ïâì-¨-¢- ç «®" ¨á¯®«ì§ã¥â á¯¥æ¨ «ìë© á¯®á®¡ åà ¥¨ï àñ¡¥à á¥â¨ G = (V; E ). ¬¥®, ¤«ï ª ¦¤®© ¢¥àè¨ë u 2 V ¨¬¥¥âáï ®¤®áâ®à®¥ á¢ï§¢ë© ᯨ᮪ á®á¥¤¥© (neighbor list) N [u]. ¥àè¨ v 䨣ãà¨àã¥â ¢ í⮬ ᯨ᪥, ¥á«¨ (u; v ) 2 E ¨«¨ ¥á«¨ (v; u) 2 E . ª¨¬ ®¡à §®¬, ᯨ᮪ N [u] ᮤ¥à¦¨â ¢á¥ ¢¥àè¨ë v, ¤«ï ª®â®àëå (u; v) ¨¬¥¥â è á ¯®ï¢¨âìáï ¢ ®áâ â®ç®© á¥â¨. ¥à¢ë© í«¥¬¥â í⮣® ᯨ᪠®¡®§ ç ¥âáï head[N [u]]; á«¥¤ãî騩 § ¢¥à訮© v á®á¥¤ | next;neighbor[v]. ᫨ ¢¥àè¨ v | ¯®á«¥¤ïï ¢ ᯨ᪥, â® next ; neighbor[v] =nil. ®à冷ª ¢ ᯨ᪥ á®á¥¤¥© ¬®¦¥â ¡ëâì ¯à®¨§¢®«ìë¬; ® ¥ ¬¥ï¥âáï ¢ 室¥ à ¡®âë (¢á直© à § «£®à¨â¬ ¯à®á¬ âਢ ¥â ᯨ᮪ á®á¥¤¥© ¢ ®¤®¬ ¨ ⮬ ¦¥ ¯®à浪¥). «ï ª ¦¤®© ¢¥àè¨ë u åà ¨âáï 㪠§ ⥫ì current[u] ®ç¥à¥¤®© í«¥¬¥â ᯨ᪠N [u]. § ç «ì® current[u] ãáâ ®¢«¥ head[N [u]]. ¡à ¡®âª ¯¥à¥¯®«¥®© ¢¥àè¨ë ¡à ¡®âª ¯¥à¥¯®«¥®© ¢¥àè¨ã u á®á⮨⠢ ⮬, çâ® ¥ñ à §àï¦ îâ (discharge), ¯à®â «ª¨¢ ï ¢¥áì ¨§¡ë⮪ ¯®â®ª ¢ á®á¥¤¨¥ ¯® ¤®¯ãáâ¨¬ë¬ àñ¡à ¬. ®£¤ ¤«ï í⮣® ¥®¡å®¤¨¬® ᮧ¤ âì ®¢ë¥ ¤®¯ãáâ¨¬ë¥ àñ¡à , ¯®¤ï¢ ¢¥àè¨ã u. \textsc{Discharge}($u$) 1 while $e[u]>0$ 2 do $v\leftarrow current[u]$ 3 if $v=$\textsc{nil} 4 then \textsc{Lift($u$)} 5 $current[u]\leftarrow head[N[u]]$ 6 elseif $c_f(u,v)>0$ and $h[u]=h[v]+1$ 7 then \textsc{Push($u,v$)} 8 else $current[u]\leftarrow next-neighbor[v]$ H à¨á. 27.10 ¯®ª § ë ¥áª®«ìª® ¨â¥à 権 横« while (áâப¨ 1{8). ¦¤ ï ¨â¥à æ¨ï 横« while ¯à®¨§¢®¤¨â ®¤® ¨§ âàñå ¤¥©á⢨©: 1. ᫨ ¬ë ¤®è«¨ ¤® ª®æ ᯨ᪠(v =nil), â® ¬ë ¯®¤¨¬ ¥¬ ¢¥àè¨ã u (áâப 4) ¨ ¯¥à¥å®¤¨¬ ª ç «ã ᯨ᪠N [u] (áâப 5). ë 㢨¤¨¬ («¥¬¬ 27.29), çâ® ¯®¤êñ¬ ¢®§¬®¦¥. «£®à¨â¬ ¯®¤ïâì-¨-¢- ç «® 583 27.10 §à浪 ¢¥àè¨ë. ॡã¥âáï 15 ¯®¢â®à¥¨© 横« while ¢ ¯à®æ¥¤ãॠDischarge, çâ®¡ë ¯à®â®«ªãâì ¢¥áì ¨§¡ë⮪ ¨§ ¢¥àè¨ë y. ®ª § ë ⮫쪮 á®á¥¤¨ ¢¥àè¨ë y ¨ àñ¡à , ᮥ¤¨ïî騥 ¨å á y. ãâਠª ¦¤®© ¢¥àè¨ë 㪠§ ¨§¡ë⮪ ¢ ¥© ¯¥à¥¤ ᮮ⢥âáâ¢ãî饩 ¨â¥à 樥©; á«¥¢ 㪠§ ¢ëá®â ¢¥àè¨ë. ¯à ¢ ¯®ª § ᯨ᮪ N [y]; ¢ë¤¥«¥ á®á¥¤ current[y]. ( ) § ç «ì® ¨§¡ë⮪ ¢ y à ¢¥ 19 ¨ current[y] = s. § y ¥ ¢ë室ïâ ¤®¯ãáâ¨¬ë¥ àñ¡à , ¯®í⮬㠯¥à¢ë¥ âਠ¨â¥à 樨 ᤢ¨£ îâ 㪠§ ⥫ì current[y]. H ç¥â¢¥à⮬ è £¥ ¬ë ¤®è«¨ ¤® ª®æ ᯨ᪠. ®¤¨¬ ¥¬ ¢¥àè¨ã y ¨ ¯¥à¥å®¤¨¬ ª ç «ã ᯨ᪠. (b) ëá®â ¢¥àè¨ë y áâ « à ¢®© 1. ñ¡à (y; s) ¨ (y; x) | ¥¤®¯ãáâ¨¬ë¥ (è £¨ 5-6), ॡ஠(y;
Similar documents
ð Z - MAIK
@RâaŠ™ëŠÏ@å×bäÔÜß@a…@†vß@ÕèîÏ@ìnäj¾@æa…@Îì×ìrß@oî×@éÜí‰bß@Loía@éîÛëa †vß@å׉ìàȾ æa…@ābväß@ RÍîbß@åãaŠÏ@ÝîjàÌß@oî×@ Râb@éÜí‰bß Nåç‰bàÈÌÏ @oî×@ @aìÔm@æa…@æb¹a@å׉ìiìrß@ìо@pŠ@ò׊i@æa…@ò»‰@aëb...
More information