순차 탐색

이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 사이트와, 다음 두 채널도 오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
●  잔재미코딩 뉴스레터 오픈 [구독해보기]
●  잔재미코딩 유투브 오픈 [구독해보기]

10. 탐색 알고리즘1: 순차 탐색 (Sequential Search)

1. 순차 탐색 (Sequential Search) 이란?

  • 탐색은 여러 데이터 중에서 원하는 데이터를 찾아내는 것을 의미
  • 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해서 원하는 데이터를 찾는 방법

프로그래밍 연습
임의 리스트가 다음과 같이 rand_data_list로 있을 때, 원하는 데이터의 위치를 리턴하는 순차탐색 알고리즘 작성해보기

  • 가장 기본적인 방법이므로, 직접 작성해보겠습니다.
  • 원하는 데이터가 리스트에 없을 경우 -1을 리턴 </div>
    # 데이터 준비: data_list 10개 만들기
    from random import *

rand_data_list = list() for num in range(10): rand_data_list.append(randint(1, 100)) </pre>

In [ ]:
def sequencial_search(data_list, search_data):
    for index in range(len(data_list)):
        if data_list[index] == search_data:
            return index
    # 해당 데이터를 찾지 못하면, -1을 리턴
    return -1
In [ ]:
rand_data_list
In [ ]:
sequencial_search(rand_data_list, 25)
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다

2. 알고리즘 분석

  • 최악의 경우 리스트 길이가 n일 때, n번 비교해야 함
    • O(n)