알고리즘 6

정렬 알고리즘

여러 개의 데이터를 특정 순서로 나열하는 조작을 정렬이라고 부른다. Ex) [2, 3, 1, 4] 를 오름차순으로 정렬하면 [1, 2, 3, 4] 이 된다. 정렬은 자주 쓰이기 때문에 여러 프로그래밍 언어에서 표준 라이브러리로 제공한다.파이썬의 경우는 A.sort()의 형태로, C++에선 sort(A+1, A+N+1)의 형태로, C#에서는 Array.Sort(A)의 형태로 배열 A를 오름차순으로 정렬할 수 있다.예제를 풀어보자.오름차순 정렬 문제(백준 2750번_수 정렬하기) https://www.acmicpc.net/problem/2750더보기Pythonimport sysinput = sys.stdin.readlineN = int(input())li = [int(input()) for _ in rang..

알고리즘 2024.07.03

Big O 표기법

Big O 표기법은 최악의 경우 알고리즘 수행 시간을 나타낸다. 아래 표는 효율적인 순서대로 작성했다.Big O형태설명추천 알고리즘O(1)상수 형태해당 알고리즘이 일정한 상수 시간에 종료됨.해시 테이블O(log n)로그 형태입력값 n이 증가하는 속도보다 수행시간이 천천히 증가하는 알고리즘.이진 탐색, 유클리드 호제법O(n)선형입력값 n 만큼의 수행시간을 요구함.순차 탐색 O(n log n) 선형로그 형태선형 로그 형태로 수행시간이 필요함.병합 정렬, 퀵 정렬, 힙 정렬 O(n ^ 2) 다차 형태n에 대한 다차 형태로 수행시간이 증가함.for문이 중첩되어있는 만큼 지수가 증가함.버블 정렬, 삽입 정렬, 선택 정렬행렬 곱셉 ( O(n ^ 3) ) O(2 ^ n) 지수 형태n이 지수인 형태로 수행시간이 증가함..

알고리즘 2024.07.01