Study/algorithm(8)
-
정렬 알고리즘
기준에 따라 데이터를 정렬 1. 정렬 알고리즘 개요 2. 선택 정렬 3. 삽입 정렬 4. 퀵 정렬 5. 계수 정렬 6. 정렬 알고리즘 비교하기 7. 파이썬의 정렬 라이브러리 1. 정렬 알고리즘 개요 정렬(Sorting) 데이터를 특정한 기준에 따라 순서대로 나열 프로그램에서 데이터를 가공할 때 오름차순이나 내림차순 등 대부분 어떤 식으로든 정렬해서 사용하는 경우가 많기에 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나다. 일반적으로 문제 상황에 따라서 적절한 정렬 알고리즘이 공식처럼 사용된다. 컴퓨터는 인간과 다르게 데이터의 규칙성을 직관적으로 알 수 없으며, 어떻게 정렬을 수행할지에 대한 과정을 소스코드로 작성하여 구제적으로 명시해야 한다. 2. 선택 정렬 선택정렬(Selec..
2021.04.01 -
재귀함수 연습
예제 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 -
파이참 디버깅 오류 : module 'queue' has no attribute 'Queue'
파이참에서 디버깅을 하려고 하는 데 값자기 오류가 나왔다. module 'queue' has no attribute 'Queue' 구글링해보니 이름을 변경하라고 한다. stackoverflow.com/questions/20892994/attributeerror-module-has-no-attribute-queue AttributeError 'module' has no attribute 'Queue" I am trying to import Queue and I keep getting the following Traceback (most recent call last): File "threading.py", line 2, in import Queue File "/Library/Frameworks/Python..
2021.03.18 -
구현 알고리즘
구현이란 '머리속에 있는 알고리즘을 소스코드로 바꾸는 과정'이다. 내가 공부하는 책에는 완전탐색과 시뮬레이션을 구현으로 묶었다. 완전탐색 - 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 시뮬레이션 - 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행 출처 - 이것이 취업을 위한 코딩테스트다 이것이 취업을 위한 코딩 테스트다 with 파이썬 IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년부터 2020년까지의 코딩 테스트와 알고리즘 대회의 기출문제를 엄선하여 수록하였다. www.hanbit.co.kr
2021.03.16