본문 바로가기

Pro Developer/Algorithm2

[알고리즘] 시간 복잡도 (Python) Do it! 알고리즘 코딩테스트: 파이썬 편과 자료구조 과목 학습 후 정리한 포스팅 입니다. 시간 복잡도는 알고리즘 선택의 기준이 된다. 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. I) 대표적인 시간 복잡도 유형 - 빅-오메가(Big - Ω) : 최선일 때의 연산횟수를 나타낸 표기법 - 빅-세타(Big - θ) : 보통일 때의 연산횟수를 나타낸 표기법 - 빅-오(Big - O) : 최악일 때의 연산횟수를 나타낸 표기법 🍀코딩 테스트에서는 빅-오(Big - O)를 기준으로 수행 시간을 계산해야 한다. 응시자가 작성한 프로그램으로 다양한 테스트 케이스를 수행해 모든 케이스를 통과해야 합격으로 판단하기 때문이다. 그렇다면 빅-오(Big - O) 시간 복잡도에 대해 구체적으로 알아보자. I.. 2022. 12. 28.
[알고리즘] 큐 (C++) 이번 포스팅에서는 큐(Queue)에 관해 학습합니다. I) 큐 큐(Queue)는 스택(Stack)과 마찬가지로 대표적인 자료구조이다. 먼저 들어온 자료가 먼저 나가는 (First In First Out) FIFO 방식으로 작동한다. 먼저 온 사람이 먼저 서비스를 받는 은행창구와 같다. 왼쪽이 입구이고 오른쪽이 출구인 아래의 큐에 다음과 같은 입력을 차례대로 했다고 해보자. 숫자 1 삽입 - 숫자 2 삽입 - 숫자 4 삽입 - 숫자 하나 삭제 - 숫자 하나 삭제 - 숫자 3 삽입 그렇다면 과정 별 결과는 아래 그림과 같을 것이다. 이제 STL Queue 라이브러리 선언과 함수에 대해 간단하게 정리하겠다. queue container 은 헤더파일 안에 존재한다. 기본 생성자 형식은 queue < DATA T.. 2022. 2. 13.