2025/04/16 2

Data-Structures Binary Search Tree Q1 - Level Order Traversal 풀이

* 4/17 발표를 위한 자료문제 해석 :트리가 주어졌을 때 노드들을 level별로 출력하라. 이 문제를 풀기 전에 두 가지 생각이 들었다.1. 왜 큐를 사용하라고 했나?2. 재귀호출로도 구현 가능? 이전 문제를 풀 때는 현재 노드의 자식 노드를 방문할 때 재귀 호출을 주로 사용했다.-> 자식 노드의 자식 노드로 깊이 탐색을 하여 base case에 다다르면 재귀 호출을 종료하는 식으로 top-down 구현 그런데 이번 문제에서는 너비 탐색을 해야 해서 재귀를 쓰면 안 된다.그럼 현재 노드의 자식 노드를 어떻게 방문?-> 큐에 같은 레벨의 노드들을 한꺼번에 넣어두고-> 큐에서 하나씩 꺼내면서 그 노드의 자식 노드를 또 다시 큐에 넣기-> 이 과정을 반복하면 큐의 FIFO 성질에 의해 같은 레벨의 노드들을..

정글/알고리즘 2025.04.16

[정글] c언어 특강

오늘 c언어 특강에서 들은 내용 간단 정리각 주제에 대해 자세하게 설명하기보다는 공부할 때 한 번 생각해볼만한 것들을 던져주신 것 같다.재귀 구현하노이탑 문제 점화식 : h(n) = 2*h(n-1) + 1 n개의 원판을 움직이기 위해서는1) n-1개의 원판을 1번 기둥에서 2번 기둥으로 옮기고2) 가장 큰 1개의 원판을 1번 기둥에서 3번 기둥으로 옮기고3) 다시 n-1개의 원판을 2번 기둥에서 3번 기둥으로 옮기는과정이 필요하기 때문이진 트리의 노드 개수를 구하는 문제참고) 트리 vs 그래프?트리는 사이클이 없고 모든 노드가 연결되어있는 그래프 점화식 : count(t) = count(t->left) + count(t->right) + 1struct{ struct* node left; struct..

정글 2025.04.16