[세호/week6] 그래프의 개념과 정의, 탐색 방법
그래프 그래프는 유한하고, 하나 이상의 원소를 갖는 Vertex 집합과 Vertex의 부분집합의 순서있는 쌍으로 이루어진 Edge의 집합으로 이루어진다. Edge는 Vertex의 쌍 (v1, v2)와 같이 나타내고, 방향그래프에서 순서는 유의미하다 헷갈리는 그래프 관련 ...
분할정복 알고리즘은 문제를 나눌 수 없을 떄까지 나누어서 각각을 풀면서 다시 합병하여 문제의 답은 얻는 알고리즘이다.
(1) 분할(Dicide) : 문제가 분할이 가능한 경우, 2개 이상의 문제로 나눈다.
(2) 정복(Conquer) : 나누어진 문제가 여전히 분할이 가능하면, 또 다시 Divide를 수행한다.
(3) 결합(Combine) : Conquer한 문제들을 통합하여 원래 문제의 답을 얻는다.
교환정렬의 일종이며 분할-정복법(divide and conquer)에 근거한다.
정렬할 리스트를 두개로 분할하고 정렬하는 방법이다.
축(pivot)값을 기준으로 정렬하는데, 축값을 중심으로 축값보다 큰 값은 오른쪽 리스트에 작은 값은 왼쪽리스트로 이동시킨다. (첫번째의 데이터를 축값으로 한다.)
오른쪽 리스트와 왼쪽 리스트부분은 독립적인 단위로 정렬하여 오른쪽 리스트부분에 대한 새로운 분할 축값을 선택하여 두 부분으로 분리하고, 왼쪽 리스트부분 역시 새로운 축값을 선택하여 두 부분으로 분리하는 과정을 반복하는데 리스트들은 재귀적 방법으로 각각 재배열하는 방식이다.
각 분할 자료개수가 1이 되면 정렬은 완료된다.
코드예시) https://fistpark.tistory.com/entry/%ED%80%B5%EC%A0%95%EB%A0%ACQuick-Sort%EC%9D%B4%EB%9E%80
리스트의 길이가 1이 될때까지 반으로 잘게 나눈다.-> 분할(Divide)
다 나누어 졌다면, 데이터를 합치는데(Merge), 정렬하면서 합친다.
그래프 그래프는 유한하고, 하나 이상의 원소를 갖는 Vertex 집합과 Vertex의 부분집합의 순서있는 쌍으로 이루어진 Edge의 집합으로 이루어진다. Edge는 Vertex의 쌍 (v1, v2)와 같이 나타내고, 방향그래프에서 순서는 유의미하다 헷갈리는 그래프 관련 ...
그래프(Graph)의 개념 단순히 노드(N, node)와 그 노드를 연결하는 간선(E, edge)을 하나로 모아 놓은 자료 구조
트리의 개념
트리의 구현과 순회
자료구조란? 자료구조(data structure)는 전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다.
동적 계획법
동적 계획법 - Dynamic Programming ; DP
분할 정복이란 문제를 둘 이상의 부분으로 나누어, 부분 문제에 대한 답을 재귀 호출을 이용해 계산하는 알고리즘 디자인. 분할 정복을 적용하기 위해서는 .. 문제를 둘 이상의 부분 문제로 나누는 자연스러운 방법이 있어야하고 부분 분제의 답을 조...
분할 정복(Divide and Conquer)이란?
분할 정복 이란? 분할정복 알고리즘은 문제를 나눌 수 없을 떄까지 나누어서 각각을 풀면서 다시 합병하여 문제의 답은 얻는 알고리즘이다.
분할정복이란
모든 경우에 있어서 항상 우월한 성능을 보이는 자료구조와 알고리즘은 없다. 그래서 자료구조와 알고리즘을 분석하고 평가할 수 있어야 한다.
Algorithm Study Week1 일자 : 2019년 10월 7일 월요일 Member : 이세호, 김범철, 이지연, 이지혜 “프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략” 2, 3, 4장 키워드 : 시간복잡도와 Big-O 표기 Algospot 튜토리...
Algorithm Study Week1 일자 : 2019년 10월 7일 월요일 Member : 이세호, 김범철, 이지연, 이지혜 “프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략” 2, 3, 4장 키워드 : 시간복잡도와 Big-O 표기 Algospot 튜토리...