자료구조가 무엇인지 설명할 수 있다.
Stack, Queue, Tree, Graph 자료구조에 대해 이해할 수 있다.
⇒ 사실 스택과 큐는 사실 상상속에서만 존재한다...?
결국 배열 위에 규칙을 적용한 것. 이러한 애들을 추상적 자료구조(Abstract Data Type).ADT라 한다.
Stack은 “Last in, Frist Out” (뒤로, 앞으로가기 , Undo, 팬케이크, 스택오버플로우)
큐는 “First in, First out” (이메일, 푸쉬알림, 선착순 , 콜센터)
그래프
그래프 용어
정점 (vertex): 노드(node)라고도 하며 데이터가 저장되는 그래프의 기본 원소입니다.
간선 (edge): 정점 간의 관계를 나타냅니다. (정점을 이어주는 선)
인접 정점 (adjacent vertex): 하나의 정점에서 간선에 의해 직접 연결되어 있는 정점을 뜻합니다.
가중치 그래프 (weighted Graph): 연결의 강도(추가적인 정보, 위의 예시에서는 서울-부산으로 가는 거리 등)가 얼마나 되는지 적혀져 있는 그래프를 뜻합니다.
비가중치 그래프 (unweighted Graph): 연결의 강도가 적혀져 있지 않는 그래프를 뜻합니다.
무(방)향 그래프 (undirected graph): 서울에서 부산으로 갈 수 있듯, 반대로 부산에서 서울로 가는 것도 가능합니다. 하지만 단방향(directed) 그래프로 구현된다면 서울에서 부산을 갈 수 있지만, 부산에서 서울로 가는 것은 불가능합니다(혹은 그 반대). 만약 두 지점이 일방통행 도로로 이어져 있다면 단방향인 간선으로 표현할 수 있습니다.
진입차수 (in-degree) / 진출차수 (out-degree): 한 정점에 진입(들어오는 간선)하고 진출(나가는 간선)하는 간선이 몇 개인지를 나타냅니다.
인접 (adjacency): 두 정점 간에 간선이 직접 이어져 있다면 이 두 정점은 인접한 정점입니다.
자기 루프 (self loop): 정점에서 진출하는 간선이 곧바로 자기 자신에게 진입하는 경우 자기 루프를 가졌다 라고 표현합니다. 다른 정점을 거치지 않는다는 것이 특징입니다.
사이클 (cycle): 한 정점에서 출발하여 다시 해당 정점으로 돌아갈 수 있다면 사이클이 있다고 표현합니다
트리는 가계도와 같은 계층척인 구조를 표현할 때 사용, 비선형 구조(순차적이지 않고 하나의 데이터 아래에 여러개의 데이터가 존재), 사이클이 없다.
.
알고리즘 문제에서 Stack, Queue 자료구조를 배열로 대체하여 흉내 낼 수 있다.
각 자료구조의 개념과 구조를 파악하고 목적을 이해할 수 있다.
알고리즘 문제의 각 상황에 맞는 자료구조를 떠올릴 수 있다.
트리 및 그래프의 탐색 기법에 대해 이해할 수 있다.
🌲 학습 시작 전 10분 질문 답변 리스트
계획) 오전 질문 #1/2
📌 오늘 나의 학습 목표는 무엇인가요?
👉 Stack, Queue, Tree, Graph 자료구조, 재귀 스프린트 복습
계획) 오전 질문 #2/2
📌 오늘 나의 학습 목표는 무엇인가요?
🪵 학습 이후 30분 질문 답변 리스트
점검) 데일리 회고 #1/5
📌 오늘 학습 내용 중 새롭게 배운 내용은 무엇인가요?
👉 자료구조 그래프, 이진 트리, 추상자료형 , 큐, 스택 클래스로 만들기, 코플릿 문제들
점검) 데일리 회고 #2/5
📌 오늘 새롭게 학습한 내용을 다른 사람에게 설명할 수 있나요?
1: 매우 어려움
2: 어려움
3: 보통
4: 가능함
5: 매우 가능함
👉 4
평가) 데일리 회고 #3/5
📌 오늘 학습한 내용 중 아직 이해되지 않은 불확실한 내용은 무엇인가요?
👉 그래프, 트리 부분 , this의 개념 적용
오류 수정 전략) 데일리 회고 #4/5
이해되지 않은, 불확실한 내용을 보완하기 위해서 나는 무엇을 할 수 있을까요?
👉 자바스크립트 문법 다지기
전체) 데일리 회고 #5/5
📌 나의 오늘 학습 만족도는 몇점인가요?
1: 매우 아쉬움
2: 아쉬움
3: 보통
4: 뛰어남
5: 매우 뛰어남
👉 3