자료구조(2)
-
[Algorithm] 선형 구조에서의 탐색, 선형탐색과 이진탐색
이번 글은 선형구조에서 특정 값을 찾고 싶을 때 어떻게 탐색하는 것이 효율적인가에 대한 알고리즘을 설명합니다. 순서 1. 선형탐색과 이진탐색 이론 2. 파이썬 구현 1. 선형탐색과 이진탐색 이론 만약 도서관에서 "여덟단어" 책을 찾으려고 할 때 어떻게 찾을 것인가요? 도서관에 책이 왼쪽에서 오른쪽으로 자음 순서대로 있다고 할 때 왼쪽부터 순서대로 찾을 수도 있고 중간 자음인 'ㅅ'을 찾은 후 'ㅅ'을 기준으로 오른쪽 책들만 확인해서 찾아볼 수도 있을 것입니다. 이처럼 왼쪽부터 차례대로 탐색하는 것을 선형탐색 또는 순차탐색, 중간 위치를 찾아서 탐색할 범위를 줄여 탐색하는 것을 이진탐색이라고 합니다. 아래 그림처럼 주어진 데이터를 처음부터 검색하는 것이 선형탐색이고, 이진탐색은 정렬된 데이터의 중앙값을 이..
2021.03.21 -
[Algorithm] 그래프(Graph)
이번 글은 그래프에 관한 내용입니다. 그래프는 연결되어 있는 객체 간의 관계를 표현하는 자료구조입니다. 실생활에서 자주 볼 수 있는 그래프는 지하철 노선도, 항공노선도, 전기회로 등이 있습니다. 항공노선도는 도시들이 항공편으로 어떻게 연결되어 있는지를 확인할 수 있고 전기회로는 각 소자들의 연결 관계를 확인할 수 있습니다. 그래프는 다양한 객체가 서로 복잡하게 연결된 구조를 표현할 수 있습니다. 그래프 이론 그래프와 관련된 다양한 문제를 연구하는 학문 분야로 수학자인 오일러가 최초로 창안하였습니다. 쾨니히스베르크에 7개의 다리가 있었는데 사람들은 같은 다리를 두 번 이상 건너지 않으면서 모두 건널 수 있을까에 대한 물음을 가지고 있었습니다. 1736년 오일러는 7개의 다리에는 그러한 경로가 존재하지 않는..
2020.11.22