목록프로그래밍 기초 (30)
Groo
안녕하세요, 오늘은 수많은 알고리즘 중 대표적인 알고리즘인 재귀에 대해 알아보려고 합니다. 여러분도 재귀에 대해서는 많이 들어보았을 것입니다, 그러한 만큼 사용 빈도가 다른 알고리즘보다 높고 중요합니다. 🤔 재귀에 대해서 들어보셨나요? 재귀는 어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적이라고 합니다. 아래의 그림을 보시죠 화면 가운데에 다시 화면이 나타납니다. 또한 그 화면 가운데에 똑같은 화면이 반복되어 나타납니다. 이제 재귀의 개념이 이해가 되셨나요? 📈 재귀를 활용한 팩토리얼 구현하기! 이번에는 위에서 배운 재귀의 개념을 활용하여 재귀를 활용한 팩토리얼을 구해보겠습니다. 먼저 팩토리얼이라는 것이 무엇인지에 대해서 설명하겠습니다. 팩토리얼은 아래의 예시와 같이 사용자..
안녕하세요, 오늘은 큐라는 자료구조에 대해서 이야기를 해보려고 합니다. 큐는 저번 시간에 공부한 스택과 몇 가지의 차이를 제외하고는 거의 비슷한 구조로 이루어져 어렵지 않을 것입니다. 🤷♀️ 큐는 무엇인가요? 큐는 저번에 공부한 스택과 마찬가지로 데이터를 일시적으로 쌓아 놓은 자료구조입니다. 하지만 스택의 입출력 방식이 후입 선출이었다면 큐는 선입선출의 입출력 방식을 가지고 있습니다. 저희가 생활 속에서 마주하는 상황과 아주 비슷한 순서라고 말할 수 있습니다. 구성 모습 프런트 (Front) / 리어 (Rear) 개념 및 의미 데이터를 일시적으로 저장하기 위한 자료구조 구현 가능 방식 배열 (Array) / 링 버퍼 (Ring Buffer) 데이터 입력 방식 인큐 (Enqueue) 데이터 출력 방식 디..
안녕하세요, 오늘은 새로운 자료구조인 스택에 대해서 알아보려고 합니다. 스택의 기본 개념과 내용을 알아본 후 스택을 활용한 간단한 프로그램 또한 구현을 해볼 것입니다. 🤷♂️ 스택은 무엇인가요? Stack이라는 단어의 뜻은 채우다는 의미입니다. 단어의 뜻과 같이 스택은 데이터를 일시적으로 저장하기 위해 사용하는 자료구조입니다. 스택은 다른 자료구조들과 달리 데이터의 입력과 출력 순서가 후입 선출이라는 것이 중요합니다. 후입 선출의 의미는 가장 나중에 넣은 데이터를 가장 먼저 꺼내는 것을 의미합니다. 그럼 아래의 표를 통해 스택에 대한 간단한 개념 정리를 해보도록 하겠습니다. 구성 모습 바닥 (Bottom) / 꼭대기 (Top) 개념 및 의미 데이터를 일시적으로 저장하기 위해 사용하는 자료구조 데이터 입..
안녕하세요, 오늘은 검색 알고리즘의 두 번째 시간으로 이진 검색에 대해 알아볼 것입니다. 또한 저번에 배운 검색 알고리즘의 선형 검색과 이진 검색의 시간 복잡도에 대해서도 공부할 것입니다. 🤦♂️ 이진 검색은 또한 무엇인가? 검색 알고리즘에는 대표적으로 선형 검색과 이진 검색 두 가지가 존재합니다. 저번에 저희는 선형 검색에 대해서 알아보았습니다. 그럼 이번에 알아볼 이진 검색은 무엇일까요? 이진 검색은 배열의 각 요소가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘입니다. 이진 검색은 저번 선형 검색보다 좀 더 빠르게 값을 검색할 수 있다는 장점이 존재합니다. 아래의 그림을 보겠습니다. 위의 배열은 오름차순으로 구성되어있는 int 자료형의 배열입니다. 저희는 이 위의 배열의 요 솟값 3..