codestates / codestates/ds-TIL
[TIL] 오예은_210126
- Dominant language
- No language data
- Stars
- 2
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
## 키워드
`검색` `재귀` `트리`
## 배운 것
- 검색: 특정 노드를 추가하거나 삭제할 때 사용 (데이터의 빠른 접근을 위해 검색알고리즘의 효율성이 중요)
- 재귀: 함수 안에서 자기 자신을 반복하여 호출, 스택 개념이 적용되어 호출이 너무 많이 반복되면 메모리 차지
- base case(기본 케이스 또는 조건)가 있어야 한다.
- 추가 조건과 기본 케이스의 차이를 확인한다. (parameter, argument가 일정량씩 계속 변함)
- 반드시 자기 자신(함수)를 호출해야 한다.
- 트리: 루트-서브트리, 부모노드-자식노드, 차수, 리프
- 이진검색트리: 오른쪽 서브노드의 값(right child) > 루트(부모)노드의 값(root node) > 왼쪽 서브노드의 값(left child)
## 더 해볼 것
- 순회, 선형검색 개념 다시 찾아보기 (순회: recursion X -> traversal, order) V
- 이진검색트리를 보면서 랜덤포레스트분류기가 생각났다. 두 개념이 단순히 트리구조를 사용한다는 공통점만 있는걸까? 다른 연관성이 있는지 한번 찾아봐도 좋을 것 같다.
## 느낀 것
- 코드를 이해하는 것보다 알고리즘(논리)를 이해하는 것이 더 어려운 것 같다. '이 부분에서 왜 이 코드를 썼을까?' 고민하면서 생각하는 방식? 문제를 풀어나가는 방식?을 배울 수 있었다. 대신 이해될 때까지 뜯어보자.
- 과제가 비교적 금방 끝나서 복습할 시간이 충분히 주어졌다. (물론 과제 점수는 별개의 문제겠지만..) 개념을 복습하면서 이것 저것 꼬리를 무는 질문을 찾을 수 있다는 점이 좋은 것 같다. 매일 오늘만 같았으면 좋겠다.
Contributor guide
No contributing guide indexed for this repository
Research direction
This issue is a TIL entry about search, recursion, trees, and binary search trees; it names no repository files, tests, or entry points. There is no requested change or completion criterion to verify, so read the existing entry and repository contribution guidance before determining whether any documentation work is intended.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100