Data Structure
-
3. Stack(스택)Data Structure 2022. 1. 27. 14:15
스택이란? - 데이터를 일시적으로 저장하기 위해 사용하는 자료구조, 후입선출의 개념이다. 이처럼 push를 통해 자료를 담을 수도 있고, pop을 통해 자료를 빼서 반환할 수도 있다. 후입선출의 개념이기 때문에 LIFO 방식이라고도 부른다. 스택에 대한 다양한 메소드를 살펴보자 1. 초기화 함수 Initialize : 스택의 메모리 공간(배열)을 확보하는 등의 준비 작업을 수행하는 함수, 배열을 위한 메모리 공간을 만들 때 스택은 반드시 비어 있어야 한다. 2. Push : 데이터 추가 함수. 3. Pop : 데이터 제거 함수. 4. Peek : 스택 꼭대기의 데이터를 몰래 엿보는 함수. 입력과 출력이 없으므로 스택 포인터는 변화하지 않는다. 5. Clear : 스택에 쌓여 있는 모든 데이터를 삭제하는 ..
-
2. Search(선형 검색 & 이진 검색)Data Structure 2022. 1. 21. 17:06
알고리즘 및 자료 구조 정리 두 번째는 검색방법이다. 두 가지의 검색 방법을 제시하는데, 선형 검색과 이진 검색이다. 1. 선형 검색 - 요소가 직선 모양으로 늘어선 배열에서의 검색으로 원하는 키 값을 갖는 요소를 만날 때까지 맨 앞부터 순서대로 요소를 검색하는 알고리즘 arr 배열에서의 모습을 보면 arr 배열 6 4 3 2 1 3 8 에서 처음 부터 순서대로 검색하여 원하는 수가 있으면, 검색 성공!! 아니면, 검색 실패!! 이러한 예시를 통해서 while문과 for문으로 각각 선언한 선형 검색법을 알아 볼 수 있다. 위 예시에서 제시한 선형 검색법은 종료 조건을 만족하기 위해 두 가지의 조건을 체크해야한다. 검색값을 발견하지 못 하고 배열의 끝을 지나간 경우 검색할 값과 같은 요소를 발견한 경우 이..
-
1. 동적 배열Data Structure 2022. 1. 13. 15:51
C언어 자료 구조에 대해서 공부를 시작했는데, 공부를 하면서 정리 차원에서 포스팅을 해볼까 한다. 자료구조 첫번째는 배열에 대한 소개이다. 배열에 대해서는 자바 언어 List 포스팅 및 최근의 백준 문제풀이에서도 정말 많이 볼 수 있는 것이므로 일반적인 것 외에 내가 몰랐던 방식들을 조금씩 정리하고자 한다. 배열이란? 같은 자료형의 변수로 이루어진 요소가 모여 직선 모양으로 줄지어 있는 자료 구조. ex) int arr[5] -> 크기 5의 arr이름을 가진 int 타입의 배열 **배열 요소 개수 구하기 sizeof(a)/sizeof(a[0]) : 요소의 개수 구하는 공식 sizeof(a)로 전체 배열이 할당된 메모리 크기를 구하고, sizeof(a[0])로 첫 번째 요소가 할당된 메모리 크기를 구한다...