알고리즘이란 간단하게 말하면 문제를 해결하기 위한 논리적 단계이다. 알고리즘은 자연어, 코드등으로 표현할 수 있는데 어렵고 이해하기 힘든 알고리즘 보다 간단하고 이해하기 쉬운 알고리즘이 더 강력하고 유용하다.데이터구조와 알고리즘은 서로 다른 개념이면서 상호 보완적이다.
트리 데이터구조는 데이터를 계층으로 정렬한다. 루트 노드는 식물의 뿌리에 해당한다. 트리의 나머지 요소들은 루트노드를 기준으로 구성된다. 루트 노드에서 멀어지는 방향으로 또 다른 노드가 연결되면 해당 노드를 하위 노드 또는 자식 노드라고 한다.루트 노드를 향한 방향으로
탐색은 알고리즘에서 중요한 역할을 담당하며, 많은 알고리즘이 다양한 데이터 구조에 대해 가능한 한 빠른 검색을 지향하도록 설계되어 있다. 선형 탐색은 이런 탐색 알고리즘의 하나이다.수학에서의 선형성은 그래프에서 직선으로 나타낼 수 있다는 의미다. 여기서 중요한 것은 그
너비 우선 탐색은 그래프를 탐색하는 알고리즘이다. 시작 노드에서 가장 가까운 노드부터 시작하여 모든 노드를 광범위하게 탐색한다.우선 두 노드 사이에 경로가 있는지 확인하고, 그 사이의 최단 경로를 결정한다.너비 우선 탐색은 기본적으로 그래프를 층 별로 탐색하는데, 0층
big-O 표기법이란 알고리즘의 효율성을 판단하기 위한 척도이다. big-O는 간단히 말하자면 n이라는 입력값이 무한히 커질 경우 실행시간의 추이를 나타낸다. 따라서 충분히 큰 입력값이 주어졌을 때 알고리즘의 효율성에 따라 수행 시간이 크게 차이가 난다. 얼마나 수행