시간복잡도 (big - O,big - Omega,big - Theta) 표기법
입력 크기 n에 따른 실행시간 증가율을 나타낼 수 있다. Big O 표기법 Omega 표기법 Theta 표기법 Big O: - 상한선을 표현하는 방법이므로, 이 알고리즘은 O(n)보다는 작을 것임 - n>k일 때 f(n) k일 때 f(n) >= C *g(n) 을 만족하는 k, C가 존재하면 f(n) = Ω(g(n))이다. - (Big O의 반대라고 보면 된다) big Theta: - f(n)=O(g(n)) 이고 f(n) = Ω(g(n))일 때, f(n)=Θ(g(n))이다. 예제 프로그램들의 근사 표현 이진탐색: T(n) = T(n/2)+1, T(1) = 1 ==> O(log2 n) 순열출력: T(0,n) = (n+1)*T(1,n), T(n,n) = n+1 ==> O(n^2 * n!) 문제풀이는 대충적었으..
2022. 9. 17.
선택정렬, 이진탐색, 순열
#include #include #define MAX_SIZE 101 #define SWAP(x,y,t) (t=x,x=y,y=t) void sort(int[], int); void main() { int i, n, list[MAX_SIZE]; printf("Enter the number of numbers to generate:"); scanf_s("%d", &n); if (nMAX_SIZE) { printf("ERROR"); } for (i = 0; i < n; i++) { //n개의 정수를 랜덤으로 생성 list[i] = rand() % 1000; printf("%d ", list[i]); } sort(list, n); printf("\n Sorted array:\n"); for (i = 0; i <..
2022. 9. 14.
백준 15686번: 치킨 배달(구현, python)
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로..
2022. 8. 31.