본문 바로가기

알고리즘/자료구조와 알고리즘 개념

(2)
재귀함수 매우 간단한 동작과정 재귀함수 코딩테스트를 위해 알고리즘 문제를 풀던중 DFS나 DP 분할 정복 등의 문제를 풀다보면 재귀함수가 자주 사용되는 것을 볼 수 있다. 기본적으로 재귀함수란 함수 내에서 자기 자신을 호출하는 함수인데, 일반적인 구현 등은 우리가 눈으로 따라가며 동작과정을 생각할 수 있지만 재귀함수가 나오는 순간 이게 어떤 순서로 컴파일 되는지를 몰랐었다. 재귀함수로 탐색시 고려사항 재귀함수를 작성할때는 다음의 조건들을 고려해야한다. 호출시에 수행할 작업을 작성 : 수행작업 호출시에 변경할 값을 작성 : 수행마다 변경해줄 값(상황따라 변경값이 없을 수도 있음) 원하는 답을 찾을 경우 함수를 종료 : 종료조건 조건을 벗어나서 원하는 답을 절대 찾지 못하는 경우 함수를 종료 : 종료조건 재귀함수 예시 매우 간단한 재귀함..
파이썬에서 Stack Stack stack은 후입선출(LIFO)의 자료구조. 시간복잡도는 push : O(1), pop : O(1)입니다. push와 pop은 모두 stack의 top에 원소를 추가하거나 삭제하는 형식으로 구현됩니다. 활용예시는 후위 표시법 연산, 괄호 유효성 검사, 웹 브라우저 방문기록(뒤로가기), 깊이 우선탐색(DFS)등이 있습니다. 파이썬에서 Stack 파이썬에서는 stack 자료구조를 따로 제공하지 않는다. 따라서 기본 클래스인 list를 활용하여 stack을 흉내내서 사용한다. 파이썬에서 list를 활용해 stack 메서드 사용하기 1. stack 선언 그냥 빈 리스트를 선언해주면 된다. stack = [] 2. 원소 추가 : push list의 append 메서드를 활용해 리스트의 가장 마지막에 원..