åçèšç»æ³
è€éãªæé©ååé¡ãéè€ããéšååé¡ã«åè§£ããŠè§£æ±ºããŸãããã£ããããæ°åãæé·å ±ééšååãããããµãã¯åé¡ãè¡åé£éä¹ç®ãªã©ã®å€å žçãªåé¡ãéããŠãã¡ã¢åãšããã ã¢ããã¢ãããŒãããã¹ã¿ãŒããŸããåçèšç»æ³ãææ°æéã®è§£ãå€é åŒæéã¢ã«ãŽãªãºã ã«å€æããæ¹æ³ãåŠã³ãŸãã
è¡åé£éä¹ç®
Advancedã¹ã«ã©ãŒä¹ç®ã®æ°ãæå°åããããã«è¡åã®é£éãæ¬åŒ§ã§ãããæé©ãªæ¹æ³ãèŠã€ããŸããCLRSã®ç¬¬15ç« ã®å€å žçãªåçèšç»æ³ã®åé¡ã§ãã
ãã£ããããæ°åïŒåçèšç»æ³ïŒ
Beginneråçèšç»æ³ã䜿çšããŠåé·ãªèšç®ãé¿ããªãããã£ããããæ°ãå¹ççã«èšç®ããŸããã¡ã¢åã®åã瀺ããææ°æéã®ååž°çè§£ãç·åœ¢æéã¢ã«ãŽãªãºã ã«å€æããŸããåçèšç»æ³ã®æŠå¿µãžã®å€å žçãªå ¥éã§ãã
æé·å ±ééšååïŒLCSïŒ
Intermediate2ã€ã®åã«åãé åºã§ååšããæé·ã®éšååãèŠã€ããŸããåçèšç»æ³ã䜿çšããŠè§£ããŒãã«ãæ§ç¯ããŸããDNAé åã¢ã©ã€ã¡ã³ãããã¡ã€ã«å·®åããŒã«ïŒdiffïŒãçäœæ€åºãªã©ã®å¿çšããããŸãã
ç·šéè·é¢ïŒã¬ãŒãã³ã·ã¥ã¿ã€ã³ïŒ
Intermediate1ã€ã®æååãå¥ã®æååã«å€æããããã«å¿ èŠãªåäžæåç·šéïŒæ¿å ¥ãåé€ã眮æïŒã®æå°æ°ãèšç®ããåçèšç»æ³ã¢ã«ãŽãªãºã ã§ããã¹ãã«ãã§ãã¯ãDNAé åã¢ã©ã€ã¡ã³ããèªç¶èšèªåŠçã®åºç€ã§ãã
0/1ããããµãã¯åé¡
IntermediateäžããããéããšäŸ¡å€ãæã€ã¢ã€ãã ãéžæããééå¶éå ã§ç·äŸ¡å€ãæå€§åããå€å žçãªåçèšç»æ³ã®åé¡ã§ããåã¢ã€ãã ã¯äžåºŠã ãåãããšãã§ããŸãïŒ0/1ïŒããªãœãŒã¹é åãããŒããã©ãªãªæé©åã貚ç©ç©èŒã«å¿çšãããŸãã
æé·å¢å éšåå
Intermediateãã¹ãŠã®èŠçŽ ãæé ã§ããæé·ã®éšååãèŠã€ããŸããå€å žçãªåçèšç»æ³ã®åé¡ã§ãã
ã«ããŒã³ã®ã¢ã«ãŽãªãºã ïŒæå€§éšåé åïŒ
IntermediateO(n)æéã§æå€§ã®åèšãæã€é£ç¶éšåé åãèŠã€ãããšã¬ã¬ã³ããªåçèšç»æ³ã¢ã«ãŽãªãºã ã§ããåã¹ãããã§çŸåšã®éšåé åãæ¡åŒµãããæ°ãããã®ãéå§ããããæ±ºå®ããããšã§ã貪欲æ³ãšDPã®ååãçµã¿åãããŸããæ ªåŒå©çã®æé©åãä¿¡å·åŠçãDPæé©åæè¡ã®çè§£ã«äžå¯æ¬ ã§ãã
ã³ã€ã³åé¡
Intermediateç®æšéé¡ãäœãããã«å¿ èŠãªæå°ã®ã³ã€ã³æ°ãèŠã€ããå€å žçãªåçèšç»æ³ã®åé¡ã§ããè§£ãããå°ããéé¡ã®è§£ã«äŸåããæé©éšåæ§é ã瀺ããŸããéèã·ã¹ãã ãèªå販売æ©ããªãœãŒã¹é åã®æé©åã§åºãé©çšãããŠããŸãã
åæåå²
Advancedæååãåæéšåæååã«åå²ããããã«å¿ èŠãªæå°ã«ããæ°ãèŠã€ããåçèšç»æ³ã®åé¡ã§ããDPã䜿çšããŠã©ã®éšåæååãåæããäºåèšç®ããæé©ãªã«ãããèŠã€ããŸããããã¹ãã»ã°ã¡ã³ããŒã·ã§ã³ãDNAé ååæãæååæé©ååé¡ã«å¿çšãããŸãã
ð¡ åŠç¿ã®ãã³ã
åºç€ãåºããããã«åçŽã¬ãã«ã®ã¢ã«ãŽãªãºã ããå§ããäžçŽããã³äžçŽã®ãããã¯ã«é²ãã§ãã ãããåã¢ã«ãŽãªãºã ã«ã¯ãã€ã³ã¿ã©ã¯ãã£ããªå¯èŠåãè€é床åæãè€æ°ã®èšèªã§ã®ã³ãŒãäŸãå«ãŸããŠããŸãã