목록tistory (35)
Groo

안녕하세요, 오늘은 큐라는 자료구조에 대해서 이야기를 해보려고 합니다. 큐는 저번 시간에 공부한 스택과 몇 가지의 차이를 제외하고는 거의 비슷한 구조로 이루어져 어렵지 않을 것입니다. 🤷♀️ 큐는 무엇인가요? 큐는 저번에 공부한 스택과 마찬가지로 데이터를 일시적으로 쌓아 놓은 자료구조입니다. 하지만 스택의 입출력 방식이 후입 선출이었다면 큐는 선입선출의 입출력 방식을 가지고 있습니다. 저희가 생활 속에서 마주하는 상황과 아주 비슷한 순서라고 말할 수 있습니다. 구성 모습 프런트 (Front) / 리어 (Rear) 개념 및 의미 데이터를 일시적으로 저장하기 위한 자료구조 구현 가능 방식 배열 (Array) / 링 버퍼 (Ring Buffer) 데이터 입력 방식 인큐 (Enqueue) 데이터 출력 방식 디..

안녕하세요, 오늘은 새로운 자료구조인 스택에 대해서 알아보려고 합니다. 스택의 기본 개념과 내용을 알아본 후 스택을 활용한 간단한 프로그램 또한 구현을 해볼 것입니다. 🤷♂️ 스택은 무엇인가요? Stack이라는 단어의 뜻은 채우다는 의미입니다. 단어의 뜻과 같이 스택은 데이터를 일시적으로 저장하기 위해 사용하는 자료구조입니다. 스택은 다른 자료구조들과 달리 데이터의 입력과 출력 순서가 후입 선출이라는 것이 중요합니다. 후입 선출의 의미는 가장 나중에 넣은 데이터를 가장 먼저 꺼내는 것을 의미합니다. 그럼 아래의 표를 통해 스택에 대한 간단한 개념 정리를 해보도록 하겠습니다. 구성 모습 바닥 (Bottom) / 꼭대기 (Top) 개념 및 의미 데이터를 일시적으로 저장하기 위해 사용하는 자료구조 데이터 입..

안녕하세요, 오늘은 검색 알고리즘의 두 번째 시간으로 이진 검색에 대해 알아볼 것입니다. 또한 저번에 배운 검색 알고리즘의 선형 검색과 이진 검색의 시간 복잡도에 대해서도 공부할 것입니다. 🤦♂️ 이진 검색은 또한 무엇인가? 검색 알고리즘에는 대표적으로 선형 검색과 이진 검색 두 가지가 존재합니다. 저번에 저희는 선형 검색에 대해서 알아보았습니다. 그럼 이번에 알아볼 이진 검색은 무엇일까요? 이진 검색은 배열의 각 요소가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘입니다. 이진 검색은 저번 선형 검색보다 좀 더 빠르게 값을 검색할 수 있다는 장점이 존재합니다. 아래의 그림을 보겠습니다. 위의 배열은 오름차순으로 구성되어있는 int 자료형의 배열입니다. 저희는 이 위의 배열의 요 솟값 3..

안녕하세요, 오늘은 검색 알고리즘의 선형 검색과 보초 법에 대해서 알아보려고 합니다. 검색 알고리즘에는 대표적으로 선형 검색과 이진 검색으로 크게 두 가지로 분류를 할 수 있습니다. 🔎 검색 알고리즘은 무엇인가? 검색 알고리즘의 의미는 데이터베이스 내 수집 된 여러 아이템 중에서 특정 성질 혹은 키 값을 구성한 데이터를 찾아내는 알고리즘입니다. 대표적으로 검색 알고리즘은 배열, 선형 리스트, 이진 검색 트리 등 앞으로 배울 다양한 부분에서 검색 알고리즘을 활용합니다. 이번에 저희는 배열에서의 검색 알고리즘만을 공부해볼 것입니다. 먼저 아래의 알고리즘 사용 주의 사항에 대해 이야기하겠습니다. 알고리즘 활용 시 주의점 1. 상대적인 알고리즘의 수행 시간 2. 활용 용도나 목적, 자료구조 등 체계적인 부분 3..