본문 바로가기
반응형
[코딩컨벤션] Week 25: PEP8 스타일 가이드 및 코딩 포매팅 도구, 코드 품질 관리 도구 Day 1: PEP8 스타일 가이드강의 내용:PEP8 스타일 가이드의 개념PEP8이란 무엇인가?PEP8의 중요성과 목적PEP8 주요 규칙들여쓰기 (Indentation)최대 줄 길이 (Maximum Line Length)빈 줄 (Blank Lines)임포트 (Imports)코드 예제:잘못된 코드와 올바른 코드 비교# 잘못된 코드 예제def my_function(param1,param2): print("Hello, World!") if param1 > param2: print("param1 is greater than param2")# 올바른 코드 예제 (PEP8 준수)def my_function(param1, param2): print("Hello, World!") if param1 > pa.. 2024. 6. 2.
[알고리즘] Week 10: 최신 연구 동향 Day 1: 기계 학습 (Machine Learning)강의 내용:기계 학습의 개념기계 학습이란 무엇인가?기계 학습의 주요 응용 분야기계 학습의 분류지도 학습 (Supervised Learning)비지도 학습 (Unsupervised Learning)강화 학습 (Reinforcement Learning)기계 학습의 기본 원리데이터 준비 및 전처리모델 훈련 및 평가주요 알고리즘선형 회귀 (Linear Regression)로지스틱 회귀 (Logistic Regression)결정 트리 (Decision Tree)실습:파이썬을 사용한 선형 회귀 및 로지스틱 회귀 예제import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import .. 2024. 6. 2.
[알고리즘] Week 9: 선형 계획법과 비선형 계획법 Day 1: 선형 계획법 (Linear Programming)강의 내용:선형 계획법의 개념선형 계획법이란 무엇인가?선형 계획법의 특성과 응용 사례선형 계획법의 기본 원리목적 함수 (Objective Function)제약 조건 (Constraints)변수 (Variables)단체법 (Simplex Method)알고리즘의 원리와 단계별 설명시간 복잡도 분석단체법의 복잡도 및 효율성실습:파이썬을 사용한 단체법 구현 및 예제from scipy.optimize import linprog# 예제: 선형 계획법 - 단체법 사용c = [-1, -2] # 목적 함수 계수A = [[2, 1], [1, 1], [1, 2]] # 제약 조건 계수b = [20, 16, 18] # 제약 조건 한계result = linprog.. 2024. 6. 2.
[알고리즘] Week 8: MiniMax Algorithm과 Nash Equilibrium Day 1: MiniMax Algorithm강의 내용:MiniMax Algorithm의 개념MiniMax Algorithm이란 무엇인가?게임 이론에서 MiniMax의 역할MiniMax Algorithm의 기본 원리재귀적 탐색 및 게임 트리최대화 및 최소화 전략시간 복잡도 분석MiniMax Algorithm의 복잡도 및 효율성실습:파이썬을 사용한 간단한 MiniMax Algorithm 구현 예제import mathdef minimax(depth, node_index, maximizing_player, values, alpha, beta): if depth == 3: return values[node_index] if maximizing_player: best = .. 2024. 6. 2.
[알고리즘] Week 7: Planar Graphs와 Planar Separator Theorem Day 1: 평면 그래프 (Planar Graphs)강의 내용:평면 그래프의 개념평면 그래프란 무엇인가?평면 그래프의 특성 및 응용 사례평면 그래프의 기본 원리Euler's Formula (오일러의 정리)그래프의 평면성 판정시간 복잡도 분석평면 그래프 알고리즘의 복잡도 및 효율성실습:파이썬을 사용한 평면 그래프 생성 및 시각화 예제import networkx as nximport matplotlib.pyplot as plt# 평면 그래프 생성G = nx.Graph()G.add_edges_from([(0, 1), (1, 2), (2, 3), (3, 0), (0, 2)])# 평면성 판정is_planar, embedding = nx.check_planarity(G)print("그래프는 평면 그래프인가?", i.. 2024. 6. 2.
[알고리즘] Week 6: Suffix Array and Suffix Tree와 Burrows-Wheeler Transform Day 1: Suffix Array강의 내용:Suffix Array의 개념Suffix Array란 무엇인가?Suffix Array의 특성과 응용 사례Suffix Array의 기본 원리접미사 배열 (Suffix Array)의 생성 방법접미사 배열을 이용한 문자열 검색시간 복잡도 분석Suffix Array의 복잡도 및 효율성실습:파이썬을 사용한 Suffix Array 생성 및 검색 예제# Suffix Array 생성def build_suffix_array(text): suffixes = [(text[i:], i) for i in range(len(text))] suffixes.sort() suffix_array = [suffix[1] for suffix in suffixes] retur.. 2024. 6. 2.
[알고리즘] Week 5: Voronoi Diagram과 Delaunay Triangulation Day 1: Voronoi Diagram강의 내용:Voronoi Diagram의 개념Voronoi Diagram이란 무엇인가?Voronoi Diagram의 특성과 응용 사례Voronoi Diagram의 기본 원리셀 (Cells) 및 경계 (Boundaries)보로노이 셀의 생성 방법시간 복잡도 분석Voronoi Diagram의 복잡도 및 효율성실습:파이썬을 사용한 간단한 Voronoi Diagram 생성 및 시각화 예제import matplotlib.pyplot as pltimport numpy as npfrom scipy.spatial import Voronoi, voronoi_plot_2d# 예제: Voronoi Diagram 생성 및 시각화points = np.random.rand(10, 2) #.. 2024. 6. 2.
[알고리즘] Week 12: 종합 실습 및 프로젝트 Day 1: 종합 실습 준비강의 내용:종합 실습의 목적과 목표전체 과정에서 배운 알고리즘과 기법을 통합하여 실제 문제 해결프로젝트 개요프로젝트 주제 소개 및 요구사항 분석팀 구성 및 역할 분담프로젝트 계획 수립단계별 목표 설정 및 일정 관리실습:프로젝트 주제 및 요구사항 확정팀 구성 및 역할 분담### 프로젝트 주제 예시1. 대규모 데이터 분석 도구 개발2. 실시간 경로 최적화 시스템3. 종합 퍼즐 해결 시스템### 프로젝트 요구사항 예시1. 데이터 입력 모듈2. 알고리즘 구현 모듈3. 결과 출력 및 성능 분석 모듈### 프로젝트 계획 수립 예시1. 데이터 입력 모듈 설계 및 구현 (1일)2. 알고리즘 구현 모듈 설계 및 구현 (3일)3. 결과 출력 및 성능 분석 모듈 설계 및 구현 (1일)4. 통합 테.. 2024. 6. 2.
[알고리즘] Week 11: 최적화 알고리즘 - 선형 계획법과 제약 만족 문제 Day 1: 선형 계획법 (Linear Programming)강의 내용:선형 계획법의 개념선형 계획법이란 무엇인가?선형 계획법의 응용 사례 (예: 자원 배분, 생산 계획)선형 계획법의 기본 요소목적 함수 (Objective Function)제약 조건 (Constraints)변수 (Variables)선형 계획법의 표준 형태표준 형태로의 변환시간 복잡도 분석선형 계획법의 복잡도 및 효율성실습:파이썬을 사용한 간단한 선형 계획법 예제from scipy.optimize import linprog# 선형 계획법 예제: 최대화 문제# 목적 함수: maximize 3x + 4y# 제약 조건: 2x + y = -10, -x + 2y >= -2, -x + 5y = 15c = [-3, -4]A = [[2, 1], [-4,.. 2024. 6. 2.
[알고리즘] Week 10: 고급 그래프 이론 - 트리 분해, 트리 DP, 라벨링 기법 Day 1: 트리 분해 (Tree Decomposition)강의 내용:트리 분해의 개념트리 분해란 무엇인가?트리 분해의 목적 및 응용 사례트리 분해의 기본 용어트리 너비 (Treewidth)트리 분해의 정의트리 분해 알고리즘나이스 트리 분해 (Nice Tree Decomposition)시간 복잡도 분석트리 분해의 복잡도 및 효율성실습:간단한 예제 그래프에서 트리 분해 수행# 트리 분해 예제import networkx as nxdef tree_decomposition_example(): G = nx.Graph() G.add_edges_from([(1, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5)]) T = nx.Graph() T.add_edges_fro.. 2024. 6. 2.
반응형