»Ë»Ñ Æ÷·³

JavaÁú¹®ÀÔ´Ï´Ù. Randomized selection °ú Quicksort¿¡ °üÇؼ­ Áú¹®ÀÌ ÀÖ½À´Ï´Ù.

Array¾È¿¡ ÀÖ´Â µ¥ÀÌÅ͵éÀÇ Áß¾Ó°ª(median)À» ranodmized-selectionÀ» ÅëÇØ ±¸ÇÑÈÄ

Àüü array¸¦ Á¤¸®ÇÏ·Á°íÇϴµ¥¿ä,


public int[] QuicksortMedian(int r_array[], int start, int end)

  if(start < end)

  {

  int pivot = randomSelect(r_array, start, end, (start+end)/2);

  QuicksortMedian(r_array, start, pivot-1);

  QuicksortMedian(r_array, pivot+1, end);

  }

}

 

´Ü¼øÈ÷ À§¿Í °°ÀÌ Çϸé Á¤¸®°¡ µÉÁپ˾Ҵµ¥ Áß°£ Áß°£¿¡ Á¤¸®¾ÈµÇ´Â°ªµéÀÌ ¸¹¾Ò½À´Ï´Ù.

 

¸¶Áö¸· index¸¦ pivotÀ¸·ÎÇÏ´Â ±âº» Quicksort°¡ 

int pivot = partition(r_array, start, end;

 

QuicksortLastPivot(r_array, start, pivot-1);

 

QuicksortLastPivot(r_array, pivot+1, end);

ÀÌ·± ½ÄÀ̾ ºñ½ÁÇÏ°Ô ÇÏ¸é °¡´ÉÇÒÁÙ ¾Ë¾Ò´Âµ¥ ÀüÇô ´Ù¸£´õ¶ó±¸¿ä.

Ȥ½Ã ¿Ö ¾ÈµÇ´ÂÁö ¾Æ½Ã´ÂºÐÀÌ °è½Ã´Ù¸é ¼³¸íÁ» ºÎŹµå¸±²²¿ä ¤Ð

0
ÃßõÇϱ⠴ٸ¥ÀÇ°ß 0
ºÏ¸¶Å©¹öÆ° °øÀ¯¹öÆ°
  • ¾Ë¸² ¿å¼³, »óó ÁÙ ¼ö ÀÖ´Â ¾ÇÇÃÀº »ï°¡ÁÖ¼¼¿ä.
©¹æ »çÁø  
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û