본문 바로가기

프로그래밍/컴퓨터공학

(12)
자료구조와 알고리즘 학습 노트 기초 (1) 자료구조와 알고리즘 자료구조 데이터를 저장, 조직, 관리하는 방법 책들이 난잡하게 어질러져있음 -> 책을 카테고리에 맞게 분류 자료구조의 일상 생활과 프로그래밍 문제 해결과의 차이 건축물을 만들려면 : 건축 재료(철근, 시멘트, 벽돌)의 이해가 필요. 샤시, 철골, 인터넷 연결 구조 프로그래밍 : 데이터 구조와 모듈의 이해가 필요. 리스트, 스택, 트리 구조 즉 상황에 맞게 어떤 자료구조를 사용할지 판단해야함 자료구조의 종류 배열, 리스트, 스택, 큐, 그래프, 트리, 최대 힙, 행렬.... 선형 자료구조 :리스트, 스택, 큐 색인 자료구조 :검색트리(이진 검색트리, 균형 검색 트리), 해시 테이블 효율적인 자료구조 :우선순위 큐: 힙 관계 처리 자료구조 :그래프 알고리즘 문제 해결 과정을 묘사하는 것 문제 해결 절차를 체..
두근두근 자료구조 3장 (스택) 연습문제 문자 A, B, C, D, E를 스택에 넣었다가 다시 꺼내어 출력하면 어떻게 되는가? 2. E, D, C, B, A 10, 20, 30, 40, 50을 스택에 넣었다가 3개의 항목을 삭제하였다. 남아 있는 항목은? 10, 20 스택에서 사용되는 정보의 입출력 방법은 무엇인가? 1. LIFO 다음 중 스택에 대한 올바른 설명을 모두 골라라. 3. 함수 호출시 복귀 주소를 저장하는데 사용된다. 4. 배열을 사용하여 구현할 수 있다. 다음 중 배열로 구현된 스택에서 공백상태에 해당하는 조건은? 또 포화상태에 해당되는 조건은? 1. top == -1 3. top == MAX_STACK_SIZE - 1 배열로 구현된 스택에 항목들을 삽입하고 삭제하는 연산은 시간 복잡도가 어떻게 되는가? o(1) 순서가 A, B,..
두근두근 자료구조 2장 (배열과 구조체) 연습문제 int a[10][20]에서 배열이 차지하는 메모리 공간의 크기는 얼마인가? int형은 4바이트라고 하자. 4. 800바이트 float a[100]으로 선언된 배열의 시작 주소를 1000번지라고 할 때, 배열의 10번째 요소의 주소는 몇 번지인가? 4. 1040번지 다음 배열 중에서 크기가 가장 큰 배열은? 2. double array2[10]; 크기가 10인 배열 two[]를 선언하고 여기에 2의 제곱 값들을 저장해보자. for 루프를 이용하여 two[] 배열의 전체 요소의 값을 출력하는 프로그램을 작성하라. #include int main() { int two[10]; for (int i = 0; i < 10; i++) { int tmp = 0; for (int u = 0; u = loc; i--) ..
두근두근 자료구조 1장 (자료구조와 알고리즘) 연습문제 다음 중 선형 자료구조로 볼 수 없는 것은? 3. 트리 동일한 문제를 해결하는 알고리즘 A, B, C, D의 시간 복잡도가 다음과 같이 계산되었다고 하자. n이 충분히 크다고 할 때, 실행 시간이 적은 것부터 순서대로 나열해보라. A: O(n) B: O(n^2) C: O(nlogn) D: O(2^n) A < C < B < D 시간 복잡도를 빅오 표기법으로 나타내면? 3. o(n^2) 3개의 숫자 중에서 가장 큰 수를 찾는 알고리즘을 흐름도로 작성해보자. 다음의 빅오표기법들을 실행시간이 적게 걸리는 것부터 나열하라. o(1) < o(log n) < o(n) < o(n log n) < o(n^2) < o(2^n) < o(n!) 다음 코드의 시간 복잡도는 어떻게 되는가? o(n^2) 다음 코드의 시간 복잡도는..