Stack
·
DataStructure
스택(Stack)이란? Stack은 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 데이터 구조이다. 후입 선출(LIFO: Last In First Out) 구조를 따른다.( Stack의 삽입과 삭제는 같은 방향에서 일어난다.) 후입 선출이란? 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조이다. Stack에서는 주로 아래 세 가지 기본 작업이 수행된다. Push: 스택에 항목을 추가한다. (스택이 가득 차면 Overflow condition) Pop: 스택에서 항목을 제거한다. 항목은 푸시된 순서의 반대로 제거된다. (스택이 비어 있으면 Underflow condition) Peek or Top: 스택의 최상위 항목을 반환한다. 식당에 쌓여있는 접시를 예로 들면 편하다. 접시는 순서대로 쌓아두지만 ..
Linked List
·
DataStructure
연결 리스트(Linked List)란? Linked List란 배열과 마찬가지인 선형 데이터 구조이다. 배열과 다르게 Linked List는 인접한 위치에 저장되지 않는다. 각 요소를 노드라고 부른다. Linked List의 구조 기본적으로 Linked List는 아래 그림의 구조를 가지고 있다. 연속적이지 않은 메모리 공간에 데이터를 저장하며 각 데이터는 포인터로 연결되어 있다. Array 대신 Linked List를 사용하는 이유 배열은 Linked List와 같은 선형 데이터 구조이지만 제한이 있다. 배열의 크기는 고정되어 있기 때문에 사용량에 관계없이 메모리가 배열의 크기만큼 할당된다. 예를 들어, 크기가 5인 배열이 있을때 3번째 까지만 사용해도 메모리에는 5만큼 할당된다. javascript에..
Array
·
DataStructure
배열(Array)이란? 배열은 여러 개의 값을 순차적으로 나열한 자료구조중 하나이며 인접한 메모리 위치에 저장된 항목 모음이다. 배열은 같은 유형의 여러 항목을 함께 저장하는데 쓰인다. 배열의 구조 기본적으로 배열은 아래 그림의 구조를 가지고 있다. 연속적인 메모리 공간에 순차적으로 데이터를 저장하며 index로 접근할 수 있다. JS 배열의 특징 JS에서 배열의 첫번째 요소는 index 0부터 시작한다. 배열 요소의 길이가 고정되어 있지 않다. 따라서 배열 요소를 추가하거나 제거가 가능하다. 배열 요소의 타입이 고정되어 있지 않다. 따라서 같은 배열에서 타입이 서로 다를 수 있다. (array) 배열 요소의 인덱스가 연속적이지 않아도 된다. 따라서 특정 배열 요소가 비어 있을 수 있다. (emptyAr..
얼은펭귄
'자료구조' 태그의 글 목록 (2 Page)