본문 바로가기

알고리즘15

2. 트리(Tree) 📌 트리(Tree) 그래프의 여러 구조 중 단방향 그래프의 한 구조로, 하나의 뿌리로부터 가지가 사방으로 뻗은 형태가 나무와 닮아 있다고 해서 트리 구조라고 부른다. 자료구조 Tree는 이름 그대로 나무의 형태를 가지고 있다. 정확히는 나무를 거꾸로 뒤집어 놓은 듯한 모습을 가지고 있다 마치 가계도와 흡사해 보이는 이 트리 구조는 데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료구조이다. 데이터를 순차적으로 나열시킨 선형 구조가 아니라, 하나의 데이터 아래에 여러 개의 데이터가 존재할 수 있는 비선형 구조이다. 트리 구조는 계층적으로 표현이 되고, 아래로만 뻗어나가기 때문에 그래프에서의 사이클은 존재하지 않는다. ✔️ Tree의 구조 트리 구조는 루트(Root)라는 하나의 꼭.. 2022. 7. 26.
스택(Stack) 📌 스택(Stack) 큐와 마찬가지로 컴퓨터 과학 분야의 주요 자료 구조 중 한가지로, 마지막에 넣은 데이터가 제일 처음에 나오는 LIFO(Last In, First Out)구조로 저장하는 형식을 말한다. 스택도 큐와 마찬가지로 프로그래밍에서 가장 많이 쓰는 자료구조 중 하나이다. LIFO(Last-In, First-Out) 구조 혹은 FILO(First-In, Last-Out) 구조라고도 한다. 스택의 대표적인 예 중 하나로 프링글스 과자를 예로 들 수 있다. 생산 과정에서 제일 먼저 들어간 감자칩은 제일 마지막에 꺼낼 수 있다. ✔️ 스택의 용어 용어 뜻 비유 자바 Push(입력) 스택에 데이터 입력 프링글스를 먹지 않고 도로 통에 넣기(?) push(value), add(value), set(ind.. 2022. 7. 25.
1. 그래프(Graph) 📌 그래프(Graph)란? Vertax(점점)와 Edge(간선)로 구성된 한정된 자료구조를 의미한다. 자료구조에서의 그래프는 수학에서 사용되는 X축이나 Y축의 값을 나타내는 그래프를 말하는 것이 아니다. 자료구조에서의 그래프는 마치 거미줄처럼 여러 개의 점들이 선으로 이어져 있는 복잡한 네트워크망과 같은 모습을 가지고 있다. 📌 용어 설명 노드 (Node) / 정점(Vertax) : 특정 위치 간선 (Edge) : 위치 간의 관계, 정점을 연결한 선 정점 1과 정점 4는 간선으로 연결되어있으므로 두 노드는 인접(Adjacent)하다. 차수(Degree) → 무방향 그래프에서 하나의 정점에 인접한 정점의 수 → 무방향 그래프 차수의 합 : 그래프 간선 수 x 2 진입 차수(In-Degree) → 방향 그.. 2022. 7. 17.
큐(Queue) 📌 큐(Queue) 컴퓨터 과학 분야에서 쓰이는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In, First Out)구조로 저장하는 형식을 말한다. 큐는 프로그래밍에서 가장 많이 쓰는 자료구조 중 하나이다. FIFO(First-in, First-Out) 구조 혹은 LILO(Last In, Last Out) 구조라고 부르기도 한다. 예를 들면 음식점에서 가장 먼저 줄을 선 사람이 가장 먼저 음식점에 입장하는 것과 동일하다고 보면 된다. 가장 먼저 넣은 데이터를 가장 먼저 뺀다. ✔️ 큐의 용어 용어 뜻 비유 자바 Enqueue 큐에 데이터를 넣는 기능 손님에게 번호표를 발부 add(value), offer(value) Dequeue 큐에서 데이터를 꺼.. 2022. 7. 12.