ATAI's Dev Lab

[리스트] 원형 연결 리스트의 구현

🔍 원형 연결리스트(Circular linkedlist)란? 원형 연결리스트 지난 시간에 알아본 단순 연결리스트는 리스트에 끝에 도달하면 뒤로 되돌아갈 수 없다는 단점을 가지고 있다. 이를 개선하여, 리스트에 끝을 다시 리스트의 맨 앞과 연결하는 형태로 만든 리스트를 원형 연결리스트라고 한다. 잘 생각해보면 원형 큐와 모습이 비슷하다. 어떤 데이...

[리스트] 리스트의 기초와 단순 연결 리스트

iOS의 미리알림 앱 🔍 리스트란? 우리는 일상생활에서 리스트 자료구조를 굉장히 많이 접한다. 당장 핸드폰의 전화번호부를 열어보면 알 수 있다. 전화번호부 앱에는 연락처들이 일렬로 저장된다. 또 다른 예시로는 To-Do 리스트 (할 일 리스트)가 있다. 원하는 우선순위에 따라 중요한 할 일은 위로 드래그 해서 둘 수도 있고, 이미 완료한 심부름이라면...

[큐] 큐의 기초와 선형 큐 구현

사람들이 줄을 서있는 사진 🏪🚶‍♀️🚶‍♂️🚶‍♂️🚶‍♀️ 큐(Queue)란? 큐는 우리 일상생활에서 많이 찾아볼 수 있다. 어떤 가게에 가서 줄을 서서 물건을 사는 경우, 사람들이 줄지어 서있는 대기열을 큐라고 한다. 먼저 온 사람이 먼저 서비스를 제공받는 시스템이다. 이를 FIFO (First in, First out; 선입선출) 방식이라고 한다...

[스택] 스택의 응용 - 후위표기식

🔎 후위표기식? 중위표기법(좌)과 후위표기법(우) 우리가 수식을 작성할 때, 두 숫자 사이에 연산자를 적어 두 숫자를 연산한다. 이처럼 연산자를 가운데에 적는 표기법을 중위표기법 (Infix) 이라한다. 반면에 컴퓨터에 중위표기법으로 수식을 입력하면 이를 후위표기식으로 변환하여 연산한다. 두 피연산자를 먼저 적고 나중에 연산자를 뒤이어 적는 방법을...

[스택] 스택의 기초와 고정 크기 스택 구현

📚 스택이란? 책 무더기 영어단어 스택(Stack)이란 명사로는 무더기, 혹은 동사로는 쌓다, 쌓이다 라는 뜻을 가지고 있다. 자료구조에서 스택은 어떤 자료들을 쌓아놓은(stacked) 형태의 자료구조를 의미한다. 어떤 의미있는 자료들을 순서대로 받아와서 아래부터 차곡차곡 쌓고, 위에서부터 순서대로 하나씩 제거하며 자료들을 사용한다. 이를 선입후...