#1 이진 탐색 알고리즘이란? #2 구현 with C/C++ [도움되는 자료] 선형탐색 알고리즘 [Linear Search Algorithm] BOJ 2776 암기왕 #1 이진 탐색 알고리즘이란? 이진 탐색 알고리즘 [Binary Search Algorithm] 이란, 오름차순으로 정렬된 자료구조에서 특정한 값의 위치를 찾는 탐색 알고리즘 입니다. 처음부터 끝까지 하나하나 모두 검사하는 선형 탐색 알고리즘 [Linear Search Algorithm]과 달리 , 처음에 중간값을 선택한 후, 그 값보다 작은지 큰지를 비교하며 탐색을 수행합니다. 단, 정렬된 상태에서만 사용할 수 있다는 단점을 가지고 있으나 선형 탐색 알고리즘에 비해서 키값을 찾는 연산이 반으로 줄어 원소의 개수가 늘어날수록 효율이 증가 한..
#1 선형 탐색 알고리즘이란? #2 구현 with C/C++ #1 선형 탐색 알고리즘이란? 선형 탐색 알고리즘 [Linear Search Algorithm]이란, 단방향으로 탐색을 시작하여 원하는 데이터를 찾아내는 매우 단순한 형태의 알고리즘입니다. 구현이 아주 쉽다는 장점이 있지만 모든 데이터를 탐색해야 하기에 최악의 경우 O(N)의 시간 복잡도를 가지며 데이터가 많아질수록 효율이 떨어진다는 단점이 있습니다. * 배열 {1, 2, 3, 4, 5} 에서 3의 위치를 선형탐색을 이용해 찾아보도록 하겠습니다. [1번째 탐색] 0번째 원소와 3(찾고자 하는 수)를 비교합니다. 일치하지 않기에 넘어갑니다. [2번째 탐색] 1번째 원소와 3(찾고자 하는 수)를 비교합니다. 일치하지 않기에 넘어갑니다. [3번째 탐..
* 다음 포스팅은 개인적인 공부 내용을 기록한 것으로, 잘못된 내용이 있을 수 있습니다. 선택정렬[Selection Sort] 알고리즘이란? 선택정렬 예시 #선택정렬 C언어 구현코드 #선택 정렬[Selection Sort] 알고리즘 이란? 선택 정렬은 기초가 되는 정렬 알고리즘 중 하나로, "가장 작은 값을 탐색하여 맨 앞의 데이터와 교환해 나가는 아이디어"를 이용한 알고리즘이다. 시간복잡도는 모든 상황에서 O(N^2)으로 , 다른 정렬 알고리즘에 비해서 매우 비효율적이다. 배열에 3 5 2 8 7 이 저장되어 있다고 가정하고 선택 정렬 알고리즘을 이용해 오름차순으로 정렬해 보도록 하자. #선택 정렬[Selection Sort] 예시 [탐색 1] 첫 번째 인덱스 3과 나머지 자료(2번째 ~ 5번째)를 비..