자료구조

알고리즘/백준(BOJ)

[백준/C++] 9012번 괄호

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 분석 여는 괄호와 닫는 괄호로 이루어진 문자열이 주어지고, 주어진 괄호들의 쌍이 올바른지 확인하는 문제이다. 입력으로는 표준입력을 사용하며, T개의 테스트 데이터로 주어진다. 입력의 첫번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어지고, 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 한 줄에 주어진다. 하나의 괄호 문자열의 길이는 2 이상 50 이하이다..

알고리즘/자료구조

자료구조 2장 - 정렬, 탐색, 재귀, 순열 그리고 복잡도에 대해서

정렬 - 선택 정렬 void sort(int* a, const int n) { // n개의 정수 a[0]부터 a[n-1]까지 비감소순 정렬 for (int i = 0; i < n; i++) { int j = i; //a[i]와 a[n-1]사이에 가장 작은 정수 값을 찾음 for (int k = i + 1; k < n; k++) { if (a[k] < a[j]) { j = k; // 교환 } } swap(a[i], a[j]); } } 제일 작은 정수를 찾아 앞으로 보내는 작업을 계속 반복한다. ​ 탐색 이원탐색(binary search) int binarySearch (int arr[], int low, int high, int key) { while (low key) high = mid - 1; else..

알고리즘/자료구조

자료구조 기본개념

우리가 다룰 자료구조라는 것은, 데이터 구조라고도 하며 크게는 순차구조와 비 순차구조가 있다. ​ 순차구조(sequential structure) 자료의 논리적 순서(logical sequence)가 물리적 인접성으로 표현되는 구조로, 대표적 예시로는 스택(LIFO)과 큐(FIFO)가 있다. ​ 비순차구조(nonsequential structure) 자료의 논리적 순서와 물리적 인접성이 무관한 구조로 논리적 순서를 표현하기 위한 별도의 방법이 필요한 구조로, 대표적 예시로는 트리와 그래프 등이 있다. ​ 자료구조뿐만 아니라 OOP 역시 같이 다룰 예정인데, 객체지향이란, 캡슐화 상속 다형성을 모두 만족하는 프로그래밍 기법을 말한다. ​ 객체지향의 장점 1. 개발의 간소화 - 복잡한 작업을 부분 작업들로 ..

beomseok99
'자료구조' 태그의 글 목록