[Data Structure] 선형(Linear) & 비선형(NonLinear) 자료구조
·
❕Data structure
자료구조의 분류는 크게 2가지로, 선형 구조(Linear)와 비선형 구조(NonLinear)가 있습니다. 선형 구조(Linear)선형 구조란, 자료를 구성하는 원소들을 하나씩 순차적으로 나열시킨 형태입니다. 자료들간의 앞, 뒤 관계가 1:1의 관계로 배열과 리스트가 대표적이며 스택과 큐도 이에 해당됩니다.     비선형 구조(NonLinear)비선형 구조는 앞서 알아본 선형 구조와 달리, 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 형태입니다. 자료들간의 앞, 뒤 관계가 1:n 또는 n:n의 관계를 나타냅니다. 트리와 그래프가 대표적이며, 계층적 구조를 나타내기에 적절합니다.      이미지 정리! 마지막 간단 정리선형 구조 : 요소들이 순차적으로 나열됨. ex) 배열, 리스트, 스택, 큐비선형 구..
[자료구조] 트리(Tree)란
·
❕Data structure
이번에는 자료구조 중 하나인 트리(Tree)에 대해서 정리하겠습니다.가급적이면 쉽고 간단하게 설명할 예정이며, 더 깊고 많은 내용을알고 싶으시다면 다른 블로그를 참고하시기 바랍니다 :)   트리(Tree)란?   트리(Tree)는 계층적인 자료를 표현하는 데 사용되는 자료구조입니다. 가장 대표적인 예시로는 컴퓨터의 디렉토리 구조를 예시로 들 수 있습니다. 실제 나무를 거꾸로 놓은 것과 비슷한 형태를 가지고 있기 때문에 '트리(Tree)'라고 부릅니다. 트리 관련 용어루트 노드(root node): 부모가 없는 최상위 노드 (A)단말 노드(leaf node): 자식이 없는 노드 (H, I, E, J, G)크기(size): 트리에 포함된 모든 노드의 개수 깊이(depth): 루트 노드로부터의 거리 (A의 깊..
[자료구조] 연결 리스트(Linked List)는 무엇일까?
·
❕Data structure
오늘은 자료구조 중 하나인 "연결 리스트"에 대해서 정리해보겠습니다!자료구조, 알고리즘 공부를 꾸준히 해야 하는데 손이 안 가서 큰일이네요.. ㅠㅠ 연결 리스트(Linked List)란?연결 리스트(Linked List)는 각 노드가 '데이터'와 '포인터'를 가지고 한 줄로 연결되어 있는 자료구조이다. 위에서 노드에는 '데이터'와 '포인터'를 가지고 있다고 하였는데 포인터는 무엇일까? 검색해본 정의로는 "포인터는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간 주소를 가리키는 변수를 말한다." 라고 쓰여있다. 좀 더 이해하기 쉽도록 말하면 "다음 노드의 주소를 가지고 있으며, 다음 노드와 연결을 담당해주는 역할"이라고 생각하면 될거같다. 참고로, 연결 리스트에는 단방향, 양방향 연결 리스트 ..
[자료구조] 스택(Stack)과 큐(Queue)에 대해서 알아보자!
·
❕Data structure
📌 스택(Stack)이란 무엇일까?   스택(Stack)은 후입선출(LIFO, Last In First Out) 방식으로 동작하는 선형 자료 구조입니다.위의 사진과 같이 데이터가 차곡차곡 쌓아 올리는 형태이며, 가장 마지막에 삽입된 데이터가 가장 먼저 삭제되는 구조를 가지고 있습니다. 간단한 예시로는 책상에 책을 쌓아두는 것과 포개 둔 일회용 종이컵을 하나씩 꺼내는 방식을 떠올리면 이해하기 쉬울 것 같네요 😋 스택에서는 push 연산을 통해 새로운 데이터를 top 위치에 삽입하고, pop 연산을 통해 top 위치의 데이터를 제거할 수 있습니다.데이터는 'top'을 통해서만 접근 가능하며, 중간에 있는 데이터를 직접 수정하거나 삭제할 수 없습니다. 스택(Stack)의 사용 사례웹 브라우저 방문기록 (뒤..