반응형
순차 탐색 알고리즘이란?
순차 탐색 알고리즘(Sequential Search Algorithm)은 단순히 배 열등의 데이터 리스트에서 순차적으로 데이터를 비교하여 원하는 데이터를 찾아내는 알고리즘입니다.
특별히 이진탐색 알고리즘 등과 같이 정렬을 우선해야 하는 번거로움이 없이 사용이 가능하며, 단순하며 구현이 쉬운 장점을 갖고 있습니다.
하지만 데이터가 많은 경우에는 비효율적인 알고리즘입니다.
단방향으로 검색하기 때문에 선형 알고리즘(Linear Search Algorithm)이라고도 합니다.
예시
10개의 데이터를 가진 배열 arr 값이 10, 30, 50, ,80, 100, 120, 150, 180, 220, 250를 가지고 있으며,
찾을 데이터가 180인 경우,
순차적으로
1번째에는 10과 비교하고,
2번째는 30과 비교하고,
3번째는 50과 비교하고,
4번째는 80과 비교하고,
5번째는 100과 비교하고,
6번째는 120과 비교하고,
7번째는 150과 비교하고,
180을 가진 8번째 값(배열인덱스는 7)인 값을 찾게 됩니다.
C++ 코드로는 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include <iostream>
using namespace std;
void main()
{
int arrData[10] = { 10, 30, 50, 80, 100, 120, 150, 180, 220, 250 };
int nNum;
cout << "input data : ";
cin >> nNum;
for( int i = 0; i < 10; i++ )
{
if( arrData[i] == nNum )
{
cout << "Find Index : " << i << endl;
return;
}
}
cout << "Not Find" << endl;
}
|
cs |
반응형
'개발공부 > 알고리즘' 카테고리의 다른 글
[알고리즘] 삽입 정렬 알고리즘 (0) | 2020.11.20 |
---|---|
[알고리즘] 선택 정렬 알고리즘 (2) | 2020.11.19 |
[알고리즘] 버블 정렬 알고리즘 (0) | 2020.11.18 |
[알고리즘] 이진 탐색 알고리즘 (0) | 2020.11.16 |