목록Basis/Algorithm (10)
Adore__

https://devowen.com/260 백준 2109 / 그리디(Greedy) 알고리즘 / JAVA 오늘 설명할 문제는 백준 2109번 순회 강연이다. https://www.acmicpc.net/problem/2109 2109번: 순회강연 문제 한 저명한 학자에게 n(0≤n≤10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1≤d≤10,0 devowen.com 이 포스팅을 참고하여 공부하였다. 탐욕 알고리즘이란, 현재 상태에서 가장 최선의 선택지를 선택하다보면, 전체 선택지 중에 가장 최적의 선택지를 얻어낼 것이라고 가정하고 풀어가는 방법이다. 즉, 지금 상태에서 할 수 있는 최선의 길로 가다보면 내 인생에서 최고의 길로 가게 될 거라는...그런 가정..🥲 (난 이렇게 믿고 살고있는..

Source: inflearn 'Do it! 알고리즘 코딩테스트 with python' Depth-First Search (DFS) 깊이 우선 탐색은 그래프의 완전 탐색 기법 중 하나이다. * 완전 탐색 기법 : 가능한 경우의 수를 모두 나열하면서 원하는 답을 찾는 방법 (그래프의 모든 노드 다 살펴볼거야~) ▪️방법 1) 그래프의 시작 노드에서 출발하여 탐색할 한쪽 분기(줄기)를 정한다. 2) 그 분기의 최대 깊이 (가장 밑에 있는 노드)까지 탐색을 마친다 3) 다른 쪽 줄기로 이동하여 반복한다. ▪️특징, 시간 복잡도 기능 특징 시간복잡도 (node 수: V / edge 수 : E) 그래프 완전 탐색 - LIFO 탐색 - 재귀 함수로 구현 - 스택 자료구조 이용 O(V+E) 우선 깊이우선 탐색은 그래..

Source : Inflearn - 'Do it! 알고리즘 코딩테스트 파이썬' 정렬의 종류는 버블, 선택, 삽입, 퀵, 병합, 기수 총 6가지가 있다. Bubble sort ▪️특징 - 인접한 데이터의 크기를 비교해서 정렬하는 방법이다. - 시간 복잡도가 O(n^2)으로, 다른 정렬 알고리즘에 비해 느리다. ▪️방법 첫번째 원소부터 인접한 원소와 크기를 비교한다. 만약 i+1 원소보다 i 원소가 더 크면, 둘이 순서를 바꿔준다. 이렇게 1번부터 N번까지 돌아가면서 바꿔주다보면, 가장 마지막원소는 가장 큰 원소가 된다. 이게 1번의 루프이다. 위 그림에서 파란색 박스는 이미 정렬된 데이터로, 다음 루프에서는 제외된다. 루트 한번을 돌 때는, 모든 원소들을 하나하나 체크해가며 순서를 바꿔야 하기때문에 n번 ..
Source : Inflearn - 'Do it! 알고리즘 코딩테스트 with python' 사실 알고리즘은 코드로 구현해보는 게 가장 공부가 잘 되는 것 같다. 따라서 이 카테고리는 그냥 이론 공부한 날 일기처럼 혼잣말 하는 그런...느낌.. 절대로 이 글은 지식 전달 목적이 아니니 이 점 유의하시길 바랍니다 ㅎ헤 Time Complexity 보통 컴퓨터는 1초에 2000만개 수행 최악의 상황을 고려했을때도 잘 수행되어야 함 따라서 Big O 시간복잡도를 따지자 (최악의 상황) 코드 안에서 가장 중첩되는 부분 (for문, while문..)을 찾아서 간단하게 바꿔야 한다. [알고리즘] Time Complexity (시간 복잡도) - 하나몬 ⚡️ Time Complexity (시간 복잡도) Time Com..