즐겁게!! 자신있게!! 살아보세!!

재밌는 인생을 위하여! 영촤!

Language_Study/JAVA

[JAVA, App] 6.검색

Godwony 2020. 12. 23. 14:33
반응형

검색(search)

1.순차검색

  • 데이터가 정렬되지 않았을 때 데이터를 앞에서부터 순서대로 검색
  • 첫번째 데이터와 마지막 데이터의 검색 시간이 차이가 많이 나고 데이터가 없는 경우 전체 데이터를 확인해야만 없다는 사실을 알 수 있습니다.

2.제어검색

  • 데이터가 정렬된 경우 사용하는 검색 방법

1) 이분 검색(Binary Search): 데이터의 중앙값과 비교해서 작으면 왼쪽 크면 오른쪽에 가서 다시 중앙값과 비교하는 방식

2) 피보나치 검색: 피보나치 수열의 값을 이용해서 검색

  • 1,1,2,3,5,8,13...(첫번째 와 두번째는 1 세번째 부터는 앞쪽 2개 항의 합)

3) 보간 검색

  • 검색 위치를 계산해서 검색
    (검색값 - 최소값) / (최대값 - 최소값) 을 계산한 후 데이터 개수와 곱해서 찾는 방식
  • 데이터의 분포가 고르다면 제어검색 중에서 성능이 우수함

4) 이진 트리 검색

  • 데이터를 삽입할 때 정렬 하는 것처럼 작으면 왼쪽 크면 오른쪽에 배치해서 검색
  • 이진 트리는 만들다 보면 정확하게 반으로 분할 되지는 않습니다.

3.블록 검색

  • 블록 단위는 정렬되어 있지만 블록 안은 정렬이 안된 상태에서 검색

4.해싱

  • 데이터를 배치할 때 함수를 이용해서 배치하는 방식
  • 모든 데이터의 검색 속도가 일정하고 가장 빠른 검색 방법
  • 해싱 함수의 선택은 운영체제가 합니다.
반응형

'Language_Study > JAVA' 카테고리의 다른 글

[JAVA, App] 8.상속  (0) 2020.12.23
[JAVA, App] 7.클래스  (0) 2020.12.23
[JAVA, App] 5.데이터정렬  (0) 2020.12.23
[JAVA, App] 4.Array  (0) 2020.12.23
[JAVA, App] 3.제어문  (0) 2020.12.21