알고리즘공부(3)
-
재귀함수 연습
예제 1 코드 # 1 def p(n): print('+', n) if n > 0: p(n-1) p(n-1) print('-', n) p(3) 트리구조 + 결과 확인 예제 2 코드 # 2 def p(n): print('+', n) if n > 0: p(n-1) p(n-2) print('-', n) p(3) 트리구조 + 결과 확인 예제 3 코드 # 3 def p(n): print('+', n) if n > 0: p(n-1) p(n-1) p(n-1) print('-', n) p(3) 트리구조 + 결과 확인 예제 4 코드 # 4 def p(n): print('+', n) if n > 0: for _ in range(n): # _(언더바) : 단순 반복에 사용 p(n-1) print('-', n) p(3) 트리구..
2021.03.30 -
deque 객체
정의 class collections.deque([iterable,[maxlen]]) collections(컨네이너 데이터형) 에 deque객체 iterable의 데이터로 왼쪽에서 오른쪽으로 (append()를 사용해서) 초기화된 새 데크(deque) 객체를 반환한다. iterable을 지정하지 않으면, 새 데크는 비어 있다. 데크(double-ended queue)는 스택과 큐를 일반화 한 것이다. 데크는 스레드 안전하고 메모리 효율적인 데크의 양쪽 끝에서의 추가(append)와 팝(pop)을 양쪽에서 거의 같은 O(1) 성능으로 지원한다. maxlen이 지정되면 최대 길이가 제한된다. 지정되지 않거나 None이면, 데크는 임의의 길이로 커질 수 있다. deque 객체의 메서드 append(x) - 데..
2021.03.22 -
BFS DFS
1. 꼭필요한 자료구조 기초 탐색(Search) - 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 대표적인 탐색 알고리즘 - DFS/BFS DFS/BFS를 이해하려면 기초 자료구조인 스택과 큐와 재귀함수에 대한 이해가 필요하다. 자료구조(Data Structure) - 데이터를 표현하고 관리하고 처리하기 위한 구조 스택(Stack) 선입후출(First in Last Out)구조 또는 후입선출(Last in First Out)구조 (박스 쌓기) 큐(Queue) 선입선출(First in First Out)구조 (대기 줄) 파이썬으로 큐를 구현할 때는 collections 모듈에서 제공하는 deque 자료구조 사용 재귀함수(Recursive Function) 자기 자신을 다시 호출하는 함수 재귀함수를 문..
2021.03.21