220304 TIL & 회고

woobaeh·2022년 3월 4일
0

TIL

목록 보기
8/13
post-custom-banner

Achievement Goals

  • 자료구조가 무엇인지 설명할 수 있다.

    • 자료구조여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것
    • 대규모 데이터들을 관리 및 활용에 용이하게 한다.
    • 데이터베이스에서 원하는 데이터를 찾을 수 있게 한다.
    • 사용자가 원하는 또는 프로그램이 필요한 맞춤 알고리즘을 설계 할 수 있다.
    • 사용자들의 여러 요청을 한번에 처리 할 수 있다.
    • 데이터 처리 과정을 단순화하면서 처리 속도를 향상 할 수 있다.
  • 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 자료구조를 배열로 대체하여 흉내 낼 수 있다.

    • 각 자료구조의 개념과 구조를 파악하고 목적을 이해할 수 있다.

    • 알고리즘 문제의 각 상황에 맞는 자료구조를 떠올릴 수 있다.

  • 트리 및 그래프의 탐색 기법에 대해 이해할 수 있다.

    • Binary Search Tree를 이해할 수 있다.
      • 먼저, 이진 트리(Binary tree)는 자식 노드가 최대 두 개인 노드들로 구성된 트리
      • 이진 탐색 트리(Binary Search Tree)
        모든 왼쪽 자식의 값이 루트나 부모보다 작고, 모든 오른쪽 자식의 값이 루트나 부모보다 큰 값을 가지는 특징이 있다.
    • BFS와 DFS의 개념을 이해하고 알고리즘 문제에서 사용할 수 있다.
  • 자료구조를 활용하여 알고리즘 문제에 접근할 수 있다.

🌲 학습 시작 전 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

profile
상생을 통하여 파이를 훨씬 크게 키울 수 있다. WIN - WIN
post-custom-banner

0개의 댓글