1. Sequential Search(순차탐색)
쉬운 코드를 작성할 수 있지만 찾고 싶은 값을 일일이 입력해야하기 때문에 비효율적!
package 이차원배열;
import java.util.Arrays;
public class Ex_연습장 {
public static void main(String[] args) {
int[] array = { 13, 35, 15, 11, 26, 72, 78, 19, 61, 90 };
// 찾고싶은 데이터
int search = 78;
for(int i = 0; i < array.length; i++) {
if(search == array[i]) {
System.out.println(search+"는 "+i+"번째 인덱스입니다.");
break;
}
}
}
}
2. Binary Search(이진탐색)
package 이차원배열;
import java.util.Arrays;
import java.util.Scanner;
public class Ex_연습장 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] array = { 1, 7, 16, 25, 30, 33, 41, 56, 78, 90 };
// 찾고싶은 데이터
System.out.print("데이터 입력 >> ");
int search = sc.nextInt();
int highIndex = array.length;
int lowIndex = 0;
while(true) {
// 데이터가 많을수록 중간 배열값을 기준으로 두기!
int midIndex = (highIndex + lowIndex) / 2; // 4
if(search == array[midIndex]) {
System.out.println(search+"는"+midIndex+"번째 인덱스입니다.");
break;
} else if(search > array[midIndex]) {
lowIndex = midIndex;
} else {
highIndex = midIndex;
}
}
}
}
'언어 > JAVA' 카테고리의 다른 글
메소드_덧셈 뺄셈 나눗셈 곱셈이 가능한 메소드 작성 (0) | 2023.03.04 |
---|---|
메소드_변수와 리턴의 존재여부 (0) | 2023.03.04 |
SelectionSort (선택정렬) (0) | 2023.03.04 |
BubbleSort (버블정렬) (0) | 2023.03.03 |
치환 (0) | 2023.03.03 |
댓글