역시 코테 풀다가 정리병이 도져 정리해본다...이분 검색은 단순하게 이야기하자면 반띵해서 반날리고...반띵해서 반날리고..의 반복이다.좀 더 자세하게 이야기하자면, 값이 정렬된 배열에서 중앙값을 찾아 해당 값이 찾고자 하는 값보다 큰지 작은지를 확인하고 작거나 크다면
답을 찾는 도중에 답이 아니어서 막히면, 되돌아가서 다시 답을 찾아가는 방법을 말한다.최적화 문제 와 결정 문제를 푸는 방법중 하나.DFS는 가능한 모든 경로를 탐색한다.(그 경로가 불필요하더라도)그렇기에 경우의 수를 줄이지 못한다.백트래킹은 지금 진행하고 있는 경로가
문제를 풀다가...'조합을 구해야하는데...' 까지만 생각하고 실제로 구현하는데 실패했다.어떻게 구해야하는지 알아보자..조합은 고등학교때 수학에서 배웠던 적이 있다.그 뒤로 문과대학생이 된 뒤로는 쳐다도 본 적이 없다.아무튼.. 조합은 다음과 같다.순서를 고려하지 않고
순열이란 무엇인가 순열은 조합과 다른 것이다. 조합은 n개중에서 순서가 고려되지 않는, 즉 앞뒤로 순서를 바꿔도 상관없는 그런걸 뽑는 걸 말한다. 그러나 순열은 n개중에서 순서가 고려되는, 즉 {1, 2}가 {2, 1}와는 다르다고 판단하는 경우의 수를 뽑는 것을
문제를 풀다보면 가장 많이 마주할 수 있는 문제가 DFS, BFS 문제라고 할 수 있을 정도다. 관련해서 한 번 정리하면서 되새겨보고자 한다. DFS DFS는 깊이 우선 탐색이며, 그래프에서 들어갈 수 있는 깊은 부분까지 우선적으로 탐색하는 알고리즘을 말한다.
ElasticSearch에서 사용되는 suggest api 관련해서 리서치하다가 내부에서 어떤 알고리즘이 사용되는지 확인하게 되었고, 그 중 가장 기본으로 사용되는 것이 다미레우-레벤슈타인 알고리즘이라는 것을 알게되었다. 이에 대해서 정확하게 어떤 알고리즘을 이용해서