728x90

분류 전체보기 117

[자료구조] 이진 트리(Binary Tree)

이진 트리(Binary Tree) - 자식 노드가 최대 두 개인 노드들로 구성된 트리 이진 탐색 트리(Binary Search Tree) - 모든 왼쪽 자식의 값이 루트나 부모보다 작고, 모든 오른쪽 자식의 값이 루트나 부모보다 큰 값을 가진 이진 트리 이진 트리의 종류 - 정 이진 트리(Full Binary Tree) : 각 노드가 0개 혹은 2개의 자식 노드를 가짐 - 완전 이진 트리(Complete Binary Tree) : 마지막 레벨을 제외한 모든 노드가 가득 차 있고, 마지막 레벨의 노드는 왼쪽만 채워져 있음 - 포화 이진 트리(Perfect Binary Tree) : 모든 레벨이 가득 채워져 있고, 모든 리프 노드의 레벨이 동일함 References - 이진 트리의 종류와 설명

[자료구조] 트리(Tree)

트리(Tree) - 데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료구조 - 단방향 그래프의 한 구조로, 나무를 거꾸로 뒤집어 놓은 것처럼 하나의 뿌리로부터 가지가 사방으로 뻗은 형태를 가짐 - 하나의 데이터 아래에 여러 개의 데이터가 존재할 수 있는 비선형 구조 트리의 구조 - 루트(Root) : 트리 구조가 시작되는 꼭짓점 데이터 - 노드(Node) : 트리 구조에서 연결된 각각의 데이터로, 두 개의 노드가 상하 계층으로 연결되면 각각 부모 노드(Parent Node)와 자식 노드(Child Node)로 나뉘고, 자식이 없는 노드는 리프 노드(Leaf Node)라고 부름 - 서브 트리(Sub Tree) : 루트에서 뻗어나오는 큰 트리 내부에서 트리 구조를 갖춘 작은 트리 ..

[자료구조] 그래프(Graph)

그래프(Graph) - 여러 개의 점들이 서로 선으로 복잡하게 연결되어 있는 관계를 표현한 자료구조 - 하나의 점을 정점(vertex), 하나의 선을 간선(edge)라고 함 - 두 점끼리 직접적인 관계가 있는 경우 점 사이를 이어주는 간선이 존재하며, 두 정점은 인접하다고 표현함 - 간접적인 관계를 가진 두 점은 몇 개의 점과 선에 걸쳐서 이어짐 그래프의 표현 방식 - 인접 행렬 두 점간 정점이 이어져 있다면 1(true), 이어져 있지 않다면 0(false)로 표시한 2차원 배열 형태의 행렬로 표현 두 정점 사이에 관계가 있는지 확인하거나, 가장 빠른 경로를 찾고자 할 때 사용 - 인접 리스트 각 정점이 어떤 정점과 인접하는지를 리스트의 형태로 표현 인접 행렬은 연결 가능한 모든 경우의 수를 저장하기 ..

[220923] 그래프, 트리, 이진 트리 - 코드스테이츠 백엔드 부트캠프 #24

TIL 1. 그래프(Graph) 2. 트리(Tree) 3. 이진 트리(Binary Tree) 점검 및 평가 ⭐ 난이도 : ⭐⭐⭐ 이해도 : ⭐⭐⭐ Comment - 여러 자료구조의 종류에 대해서 배웠지만 아직 모르는 구조가 더 많다. 다른 구조들도 검색해보고 필요할 때마다 사용할 수 있도록 블로그에 정리해두면 좋을 것 같다. To-Do List ⬜✔️ - 아침운동 ⬜ - Daily Coding 문제 풀기 ✔️ 내일 학습 내용 키워드 - Search Algorithm: 트리 순회, BFS / DFS

[자료구조] 스택(Stack) / 큐(Queue)

스택(Stack) - 쌓다, 쌓이다, 포개지다 - LIFO(Last In First Out) 혹은 FILO(First Out Last In)의 구조 (e.g. 프링글스) - 데이터를 한번에 하나씩만 넣고 뺄 수 있음 - 입력과 출력이 하나의 방향으로 이루어지는 제한적 접근 구조 - 데이터를 넣는 것을 'PUSH', 데이터를 꺼내는 것을 'POP'이라고 함 스택 메서드 - push() : 스택에 데이터 추가 - pop() : 가장 나중에 추가된 데이터를 스택에서 삭제하고, 삭제한 데이터 리턴 - size() : 스택에 추가된 데이터의 크기 - peek() : 스택에 가장 나중에 추가된 데이터 리턴 - show() : 현재 스택에 포함되어 있는 모든 데이터를 String 타입으로 변환하여 리턴 - clear..

728x90