자료구조

Data structure

큐(Queue) [자료구조]

큐는 배열과 함께 기본적인 자료구조의 하나로서 운영체제와 네트워크에서 많이 쓰입니다. 1. 큐 구조 줄을 서는 행위와 유사 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는 것과 동일 FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대 2. 알아둘 용어 Enqueue: 큐에 데이터를 넣는 기능 Dequeue: 큐에서 데이터를 꺼내는 기능 Visualgo 사이트에서 시연해보며 이해하기 (enqueue/dequeue 만 클릭해보며): https://visualgo.net/en/list VisuAlgo - Linked List (Single, Doubly), S..

Data structure

자료구조란?

자료구조, 데이터 구조, data structure 모두 같은 의미이다. 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라 체계적으로 데이터를 구조화해야한다. => 어떤 데이터 구조를 사용하느냐에 따라, 코드 효율이 달라짐 효율적으로 데이터를 관리하는 예 ** 우편번호 : 5자리 우편번호로 국가의 기초구역을 제공 => 5자리 우편번호에서 앞 3자리는 시, 군, 자치구를 표기, 뒤 2자리는 일련번호로 구성 ** 학생 관리: 학년, 반, 번호를 학생에게 부여해서, 학생부를 관리 => XX학번, X반, X번 학생 => 만약 위 관리 기법이 없다면... 3000명 학생중 특정 학생을 찾기 위해, 전체 학생부를 모두 훑어야 함 대표적..

Data structure

배열 [자료구조]

배열이란? 자료구조의 기본 배열(Array)에 대해서 알아보겠습니다. 배열은 동일한 자료형을 연속된 메모리상에 저장할 수 있습니다. 자료형이란? Java로 따지면 String, Char, int, boolean, double등의 값의 종류에 따른 데이터 타입을 예로 들 수 있습니다. 배열의 장점은 첫 데이터의 위치(시작 메모리 주소)에서 상대적인 위치로 데이터 접근(인덱스 번호로 접근) 가능합니다. 배열의 단점은 데이터 추가/삭제의 어려움 처음 선언한 배열의 길이를 늘리거나 축소할 수 없습니다. 배열의 중간 인덱스 부분을 삭제한 경우 해당 메모리는 쓸모가 없는 빈 공간이 됩니다. 적합한 최대 길이를 선언시에 잘 지정해야 합니다. 인덱스란? 배열에서 특정 값의 번지수를 말합니다. Index는 제일 첫 값이..

Data structure

트리 구조 (Tree)

트리(Tree)란? 값을 담고있는 노드(node), 노드들을 연결하는 간선(edge)이 계층 관계로 이루어진 자료구조이다. 관련 용어 - 루트 노드 (root node) : 부모가 없는 최상위 노드이다. 트리는 한 개의 루트노드만을 가진다. - 부모 노드 (parent node) : 노드 D가 노드 F를 가리킬 때 D를 F의 부모노드라고 한다. - 자식 노드 (child node) : 노드 F와 노드 G는 노드 D에서 파생되었으므로, 노드 D의 자식노드이다. - 레벨 (level) : 루트 노드로부터의 깊이 - 노드의 차수 (degree) : 노드의 부속 트리의 개수 - 트리의 차주 (degree of tree) : 트리의 최대 차수 - 리프 노드 (leaf node) : 차수가 0인 노드, 즉 제일 아..

메론러버
'자료구조' 태그의 글 목록