|
|
|
|
Å°¿öµå : |
|
|
¼Ò°³±Û |
µ¥ÀÌÅͱ¸Á¶·Ð |
¿ä¾à |
2007³âµµ Á¦44ȸ º¯¸®»ç Á¦2Â÷½ÃÇè ¹®Á¦Áö <°ú ¸ñ><µ¥ÀÌÅͱ¸Á¶·Ð><><ÀÀ½Ã¹øÈ£><><¼º ¸í><>
¡¼Á¦ A-1 ¹®¡½ (30Á¡)
1. Á¤¼ö ¹è¿ÀÇ ¿ø¼ÒµéÀ» ¿À¸§Â÷¼øÀ¸·Î Á¤·ÄÇÏ°íÀÚ ÇÑ´Ù. ¹è¿ÀÇ Ãʱ⠰ªÀÌ ´ÙÀ½°ú °°´Ù°í ÇÏÀÚ.
8 7 6 5 4 3 2 1
´ÙÀ½ÀÇ Á¤·Ä ¾Ë°í¸®ÁòÀ» »ç¿ëÇßÀ» ¶§ÀÇ ¹è¿ ³»¿ëÀÇ º¯È¸¦ ´Ü°èº°·Î ¾²½Ã¿À.
(1) Insertion sort (5Á¡)
(2) Merge sort (5Á¡)
(3) Quick sort (5Á¡) - ´Ü, pivotÀº ¹è¿ÀÇ Ã¹ ¹ø° ¿ø¼Ò·Î ÇÑ´Ù.
2. Å°(key)°ªÀÇ ºñ±³(comparison)¿Í ±³È¯(interchange)À¸·Î ÀÌ·ç¾îÁö´Â Á¤·Ä ¾Ë°í¸®Áò(sorting algorithm)ÀÇ ÇÏÇÑ(lower bound)ÀÌ ¥Ø(nlogn)ÀÓÀ» °áÁ¤Æ®¸®(decision tree)¸¦ ÀÌ¿ëÇÏ¿© Áõ¸íÇϽÿÀ. ´Ü, nÀº Á¤·ÄÇÏ·Á´Â ¿ø¼ÒÀÇ °³¼ö¸¦ ÀǹÌÇÑ´Ù.(15Á¡)
¡¼Á¦ A-2 ¹®¡½ (20Á¡)
Á¤¼ö¸¦ ÀúÀåÇÏ´Â ½ºÅÃÀ» ¿¬°á ¸®½ºÆ®(linked list)·Î ±¸ÇöÇÏ°íÀÚ ÇÑ´Ù. ½ºÅà ¿¬»êÀ» À§ÇÑ ÇÔ¼öÀÇ ¿øÇüÀÌ ´ÙÀ½°ú °°À» ¶§, C¾ð¾î¸¦ »ç¿ëÇÏ¿© °¢ ÇÔ¼ö¸¦ Á¤ÀÇÇϽÿÀ.(20Á¡)
void initialize(stack *); // ½ºÅà ÃʱâÈ void push(int, stack *); // ½ºÅÿ¡ ¿ø¼Ò »ðÀÔ int pop(stack *); // ½ºÅÿ¡¼ ¿ø¼Ò »èÁ¦ÇÑ ÈÄ ¸®ÅÏ int top(stack *); // top ¿ø¼Ò ¸®ÅÏ int empty(stack *); // ½ºÅÃÀÌ emptyÀ̸é 1¸®ÅÏ, ¾Æ´Ï¸é 0¸®ÅÏ
´Ü, ½ºÅÃÀº ´ÙÀ½°ú °°Àº ÇüÀÌ´Ù. typedef struct element { int d; // µ¥ÀÌÅÍ ÀúÀå ¸â¹ö element *next; } element; typedef struct stack { int cnt; // ½ºÅÃÀÇ |
|
|
|
|
À§ Á¤º¸¹× °Ô½Ã¹° ³»¿ëÀÇ Áø½Ç¼º¿¡ ´ëÇÏ¿© º¸ÁõÇÏÁö ¾Æ´ÏÇϸç, ÇØ´ç Á¤º¸ ¹× °Ô½Ã¹° ÀúÀ۱ǰú ±âŸ ¹ýÀû Ã¥ÀÓÀº ÀÚ·á µî·ÏÀÚ¿¡°Ô ÀÖ½À´Ï´Ù. À§ Á¤º¸¹× °Ô½Ã¹° ³»¿ëÀÇ ºÒ¹ýÀû ÀÌ¿ë, ¹«´ÜÀüÀç¹× ¹èÆ÷´Â ±ÝÁöµÇ¾î ÀÖ½À´Ï´Ù. ÀúÀÛ±ÇħÇØ, ¸í¿¹ÈÑ¼Õ µî ºÐÀï¿ä¼Ò ¹ß°ß½Ã ÇÏ´ÜÀÇ ÀúÀÛ±Ç Ä§ÇØ½Å°í¸¦ ÀÌ¿ëÇØ Áֽñ⠹ٶø´Ï´Ù. |
|