본문 바로가기

자료구조4

[자료구조] 3. 스택 (Stack) 스택(Stack)은 모든 원소들의 삽입(insert, push)과 삭제(delete, pop)가 리스트의 한쪽 끝에서만 수행되는 제한 조건을 가지는 선형 자료구조(linear data structure)이다. 삽입과 삭제가 일어나는 끝은 Top이라고 하고, 반대편 끝을 Bottom이라고 한다. 스택의 top에 새로운 원소를 삽입하는 것을 push라 하고, top에서 원소를 제거 하는 것을 pop이라고 한다. push와 pop은 top에서 일어나기 때문에 top의 포인터를 증가 또는 감소시키면서 수행한다. 이렇듯 스택은 나중에 들어간 것이 먼저 나오는 구조이기 때문에 '후입선출' 방식의 자료구조이다. 영어로는 LIFO(Last-In, First-out)라고도 불린다. 스택을 구현할 때에는 크게 4가지가 필.. 2020. 3. 28.
[자료구조] 2. Iterative, Recursive 수업을 들으면서도 매번 헤맸었던 재귀..:( ​ 이번에는 실습으로 풀었던 재귀 문제 4가지를 포스팅할 것이다. ​ ​ 1. (재귀) Given n Boolean variables x1, ... , xn, we wish to print all possible combinations of truth values they can assume. For instance, if n = 2, there are four possibilities: , and . Write a C program to do this. ​ (해석): n이 주어졌을 때 가능한 T/F 조합을 모두 출력하여라 ​ #define _CRT_SECURE_NO_WARNINGS #include #define MAX 255 void print(int *ar.. 2020. 3. 28.
[자료구조] 1. Selection Sort, Binary Search 1. Selection Sort (선택 정렬) 선택 정렬(selection sort)은 정렬되지 않은 데이터들에 대해 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 방식이다. (오름차순) 다음과 같이 배열이 있다고 하자 ​ 먼저 index 0을 기준으로 나머지 index에 저장되어 있는 값 중 가장 작은 값을 찾아서 index 0에 저장되어 있는 값과 바꾼다. 위의 배열의 경우 index 1에 저장된 값인 5가 가장 작은 값이기 때문에 둘을 바꾸어준다. 마찬가지로 index 1에 저장된 값을 기준으로 나머지 index에 저장되어져 있는 값을 비교해서 제일 작은 값의 위치와 바꾸어 준다. 이와 같은 방법을 반복하면 다음과 같이 오름차순 정렬이 완성된다. ​ ​ 소스 코드는 다음과 같다. #def.. 2020. 3. 28.
[자료구조] 0. Basic Concepts > Introduction 1. 자료구조(Data Structure)란? ​ - 데이터를 저장(store)하고 구성(organize)하는 하나의 방법 ​ - 특정 데이터 조직의 논리적(logical) 또는 수학적(mathematical) 모델이다. ​ ex) 배열, 연결리스트, 스택, 큐, 해시, 트리, 그래프 ··· ​ ​ 2. 알고리즘(Algorithm)이란? ​ - 문제를 해결하기 위한 방법(method) 또는 과정(process)이다. ​ - 어떤 일을 수행하기 위한 명령어의 유한한 집합(finite set of instructions)이다. ​ ​ 따라서 Program (Software) = Data Structures + Algorithms > System Life Cycle 1. 요구사항 (.. 2020. 3. 28.