알고리즘

6.Breadth_first_search.md 너비 우선 탐색 (breadth-first-search)너비 우선 탐색을 사용하여 두 항목 간의 최단 경로를 찾을 수 있다.체커 게임에서 가장 적은 수로 승리할 수 있는 방법을 계산하는 인공지능맞춤법 검사기(실제 단어에서 가장 적은 개수의 글자를 고쳐서 올바른 단어를 만드는 방법을 찾는다.)네트워크에서 가장 가까운 의사 선생님을 찾기그래프란?연견의 집합을 모형화한 것.정점(node)과 간선(edge)으로 이루어져 있다.정점은 여러 개의 다른 정점과 바로 이어질 수 있고, 이러한 정점들을 이웃(neighbor) 이라고 한다.너비우선 탐색너비 우선 탐색은 그래프를 대상으로 하는 다른 종류의 알고리즘이다. 질문 유형 1 : 정점 A에서 정점 B로 가는 경로가 존재..
4.Quick_Sort.md 퀵정렬분할 정복가장 간단한 경우로 기본 단계를 찾는다.주어진 문제를 작게 줄여서 기본 단계가 되도록 만드는 방법을 찾는다.예 (덧셈 함수)[1,2,3,4] xxxxxxxxxxdef sum(arr): total = 0 for x in arr: total += x return total print(sum([1,2,3,4]))1단계 : 기본 단계를 찾는다. 가장 간단한 경우는 배열의 원소 개수가 0개 또는 1개인 배열을 받으면 합계를 구하는 것.2단계 : 재귀 함수 호출을 할 때마다 호출 대상이 되는 배열의 크기가 점점 감소시켜야 한다. 결론 리스트를 받으면 크기를 구해 비어있으면 0을 반환 그렇지 않으면 총합은 리스트의 첫 번째 숫자와 나머지 리스트의 총합을 더한 값이 된다.퀵 ..
그림으로 개념을 이해하는 알고리즘 Chapter 2. 이진탐색 예를 들어 전화번호부를 찾는다고 치자 이 씨를 찾기위해서는 맨앞에서 시작하는 방법과 중간부터 시작하는 방법 등 다양한 방법이 있을 것이다. 처음에서 시작하는 것보다 중간에서 시작하는 것이 더 빨리 탐색 1~100 까지 숫자 있을 때 1부터 순서대로 찾게 된다면 100이 찾는 수라면 100번을 수행해야 찾게 된다. (Simple Search) 더 좋은 탐색 방법 100의 중간 50부터 시작하는 것. 해당 부분보다 적거나 많다면 다시 절반 이러한 방식으로 찾게 된다면 더 빨리 찾게 될 것이다. 예) 100 -> 50 -> 25 -> 13 -> 7 -> 4-> 2 -> 1과 같은 순서대로 진행 될 것이다. 240,000개의 단어가 있다면 최대 몇 ..
J_Today
'알고리즘' 태그의 글 목록