알고리즘 2

순회

전위 순회(preorder) 진행 방법 1. 노드를 방문한다. 2. 왼쪽 서브 트리를 전위 순회한다. 3. 오른쪽 서브 트리를 전위 순회한다. 중위 순회(inorder) 진행 방법 1. 왼쪽 서브 트리를 중위 순회한다. 2. 노드를 방문한다. 3. 오른쪽 서브 트리를 중위 순회한다. 후위 순회(postorder) 진행 방법 1. 왼쪽 서브 트리를 후위 순회한다. 2. 오른쪽 서브 트리를 후위 순회한다. 3. 노드를 방문한다. 전위 순회 : 0 → 1 → 3 → 7 → 8 → 4 → 9 → 10 → 2 → 5 → 11 → 6 중위 순회 : 7 → 3 → 8 → 1 → 9 → 4 → 10 → 0 → 11 → 5 → 2 → 6 후위 순회 : 7 → 8 → 3 → 9 → 10 → 4 → 1 → 11 → 5 → ..

알고리즘 2021.01.20

Brute Force 알고리즘

브루트 포스 공격(brute force attack), 키 전수조사(exhaustive key search)또는 무차별 대입 공격(無差別 代入 攻擊)은 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법이다. 영어로 brute는 "짐승같은, 난폭한"이라는 뜻이고, brute-force는 "난폭한 힘, 폭력"이라는 뜻이다. 이 알고리즘은 무식해 보이지만 항상 정확도 100%를 보장한다는 점에서, 자원만 충분하면 가장 무서운 방법이다. 브루트 포스의 특장점은 거의 완벽하게 병렬작업이 가능하다는 점이다. 이 때문에 병렬 프로그래밍 기법을 사용하거나, GPGPU를 이용하기도 하며, 여러 대의 컴퓨터를 연결해서 동시에 작업할 수도 있다. 이렇게 하면 투자 자원에 비례해서 문제를 해결하는 ..

알고리즘 2020.07.03