ãã®ããŒãã·ãŒãã¯ãæè¡é¢æ¥ã®æºåã«åœ¹ç«ã¡ãŸããããã«ãããéèŠãªããšããã©ãã·ã¥ã¢ããã§ããŸãã å®éãããã¯ã³ã³ãã¥ãŒã¿ãŒãµã€ãšã³ã¹ã³ãŒã¹ã®å 容ã§ããã詳现ã¯ãããŸããã
ããŒã¿æ§é ã®åºç€
é å
å®çŸ©ïŒ
- ã»ãšãã©ã®å ŽåããŒãããŒã¹ã®ã·ãŒã±ã³ã·ã£ã«ã€ã³ããã¯ã¹ã«åºã¥ããŠããŒã¿é ç®ãæ ŒçŽããŸãã
- ããã¯éåè«ã®ã¿ãã«ã«åºã¥ããŠããŸãã
- é åã¯ãæãå€ããæã䜿çšãããŠããããŒã¿æ§é ã®1ã€ã§ãã
ç¥ã£ãŠããã¹ãããšïŒ
- é åã¯ã€ã³ããã¯ã¹äœæã«æé©ã§ãã æ€çŽ¢ãæ¿å ¥ãåé€ã«ã¯äžåãã§ãïŒé åã®æåŸã§ãããè¡ããªãå ŽåïŒã
- äž»ãªçš®é¡ã¯ç·åœ¢é
å ããŸãã¯äžæ¬¡å
ã§ãã
- ãµã€ãºã¯éçã§ããã€ãŸããç·åœ¢é åã宣èšãããšããåºå®ãµã€ãºãæå®ãããŸãã
- åçé
åã¯ç·åœ¢é
åãšäŒŒãŠããŸãããè¿œå ã®èŠçŽ çšã«ã¹ããŒã¹ã確ä¿ããŸãã
- åçé åã«å ¥åãããšãããã®å 容ã¯ãã倧ããªé åã«ã³ããŒãããŸãã
- 2次å é åã«ã¯ãã°ãªãããŸãã¯ãã¹ããããé åã®ããã«ã2ã€ã®ã€ã³ããã¯ã¹xãšyããããŸãã
å¹çïŒãOãã¯çŽ æŽãããïŒ ïŒ
- ã€ã³ããã¯ã¹ïŒç·åœ¢é å-OïŒ1ïŒãåçé å-OïŒ1ïŒã
- æ€çŽ¢ïŒç·åœ¢é å-OïŒnïŒãåçé å-OïŒnïŒã
- æé©åãããæ€çŽ¢ïŒç·åœ¢é å-OïŒlog nïŒãåçé å-OïŒlog nïŒã
- æ¿å ¥ïŒç·åœ¢é åã¯ç¡å¹ã§ãåçé åã¯OïŒnïŒã§ãã
ãªã³ã¯ãªã¹ã
å®çŸ©ïŒ
- ããŒã¿ã¯ãä»ã®ããŒããæãããŒãã«ä¿åãããŸãã
- ããŒãã«ã¯ã1ã€ã®ããŒã¿èŠçŽ ãš1ã€ã®ãªã³ã¯ïŒå¥ã®ããŒããžïŒãå«ãŸããŸãã
- ãªã³ã¯ãªã¹ãã¯ãããããŒãããå¥ã®ããŒããžã®ãªã³ã¯ã䜿çšããŠãããŒããçžäºã«æ¥ç¶ããŸãã
ç¥ã£ãŠããã¹ãããšïŒ
- ãªã³ã¯ãªã¹ãã¯ãæ¿å ¥ãšåé€ãæé©åããããã«èšèšãããŠããŸãã ã€ã³ããã¯ã¹äœæããã³æ€çŽ¢æã«ãã£ããåäœããŸãã
- äºéãªã³ã¯ãªã¹ãã«ã¯ã以åã®ããŒããåç §ããããŒããå«ãŸããŸãã
- 埪ç°ãªã³ã¯ãªã¹ãã¯ã ããŒã« ïŒæåŸã®ããŒãïŒãããã ïŒæåã®ããŒãïŒãåç §ããåçŽãªãªã³ã¯ãªã¹ãã§ãã
- ã¹ã¿ãã¯ã¯éåžžããªã³ã¯ãªã¹ãã䜿çšããŠå®è£
ãããŸãããé
åããäœæããããšãã§ããŸãã
- ã¹ã¿ãã¯ã¯LIFOããŒã¿æ§é ã§ãïŒ åŸå ¥ãå åºã ïŒã
- ã¹ã¿ãã¯ã®åºç€ãšãªããªã³ã¯ãªã¹ãã®å é ã¯ãã¢ã€ãã ãæ¿å ¥ããã³åé€ããå¯äžã®å Žæã§ãã
- ãã¥ãŒã¯ããªã³ã¯ããããªã¹ããŸãã¯é
åã䜿çšããŠå®è£
ããããšãã§ããŸãã
- ãã¥ãŒã¯FIFOããŒã¿æ§é ïŒ å å ¥ãå åºã ïŒã§ãã
- ãã¥ãŒã¯ãã¢ã€ãã ãå é ããåé€ãããæ«å°Ÿã«è¿œå ãããäºéãªã³ã¯ãªã¹ãã§ãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- ã€ã³ããã¯ã¹ïŒãªã³ã¯ãªã¹ã-OïŒnïŒã
- æ€çŽ¢ïŒãªã³ã¯ãªã¹ã-OïŒnïŒã
- æé©åãããæ€çŽ¢ïŒãªã³ã¯ãªã¹ã-OïŒnïŒã
- æ¿å ¥ïŒãªã³ã¯ãªã¹ã-OïŒ1ïŒã
ããã·ã¥ããŒãã«
å®çŸ©ïŒ
- ããŒã¿ã¯ããŒãšå€ã®ãã¢ãšããŠä¿åãããŸãã
- ããã·ã¥é¢æ°ã¯ããŒãåãå
¥ãããã®ããŒã®ã¿ã«äžèŽããåºåãè¿ããŸãã
- ãã®ããã»ã¹ã¯ããã·ã¥ãšåŒã°ããŸããå ¥åããŒã¿ãšåºåããŒã¿ãäºãã«æ確ã«ç §åããŸãã
- ããã·ã¥é¢æ°ã¯ãããŒã¿ã®ã¡ã¢ãªå ã®äžæã®ã¢ãã¬ã¹ãè¿ããŸãã
ç¥ã£ãŠããã¹ãããšïŒ
- ããã·ã¥é¢æ°ã¯ãæ€çŽ¢ãæ¿å ¥ãåé€ãæé©åããããã«èšèšãããŠããŸãã
- ããã·ã¥è¡çªã¯ãé¢æ°ã2ã€ã®ç°ãªãå
¥åããŒã¿ã«å¯ŸããŠåãåºåãè¿ãç¶æ³ã§ãã
- ãã®åé¡ã¯ããã¹ãŠã®ããã·ã¥é¢æ°ã«å ±éã§ãã
- å€ãã®å Žåãããã·ã¥ããŒãã«ã巚倧ãªãµã€ãºã«å¢ããããšã§è§£æ±ºããŸãã
- ããã·ã¥ã¯ãé£æ³é åãšããŒã¿ããŒã¹ã®ã€ã³ããã¯ã¹äœæã«éèŠã§ãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- ã€ã³ããã¯ã¹äœæïŒããã·ã¥ããŒãã«-OïŒ1ïŒã
- æ€çŽ¢ïŒããã·ã¥ããŒãã«-OïŒ1ïŒã
- æ¿å ¥ïŒããã·ã¥ããŒãã«-OïŒ1ïŒã
äºåæš
å®çŸ©ïŒ
- äºåæšã¯ãåããŒããæ倧2ã€ã®åãæã€ããŒã¿æ§é ã§ãã
- åèŠçŽ ã¯å·Šãšå³ã§ãã
ç¥ã£ãŠããã¹ãããšïŒ
- ããªãŒã¯ããªã¹ããšãœãŒããæé©åããããã«èšèšãããŠããŸãã
- çž®éããããªãŒã¯äžåè¡¡ãªããªãŒã§ãã ãããå®å šã«äžæ¹çãªãã®ã§ããå Žåãããã¯å®éã«ã¯ãªã³ã¯ãªã¹ãã§ãã
- ããªãŒã¯ãä»ã®ããŒã¿æ§é ãšæ¯èŒããŠå®è£ ãæ¯èŒçç°¡åã§ãã
- äºåæ¢çŽ¢æšãäœæããããã«äœ¿çšãããŸãã
- ããŒæ¯èŒã䜿çšããŠããã€ããªããªãŒã¯åããŒãã«åããæ¹åã決å®ããŸãã
- å·Šã®åããŒãã®ããŒã¯ã芪ã®ããŒãããå°ããã§ãã
- å³ã®åããŒãã®ããŒã¯ã芪ã®ããŒããã倧ãããªã£ãŠããŸãã
- éè€ããããŒãã¯ååšã§ããŸããã
- äžèšã«é¢é£ããŠããã®ãããªããªãŒã¯ããã€ããªããªãŒãããããŒã¿æ§é ãšããŠäœ¿çšãããããšãå€ããªããŸãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- ã€ã³ããã¯ã¹ïŒãã€ããªæ€çŽ¢ããªãŒã¯OïŒlog nïŒã§ãã
- æ€çŽ¢ïŒãã€ããªæ€çŽ¢ããªãŒã¯OïŒlog nïŒã§ãã
- æ¿å ¥ïŒãã€ããªæ€çŽ¢ããªãŒã¯OïŒlog nïŒã§ãã
æ€çŽ¢ãã
åºãæ€çŽ¢
å®çŸ©ïŒ
- å¹
åªå
æ€çŽ¢ã¯ãããªãŒïŒãŸãã¯ã°ã©ãïŒãæ€çŽ¢ããã«ãŒãããå§ãŸãã¬ãã«ã§åç
§ããã¢ã«ãŽãªãºã ã§ãã
- ã¢ã«ãŽãªãºã ã¯ãçŸåšã®ã¬ãã«ã®ãã¹ãŠã®ããŒããæ€åºããŸããéåžžãå·Šããå³ã«ç§»åããŸãã
- ãã®ããã»ã¹äžã«ãçŸåšã®ã¬ãã«ã®ããŒãã«é¢é£ä»ããããŠãããã¹ãŠã®åããŒããç»é²ãããŸãã
- çŸåšã®ã¬ãã«ã§ã®æ€çŽ¢ãå®äºãããšãã¢ã«ãŽãªãºã ã¯æ¬¡ã®ã¬ãã«ã®å·Šç«¯ã®ããŒãã«ç§»åããŸãã
- æäžäœã¬ãã«ã®æåŸã®å³ããŒããæåŸã«åæãããŸãã
ç¥ã£ãŠããã¹ãããšïŒ
- å¹ åªå æ€çŽ¢ã¯ãå¹ ãæ·±ããè¶ ããããªãŒãæ€çŽ¢ããã®ã«æé©ã§ãã
- ããªãŒãæ©ããŠããéãã¢ã«ãŽãªãºã ã¯ãã®æ
å ±ããã¥ãŒã«ä¿åããŸãã
- ãã¥ãŒã䜿çšããããããã®ãããªæ€çŽ¢æ¹æ³ã¯ã深局æ€çŽ¢ãããå€ãã®ã¡ã¢ãªãæ¶è²»ããŸãã
- ãã¥ãŒã¯ã¡ã¢ãªã䜿çšããŠãã€ã³ã¿ãä¿æããŸãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- æ€çŽ¢ïŒã¯ã€ãæ€çŽ¢-OïŒ| E | + | V |ïŒã
- Eã¯ãšããžïŒé¢ïŒïŒã®æ°ã§ãã
- Vã¯é ç¹ã®æ°ã§ãã
æ·±ãæ€çŽ¢
å®çŸ©ïŒ
- æ·±ãæ€çŽ¢ã¯ãã«ãŒãããéå§ããŠæ·±ãã§æåã«ããªãŒïŒãŸãã¯ã°ã©ãïŒãæ€çŽ¢ããã¢ã«ãŽãªãºã ã§ãã
- ã¢ã«ãŽãªãºã ã¯ããªãŒãééããå·Šã®åããŒãã«æ²¿ã£ãŠã¬ãã«éãééããŠãäžçªäžã«å°éããŸãã
- ãã©ã³ãã«æ²¿ã£ãããã»ãŒãžãå®äºãããšãã¢ã«ãŽãªãºã ã¯æ»ãããã®ãã©ã³ãã®é©åãªåããŒãã調ã¹ãŸãã ããã«ãå¯èœã§ããã°ãåã®ã«ãŒãã®å³åŽã«ããããŒãã®å·Šç«¯ãéžæããŸãã
- ãã©ã³ãå šäœã®è¡šç€ºãçµäºãããšãã¢ã«ãŽãªãºã ã¯ã«ãŒãã®å³åŽã«ããããŒãã«ç§»åããåã³å·Šã®åããŒãã«æ²¿ã£ãŠæäžéšã«ç§»åããŸãã
- åæãããæåŸã®ããŒãã¯ãå³ç«¯ã®ããŒãã§ãïŒãã¹ãŠã®å è¡ããŒãã®å³åŽã«ãããŸãïŒã
ç¥ã£ãŠããã¹ãããšïŒ
- ãã®ã¢ã«ãŽãªãºã ã¯ãæ·±ããå¹ ãè¶ ããããªãŒã®æ€çŽ¢ã«æé©ã§ãã
- ã¢ã«ãŽãªãºã ã¯ã¹ã¿ãã¯ã䜿çšããŸãã
- ã¹ã¿ãã¯ã¯LIFOæ§é ã§ãããããããŒããã€ã³ã¿ãŒã远跡ããå¿ èŠããªããããå¹ åªå æ€çŽ¢ã®å Žåãããã¡ã¢ãªã®æ¶è²»ãå°ãªããªããŸãã
- ã¢ã«ãŽãªãºã ãå·ŠåŽã«é²ãããšãã§ããªãå Žåãã¹ã¿ãã¯ã®åæãéå§ããŸãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- æ€çŽ¢ïŒæ·±ãæ€çŽ¢-OïŒ| E | + | V |ïŒã
- Eã¯ãšããžïŒé¢ïŒïŒã®æ°ã§ãã
- Vã¯é ç¹ã®æ°ã§ãã
æ€çŽ¢ã®å¹ ãšæ·±ãã®æ¯èŒ
- ããªãŒã®ãµã€ãºãšåœ¢ç¶ã«å¿ããŠãæ€çŽ¢ã®ã¿ã€ãââãéžæããŸãã
- å¹ ã®åºãå°ããªæšã®å Žåãå¹ åªå æ¢çŽ¢ã䜿çšããŸãã
- æ·±ããŠçãæšã«ã¯ãæ·±ãæ€çŽ¢ã䜿çšããŸãã
ãã¥ã¢ã³ã¹ïŒ
- å¹ åªå æ€çŽ¢ã§ã¯ããŒããšãã®åã«é¢ããæ å ±ãæ ŒçŽããããã«ãã¥ãŒã䜿çšãããããã³ã³ãã¥ãŒã¿ãŒã§å©çšã§ãããããå€ãã®ã¡ã¢ãªã䜿çšããå¯èœæ§ããããŸãã ïŒããããã»ãšãã©å¿é ããå¿ èŠã¯ãããŸãããïŒ
- éåžžã«æ·±ãããªãŒã§æ·±ãæ€çŽ¢ãé©çšãããšãã¢ã«ãŽãªãºã ã極端ã«äžãã£ãŠããŸãå¯èœæ§ããããŸãã 詳现ã«ã€ããŠã¯ãã¡ããã芧ãã ãã ã
- å¹ æ€çŽ¢ã¯åŸªç°ã¢ã«ãŽãªãºã ã§ãã
- ãã£ãŒããµãŒãã¯ååž°çãªã¢ã«ãŽãªãºã ã§ãã
å¹ççãªãœãŒã
ãœãŒãã®ããŒãž
å®çŸ©ïŒ
- ãœãŒãã¢ã«ãŽãªãºã ã䜿çšããããŒã¿ã®æ¯èŒïŒ
- ããŒã¿ã»ããå šäœãå°ãªããšã2ã€ã®ã°ã«ãŒãã«åå²ãããŸãã
- å€ã®ãã¢ãçžäºã«æ¯èŒãããæå°å€ãå·Šã«ç§»åããŸãã
- ãã¹ãŠã®ãã¢å ã§ãœãŒãããåŸãå·Šã®2ã€ã®ãã¢ã®å·Šã®å€ãæ¯èŒãããŸãã ãããã£ãŠã4ã€ã®å€ã®ã°ã«ãŒããäœæãããŸããå·ŠåŽã®2ã€ã®æå°å€ãå³åŽã®æ倧å€ã§ãã
- ãã®ããã»ã¹ã¯ã1ã€ã®ã»ããã®ã¿ãæ®ããŸã§ç¹°ãè¿ãããŸãã
ç¥ã£ãŠããã¹ãããšïŒ
- ããã¯ãåºæ¬çãªãœãŒãã¢ã«ãŽãªãºã ã®1ã€ã§ãã
- ããŒã¿ã¯å¯èœãªéãå°ããªã»ããã«åå²ãããæ¯èŒãããŸãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- æé©ãªãœãŒããªãã·ã§ã³ïŒããŒãžãœãŒã-OïŒnïŒã
- äžéãœãŒããªãã·ã§ã³ïŒããŒãžãœãŒã-OïŒn log nïŒã
- ææªã®ãœãŒããªãã·ã§ã³ïŒããŒãžãœãŒã-OïŒn log nïŒã
ã¯ã€ãã¯ãœãŒã
å®çŸ©ïŒ
- æ¯èŒããŒã¹ã®ãœãŒãã¢ã«ãŽãªãºã ã
- ããŒã¿ã»ããå šäœã¯ãäžå€®ã®èŠçŽ ãéžæãããããããå°ãã人ããã¹ãŠå·Šã«ç§»åããããšã«ãããååã«åå²ãããŸãã
- 次ã«ãå·ŠåŽã§2ã€ã®èŠçŽ ã®ã¿ãæ®ããŸã§åãæé ãç¹°ãè¿ãå®è¡ããŸãã ãã®çµæãå·ŠåŽããœãŒããããŸãã
- ãã®åŸãå³åŽã§ãåãããšãè¡ãããŸãã
- ãã®ã¢ã«ãŽãªãºã ã¯ãã³ã³ãã¥ãŒã¿ã¢ãŒããã¯ãã£ã¢ãŒããã¯ãã£ã§ã®äœ¿çšã«é©ããŠããŸãã
ç¥ã£ãŠããã¹ãããšïŒ
- ããã®ãOãã®å€§ããã¯ä»ã®å€ãã®ãœãŒãã¢ã«ãŽãªãºã ãšåãæå³ïŒå Žåã«ãã£ãŠã¯ããã«æªãïŒã§ãããå®éã«ã¯ãã®ã¢ã«ãŽãªãºã ã¯ãããšãã°ããŒãžã«ããåããœãŒãã®å Žåãããé«éã«åäœããããšããããããŸãã
- ããŒã¿ã¯ãå®å šã«ãœãŒãããããŸã§é 次ååã«åå²ãããŸãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- ãã¹ããœãŒããªãã·ã§ã³ïŒã¯ã€ãã¯ãœãŒã-OïŒnïŒã
- äžéãœãŒããªãã·ã§ã³ïŒã¯ã€ãã¯ãœãŒã-OïŒn log nïŒã
- ææªã®ãœãŒããªãã·ã§ã³ïŒã¯ã€ãã¯ãœãŒãã¯OïŒn ^ 2ïŒã§ãã
ããã«ãœãŒã
å®çŸ©ïŒ
- æ¯èŒããŒã¹ã®ãœãŒãã¢ã«ãŽãªãºã ã
- å·Šããå³ã«å埩ããåãã¢å ã®å€ãæ¯èŒããæå°ã®ãã®ãå·Šã«ç§»åããŸãã
- å€ãæ¢ã«ç§»åã§ããªããªããŸã§ããã®ããã»ã¹ãç¹°ãè¿ãããŸãã
ç¥ã£ãŠããã¹ãããšïŒ
- ã¢ã«ãŽãªãºã ã®å®è£ ã¯éåžžã«ç°¡åã§ãããããã§èª¬æãã3ã€ãã¹ãŠã®äžã§æãå¹çãæªããã®ã§ãã
- 2ã€ã®å€ãæ¯èŒããæå°ã®å€ãå·Šã«ç§»åããããšã«ãããã¢ã«ãŽãªãºã ã¯1ã€ã®äœçœ®ãå³ã«ç§»åããŸãã
å¹çïŒãOãã¯çŽ æŽãããïŒïŒ
- ãã¹ããœãŒãïŒããã«ãœãŒã-OïŒnïŒã
- äžéãœãŒããªãã·ã§ã³ïŒããã«ãœãŒã-OïŒn ^ 2ïŒã
- ææªã®ãœãŒããªãã·ã§ã³ïŒããã«ãœãŒãã¯OïŒn ^ 2ïŒã§ãã
ããŒãžãœãŒããšã¯ã€ãã¯ãœãŒãã¢ã«ãŽãªãºã ã®æ¯èŒ
- å€ãã®å Žåãã¯ã€ãã¯ãœãŒãã¯å®éã«ã¯ããå¹æçã§ãã
- ããŒãžãœãŒãã¯ãããŒã¿ã»ãããå¯èœãªéãæå°ã®ã°ã«ãŒãã«ããã«åå²ããã»ããã埩å ããŠãã°ã«ãŒããå¢åçã«ãœãŒãããã³æ¡å€§ããŸãã
- ã¯ã€ãã¯ãœãŒãã¯ãååž°çã«ãœãŒãããããŸã§ãã»ãããå¹³åå€ã§é çªã«åå²ããŸãã
äž»èŠãªã¢ã«ãŽãªãºã ã®çš®é¡
ååž°çã¢ã«ãŽãªãºã
å®çŸ©ïŒ
- å®çŸ©ãããããããã«ããã®ã¢ã«ãŽãªãºã ã¯èªåèªèº«ãåŒã³åºããŸãã
- ååž°ã·ããªãª -æ¡ä»¶ã¹ããŒãã¡ã³ãã䜿çšããŠååž°ãããªã¬ãŒããå Žåã
- åºæ¬çãªã·ããªãªã¯ãæ¡ä»¶ã¹ããŒãã¡ã³ãã䜿çšããŠååž°ãäžæããå Žåã§ãã
ç¥ã£ãŠããã¹ãããšïŒ
- ã¹ã¿ãã¯ã¬ãã«ãæ·±ããããããã¹ã¿ãã¯ããªãŒããŒãããŒããŸãã
- ååž°ã¢ã«ãŽãªãºã ã®å®è¡äžã«äžèšã®ããããã«çŽé¢ããå Žåããã¹ãŠãå°ç¡ãã«ãªããŸãã
- ããã¯ããšã©ãŒã®ããã«ããŒã¹ã¹ã¯ãªãããå®è¡ãããªãã£ãããšããŸãã¯åé¡ãæ·±å»ãªããã«ååž°ãäžæãããåã«ã¡ã¢ãªãäžè¶³ããããšãæå³ããŸãã
- ããŒã¹ã©ã€ã³ã·ããªãªãéæã§ãããã©ãããç¥ãããšã¯ãååž°ã®é©åãªäœ¿çšã«äžå¯æ¬ ãªéšåã§ãã
- ãã®ãããªã¢ã«ãŽãªãºã ã¯ã詳现ãªæ€çŽ¢æã«ãã䜿çšãããŸãã
å埩ã¢ã«ãŽãªãºã
å®çŸ©ïŒ
- å埩ãšã¯ãéãããåæ°ã ãç¹°ãè¿ãåŒã³åºãããã¢ã«ãŽãªãºã ã§ãã ååŒã³åºãã¯åå¥ã®å埩ã§ãã
- ããŒã¿ã»ãããã€ã³ã¯ãªã¡ã³ã¿ã«ã«ãã©ããŒã¹ããããã«ãã䜿çšãããŸãã
ç¥ã£ãŠããã¹ãããšïŒ
- å埩ã¯éåžžãã«ãŒãã
for
ãwhile
until
åŒãšããŠè¡šãããŸãã - å埩ãšã¯ãããŒã¿ã»ããã1åã ãééããããšã§ãã
- ãã®ãããªã¢ã«ãŽãªãºã ã¯ãé åã®åŠçã«ãã䜿çšãããŸãã
ååž°ãšå埩ã®æ¯èŒ
- ååž°æ§ãšå埩æ§ãåºå¥ããããšã¯å°é£ãªå ŽåããããŸããäž¡æ¹ã䜿çšããŠçžäºã«å®è£
ããããã§ãã ãã ãïŒ
- éåžžãååž°æ§ã¯ããè¡šçŸåããããå®è£ ãç°¡åã§ãã
- å埩ã«ããæ¶è²»ãããã¡ã¢ãªã¯å°ãªããªããŸãã
- é¢æ°åèšèªã¯ååž°ã䜿çšããåŸåããããŸãïŒHaskellãªã©ïŒã
- åœä»€åèšèªã¯å埩ã䜿çšããåŸåããããŸãïŒäŸïŒRubyïŒã
- Stack Overflowã®æçš¿ãã詳现æ å ±ãå ¥æã§ããŸãã
é åããã©ããŒã¹ããããã®æ¬äŒŒã³ãŒãïŒãããå埩ããã®ããã«äœ¿çšãããçç±ã§ãïŒ
| ----------------------------------|---------------------------------- recursive method (array, n) | iterative method (array) if array[n] is not nil | for n from 0 to size of array print array[n] | print(array[n]) recursive method(array, n+1) | else | exit loop |
貪欲
å®çŸ©ïŒ
- 貪欲ã¯ãç¹å®ã®æ¡ä»¶ãæºããæ å ±ã®ã¿ãéžæããã¢ã«ãŽãªãºã ã§ãã
- 欲匵ãã¢ã«ãŽãªãºã ã«ã¯ã5ã€ã®äž»èŠãªã³ã³ããŒãã³ããå«ãŸããŸãã
- ãœãªã¥ãŒã·ã§ã³ã®äœæã«åºã¥ããåè£ã®ã»ããïŒåè£ã»ããïŒã
- ãœãªã¥ãŒã·ã§ã³ã«è¿œå ããæé©ãªåè£ã決å®ããéžææ©èœã
- åè£è ã決å®ã«è²¢ç®ã§ãããã©ããã決å®ããå®è¡å¯èœæ§é¢æ°ã
- 解ãŸãã¯éšåçãªå€ã«å€ãå²ãåœãŠãç®çé¢æ°ã
- å®å šãªãœãªã¥ãŒã·ã§ã³ãèŠã€ãã£ãããšã瀺ããœãªã¥ãŒã·ã§ã³é¢æ°ã
ç¥ã£ãŠããã¹ãããšïŒ
- ãã®åé¡ã®æé©ãªè§£æ±ºçãèŠã€ããããã«ã貪欲ãªã¢ã«ãŽãªãºã ã䜿çšãããŸãã
- ãããã¯éåžžãåŠçãããæ å ±ã®ããäžéšã ããæãŸããçµæãããããããŒã¿ã»ããã«é©çšãããŸãã
- å€ãã®å Žåã貪欲ãªã¢ã«ãŽãªãºã ã¯ãä»ã®å€§èŠæš¡ãªã¢ã«ãŽãªãºã ã®ãOããæžããã®ã«åœ¹ç«ã¡ãŸãã
é åå ã®2ã€ã®æ°å€ã®æ倧ã®å·®ãèŠã€ããããã®è²ªæ¬²ãªã¢ã«ãŽãªãºã ã®æ¬äŒŒã³ãŒã
greedy algorithm (array) var largest difference = 0 var new difference = find next difference (array[n], array[n+1]) largest difference = new difference if new difference is > largest difference repeat above two steps until all differences have been found return largest difference
ãã®ã¢ã«ãŽãªãºã ã¯ããã¹ãŠã®éããäºãã«æ¯èŒããå¿ èŠããªããããå šäœã®å埩ãç¯çŽã§ããŸãã