[C언어] Binary Tree (6) - printSmallerValues 함수 구현하기

2025. 4. 14. 16:55·크래프톤 정글/Code 정글(C언어)

Binary Tree (6) - printSmallerValues 함수 구현하기

주어진 정수보다 작은 모든 노드의 값을 출력하는 함수

주어진 요소 확인하기

구조체

  • BTNode: (struct) 이진 트리 노드 구조체
    • item: (int field) 노드의 값
    • *left: (pointer field) 왼쪽 자식 노드 주소
    • *right: (pointer field) 오른쪽 자식 노드 주소
  • StackNode: (struct) 트리 생성을 위한 스택 노드 구조체
    • *btnode: (pointer field) 이진 트리 노드 주소
    • *next: (pointer field) 다음(스택 아래쪽) 노드 주소
  • Stack: (struct) 트리 생성을 위한 스택 구조체
    • *top: (pointer field) 스택 최상단 노드의 주소

printSmallerValues 함수의 매개 변수

  • *node: (pointer) 이진 트리 루트 노드 주소
  • m: (int) 해당 값보다 작은지 비교할 정수

 

핵심 아이디어

  • 각 노드마다 재귀적으로 m보다 작은지 검사(중위 순회)
    • 노드가 NULL이면 return
    • (1) 오른쪽 서브트리에 대해서 재귀적으로 처리
    • (2) 해당 노드 값이 m보다 작다면 값을 출력
    • (3) 오른쪽 서브트리에 대해서 재귀적으로 처리

 

구현하기

// 중위 순회를 사용해 m보다 작은 모든 노드의 값을 출력하는 함수
void printSmallerValues(BTNode *node, int m) {
    if (node == NULL) return; 	// 노드가 없으면 return

    // 왼쪽 서브트리에 대해 재귀 호출
    printSmallerValues(node->left, m);
    // 현재 노드의 값이 m보다 작으면 출력
    if (node->item < m) printf("%d ", node->item);
    // 오른쪽 서브트리에 대해 재귀 호출
    printSmallerValues(node->right, m);
}
저작자표시 비영리 변경금지 (새창열림)

'크래프톤 정글 > Code 정글(C언어)' 카테고리의 다른 글

[C언어] Binary Tree (8) - hasGreatGrandchild 함수 구현하기  (0) 2025.04.14
[C언어] Binary Tree (7) - smallestValue 함수 구현하기  (0) 2025.04.14
[C언어] Binary Tree (5) - mirrorTree 함수 구현하기  (0) 2025.04.14
[C언어] Binary Tree (4) - sumOfOddNodes 함수 구현하기  (0) 2025.04.14
[C언어] Binary Tree (3) - countOneChildNodes 함수 구현하기  (0) 2025.04.14
'크래프톤 정글/Code 정글(C언어)' 카테고리의 다른 글
  • [C언어] Binary Tree (8) - hasGreatGrandchild 함수 구현하기
  • [C언어] Binary Tree (7) - smallestValue 함수 구현하기
  • [C언어] Binary Tree (5) - mirrorTree 함수 구현하기
  • [C언어] Binary Tree (4) - sumOfOddNodes 함수 구현하기
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리)
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[C언어] Binary Tree (6) - printSmallerValues 함수 구현하기
상단으로

티스토리툴바