컴퓨터 공학/자료구조

컴퓨터 공학/자료구조

[자료구조] 큐의 개념, 구현 및 적용 C/C++

📕 큐란?? 자료구조 큐를 이해하기 위해서는 영어 queue가 무엇인지를 알면 역시 이해하기 쉽다. Queue는 명사 '줄' 이라는 뜻이 있다. 그렇다면 대체 왜 "줄"을 자료구조 컨테이너의 이름으로 정했을까? 그건 줄을 서는 상황을 생각해보면 알 수 있다. 놀이공원에 들어가기 위해서 줄을 선다고 생각해보자. 그렇다면 가장 먼저 입장하는 사람은 누구겠는가? 당연히 줄 가장 앞에 있는 사람일 것이다. 반대로 가장 늦게 입장하는 사람은 줄 마지막에 서 있는 사람일 것이다. 아래는 큐를 그린 그림이다. 📕 큐의 특징 큐 == 줄 이기 때문에 생기는 특징이 있다. 바로 선입선출, First In First Out이다. 그렇기 때문에, pop 함수를 호출하면, 가장 앞에 있는 element가 큐에서 삭제되며, p..

컴퓨터 공학/자료구조

[자료구조] 스택의 개념, 구현 및 적용 C/C++

📕 스택이란?? 자료구조 스택을 이해하기 위해서는 영어 stack이 무엇인지를 알면 이해가 쉽다. stack은 '무더기', '쌓아놓은 더미' 등을 가리키는 명사의 뜻과 '쌓다'라는 동사의 뜻이 있다. 여기서 우리가 눈여겨봐야 할 것은 '쌓는다'라는 특성이다. 📕 스택의 특징 어떠한 것을 '쌓는' 것이기 때문에 생기는 특성이 있는데, 바로 후입선출(LIFO) 즉, 먼저 들어간 것이 나중에 나오는 특성이다. 간단한 예시로 책 더미를 생각해보자. 책을 위로 점점 쌓고난 후, 맨 밑에 있는 책을 꺼내기 보기 위해서는 그 책위로 쌓여있는 책을 다 빼낸 후에야 가능할 것이다. 반대로, 맨 마지막에 쌓은 책의 경우 가장 위에 있기 때문에 제일 먼저 꺼낼 수 있을 것이다. 그렇기 때문에 후입선출, Last In Fir..

후;
'컴퓨터 공학/자료구조' 카테고리의 글 목록