일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Sequential Search
- Counting cells in a blob
- 수 정렬하기
- All Longest Strings
- 10953
- matrixElementsSum
- markdown
- recursion
- Numpy
- Python
- shapeArea
- til
- 2750
- collections.deque
- data_structure
- cpp
- baekjun
- centuryFromYear
- 2015 봄학기 알고리즘
- flask
- almostIncreasingSequence
- 피보나치 수
- C++
- codesingal
- 백준
- codesignal
- 파이썬 포렌식
- Daily Commit
- adjacentElementsProduct
- 파이썬머신러닝완벽가이드
Archives
- Today
- Total
Introfor
[Algorithm] sequential Search 본문
여러 블로그에서 반복문으로 작성된 코드들만 있어서 공부할 겸 직접 코드를 작성해보았다.
순차 탐색은 한 배열이 주어졌을 때, 거기서 원하는 키값이 존재하는지 찾는 알고리즘이다. 단순 알고리즘으로 사용에는 편리하나 효율적이지 못한 알고리즘이다.
5 | 4 | 2 | 7 | 0 | 2 | 3 | 9 |
위에서 이런 식으로 배열이 존재할 때, 이 배열에 key = 2가 존재하는지 확인하기 위해 index = 0인 배열의 값 것부터 순차적으로 key 값과 비교해서 찾는 방식입니다.
#include <iostream>
void sequentialSearch(int arr[], int key, int index, int length){
if(index>=length){
printf("없음");
return;
}
if(arr[index]==key){
printf("key value locate on %d", index+1);
return;
}
else
sequentialSearch(arr,key,index+1, length);
}
int main(){
int key = 0;
int index = 0;
int arr[] = {5, 4, 2, 7, 0, 2, 3, 9};
int length = sizeof(arr)/sizeof(int);
scanf("%d",&key);
sequentialSearch(arr, key, index, length);
return 0;
}
'Doing > C&C++' 카테고리의 다른 글
Recursion. 미로찾기 (0) | 2020.07.28 |
---|---|
[data_structure] Linked List (0) | 2020.07.26 |
[C++] Reference (0) | 2020.06.29 |
[C++] Pair, Vector STL (0) | 2020.06.29 |
요셉의 환형 문제 (0) | 2017.10.10 |
Comments