
is_tainted 함수는 파이썬의 이진 트리 함수에서 사용되는 함수로, 트리의 노드가 오염된 상태인지 확인하는 역할을 합니다. 오염된 상태란, 노드의 값이 원래의 값과 다를 때를 의미합니다.
이 함수는 트리의 노드가 원래의 값과 다를 때 True를 반환하고, 원래의 값과 동일할 때 False를 반환합니다.
예를 들어, 다음과 같은 이진 트리가 있다고 가정해 보겠습니다.
5
/ \
3 8
/ \ \
1 4 9
이 트리의 노드가 오염된 상태인지 확인하려면 is_tainted 함수를 사용할 수 있습니다.
#hostingforum.kr
python
class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def is_tainted(node, original_value):
if node is None:
return False
if node.value != original_value:
return True
return is_tainted(node.left, original_value) or is_tainted(node.right, original_value)
# 트리 생성
root = Node(5)
root.left = Node(3)
root.right = Node(8)
root.left.left = Node(1)
root.left.right = Node(4)
root.right.right = Node(9)
# 오염된 상태인지 확인
print(is_tainted(root, 5)) # False
print(is_tainted(root, 3)) # True
위 예시에서, root 노드의 값은 원래의 값과 동일하므로 is_tainted 함수는 False를 반환합니다. 그러나 root.left 노드의 값은 원래의 값과 다르므로 is_tainted 함수는 True를 반환합니다.
2025-03-11 04:20