반응형

IT 프로그래밍/자료구조 38

자료구조 변형문제 / 연습문제7

1번 문제 변형 문제 1. 다양한 퍼짐 속도를 가진 풀#include #include #include #include using namespace std;const int dx[] = {-1, 1, 0, 0};const int dy[] = {0, 0, -1, 1};int n, k;vector> grid, speed;int bfs(int startX, int startY) { vector> visited(n, vector(n, 0)); queue> q; vector> year(n, vector(n, 0)); int count = 1; q.push({startX, startY}); visited[startX][startY] = 1; year[startX][startY] ..

자료구조 예상문제 3 - 시간복잡도

1. 선택 정렬 (Selection Sort)선택 정렬은 리스트에서 최솟값을 찾아 첫 번째 위치와 교환하는 방식으로 정렬하는 알고리즘입니다. 이 과정을 배열의 크기만큼 반복합니다.#include using namespace std;void selectionSort(int arr[], int n) { for (int i = 0; i 시간 복잡도:최선, 평균, 최악: O(n²)공간 복잡도: O(1) (추가 공간이 필요 없음 2. 버블 정렬 (Bubble Sort)버블 정렬은 인접한 두 원소를 비교하여 자리를 바꾸는 방식으로 정렬을 진행합니다. 이 과정은 배열이 정렬될 때까지 반복됩니다.#include using namespace std;void bubbleSort(int arr[], int n) { ..

자료구조 예상문제2 - 미로찾기문제

문제 1: 연결된 컴포넌트 크기 계산설명:주어진 이미지를 입력받아 연결된 컴포넌트의 크기를 계산하고, 크기를 오름차순으로 출력하라. 각 테스트 케이스마다 연결된 컴포넌트들의 크기를 출력하되, 크기는 오름차순으로 출력한다.입력 형식첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스마다 첫 번째 줄에 이미지 크기 N이 주어진다. (1 ≤ N ≤ 50)그 다음에는 N개의 줄에 0과 1로 이루어진 이미지가 주어진다.출력 형식각 테스트 케이스마다 연결된 컴포넌트의 크기를 오름차순으로 출력한다.C++ 코드#include #include #include #include using namespace std;int dx[] = {-1, 1, 0, 0, -1, -1, 1, 1}; // 8방향int dy[] ..

자료구조 그룹액티비티7

그룹액티비티 1번int fun1(int n, int data[]) { int sum = 0; for (int i = 0; i 1. 반복문:for (int i = 0; i 만약 n이 짝수라면, 반복문은 n/2 번 실행됩니다. 만약 n이 홀수라면, n/2번 반복하지만 마지막 인덱스는 n-1이 됩니다.이 반복문은 대체로 약 n/2번 반복되므로, 반복문 내부에서 실행되는 작업은 상수 시간 복잡도를 가지므로, 전체 반복문 시간 복잡도는 **O(n/2)**가 됩니다.2. 결론:반복문에서 i가 n에 대해 2씩 증가하므로, 반복 횟수는 대략적으로 n/2번입니다. 이를 점근적 표기법으로 나타내면, **O(n)**이 됩니다.반복문 내부의 작업은 sum += data[i]와 같은 상수 시간이므로 반복문 전체 시간..

자료구조 그룹액티비티 6

그룹액티비티 1번int fun1(int x, int y) { if (x > y) { return 0; } return y + fun1(x, y - 1);}이 합은 등차수열의 합과 같습니다. 등차수열의 합 공식은 다음과 같습니다:  주어진 함수 분석주어진 함수 fun1은 다음과 같은 형태입니다:cpp코드 복사int fun1(int x, int y) { if (x > y) { return 0; } return y + fun1(x, y - 1); }이 함수는 x와 y를 입력으로 받으며, x가 y보다 클 때는 0을 반환하고, 그렇지 않으면 y를 더한 값을 fun1(x, y - 1)을 재귀적으로 호출하여 반환합니다.함수의 반환값을 x와 y의 함수로 나타내기함수의 동작을 따라가며, 반환..

자료구조 [예상]

1번#include #include #include using namespace std;// 끝자리가 작은 순으로, 끝자리가 같다면 숫자 자체가 작은 순으로 정렬하는 함수bool custom_sort(int a, int b) { if (a % 10 == b % 10) // 끝자리가 같다면 숫자 자체가 작은 순 return a > N; vector numbers(N); // N개의 정수를 저장할 벡터 // N개의 숫자 입력 for (int i = 0; i > numbers[i]; } // 정렬 sort(numbers.begin(), numbers.end(), custom_sort); // 결과 출력 for (int i..

반응형