자료구조와 알고리즘 1. 자료구조 (복합 vs 선형) 자료구조란? 컴퓨터에서도 자료들을 정리하고 조직화 하는 여러 구조들이 있다. 이를 자료구조라고 부른다. 또한 자료구조는 숫자나 문자와 같은 단순 자료구조와 여러 자료들을 한꺼번에 보관하는 컨테이너와 같은 복합 자료
📚 4.1 스택이란? 📚 스택은 후입선출(Last In Fist Out)의 자료구조! 면접에서 종종 나오는 문제이다. "스택과 큐의 차이는 무엇인가?" 와 같은 형태로 스택은 후입선출의 형태로 자료의 입출력이 일어난다. A,B,C,D 순서로 입력했다면 꺼낼 때는
5.1 큐란? 큐는 선입선출(First-In First Out:FIFO)의 자료구조이다. 선착순을 생각하면 쉽다. 먼저 들어온 데이터가 먼저 나간다. (군대) 구조상으로 큐가 스택과 다른 점은 삽입과 삭제 연산의 위치가 같은 곳에서 일어난다. 큐에서 삽입이 일어나는
6.1 연결된 구조란? 연결된 구조는 흩어진 데이터를 링크로 연결해서 관리한다. 많은 자료를 저장하고 관리하기 위해 배열구조나 연결된 구조를 사용할 수 있다는 것은 공부했다. 배열 구조의 가장 큰 특징은 모든 항목들을 연속된 메모리 공간에 저장하는 것인데, 연결된 구
6.4 원형연결리스트의 응용:연결된 큐 큐도 연결된 구조로 구현할 수 있는데, 이러한 큐를 연결된 큐(linked queue)라고 한다. 연결된 큐도 크기가 제한되지 않고 필요한 메모리만 사용한다는 장점과, 코드가 더 복잡하고 링크 필드 때문에 메모리 공간을 더 사용하
7.1 정렬이란? 탐색은 많은 자료 중에서 무언가를 찾는 작업이고, 정렬을 데이터를 순서대로 재배열 하는 것을 말한다. 효율적인 탐색과 정렬을 위해서는 적절한 자료구조가 반드시 요구된다. 정렬을 위해서는 우선 사물들을 서로 비교할 수 있어야 한다. 비교할 수 있는 모든
고급 탐색 구조: 해싱 해싱이란? 해싱은 완전히 다른 방법을 사용한다. 비교하는 것이 아니라 키값에 산술적인 연산을 적용하여 레코드가 저장되어야 할 위치를 직접 계산하는 것이다. 따라서 탐색은 테이블에 있는 레코드를 하나씩 비교하는 것이 아니라 탐색키로부터 레코드가 있