[c언어] qsort 사용하기
단순 정렬을 통해서, 주어진 배열을 오름차순 또는 내림차순으로 정렬이 가능하다. 그런데 왜? qsort라는 것을 사용할까? 라이브러리를 제공해서?, 단순 정렬대비 타이핑을 덜 할수 있어서? 앞서 말한 두가지 다 맞는 말이지만, 가장 큰 이유는 시간 복잡도 때문이다. int형의 경우 unsigned int와 signed int로 나뉘는데 각각의 표현 가능 범위는 하기와 같다. 1. unsigned int : 0 ~ 4, 294, 967,295(약 42억) 2. signed int: -2,147,483,648 ~ 2,147,483,647(약 21억) 따라서 N이 100,000(10만개)만 되어도 약 49억인데 int로는 표현이 불가능하다. 단순 정렬의 평균 시간복잡도는 O(N^2)이며, 최악의 시간복잡도도 ..
2023. 1. 4.
[c언어] qsort 사용하기
단순 정렬을 통해서, 주어진 배열을 오름차순 또는 내림차순으로 정렬이 가능하다. 그런데 왜? qsort라는 것을 사용할까? 라이브러리를 제공해서?, 단순 정렬대비 타이핑을 덜 할수 있어서? 앞서 말한 두가지 다 맞는 말이지만, 가장 큰 이유는 시간 복잡도 때문이다. int형의 경우 unsigned int와 signed int로 나뉘는데 각각의 표현 가능 범위는 하기와 같다. 1. unsigned int : 0 ~ 4, 294, 967,295(약 42억) 2. signed int: -2,147,483,648 ~ 2,147,483,647(약 21억) 따라서 N이 100,000(10만개)만 되어도 약 49억인데 int로는 표현이 불가능하다. 단순 정렬의 평균 시간복잡도는 O(N^2)이며, 최악의 시간복잡도도 ..
2023. 1. 4.