문제 해결을 위한 알고리즘 이해의 기초를 학습합니다. 소개되는 내용은 Problem Solving with Algorithms and Data Structures using Python을 요약, 수정 번역한 것입니다.
감사의 글
소중한 소스코드를 공개한 브래들리 밀러(Bradley Miller)와 데이비드 라눔(David Ranum)에게 진심어린 감사를 전합니다.
목차
링크 활용법: 📓(강의노트), 📙(구글 코랩)
- 강좌소개:
- 클래스 작성법 📓 📙
- 알고리즘 분석
- 기초 추상 자료형 구현
- 재귀(Recursion)
- 동적계획법(Dynamic Programming)
- 탐색과 정렬
- 트리(Tree)와 힙(Heap): 이진트리, 파스 트리, 바이너리 힙, 우선순위 큐 📓 📙
- 맵(Map) 추상 자료형
- …
연습문제
- 파이썬 추상 자료형 클래스 선언 및 활용
- 기초 추상 자료형 구현
- 하노이의 탑 알고리즘 시각화
- 동적계획법: 어레이 활용 플로이드-워셜 알고리즘, 0-1 배낭 채우기 문제
- 정렬
- 파스 트리
- …
프로그래밍 환경
파이썬 프로그래밍은 아무런 설치과정 없이 주피터 노트북을 이용하여 바로 실습할 수 있는 온라인 프로그래밍 환경인 구글 코랩을 추천합니다. 구글 코랩과 주피터 노트북 사용법은 아래 동영상을 참조하세요.
추가 자료
- Data Structures and Information Retrieval in Python by Allen Downey, 2021.
- 알고리즘 보충 자료로 추후 기존 강의노트에 업데이트될 예정임.