링크드 리스트에 대해서 살펴보겠습니다. 링크드 리스트는 연결 리스트라고도 하는데요. 데이터의 연결을 링크로 하는 방식으로 쉽게 구현할 수 있는 배열 같은 경우 연결된 공간에 순차적으로 데이터를 나열했다면 링크드 리스트는 데이터를 화살표로 연결해서 이어나가는 구조를 가집니다. 따라서 데이터가 떨어져 있어도 화살표로 연결이 가능합니다. 각 데이터의 구성은 다음과 같습니다. 노드(Node) : 데이터 저장 단위(데이터값, 포인터) 포인터(Pointer) : 각 노드에서 다음이나 이전의 노드의 연결 정보를 넣은 공간 그림으로 보면 A,B,C 가 데이터값, 점이 그려진 공간이 포인터가 됩니다. 구조 형성을 위해 공간을 미리 확보하지 않아도 되고 중간 지점에 추가 삭제가 가능하고 빠르다는 장점이 있지만 각 노드마다..
스택은 큐(Queue)에 반대되는 정책으로 가장 나중에 쌓은 데이터를 가장 먼저 빼내는 데이터 구조이고 한쪽에서만 데이터를 넣고 뺄 수 있는 구조입니다. 큐 : FIFO(First-In, Last-Out) or LILO(Last-In, Last-Out) 스택 : LIFO(Last-In, First-Out) or FILO(First-In, Last-Out) 큐(Quene)가 생소하다면 다음 포스팅을 보시기 바랍니다. [자료구조] 큐(Queue) 큐(Queue) 구조에 대해서 포스팅하겠습니다. 큐의 기본구조는 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 구조를 뜻합니다. 예를 들어, 만약 그림처럼 알파벳을 순서대로 넣는다고 하면 순서대로 seong6496.tistory.com 스택구조는 상자를 쌓는 것과 비슷..
큐(Queue) 구조에 대해서 포스팅하겠습니다. 큐의 기본구조는 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 구조를 뜻합니다. 예를 들어, 만약 그림처럼 알파벳을 순서대로 넣는다고 하면 순서대로 데이터를 넣고 데이터를 꺼낼때 순서대로 나오게 됩니다. 그림에선 데이터를 처음 꺼내면 A가 나오게 되고 A는 꺼냈으니깐 데이터 내에 없고 다시 데이터를 꺼내면 B가 다음 순서로 나오게 됩니다. 이를 FIFO(First-In, First-Out) 또는 LILO(Last-In,Last-Out) 라 합니다. 제가 그림에 Enqueue, Dequeue를 써 넣었는데 큐 구조에서 쓰이는 용어로 의미는 아래와 같습니다. Enqueue : 큐에 데이터를 넣는 기능(Put) Dequeue : 큐에서 데이터를 꺼내는 기능(Get)..
요즘 구조에 대해 공부하고 있는데 파이썬을 가지고 자료구조에 대해 정리를 하고 있습니다. 그 중에 가장 쉬운 배열부터 정리하려 합니다. 배열(Array)은 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조로 파이썬에서는 리스트 타입이 배열로 이루어져 있습니다. 주로 데이터를 효율적으로 관리하기 위해서 사용되는데요. 저장을 할때 순차적으로 저장을 해서 인덱스가 존재합니다. 인덱스는 첫위치를 0으로 시작해서 순차적으로 번호를 매기게 됩니다. 그래서 모든 데이터에 번호가 매겨져 인덱스로 단번에 데이터에 접근을 할 수 있는 장점을 가지고 있습니다. 데이터 d a t a 인덱스(index) 0 1 2 3 표에서처럼 'data'라는 데이터를 넣으면 배당된 자리에 순차적으로 한개씩 데이터가 들어..