[ALGORITHM] 순차탐색 / 이진탐색

2021. 9. 21. 14:16·ALGORITHM & DATA STRUCTURE
728x90

순차탐색 (Sequential Search)

  • 탐색은 여러 데이터 중에서 원하는 데이터를 찾아내는 것을 의미
  • 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해서 원하는 데이터를 찾는 방법
  • 순차적으로 탐색하기 때문에 최악의 경우 리스트 길이가 n일 경우, n번 비교해야해서 시간복잡도가 O(n) 

이진탐색 (Binary Search)

https://www.interviewbit.com/courses/programming/topics/binary-search/ 참고

  • 탐색할 자료를 둘로 나누어 해당 데이터가 있을만한 곳을 탐색하는 방법 (대상 리스트가 정렬이 되어 있어야함)
  • 이진탐색은 분할정복 알고리즘을 활용하여 사용 
  • Divide : 리스트를 두개의 서브 리스트로 나눔
  • Conquer : 검색대상 > 중간값이면, 뒷 부분 서브리스트에서 검색대상 찾음, 검색대상 < 중간값이면, 앞 부분 서브리스트에서 찾음
  • n개의 리스트를 매번 2로 나누어 1이 될 때까지 비교연산 k회를 진행, 시간복잡도가 log2n 

이진탐색은 기본이라 까먹지 말아야함

저작자표시

'ALGORITHM & DATA STRUCTURE' 카테고리의 다른 글

[ALGORITHM] 정렬  (0) 2021.09.26
[ALGORITHM] 다익스트라 알고리즘  (0) 2021.09.23
[ALGORITHM] 재귀 호출  (0) 2021.09.20
[ALGORITHM] 백트래킹  (0) 2021.09.20
[ALGORITHM] LRU 캐시  (0) 2021.08.08
'ALGORITHM & DATA STRUCTURE' 카테고리의 다른 글
  • [ALGORITHM] 정렬
  • [ALGORITHM] 다익스트라 알고리즘
  • [ALGORITHM] 재귀 호출
  • [ALGORITHM] 백트래킹
집한구석
집한구석
  • 집한구석
    tgyun615.info
  • 전체
    오늘
    어제
    • 카테고리 (183)
      • JAVA (38)
      • SPRING (15)
      • KOTLIN (23)
      • NETTY (1)
      • DEVOPS (3)
      • DOCKER (7)
      • KUBERNETES (2)
      • JAVASCRIPT (1)
      • SPLUNK (3)
      • ELK (7)
      • KAFKA (2)
      • GO (4)
      • ALGORITHM & DATA STRUCTURE (9)
      • IDE (5)
      • OS (16)
      • NETWORK (14)
      • GCP (2)
      • AWS (2)
      • DATABASE (10)
      • CLEANCODE (7)
      • OTHER (12)
  • 최근 글

  • 태그

    splunk
    go
    docker
    Elk
    클린코드
    이펙티브코틀린
    AWS
    코틀린
    프로그래머스
    엘라스틱서치
    cleancode
    java
    JPA
    ElasticSearch
    Spring
    자바
    SQL
    IntelliJ
    이펙티브 코틀린
    Kafka
  • 링크

    • github
    • linkedin
    • resume
  • hELLO· Designed By 정상우. v4.10.3
집한구석
[ALGORITHM] 순차탐색 / 이진탐색
상단으로

티스토리툴바