Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 나인패치
- 소켓통신
- Android
- 삽입정렬
- putExtra
- getExtra
- 유튜브 백그라운드
- 안드로이드
- 바이트버퍼
- Insert Sort
- 백그라운드
- 유튜브 멀티태스킹
- 유튜브 백그라운드 재생
- 상태체크
- 커스텀뷰
- 안드로이드 C 소켓통신
- 유튜브 반복재생
- 알고리즘
- 미디어스캐닝
- 자바
- Intent
- 유튜브 구간 반복
- ByteBuffer
- 버블정렬
- 크롬캐스트
- 자바 C 소켓통신
- 마진
- 유
- 선형탐색
- 자바 C 패킷
Archives
- Today
- Total
Blessing Venus
선형탐색(Linear Search) 본문
선형탐색(Linear Search)
선형탐색 말이 좀 어려워 보이죠.
하지만 의미는 쉽습니다.
별거 없이 루프를 돌면서 수열의 첫번째부터 마지막번째까지 다 샅샅히 비교하고 대입하는 탐색입니다.
정말 쉬운 탐색이지만 더 쉽게 설명하기 위해서 아래의 예시를 들어 보겠습니다.
어떤 판타지 왕국에서 왕궁기사단 시험이 치러지고 있습니다.
기사단장은 참가한 기사지망생들에게 문제를 내었습니다.
만약 10개의 던전이 존재하고 던전마다 얻을 수 있는 아이템의 등급이 각각 다르다.
너희들은 이 던전들 중에서 가장 높은 등급의 아이템을 얻을 수 있는 던전을 찾는 방법이 무엇이라 생각하는가?
그 중 어떤 기사지망생이 존나게 박력있게 말합니다.
"그냥 첫번째 던전부터 마지막 던전까지 쳐들어가서 아이템 뭐 나오는지 다 확인하면 되지 않습니까?"
그렇습니다.
이것이 선형탐색입니다.
선형탐색은 배열의 요소를 순차적으로 꺼내어 비교하여 값을 찾는 탐색 알고리듬입니다.
아래는 예제로 간략하게 만들어본 선형탐색을 활용한 최소값 최대값 찾는 코드입니다.
public class LinearSearch {
int[] array = null;
public void setDataArray(int[] arr) {
this.array = arr;
}
/**
* 선형탐색으로 최소값을 구한다.
* @return
*/
public int searchMin() {
int min = array[0];
for(int i=1; i<array.length; i++) {
if(min > array[i]) {
min = array[i];
}
}
return min;
}
/**
* 선형탐색으로 최대값을 구한다.
* @return
*/
public int searchMax() {
int max = array[0];
for(int i=1; i<array.length; i++) {
if(max < array[i]) {
max = array[i];
}
}
return max;
}
}
'알고리즘' 카테고리의 다른 글
삽입 정렬(Insert Sort) (0) | 2018.05.30 |
---|---|
선택정렬(Selection Srot) (0) | 2018.05.29 |
버블정렬(Bubble Sort) (0) | 2018.05.28 |
Comments