전체 글 373

트리(Tree)

트리 (Tree) 정점(node)과 간선(edge)을 이용하여 데이터의 배치를 나타내는 자료 구조 노드의 개념 루트(root)노드: 맨 위에서 시작되는 최초의 노드 리프(leaf)노드: 맨 아래에 위치하고 자식이 없는 말단 노드 부모(parent)노드: 루트 노드에 더 가까우며 자식을 가진 노드 자식(child)노드: 루트 노드로부터 더 멀고 부모를 가진 노드 형제(sibling)노드: 같은 부모를 둔 같은 레벨(level)의 노드들 조상(ancestor)노드: 부모를 비롯한 간선으로 이어진 루트 노드까지의 모든 부모 노드들 후손(descendant)노드: 자식을 비롯한 간선으로 이어진 리프 노드까지의 모든 자식 노드들 노드의 수준(level): 보통은 루트 노드의 레벨을 0으로 둔다. 루트 노드의 레벨..

1주차 - 2 [자료구조/알고리즘] 연결리스트와 스택

두괄식 요약 1. 연결 리스트 → 양방향 연결 리스트 → 스택을 이용한 알고리즘 문제풀이 빌드업이 오늘의 강의 내용 2. 연결 리스트의 가장 큰 장점은 데이터의 삽입과 삭제가 간단하다. 3. 단점은 일정 수준의 알고리즘 구현력과 이해를 요구한다는 점, 인덱싱을 제공하지 않아 데이터 접근에 시간이 많이 걸리는 점 4. 스택은 후입선출(LIFO, Last In First Out)이 특징으로 첫날 배운 재귀 역시 스택과 원리는 같다. (Stack overflow 에러) 어려웠던 점 1. 첫날에 비해 난이도가 비약적으로 상승 2. 개발을 잠시 놓고 있어 클래스 작성과 구현에 시간이 조금 소요된 점이 나 자신에게 아쉽다. 3. 어렵다기 보다는 우려되는 점인데 앞으로 점점 강의 내용이 어려워진다면 시간관리를 잘 할..

데브코스 TIL 2023.10.17

1주차 - 1 [자료구조/알고리즘]

두괄식 요약 1. 컴퓨터에게 일을 잘 시키기 위해 자료구조와 알고리즘을 배운다. 2. 자료구조마다 시간 복잡도가 다르므로 이를 잘 숙지한다. 3. 단순한 선형 배열과 기본함수는 특히 시간복잡도를 고려해 활용할 것 4. 이분탐색은 강력하지만 정렬이 보장된 경우에만 사용 가능 5. 재귀는 익숙해지기만하면 반복(Iteration)과정에 직관적으로 간섭할 수 있다. (하지만 보편적으로 재귀는 시간복잡도상으로 불리하다. 순열과 조합을 기준으로 n이 20이상만 넘어가도 대개 TLE) 자료구조와 알고리즘 학습의 궁극적인 목표? 우리가 컴퓨터와 개발을 배우는 이유는 사람이 할 일을 컴퓨터에게 대신 시키기 위함입니다. 문제는 과제를 처리하기 위해 사용할 수 있는 컴퓨터의 자원은 한정됐다는 점입니다. 자료구조에 따라 컴퓨..

데브코스 TIL 2023.10.16