Data Structure and Data Science3 시간 복잡도(Big-O) 문제를 해결하기 위한 알고리즘을 코드로 구현할 때 연산 횟수에 따른 걸리는 시간을 계산한 것이 시간 복잡도이다. 즉, 쉽게 설명하면 작성한 코드를 돌렸을 때 컴퓨터가 이를 수행하는 데에 걸리는 시간을 시간 복잡도라고 한다. 이러한 시간 복잡도를 정보과학에서는 특정 기호로 표기하고, 그 중 가장 많이 사용하는 표기법이 Big-O 표기법이다. 빅-오 표기법은 알고리즘이 해당 차수이거나 그보다 낮은 차수의 시간 복잡도를 가진다는 의미로, 알고리즘의 최악의 실행 시간을 표기한다. 특징 상수항 및 계수를 무시한다. 어떤 알고리즘이 O(2N+9)의 시간복잡도를 가진다면 이는 O(N)으로 표기 최고차항만 표기한다. 어떤 알고리즘에 대한 시간 복잡도가 O(3N^2+8N+118)이라면 이는 O(N^2)으로 표기한다. 중.. 2023. 4. 7. Implementation of Tree 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 #include #include #include using namespace std; int v, e; vector t[101]; int main() { cin >> v >> e; for(int i=1; i> a >> b; t[a].push_back(b); } for(int i=1; i 2022. 9. 10. Implementation of Graph 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 #include #include #include using namespace std; int v, e; vector g[101]; int main() { cin >> v >> e; for(int i=0; i> a >> b; g[a].push_back(b); g[b].push_back(a); } for(int i=1; i 2022. 8. 31. 이전 1 다음