Skip to Content
똑똑한 코드 작성을 위한 실전 알고리즘
book

똑똑한 코드 작성을 위한 실전 알고리즘

by 조지 하이네만, 윤대석
May 2022
Beginner to intermediate
296 pages
5h 54m
Korean
Hanbit Media, Inc.
Content preview from 똑똑한 코드 작성을 위한 실전 알고리즘
201
6
이진 트리
_remove()
헬퍼 함수를 사용해,
self.root
를 루트로 하는 트리에서
val
을 제거한다.
종료 조건 : 존재하지 않는 트리에서
val
을 제거하려고 하면
None
을 반환한다.
재귀 조건 #
1
: 제거하려는 값이
node.value
보다 작으면,
node.left
에서
val
을 제거한 결과를
node.left
의 하
위 트리로 설정한다.
재귀 조건 #
2
: 제거하려는 값이
node.value
보다 크면,
node.right
에서
val
을 제거한 결과를
node.right
의 하
위 트리로 설정한다.
재귀 조건 #
3
:
node
가 하위 트리의 루트이면서 제거할 값을 포함할 수 있는데, 그런 경우 해야 하는 작업을 한다.
쉬운 경우부터 먼저 처리한다. 하나의 자식만 가진다면, 해당 자식을 반환한다.
유지해야 하는
node
left
right
하위 트리를 잃어버리지 않도록
original
node
를 저장해둔다.
먼저
node
=
node.right
를 사용해
node.right
를 루트로 하는 하위 트리에서 최솟값을 찾는다.
node
가 왼쪽 자
식이 있는 한 현재 가장 작은 값이 아니므로,
left
하위 트리가 없을 때까지 반복해서
node
를 이동시킨다. 이 작업
으로
original
right
하위 트리에서 최솟값을 찾는다.
node
orignal
left
right
자식에 대한 새로운 루트가 될 것이다. 여기서는
original.right
에서 최솟값
을 제거한 결과를
node.right
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

데이터 익명화를 위한 파이프라인

데이터 익명화를 위한 파이프라인

루크 아버클, 칼리드 엘 에맘
개발 7년차, 매니저 1일차

개발 7년차, 매니저 1일차

권원상, 한민주, 카미유 푸르니에

Publisher Resources

ISBN: 9791162245644