¾ð¾î¸¶´Ù Àå´ÜÁ¡ÀÌ ÀÖ´Ù. Àú±Þ ¾ð¾î´Â ÀÛ°í ºü¸£Áö¸¸ ³À̵µ°¡ ³ô°í °í±Þ ¾ð¾î´Â ¾²±â´Â ÆíÇÏÁö¸¸ ¼º´É»óÀÇ ºÒÀÌÀÍÀÌ ÀÖ´Ù. Áß°£ Äڵ带 »ç¿ëÇÏ´Â ¾ð¾î´Â º»ÁúÀûÀ¸·Î ³×ÀÌƼºê ¾ð¾îº¸´Ù ´À¸± ¼ö¹Û¿¡ ¾ø´Âµ¥ °ú¿¬ ¾ó¸¶³ª Â÷À̳ª´ÂÁö Á÷Á¢ ½ÇÇèÇØ º¸ÀÚ. ´ÙÀ½ ÄÚµå´Â 30¸¸°ÇÀÇ ¹«ÀÛÀ§ ÀÚ·á¿¡ ´ëÇØ »ðÀÔ Á¤·ÄÀ» ¼öÇàÇÑ´Ù. »ðÀÔ Á¤·ÄÀº ´Ü¼øÇÏÁö¸¸ ´À¸° ¾Ë°í¸®ÁòÀÌ¾î¼ ¼º´ÉÀ» Å×½ºÆ®Çϱ⿡ ÀûÇÕÇÏ´Ù. ¶È°°Àº Äڵ带 °¢°¢ÀÇ ¾ð¾î·Î ¸¸µé¾î ºÃ´Âµ¥ ÄÚµå ÀÚü´Â Áß¿äÇÏÁö ¾Ê¾Æ ±»ÀÌ ºÐ¼®ÇÒ ÇÊ¿ä´Â ¾ø´Ù.
C |
C# |
#include <stdio.h> #include <stdlib.h>
const int num = 300000; int ar[num];
int main() { int i, j, temp;
for (i = 0; i < num; i++) ar[i] = rand();
for (i = 1; i < num; i++) { temp = ar[i]; for (j = i; j > 0; j--) { if (ar[j - 1] > temp) { ar[j] = ar[j - 1]; } else { break; } } ar[j] = temp;
if (i % 10000 == 0) printf("%d¹ø° Á¤·Ä Áß\n", i); } } |
using System;
class CSTest { static void Main() { const int num = 300000; int[] ar = new int[num]; int i, j, temp; Random R = new Random(); for (i = 0;i < num; i++) ar[i] = R.Next(65536);
for (i = 1; i < num; i++) { temp = ar[i]; for (j = i; j > 0; j--) { if (ar[j - 1] > temp) { ar[j] = ar[j - 1]; } else { break; } } ar[j] = temp;
if (i % 10000 == 0) Console.WriteLine("{0}¹ø° Á¤·Ä Áß", i); } } } |
Java |
Python |
class JavaTest { public static void main(String args[]) { final int num = 300000; int ar[] = new int[num]; int i, j, temp; for (i = 0;i < num; i++) ar[i] = (int) (Math.random() * 65536);
for (i = 1;i < num; i++) { temp = ar[i]; for (j = i;j > 0;j--) { if (ar[j-1] > temp) { ar[j] = ar[j-1]; } else { break; } } ar[j] = temp;
if (i % 10000 == 0) System.out.println(i + "¹ø° Á¤·Ä Áß"); } } } |
import random
num = 300000 ar = [] for i in range(num): ar.append(random.randint(0,65536))
for i in range(1, num): temp = ar[i] j = i while j > 0: if ar[j-1] > temp: ar[j] = ar[j-1] else: break j = j - 1 ar[j] = temp
if i % 10000 == 0: print(i, "¹ø° Á¤·ÄÁß") |
2008³â ÀÌ Ã¥ÀÇ ÃÊÆÇÀ» ¾µ ¶§ Âë¿¡ JDK´Â 6.0, C#Àº 3.5¿´°í ÄÄÇ»ÅÍ ¼º´Éµµ Áö±Ýº¸´Ù ÇöÀúÈ÷ ³·¾Ò´Ù. Áö±ÝÀº JDK 12, C# 8.0À¸·Î ¹öÀüÀÌ ³ô¾ÆÁ³°í ÄÄÇ»ÅÍ´Â i7-8700ÀÇ °í¼º´ÉÀÌ´Ù. Àý´ëÀûÀÎ ¼Óµµ´Â Å« Àǹ̰¡ ¾øÀ¸´Ï »ó´ëÀûÀÎ ºñ±³¸¸ ÇØ º¸ÀÚ.
¾ð¾î |
C |
C# |
ÀÚ¹Ù |
1Â÷(2008³â) |
42ÃÊ |
115ÃÊ |
107ÃÊ |
2Â÷(2019³â) |
10ÃÊ |
15ÃÊ |
17ÃÊ |
¿ª½Ã ³×ÀÌƼºê ¾ð¾îÀÎ C°¡ °¡Àå ºü¸£¸ç C#°ú ÀÚ¹Ù´Â µµÅ丮 Å°Àç±â ¼öÁØÀÌ´Ù. ¿¹Àü¿¡´Â C¿¡ ºñÇØ ´ë·« 2.5¹è Á¤µµ ´À·Á È®¿¬ÇÑ ¼ÓµµÂ÷¸¦ ü°¨ÇÒ ¼ö ÀÖ¾ú´Ù. 10³âÀÌ Áö³ ÇöÀç´Â ÄÄÆÄÀÏ·¯ÀÇ ¼º´ÉÀÌ ³ô¾ÆÁö°í °íµµÀÇ ÃÖÀûȸ¦ Àû¿ëÇÏ¿© 1.5¹è Á¤µµ¹Û¿¡ Â÷À̳ªÁö ¾Ê´Â´Ù.
Àç¹Ì»ï¾Æ ÀÎÅÍÇÁ¸®ÅÍ ¾ð¾îÀÎ ÆÄÀ̽ã(¹öÀü 3.7.2)À¸·Îµµ ½ÇÇàÇØ ºÃ´Âµ¥ 2½Ã°£ 23ºÐÀÌ °É·È´Ù. ¸í·É¾î¸¦ ¸¸³¯ ¶§¸¶´Ù Äڵ带 Çؼ®Çؼ ½ÇÇàÇÏ´Ï ´À¸± ¼ö¹Û¿¡ ¾ø´Ù. ÀÌ·± ´ë±Ô¸ðÀÇ ¹Ýº¹ ÀÛ¾÷Àº ½ºÅ©¸³Æ® ¾ð¾îÀÇ ¿ëµµ¿¡ ÀûÇÕÇÏÁö ¾Ê¾Æ °øÁ¤ÇÑ °ÔÀÓÀº ¾Æ´Ï´Ù. °úÇÐ, ȸ°è °°Àº º¹ÀâÇÑ °è»êÀ» ÇÏÁö ¾Ê´Â ÇÑ 1.5¹è Á¤µµÀÇ ¼Óµµ Â÷À̴ ü°¨Çϱ⠾î·Æ´Ù. ±×·¡ÇÈ È¯°æ¿¡¼ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥Àº ´ë±â½Ã°£ÀÌ ¸¹¾Æ ¼Óµµ°¡ Áß¿äÇÏÁö ¾ÊÀ¸¸ç µ¿¿µ»ó Àç»ý, ³×Æ®¿÷ Åë½Åó·³ Çϵå¿þ¾î¿¡ ÀÇÁ¸ÀûÀÎ ±â´ÉÀº ¾ð¾î¿Í ¹«°üÇÏ´Ù.