1. Ž»ö(Searching) ¾Ë°í¸®Áò
¸¸ÀÏ ¿©·¯ºÐÀÌ ¸íÇÔÀ» Â÷°îÂ÷°î ¹Þ¾Æ¼ ¸ð¾ÆµÎ¾ú´Ù°í ÇÏÀÚ.
ȤÀº Ä£±¸µéÀÇ ÀüȹøÈ£¸¦ ¼ö
ø¿¡ Àû¾îµÎ¾ú´Ù°í ÇÏÀÚ. ±×·±µ¥ ¾î´À³¯ ´©±º°¡¿¡°Ô Àüȸ¦ °É¾î¾ß ÇÒ ÀÏÀÌ »ý°å´Ù.
¿©·¯ºÐ
Àº ÀüȹøÈ£¸¦ ã±â À§ÇØ ¸íÇÔÀ» ȤÀº ¼öøÀÇ ÀüȹøÈ£¸¦ µÚÁ®¾ß ÇÑ´Ù. ±×·¯¸é ¾î¶²
¹æ½ÄÀ¸
·Î ¿øÇÏ´Â ÀüȹøÈ£¸¦ ã¾Æ³¾ °ÍÀΰ¡?
(1) ¼øÂ÷ Ž»ö
ÀÌ °°Àº ¹®Á¦¸¦ ÇØ°áÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº
¿ª½Ã '¼øÂ÷Ž»ö(Sequential SearchingȤÀº
Linear Searching)'ÀÏ °ÍÀÌ´Ù. ¼øÂ÷Ž»öÀÇ ¿ø¸®´Â ¾ÆÁÖ ÀÏ»óÀûÀÎ °ÍÀ¸·Î
°£´ÜÈ÷ ¾ê±âÇÏÀÚ¸é
¾Õ¿¡¼ºÎÅÍ Â÷±ÙÂ÷±Ù Çϳª¾¿ ã¾Æ³ª°¡´Â °ÍÀ» ¾ê±âÇÑ´Ù. (±×¸²1 ÂüÁ¶)

¾Õ¿¡¼ ¾ê±âÇÑ ¸íÇÔ °Ë»öÀÇ ¿¹·Î »ìÆìº½¸é ÇÁ·Î±×·¥Àº ´ÙÀ½°ú
°°ÀÌ µÉ °ÍÀÌ´Ù.
½ÃÀÛ
While ¸íÇÔÀÌ ³²¾ÆÀÖÀ½ and ÇöÀç
¿øÇÏ´Â ¸íÇÔÀÌ ¾Æ´Ô)
´ÙÀ½
¸íÇÔ
If (¸íÇÔÀÌ ÀÖÀ½)
¸íÇÔÀ»
¹Ýȯ
Else
¸íÇÔÀÌ
¾øÀ½À» ¹Ýȯ
³¡
À§ÀÇ ¾Ë°í¸®ÁòÀ» C¾ð¾î¸¦ »ç¿ëÇÏ¿© ÇϳªÀÇ ÇÔ¼ö·Î
±¸ÇöÇÏ´Ù¸é ´ÙÀ½°ú °°Àº Çü½ÄÀÌ µÈ´Ù.
¾Æ·¡ÀÇ ¿¹¿¡¼´Â °Ë»öÀÇ ´ë»óÀÌ µÇ´Â ÀÚ·á°¡ Á¤¼öÇüÀ̰í, ¹è¿ÀÌ
a¿¡ ÀúÀåµÇ¾î ÀÖÀ¸¸ç
NOT-EXIST´Â ¹Ì¸® Á¤ÀÇµÈ °ÍÀ¸·Î °¡Á¤ÇÏ¿´´Ù. ±×¸®°í, last-itemÀº ¹è¿ÀÇ ¸¶Áö¸·À»
Ç¥½ÃÇÏ
´Â Á¤¼ö´Ù. ÀÌÈÄÀÇ °Ë»öÀÇ ¿¹¿¡¼µµ ÀÌ¿Í °°Àº °¡Á¤¿¡ ±Ù°ÅÇÑ´Ù.
(¸®½ºÆ®1) ¼øÂ÷ Ž»ö ¾Ë°í¸®ÁòÀÇ ±¸Çö ¿¹
int Linear_Search(int key,int *a,int last_item)
{
int curr_item;
curr_item=0;
While ((curr_item<=last_item)
&& (a[curr_item] != key))
curr_item++;
if (curr_item<=last_item)
return
curr_item;
else
return
NOT_EXIST;
}
ÀÌ¿Í °°Àº ¼øÂ÷Ž»öÀÇ ¼öÇà ¼Óµµ¸¦ ¾à°£ Çâ»ó½ÃŰ´Â ¹æ¹ýÀ¸·Î
'º¸ÃÊ(sentinel)'¸¦ ¼¼¿ì´Â ¹æ
¹ýÀÌ ÀÖ´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¸é ·çÇο¡¼ ÇöÀç Ç׸ñÀÌ ¸¶Áö¸· Ç׸ñÀÎÁö¿¡ ´ëÇÑ
°Ë»ç¸¦ ÇÒ
Çʿ䰡 ¾øÀ¸¹Ç·Î °Ë»ö ¼Óµµ¸¦ Çâ»ó½Ãų ¼ö°¡ ÀÖ´Ù. ±¸Ã¼ÀûÀÎ ±¸Çö ¹æ¹ýÀº ¹è¿ÀÇ
¸¶Áö¸· Ç×
¸ñÀÇ ´ÙÀ½¿¡ ã°íÀÚ ÇÏ´Â °ªÀ» ¹Ì¸® ³Ö¾î µÒÀ¸·Î½á ¿øÇÏ´Â Ç׸ñÀÌ ¾ø´Â °æ¿ì¿¡µµ
·çÇÎÀ» ºü
Á® ³ª¿Ã ¼ö ÀÖµµ·Ï ÇÑ °ÍÀÌ´Ù. ÀÌ¿Í °°ÀÌ ¹è¿ÀÇ ¸¶Áö¸·À» ÁöŰ´Â °ªÀ» 'º¸ÃÊ'¶ó°í
ºÎ¸¥´Ù(±×
¸²2 ÂüÁ¶).

(¸®½ºÆ® 2) º¸Ãʸ¦ »ç¿ëÇÏ´Â °³·®µÈ ¼øÂ÷ Ž»ö ¾Ë°í¸®Áò
int Advanced_Linear_Search(int key,int *a,int last_item)
{
int curr_item;
curr_item=0;
a[n+1]=key;
While (a[curr_item] != key)
curr_item++;
if (curr_item<=last_item)
return
curr_item;
else
return
NOT_EXIST;
}
ÀÌ¿Í °°ÀÌ º¸Ãʸ¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ´Ù¸¥ ¸¹Àº °æ¿ì¿¡ ÀÀ¿ëµÉ
¼ö ÀÖÀ¸¹Ç·Î ±â¾ïÇØ µÎ¸é ÁÁ´Ù.
´Ü, ÀÌ ¹æ¹ýÀ» »ç¿ëÇÒ °æ¿ì¿¡ º¸Ãʸ¦ À§ÇÑ ¸Þ¸ð¸®¸¦ ¹Ì¸® ÇÒ´çÇÏ´Â °Í¿¡ ÁÖÀÇÇÏ¿©¾ß
ÇÑ´Ù.