모두의 알고리즘 with파이썬

모두의 알고리즘 파이썬에 대한 이미지 검색결과


추천: 3.5 / 5

알고리즘 관련으로 처음 읽어 본 책

파이썬에 대한 간단한 사용법이 있어 프로그래밍을 모르는 사람도 예제를 따라 할 수 있다.
(하지만 의지가 있어야...)

알고리즘 예제에 대해서 그림으로 상세하게 풀이해 놓았지만 딱딱하게 쓰인 문체로 재미있게 접근하기는 힘들다




< 내용 정리 >
* 알고리즘: 어떤 문제를 풀기 위한 절차나 방법
사실 어떤 행동을 하기 위해 미리 생각하는 과정 을 알고리즘 이라 말하고 있다. 이는 내게 있어 굉장히 당연한건데, 현업에 있는 사람들이 왜이리 중요하게 여기는지에 대해선 아직 배움이 짧아 알 수 없는 상태

* 계산 복잡도(complexity)
- 시간 복잡도(time complexity): 수행에 걸리는 시간
- 공간 복잡도(space complexity): 수행에 걸리는 메모리 공간 크기

* 시간 복잡도의 종류: 아래로 갈수록 오래 걸림
- O(1) : 횟수와 무관하게 일정한 시간
- O(logn) : 로그 횟수 시간에 비례
- O(n) : 횟수와 시간 비례
- O(n * logn) : 횟수 곱하기 로그 횟수 시간에 비례
- O(n^2) : 횟수의 제곱에 시간이 비례
- O(2^n) : 2의 n제곱에 시간이 비례


< 목차 >
1. 알고리즘 기초
    1.1 n까지의 합 구하기
    1.2 최대값 찾기(리스트)
    1.3 동명이인 찾기(집합)
2. 재귀 호출
    2.1 팩토리얼 구하기
    2.2 최대공약수 구하기
    2.3 하노이의 탑 옮기기
3. 탐색과 정렬
    3.1 순차 탐색
    3.2 선택 정렬(selection sort) : O(n^2)
    3.3 삽입 정렬(insertion sort) : O(n^2)
    3.4 병합 정렬(merge sort) : O(n * logn)
    3.5 퀵 정렬(quick sort) : O(n * logn)
    3.6 이분 탐색(binary search) : O(logn) (단, 정렬이 되어 있다는 가정 하에)
4. 자료 구조
    4.1 회문 찾기(큐queue, 스택stack)
    4.2 동명이인 찾기(딕셔너리dictionary = 해시테이블hash table = 해시맵hashmap = 언오더드맵unordered_map)
    4.3 친구의 친구 찾기(그래프)
5. 응용문제
    5.1 미로 찾기 알고리즘
    5.2 가짜 동전 찾기 알고리즘
    5.3 최대 수익 알고리즘




댓글