ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : article>Å¥_ÀÚ·áÃß»ó
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Docbook ¿ø¹®
1절. ¼Ò°³Áö³¹øÀÇ Stack ÀڷᱸÁ¶¿¡ ÀÌ¾î¼ À̹ø¿¡´Â Queue(ÀÌÇÏ Å¥) ÀڷᱸÁ¶¿¡ Å¥ ÀÚ·áÃß»ó ¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. ¶Ç´Ù¸¥ ÀüÇô´Ù¸¥ ÀڷᱸÁ¶¶ó°í º¼¼ö ÀÖ´Â Stack(ÀÌÇÏ ½ºÅÃ)°ú ÀÚÁÖ ºñ±³µÉ °ÍÀÌ´Ù. ½ºÅÿ¡ ´ëÇÑ ³»¿ëÀº ÀڷᱸÁ¶ 2 - stackÀ» Âü°íÇϱ⠹ٶõ´Ù. 2절. Å¥ µ¥ÀÌŸ Ãß»ó2.1절. Å¥¿¡ ´ëÇØ¼Å¥´Â Áö³¹ø¿¡ ¹è¿ü´ø Stack °ú Á¾Á¾ ºñ±³µÇ°ï ÇÑ´Ù. Stack ÀÌ ÈÄÀÔ¼±Ãâ(LILO - Last In Last Out)ÀÇ ÀÚ·á ÀÔÃâ·Â ±¸Á¶¸¦ °¡Áö´Â°Í¿¡ ºñÇØ, Å¥´Â ¼±ÀÔ¼±Ãâ(FIFO - First In First Out)ÀÇ ÀÚ·á ±¸Á¶¸¦ °¡Áø´Ù. ÇѸ¶µð·Î °¡Àå ¸ÕÀú ÀÔ·ÂµÈ µ¥ÀÌŸ°¡ °¡Àå ¸ÕÀú Ãâ·ÂµÇ´Â ÀڷᱸÁ¶´Ù. À§ÀÇ ±×¸²À» º¸¸é Å¥ÀڷᱸÁ¶¸¦ ½±°Ô ÀÌÇØÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.ÀÌ·¯ÇÑ Å¥ ÀڷᱸÁ¶´Â º¸Åë ¿ì¸®ÀÇ »ýȰ¿¡¼´Â ¸Å¿ì ÀÏ»óÀûÀÎ ÀڷᱸÁ¶ ÀÌ´Ù. Å¥ ÀڷᱸÁ¶ÀÇ ÇüŸ¦ °¡Àå ÈçÈ÷ º¼¼ö ÀÖ´Â°Ô "ÁÙ¼±â" °¡ µÉ°ÍÀÌ´Ù. ÀºÇà ⱸ¿¡¼ ÁÙÀ» ¼°Å³ª, ¹ö½º¸¦ ±â´Ù¸®±â À§Çؼ ÁÙÀ» ¼³°æ¿ì °¡Àå ¸ÕÀú ÁÙÀ» ¼± »ç¶÷ÀÌ °¡Àå ¸ÕÀú, ÀºÇà¾÷¹«¸¦ ó¸®Çϰųª, ¹ö½º¸¦ Ÿ°Ô µÈ´Ù(»õÄ¡±â ÇÏ´Â °æ¿ì´Â »ý°¢ÇÏÁö ¸»ÀÚ). ÀÌ·± ½ÄÀ¸·Î ½ÇÁ¦ ¿ì¸®°¡ »çȸ»ýȰÀ» ÇÏ¸é¼ ¹Þ°Ô µÇ´Â ´ëºÎºÐÀÇ ¼ºñ½ºµéÀº Å¥ ÀڷᱸÁ¶ ÇüÅ·ΠÀÌ·ç¾îÁö°Ô µÈ´Ù. ±×·¸´Ù¸é ½ºÅðú ºñ±³Çؼ ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¹Ö½Ã¿¡ ÀÚÁÖ »ç¿ëµÇ´Â ÀڷᱸÁ¶´Â ¹«¾ùÀ̶ó°í »ý°¢µÇ´Â°¡ ? ¹°·Ð Å¥µµ ÀÚÁÖ »ç¿ëµÇ±ä ÇÏÁö¸¸, Àç±ÍÀû È£Ãâ°úÀÇ ¿¬±¤¼º ¶§¹®¿¡ º¸ÅëÀº ½ºÅÃÀÌ ´õ¿í À¯¿ëÇÏ°Ô »ç¿ëµÈ´Ù. ¹ÙÀ̳ʸ® Æ®¸®¸¦ ¼øÈ¯ÇϰíÀÚ ÇÒ¶§, ȤÀº ¼ºêµð·ºÅ丮¸¦ Æ÷ÇÔÇÑ µð·ºÅ丮¸¦ °Ë»öÇϰíÀÚ ÇÏ´Â °æ¿ì º¸Åë ½ºÅÃÀ» »ç¿ëÇÏ°Ô µÈ´Ù. ½ºÅÃÀÇ ¶Ç´Ù¸¥ »ç¿ëó¶ó¸é ÀÎÅÍ·´Æ®°¡ °É·ÈÀ»°æ¿ì°¡ µÉ°ÍÀÌ´Ù. °£´ÜÈ÷ ¿¹¸¦ µé¾î¼ ¿ì¸®°¡ û¼Ò¸¦ Çϰí Àִµ¥, ÀüȺ§ÀÌ ¿ï¸®¸é(ÀÎÅÍ·¾Æ®°¡ ¹ß»ý) û¼Ò¸¦ Áß´ÜÇϰí Àüȸ¦ ¹Þ°Ô µÈ´Ù. Àüȸ¦ ¹Þ´Â µµÁß¿¡ ÃÊÀÎÁ¾ÀÌ ¿ï¸®¸é ¿ì¸®´Â »ó´ë¹æ¿¡°Ô Àá½Ã ±â´Þ·Á ´Þ¶ó°í ÇÏ°í ´©°¡ ¹æ¹®Çß´ÂÁö È®ÀÎÇÑ´ÙÀ½ ´Ù½Ã Àüȸ¦ ¹Þ¾Æ¼ Åëȸ¦ ³¡³»°í ´Ù½Ã û¼Ò¸¦ ÇÏ°Ô µÈ´Ù. »ç°ÇÀÇ ¹ß»ý¼ø¼·Î º¸ÀÚ¸é û¼Ò°¡ °¡Àå¸ÕÀú°í ÃÊÀÎÁ¾¿ï¸°°Ô °¡Àå ³ªÁß¿£µ¥, ó¸® ¼ø¼´Â ÃÊÀÎÁ¾¿¡ ´ëÇÑ Ã³¸®°¡ °¡Àå ¸ÕÀúÀÌ°í ´ÙÀ½ÀÌ ÀüÈ ´ÙÀ½ÀÌ Ã»¼Ò°¡ µÈ´Ù. ¸Å¿ì ÀüÇüÀûÀÎ ½ºÅÃÀÇ ¿¹ÀÌ´Ù. ÀÌ¿Í ºñ½ÁÇÏ°Ô ÇÁ·Î±×·¡¹Ö¿¡¼ÀÇ ÀÎÅÍ·´Æ® ó¸® ¿ª½Ã ½ºÅà ±¸Á¶¸¦ °¡Áö°Ô µÈ´Ù. A ¶ó´Â ÀÛ¾÷À» Çϰí Àִµ¥, ¸¸¾à ½Ã±×³ÎÀ» ÅëÇÑ ÀÎÅÍ·´Æ®°¡ ¹ß»ýµÇ¸é, ½Ã±×³Î Çڵ鷯°¡ È£ÃâµÇ°í, Çڵ鷯°¡ Á¾·áµÈ´ÙÀ½ ´Ù½Ã A·Î µ¹¾Æ°¡¼ ÀÛ¾÷À» ÇÏ´Â ½ÄÀÌ´Ù. ¾ö¹ÐÈ÷ µûÁöÀÚ¸é ÇÁ·Î±×·¡¹Ö ÀÚü°¡ ½ºÅÃÀÇ ±¸Á¶¸¦ °¡Áø´Ù. ÃÖÃÊ¿¡ main ÇÔ¼ö¸¦ È£ÃâÇÏ°í µµÁß¿¡ A ¶ó´Â ÇÔ¼ö¸¦ È£ÃâÇÏ°Ô µÇ¸é A ÇÔ¼ö·Î ÀÛ¾÷À» µé¾î°¡°Ô µÈ´Ù. ´Ù½Ã A ¿¡¼ B ¶ó´Â ÇÔ¼ö¸¦ È£ÃâÇϸé B ÇÔ¼ö·Î µé¾î°¡¼ ÀÛ¾÷À» ÇÏ°Ô µÇ°í, ¸®ÅÏÇÏ¸é ´Ù½Ã A ·Î, A¿¡¼ ¸®ÅÏÇÏ¸é ´Ù½Ã main ÇÔ¼ö·Î µé¾î°¡´Â ÀüÇüÀûÀÎ ½ºÅÃÀڷᱸÁ¶ÀÇ ÇüŸ¦ Áö´Ñ´Ù. ±×·¸´Ù¸é ¿ì¸®°¡ °ü½ÉÀÖ¾îÇϴ ťÀÇ °æ¿ì ¾î¶²¶§ À¯¿ëÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖÀ»Áö »ý°¢Çغ¸ÀÚ. °¡Àå °£´ÜÇÏ°Ô »ý°¢ÇÒ¼ö ÀÖ´Â °ÍÀº µ¥ÀÌŸÀÇ È帧À» ó¸®ÇÏ´Â °æ¿ì°¡ µÉ°ÍÀÌ´Ù. µ¥ÀÌŸ´Â ¸ÕÀúµé¾î¿Â°É ¸ÕÀú ó¸®ÇÏ´Â°Ô ÀϹÝÀûÀÎ ¼ø¼ÀÌ´Ù. ÀÌ·± µ¥ÀÌŸÀÇ È帧À» ó¸®Çϱâ À§Çؼ Å¥¸¦ ÀÀ¿ëÇÏ´Â °¡Àå ´ëÇ¥ÀûÀÎ °æ¿ì°¡ ¹Ù·Î ¹öÆÛ(Buffer)ÀÇ »ç¿ëÀÌ µÉ°ÍÀ̸ç, °ÅÀÇ 100% Å¥´Â ¹öÆÛ¸¦ ±¸ÇöÇϴµ¥ »ç¿ëµÇ´Â ÀڷᱸÁ¶¶ó°í ºÁµµ µÈ´Ù. ÇÁ·Î±×·¡¹Ö ÇÏ¸é¼ "Å¥"¸¦ ½á¾ß ÇÑ´Ù¶ó°í Çϸé, À̸»Àº °ð "¹öÆÛ"¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù´Â ¸»·Î ÅëÇÒÁ¤µµ·Î Å¥¿Í ¹öÆÛ´Â ¶¿·¡¾ß ¶¿¼ö ¾ø´Â °ü°èÀÌ´Ù. 2.2절. Å¥ÀÇ ±¸ÇöÀ§¿¡¼ ¸»ÇßµíÀÌ Å¥´Â ¹öÆÛ¸¦ ¸¸µé¶§ °¡Àå ÈçÇÏ°Ô »ç¿ëµÇ´Â ÀڷᱸÁ¶ÀÌ´Ù. ÇÁ·Î±×·¡¹Ö½Ã ¹öÆÛ°¡ »ç¿ëµÇ´Â °æ¿ì´Â º¸Åë ¿ÏÃæ¿µ¿ªÀ» µÎ¾î¼, ÇÁ·Î±×·¥ÀÇ ¾ÈÁ¤¼ºÀ» ³ôÀ̱â À§ÇÑ ¿ëµµ ÀÌ´Ù. ¿¹¸¦ µé¾î ³×Æ®¿÷¿¡¼ ¾î¶² ¸Þ½ÃÁö¸¦ ¹Þ¾Æ¼ ó¸®ÇÏ´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù°í °¡Á¤ÇØ º¸ÀÚ. ÀÌ·± ÇÁ·Î±×·¥Àº º¸Åë ³×Æ®¿÷¿¡¼ ¸Þ½ÃÁö¸¦ ¹Þ¾ÆµéÀÌ´Â ºÎºÐ°ú ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ºÎºÐÀ¸·Î ³ª´µ°Ô µÉ°ÍÀÌ´Ù. ±×·±µ¥ µÑ»çÀÌ¿¡ ¸Þ½ÃÁö¸¦ ó¸®ÇÒ¼ö ÀÖ´Â ¾ç¿¡ ÀÖ¾î¼ Â÷À̰¡ ÀÖÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ·çƾÀÌ ÃÊ´ç 1000°ÇÀÇ ¸Þ½ÃÁö¸¦ ó¸®ÇÒ¼ö ÀÖ´Ù°í °¡Á¤À» ÇÏÀÚ. ÀÌ 1000°ÇÀÇ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ´É·ÂÀº ¸Å¿ì ¶Ù¾î³ª´Ù°í ÇÒ¼ö ÀÖÁö¸¸, ¶§¶§·Î ³×Æ®¿÷À» ÅëÇØ¼ 1000°Ç ÀÌ»óÀÇ ¸Þ½ÃÁö°¡ Àü´ÞµÉ¶§µµ ÀÖÀ»°ÍÀÌ´Ù. ÀÌ·²°æ¿ì ÀÌ ¸Þ½ÃÁö ó¸® ÇÁ·Î±×·¥»Ó¸¸ ¾Æ´Ï¶ó, ÀÌ ÇÁ·Î±×·¥ÀÌ ¼ÓÇØÀÖ´Â ½Ã½ºÅÛ¸ðµÎ¿¡°Ô ¿µÇâÀ» ¹Ì°Ô µÉ°ÍÀÌ´Ù. ÀÌ·²°æ¿ì Å¥¸¦ ÀÌ¿ëÇØ¼ ¹öÆÛ¸¦ ¸¸µé°Ô µÇ¸é, 1000°Ç ÀÌ»óÀÇ ¸¹Àº µ¥ÀÌŸ°¡ ¹ß»ýÇÒ¶§´Â ¹öÆÛ¿¡ ½×ÀÌ´Ù°¡, ¸Þ½ÃÁö°¡ Àû°Ô µé¾î¿À¸é ¹öÆÛ¿¡ ÀÖ´Â µ¥ÀÌŸ¸¦ ¸ðµÎ ó¸®ÇØ ³¾¼ö ÀÖÀ»°ÍÀÌ´Ù. ÀÌ·¸°Ô µÊÀ¸·Î½á ÇϳªÀÇ ÇÁ·Î±×·¥ÀÇ ¼º´ÉÀúÇÏ·Î ÀÎÇØ¼ Àüü ½Ã½ºÅÛÀÇ ¼º´ÉÀÌ ÀúÇϵǴ ¹®Á¦¸¦ ¾î´ÀÁ¤µµ ÇØ°á°¡´ÉÇÒ °ÍÀÌ´Ù. 2.2.1절. Å¥ µ¥ÀÌŸÃß»óÀ» À§Çؼ ±â¼úµÇ¾î¾ßÇÒ ÇØµ¿Çൿ´ë½Å ¸Þ¼µå¶ó°í ÇØµµ °ü°è´Â ¾ø´Ù. µ¥ÀÌŸ Ãß»óÀº ÇÁ·Î±×·¡¸Ó(Ŭ·¡½º »ç¿ëÀÚ)¿¡°Ô ³»ºÎ±¸ÇöÀº ¼û±â´Â°É ±âº»¿øÄ¢À¸·Î ÇÑ´Ù. ±×·³À¸·Î °¡´ÉÇÑÇÑ ÇÁ·Î±×·¡¸Ó°¡ ³»ºÎ±¸Çö¿¡ ½Å°æ¾µÀÏÀÌ ¾øµµ·Ï ÇÊ¿äÇÑ ¸Þ¼µå¸¦ Á¦°øÇØÁÙ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½Àº Å¥ µ¥ÀÌŸÃß»óÀ» À§Çؼ ±âº»ÀûÀ¸·Î Á¦°øµÇ¾î¾ßÇÒ ¸Þ¼µå¿Í °¢ ¸Þ¼µå°¡ ¼û±â°íÀÖ´Â(Ãß»óÈÇϰí ÀÖ´Â) ±¸Çöµé¿¡ ´ëÇÑ ¼³¸íÀÌ´Ù. 표 1. Å¥ µ¥ÀÌŸ Ãß»óÀ» À§ÇÑ Á¦°ø ¸Þ¼µå
2.2.2절. ±¸Çö ¿¹ - circular queueÅ¥¸¦ ±¸ÇöÇÏ´Â °¡Àå ÀϹÝÀûÀÎ ¹æ¹ýÀº ½ºÅðú ¸¶Âù°¡Áö·Î ¹è¿À» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ±×·¯³ª ´Ü¼ø¹è¿·Î ÇÒ°æ¿ì ¹è¿ÀÇ Å©±â°¡ ÁöÁ¤µÇ¾î ÀÖ´Â »óÅ¿¡¼ µ¥ÀÌŸ°¡ °è¼Ó Ãß°¡µÇ°Ô µÇ¸é ¾î´À ½ÃÁ¡¿¡¼ overflow °¡ ¹ß»ýÇÏ°Ô µÊÀ¸·Î µ¥ÀÌŸ°¡ ¹è¿ÀÇ Å©±â¸¦ ÃʰúÇÏ°Ô µÇ¸é, ÃʰúµÈ µ¥ÀÌŸ´Â 0¹øÂ° ¹è¿·Î µé¾î°¡°Ô ÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ±¸Á¶°¡ ȯÇü±¸Á¶¿Í °°´Ù°í ÇØ¼ º¸Åë ȯÇüÅ¥(circular queue) ¶ó°í ÇÑ´Ù. ¿ì¸®´Â circular queue ¸¦ ÀÌ¿ëÇØ¼ö Å¥ÀÚ·áÃß»ó(ADT)¸¦ ¸¸µé°í À̰ÍÀ» Å×½ºÆ® ÇÒ°ÍÀÌ´Ù. ¿¹Á¦ÄÚµå´Â template ¸¦ ÀÌ¿ëÇØ¼ ÀÛ¼ºµÉ°ÍÀÌ´Ù. template ¸¦ ÀÌ¿ëÇÔÀ¸·Î½á, ÀÚ·áÇü¿¡ °ü°è¾øÀÌ À¯¿¬ÇÑ ÀڷᱸÁ¶ÀÇ ±¸ÃàÀÌ °¡´ÉÇÒ°ÍÀÌ´Ù. ¿¹Á¦ : circular_queue.c
2.2.3절. ±¸Çö ¿¹ - linked listqueue ¸¦ ±¸ÇöÇÒ¼ö ÀÖ´Â ¶Ç´Ù¸¥ ¹æ¹ýÀº linked list ¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ¸·Î ¹è¿·Î ±¸ÇöµÇ´Â circular queue ¿¡ ºñÇØ¼ Á»´õ ±î´Ù·Ó´Ù. ¶ÇÇÑ pop À» ÇÒ¶§ °¡Á®¿Â µ¥ÀÌŸÀÇ °æ¿ì ÀÚ¿øÇØÁ¦(free)¸¦ ÇØÁà¾ßÇϰí, µ¥ÀÌŸ¸¦ push_back ÇÒ°æ¿ì »õ·Î¿î °ø°£À» ¸¸µé¾î¾ß Çϱ⠶§¹®¿¡ À§ÀÇ circular queue ¿¡ ºñÇØ¼ Á»´õ ºñÈ¿À²ÀûÀÌ µÉ°æ¿ì°¡ ¸¹´Ù. ³ªÁß¿¡ linked list ¿¡¼ ÀÚ¼¼ÇÏ°Ô ´Ù·ê ¿¹Á¤ÀÓÀ¸·Î ¿©±â¿¡¼´Â linked list ·Î ±¸ÇöÇÏ´Â ¿¹Á¦´Â ´Ù·çÁö ¾ÊÀ»°ÍÀÌ´Ù. °³ÀÎÀûÀ¸·Î ±¸ÇöÇØº¸°í ½Í´Ù¸é, µ¿Àû ¸Þ¸ð¸®ÇÒ´çÀ» Âü°íÇØ¼ ±¸ÇöÇØº¸±â ¹Ù¶õ´Ù. 3절. °á·ÐÀÌ»ó °£´ÜÇÏ°Ô Å¥ÀÚ·áÃß»ó¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò´Ù. ¾Æ¸¶ ½ºÅÃÀÚ·áÃß»ó°ú ¸¶Âù°¡Áö·Î ¸Å¿ì ÆòÀÌÇÑ ¼öÁØÀÇ ±ÛÀÌ¿´À»°ÍÀ¸·Î »ý°¢µÈ´Ù. ´ÙÀ½ °Á´ linked list ¿Í ÀÌÀÇ ÀÀ¿ë¿¡ ´ëÇѳ»¿ëÀ» ´Ù·ç°Ô µÉ°ÍÀÌ´Ù. |
|
|||||||||||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|