Problem Solving/Algorithm

[알고리즘] #5_1 순차 탐색

se0m 2021. 6. 2. 21:04

** 순차 탐색(Sequential Search)

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

 

 

** 프로그래밍 연습

임의 리스트가 다음과 같이 rand_data_list로 있을 때, 원하는 데이터의 위치를 리턴하는 순차탐색 알고리즘 작성해보기
(원하는 데이터가 없을 경우,  -1 리턴)

# 데이터 준비: data_list 10개 만들기

from random import *

 

rand_data_list = list()

for num in range(10):

      rand_data_list.append(randint(1, 100)) # 10개의 데이터가 무작위로 생성

 

- 코드 작성 부분

def sequencial(data_list, search_data):
    for index in range(len(data_list)):
        if data_list[index] == search_data:
            return index
    return -1


 

** 알고리즘 분석

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