Stack °ú Queue ¿¡ ´ëÇØ¼ ¹è¿ì°Åµç
Stack À̶û Queue ´Â ÀüºÎ, ÀڷḦ ¾î¶»°Ô ´ã¾ÆµÎ°í, ²¨³¾±î¿¡ ´ëÇÑ ³»¿ëÀ̶ó,
±âº»ÀûÀ¸·Î, ³»°¡ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ "³Ö´Â´Ù" ¿Í
ÇØ´ç ±¸Á¶¿¡¼ µ¥ÀÌÅ͸¦ "»©³½´Ù" °¡ ÀÖ¾î¾ß ÇÔ.
ÀÌÁ¦ ³Ö°í ³ª¼, ÀÌ µ¥ÀÌÅͰ¡ ¾î¶»°Ô ³ª¿À´ÂÁö°¡ Stack °ú Queue ÀÇ Â÷ÀÌÀε¥
Stack Àº ¸ÕÀú ³ÖÀº µ¥ÀÌÅͰ¡ ³ªÁß¿¡ ³ª¿È.
¿ì¸®°¡ ÈçÈ÷ ½ºÅà ½×´Â´Ù°í ÇÏÀݾÆ
±×°Å ±×´ë·ÎÀÓ
±×·¡¼ ¾Æ·¡ÂʺÎÅÍ Â÷±ÙÂ÷±Ù ½×¾Æ³ª°£´Ù°í »ý°¢ÇÏ¸é µÊ
¹Ý´ë·Î Queue ´Â Å¥ Àâ´Â´Ù ¶ó´Â ¸»À» ¾²ÀݾÆ
ÀÌ°Ç ¸ÕÀú ÀâÀ¸·Á°í Çß´ø »ç¶÷ÀÌ ¸ÕÀú ÀâÇô¾ß°ÚÁö?
±×·¡¼ ¸ÕÀú µé¾î¿Â°Ô ¸ÕÀú ³ª°¨
±×¸²À¸·Î Ç¥ÇöÇϸé ÀÌ Á¤µµÂë µÊ.
±×·¡¼ Queue ¿¡ ÀڷḦ ³Ö´Â´Ù ´Â "enqueue"
ÀڷḦ »«´Ù´Â "dequeue"
Stack ¿¡ ÀڷḦ ³Ö´Â°Ç "push"
»©´Â°Ç "pop"
½ºÅÃÀº ¸¶Áö¸· ¿ø¼Ò¸¦ »©´Â °ÍÀ̱⠶§¹®¿¡
python list ÀÇ ÇÔ¼öÁß¿¡ ¿ø¼Ò¸¦ »èÁ¦ÇÏ´Â ÇÔ¼öÀÇ À̸§ÀÌ pop À̰í
¾Æ¹«·± ÆÄ¶ó¹ÌÅ͸¦ ³ÖÁö ¾Ê´Â´Ù¸é pop Àº ¸¶Áö¸· ¿ø¼Ò¸¦ Áö¿ì´Â°Ç ¿©±â¼ À¯·¡µÈ °Í!
ÀÌ °£´ÜÇÑ À̾߱⸦ ÇÏ·Á°í ÀÌ ±ÛÀ» ½è³Ä?
±×·¸±ä Çѵ¥,
Stack °ú Queue ´Â ÀÚ·á°¡ ºüÁö´Â À§Ä¡°¡ ´Ù¸§
Stack Àº ¸¶Áö¸·¿¡¼ »©¸é µÇ°í
Queue ´Â óÀ½¿¡¼ »©¾ßÇÔ
±×·¸±â ¶§¹®¿¡ Stack Àº list ¸¦ »ç¿ëÇØ¼ ±¸ÇöÇØµµ Å« ¹®Á¦´Â ¾øÀ½
±â²¯ÇØ¾ß µ¥ÀÌÅͰ¡ ²Ë Â÷¸é listÀÇ Å©±â¸¦ È®ÀåÇØ¼ °ªÀ» ÀüºÎ º¹»çÇØ¾ßÇÏ´Â ¹®Á¦°¡ ÀÖÀ» »ÓÀ̰í. £¨¹°·Ð À̰ŵµ Á» Ŭ ¼ö ÀÖ¾î¼ »ç½Ç linked list ·Î ±¸ÇöÇÏ´Â°Ô ¼Óµµ¸é¿¡¼ À¯¸®ÇÒ ¼ö ÀÖÀ½£©
ÇÏÁö¸¸ Queue ´Â ÀÌ·¸°Ô ±¸ÇöÇϸé ÀڷḦ »©°í³ª¼ ¸ðµç ÀڷḦ ¿Å±â´Â °úÁ¤ÀÌ ÇÊ¿äÇϰųª,
¾Æ´Ï¸é ½ÃÀÛÇÏ´Â À妽º¸¦ ¿Å°Ü¼ ½Ã°£º¹Àâµµ´Â ÁÙÀÏ ¼ö ÀÖÁö¸¸
¾È ¾²´Â °ø°£ÀÌ ´Ã¾î³ª´Â ÇüÅ·Π±¸ÇöÇØ¾ß ÇØ¼ ±²ÀåÈ÷ ³¶ºñ°¡ ½ÉÇØÁü
±×·¡¼ list ·Î ±¸ÇöÇÏ´Â °æ¿ìº¸´Ü linked list ÇüÅ·Π±¸ÇöÇÏ°Ô µÊ.
linked list ÇüÅ·Π±¸ÇöÇϸé random access °¡ ¾ÈµÈ´Ù¿Í, °Ë»öÀÌ ¿À·¡ °É¸°´Ù´Â ´ÜÁ¡ÀÌ ÀÖÁö¸¸ ±×°Ç queue ÀÇ »ç¿ë ¸ñÀû°ú´Â ¸ÂÁö ¾Ê¾Æ¼ ¹«½Ã ÇØµµ ±¦ÂúÀ½.
¿©±â¼ Á¶±Ý ´õ ³ª°¡¸é, À÷³×µéÀ» ¾î¶»°Ô ´õ ºü¸£°Ô / È¿À²ÀûÀ¸·Î ±¸Çö ÇÒ ¼ö ÀÖÀ»±î¿Í,
Queue ¿Í Stack ¾çÂÊ ¸ðµÎÀÇ ÇüÅ·Π»ç¿ë ÇÒ ¼ö ÀÖ´Â ÀϹÝÈµÈ ÀڷᱸÁ¶¿¡ ´ëÇÑ À̾߱⵵ ÇÒ ¼ö ÀÖÀ»ÅÙµ¥
±×°Ç ´ÙÀ½ ½Ã°£¿¡ £¨¾È ÇÒ¼öµµ ÀÖÀ½£©