[과제] 4주차 과제(2) - quick, tuple sorting 1. set을 이용해서 배열 정렬하기 set 라이브러리에는 자동으로 sorting 해주는 기능이 있다. insert함수는 값을 입력받으면 set에 넣으면서 자동적으로 정렬할 때 맞는 자리에 넣어주는 역할을 한다. #include #include using namespace std; int main(){ set bd; int n; coutn; double Bday; for (int i=0;i ASSINGMENT/알고리즘 2023.04.01
[과제] 배열,연결리스트의 시간복잡도 & 병합 정렬, 직접 접근 배열 1. 정렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #include #include using namespace std; const int SIZE = 99; void sort(double arr[], int low, int mid, int high) { int j = mid + 1; int i = low; int i_i = 0; double result[99]; while (i ASSINGMENT/알고리즘 2023.03.20
[과제] 알고리즘 2주차 과제 34) What is the time complexity T(n) of the nested loops below? For simplicity, you may assume that n is a power of 2. That is, n = 2k for some positive integer k. 바깥 반복문은 n번만큼 , 안쪽 반복문은 2^n번 만큼 반복된다. 중첩 반복문의 시간 복잡도는 곱으로 표현되므로, 맨 밑처럼 빨간글씨로 구해진다. (n을 넣으면 2의 n번 반복되므로 복잡도는 지수의 반대인 로그로 됨) 정렬 알고리즘 1) 병합 정렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35.. ASSINGMENT/알고리즘 2023.03.13
Problem set 1 1. 문제 접근 생일이 같은 사람의 짝이 나올 확률을 A라고 한다면 K명의 학생의 생일이 모두 다 같지 않을 확률인 B에서 1-B를 통해 A의 확률을 구할 수 있다. 따라서 수학적 식을 쓰게 된다면 1-365!/(365!-K!) 이런식으로 도출 할 수 있게 된다. 2. 의사코드(pseudo code) 작성 1 2 3 4 5 6 7 8 9 10 11 for (365번 반복) 팩토리얼 식(pac=pac*i) yearpac(365!)=pac for (k번 반복) (pac=pac*i) Kpac(k!)=pac result=1-yearpac/(yearpac-Kpac) cs 3. 증명 [1]귀납적 추론 1) k=0 일 때, 확률은1이 된다. 2) k, k+1 일 때( 1-365!/(365!-(k+1)!) )또한 성립.. ASSINGMENT/알고리즘 2023.03.07