알고리즘 2

자료구조 - 트리(Tree)에 대해 알아보자(w. 순회(Traversal)방법)

트리(Tree)계층적 관계를 나타내는 비선형 자료구조입니다.이렇게 설명하면 이해가 안 갈 텐데, 요소들이 연결된 모습이마치 나무를 거꾸로 뒤집어 놓은 모양과 비슷해서 트리라고 붙여졌다고 합니다.   트리의 구성 요소  노드(Node): 트리를 구성하는 각각의 요소 간선(Edge): 노드와 노드를 연결하는 선 루트(Root): 트리의 최상위 노드 부모 노드(Parent Node):특정 노드의 상위 노드 자식 노드(Child Node): 특정 노드의 하위 노드 리프 노드(Leaf Node): 자식이 없는 말단 노드 레벨(Level): 루트로부터의 깊이 높이(Height): 트리의 최대 레벨    트리의 주요 특징  순환구조(Cycle)가 없다.모든 노드는 서로 연결되어 있다.계층적 구조를 표현하기에 적합하다..

알고리즘 2024.12.19

부동 소수점 계산 시 정밀도 문제

0.1 + 1.2를 계산하면 얼마가 나와야 할까요?수학을 배웠다면 1.3이라고 답했을 겁니다.  하지만 실제로 컴퓨터를 통해 계산해 보면 아래와 같은 결과가 나옵니다. 1.3과 a+b의 값을 비교했을 때우리가 생각한 것과 다르게 false가 나왔습니다. 왜 이런 문제가 발생할까요? 컴퓨터는 2진법을 통해 계산을 합니다.이때 소수들의 경우 완벽하게 떨어지지 않는, 무한소수들이 존재하는데,정해진 메모리 공간 아래 무한한 자리수들을 표기 할 수 없으므로이를 처리하는 과정에서 오차가 발생하게 됩니다. 간단히 말하면 a에 정확하게 0.1이 저장된 게 아닌0.1과 가까운 값이 저장된 상태라고 이해하시면 됩니다.  그럼, 오차 없는 완벽한 계산은 못 하나요?  다행이도 이를 위해 언어마다 라이브러리를 제공하고 있습니..

알고리즘 2024.09.19