CS Study/CLRS (자료구조 | 알고리즘)

[CLRS] [9-1] Minimum and maximum(최솟값과 최댓값)

23학번이수현 2024. 11. 4. 01:29

0. Intro

- 해당 게시글에서는 어떤 배열의 최솟값과 최댓값을 구할 수 있는 알고리즘을 구현하고자 한다.

- 다른 알고리즘 게시글에 비해 난이도가 상당히 쉬우니까 가볍게 보고 가자.

 

1. minimum

- 최솟값을 구하는 코드를 구현해보면 다음과 같다.

def minimum(arr):
    min = arr[0]
    for i in arr[1:]:
        if min > i:
            min = i
    return min

 

- 배열을 한번씩 전부 돌면서 최솟값을 갱신하는 알고리즘이다.

- 시간복잡도는 O(N)이 된다.

 

2. maximum

- 최댓값을 구하는 코드를 구현하면 다음과 같다.

- 최솟값을 구하는 코드와 크게 다르지 않는다.

def maximum(arr):
    max = arr[0]
    for i in arr[1:]:
        if max < i:
            max = i
    return max


- 배열을 한번씩 전부 돌면서 최댓값을 갱신하는 알고리즘이다.

- 시간복잡도는 O(N)이 된다.