2024/11/22 2

컴파일러와 인터프리터의 차이

컴파일과 인터프리터의 차이점과 특징프로그래밍 언어는 크게 컴파일 언어와 인터프리터 언어로 나뉩니다. 이 두 방식은 소스코드를 실행 가능한 형태로 변환하는 방식에서 큰 차이를 보입니다. 아래에서 각각의 개념과 특징을 자세히 살펴보겠습니다.컴파일이란?컴파일은 소스코드를 기계어로 변환해 실행 파일을 생성한 후, 해당 파일을 실행하는 방식입니다. 프로그래머가 작성한 소스코드를 컴파일러라는 프로그램이 분석하고, 이를 기계어로 변환해 실행 가능한 형태의 파일을 만들어 냅니다. 이 실행 파일은 별도의 변환 과정 없이 바로 실행할 수 있기 때문에 속도가 매우 빠릅니다.컴파일러는 전체 소스코드를 한 번에 변환하며, 이 과정에서 오류를 사전에 발견할 수 있습니다. 하지만 소스코드에 수정이 발생하면, 다시 컴파일 과정을 거..

CS 2024.11.22

Tree 자료구조

자료 구조 트리란?트리는 계층 구조로 데이터를 저장하는 자료구조이며, 노드 간의 부모-자식 관계로 이루어져 있습니다.평균적으로 탐색 시간 복잡도는 O(log N)이나, 노드가 한쪽으로 치우치면 O(N)이 될 수 있습니다.이를 방지하기 위해 밸런스 트리가 사용됩니다. 💡 밸런스 트리(Balanced Tree)란?밸런스 트리는 삽입/삭제 시 트리의 균형을 유지하도록 설계된 자료구조로, 항상 O(log N)의 탐색 성능을 보장합니다. 대표적으로 Red-Black Tree와 B-Tree가 있습니다. 다만, 삽입/삭제 시 추가적인 연산이 필요하여 일반 트리보다 성능이 약간 낮을 수 있습니다. 밸런스 트리는 최악의 경우에도 O(logN)이므로, 탐색시간에 매우 효율적인 자료구조입니다. Binary Tree, RB..

CS 2024.11.22