
[백준] 최단거리 알고리즘 <2 : 벨만 - 포드>
0. 이전 글 최단거리 알고리즘 <1 : 다익스트라 > 이번 글에서는 다익스트라 알고리즘의 개념과 벨만 - 포드 알고리즘의 비교가 있을 예정이니 읽고 오면 좋다. 1. 벨만 - 포드 알고리즘의 소개 벨만 - 포드 알고리즘(Bellman-Ford Algorithm) 은 그래프에서 최단거리를 찾을 때 사용하는 알고리즘 중 하나이다. 특히...
0. 이전 글 최단거리 알고리즘 <1 : 다익스트라 > 이번 글에서는 다익스트라 알고리즘의 개념과 벨만 - 포드 알고리즘의 비교가 있을 예정이니 읽고 오면 좋다. 1. 벨만 - 포드 알고리즘의 소개 벨만 - 포드 알고리즘(Bellman-Ford Algorithm) 은 그래프에서 최단거리를 찾을 때 사용하는 알고리즘 중 하나이다. 특히...
0. 목표 BFS 작동방식 알아보기 BFS 구현방법 알아보기 코드 관련글 DFS DFS와 그래프의 정의를 보고 싶다면 해당 링크를 클릭. 1. BFS란? BFS는 Breadth First Search 의 약자로, 그래프 탐색 알고리즘의 방식 중 하나이다. 앞서 알아본 DFS의 경우 한 가지 leaf로 도달하는 경로를 한번에 탐색...
0. 이전글 1: 로그인 구현하기 2: 회원가입 구현하기 3: 회원탈퇴 구현하기 1. 구현점 로그인 되어있을 경우 session에 있는 회원 아이디 읽기 읽어들인 id로 관계형 db에서 검색하기 db의 정보를 리턴하기 2. 코드 이하의 코드는 로그인이 되어있을 경우를 상정한다. 2.1 회원 정보 검색 함수 def get_...
1. 이진 트리의 순회방법 1.0 이진 트리 - Binary Tree 이진 트리는 트리 중에서 각 노드의 자식 노드가 최대 2개인 노드를 뜻한다. 때문에 자식 노드가 없을수도, 하나만 있을수도, 2개까지 있을수도 있지만 3개 이상의 자식노드를 갖지 않는다. 특이점으로는 왼쪽 노드와 오른쪽 노드가 구분되어 있으므로 같은 자식 노드라 할지라도 방...
0. 이전 글 1 : 로그인 구현하기 2 : 회원가입 구현하기 1. 구현점 session에 저장된 회원 아이디로 관계형DB에서 검색하기 검색된 결과를 삭제하기 2. 코드 2.1 회원 삭제 함수 def delete_user(db, session): try: cursor = db.cursor() ...
0. 목표 DFS 작동방식 알아보기 DFS 구현방법 알아보기 코드 1. DFS란? DFS는 Depth First Search의 약자로, 그래프 탐색 알고리즘의 방식 중 하나이다. 여기서 그래프란, 정점(Vertex) 와 변(Edge) 로 구성된 자료구조로, 정점과 정점 사이는 변으로 이어져 있고, 이때 변에는 가중치, 혹은 방향이...
0. 이전 글 1 : 로그인 구현하기 1. 구현점 사용자 입력 받기 User 클래스를 통해 적절한 형식인지 검사 검사가 완료됐으면 관계형 DB에 저장 관계형 DB를 사용한 로그인 테스트 2. 코드 2.1 DB 연결 from flask import request, Blueprint, jsonify from model.use...
1. 다익스트라 알고리즘이란? 다익스트라 알고리즘(Dijkstra Algorithm)은 최단거리 알고리즘 중 하나이다. 음의 가중치(이때 가중치는 거리라고 생각하면 편하다)가 없는 그래프에서 사용할 수 있다. 알고리즘의 작동방식에 따라 음의 가중치가 있는 경우엔 해당 구간을 무한으로 돌아버려 음수의 무한대의 거리가 나오기 때문에 불가능하다. 시간...
DP에 대한 설명은 이하 링크를 참고 DP <1> # 1904 01타일 1904번: 01타일 이번 문제는 “00” 타일과 “1” 타일을 가지고 전체 길이가 N인 2진수의 갯수를 세는 문제이다. 예를 들어 N = 1 인 경우 1 만 가능하다. f(1) = 1 N = 2 인 경우 11과 00이 가능하다. f(2) = 2 N = 3...
동적 프로그래밍 (Dynamic Programing) 동적 프로그래밍이란 이전에 계산한 값을 저장해 둔 후 재활용하는 방법이다. 문제의 주어진 조건에서 점화식을 유도할 수 있다면 동적계획법으로 푸는 것이 효과적이다. 동적 프로그래밍은 이전 값들을 이용하기 때문에 조건에 따라 몇몇 초기 값들은 수동으로 입력해주어야 한다. (초기 값들은 조건에 따라 이...