자료구조

    자료 구조의 중요성

    컴퓨터 프로그램 = 자료구조 + 알고리즘. 대부분의 프로그램에서 자료(data)를 처리하고 있고, 이들 자료는 자료구조(data structure)를 통해서 저장됨. 또 주어진 자료들로 문제를 처리하는 방식을 알고리즘이라고 한다. 컴퓨터는 자료구조 결정 후 자료구조에 사용할 알고리즘 결정됨. 따라서 컴퓨터가 복잡한 자료들을 빠르게 저장, 검색, 분석, 전송, 갱신하기 위해서는 자료구조가 효율적으로 조직화 되있어야 함. 그래서 자료 구조는 중요하다.

    큐(Queue), 스택(Stack) 개념

    ◽ 큐(Queue) - 줄을 서서 기다리는 것. 시간 순서대로 처리해야하는 경우에 사용한다. - 선입선출(FIFO, First-In-Fisrt-Out) 구조로 가장 먼저 삽입된 자료가 가장 먼저 삭제된다. - 작업구역이 한 곳인 스택과 달리 큐는 한쪽 끝에서 삽입/다른 쪽 끝에서 삭제가 되어 양쪽에서 이루어진다. - 삭제연산이 수행되는 곳은 프론트(또는 머리, Front)이며 삭제연산을 디큐(dnQueue)라고 한다. - 삽입연산만 이루어지는 곳은 리어(또는 꼬리, Rear)이며 삽입연산을 인큐(enQueue)라고 한다. 예시) 메표소 대기열, 은행 업무, 게임 대전 매칭 시스템 등 ◽ 스택(Stack) - 차곡차곡 쌓는 것. 자료가 시간 순서에 따라 층층이 겹쳐 쌓인다. - 후입선출(LIFO, Last..