분류 전체보기 25

트리 알고리즘 (4- 트리의 순회방법 (정리편))

○이어지는 글 kuck-su-labor.tistory.com/53 ○들어가는 글 저번 시간에는 우리가 트리의 순회 방법의 대해서 간단히 개념만을 알아보았습니다. 이번 시간에는 이러한 개념에 대해서 실습해보는 시간을 가지려고 합니다. ○트리의 구현 이전 글에서 있던 트리입니다. 한쪽으로는 노드의 값을 1 증가시키고, 다른 쪽은 증감 없이 진행하는 트리를 만들었습니다. 이러한 완전 탐색 트리는 특정 로직으로 모든 경우의 수를 탐색하였을 때의 경우의 수를 모두 얻을 수 있다고 이야기 드렸습니다. 그리고 이를 간단히 재귀로 구현을 한다면 다음과 같은 것입니다. 결과를 보면 우리가 처음에 그렸던 그림과 같이 순서대로 리프(트리의 마지막) 부분의 값들이 출력되는 것을 알 수 있습니다. 이처럼 재귀를 통해서 완전 탐..

알고리즘 5+1 2021.04.07

일단 해보는 타블렛

이번에 작은 태블릿을 하나 사면서, 그림연습을 하면 어떨까 했습니다. 특히 타블렛의 장점이라면 바로, 간단하게 그릴 수 있으면서도 컬러로 그릴 수 있다는 것이지요. 스케치북은 연필로 그리는 경우가 많아서, 흑백인 스케치위주였지만, 타블렛은 다르죠 (그래도 연필이 역시 좀 더 정겨운 것 같습니다. ) 때문에 지금과는 다른 새로운 연습에 도전해 보려고 합니다. 간단히 명암연습을 해 보았는데, 컬러라는 것을 살려서 그림자가 지는 부분을(하늘과 마주보는 부분) 한색으로, 반사광은 온색으로 처리하는것에 신경을 썼습니다. 왜냐하면 전자는 푸른 하늘의 영향을 받을 것이고, 후자는 땅의 색을 반사광으로 받는것으로 알고 있기 때문입니다.

트리 알고리즘 (3 - 트리의 순회방법 (개념편))

○이어지는 글 https://kuck-su-labor.tistory.com/52 ○들어가는 글 원래 이어지는 글이라면 이번시간에는 greedy알고리즘을 설명하는 시간 이였습니다. 하지만 그 전에 지금이 아니면 순회방법의 대해서 다룰 타이밍이 따로 없을 것 같아서 잠시 순회의 대해서 먼저 설명하려고합니다. 저번 글에서는 트리의 마지막 부분에서 값을 얻음으로써 값을 얻는 완전탐색의 대해서 알아보았습니다. 하지만 우리는 각 노드의 값을 구해야 하는 경우도 있습니다. 이러한 경우에는 단순히 각 노드를 담당하는 함수 자체에서 값을 얻는 (출력문을 넣는다거나) 것으로 해결 할 수 있을 것입니다. 하지만 우리가 더 알아야 하는 것은 노드를 참조할 때 순서가 있는 경우입니다. ○트리의 순회 트리는 크게 ‘전위 순회’ ..

알고리즘 5+1 2021.03.23

트리 알고리즘 (2 - 완전 탐색)

○이어지는 글 https://kuck-su-labor.tistory.com/50 ○들어가는 글 저번 시간에는 간단히 재귀적으로 트리 알고리즘을 구성하는 방법에 대해서 알아보았습니다. 들어가기 전에 요약한다면 재귀 함수 내에서 자기 자신을 N 번 호출함으로써, 각 노드에서 N개로 뻗어 나가는 트리를 만들 수 있다고 했습니다. 그리고 저번 시간에는 노드에서 2가지로 뻗어 나가는 이진트리를 예로 들어서 설명해 드렸습니다. ○트리의 활용 (완전탐색 - 브루트포스) 그렇다면 트리를 이용해서 무엇을 할 수 있을까요? 저번 글에서 마지막으로 다루었던 그림입니다. 임의의 변수 N이 있을 때 한쪽은 N을 1 증가시키고, 다른 한쪽은 아무것도 하지 않는 트리를 간단하게 그려보았습니다. 이렇게 되면 마지막 부분에서 N을 증..

알고리즘 5+1 2021.03.15

트리 알고리즘 (1 - 개요)

○들어가는 글 우선 이번 시간에는 알고리즘 중, 우리에게 흔히 배낭 문제라고 알려진 knapsack 알고리즘의 대해서 다뤄보려고 하였습니다. 나중에 글을 쓰겠지만 트리를 이용해서 모든 노드를 순회하는 알고리즘과, 이를 greedy 알고리즘으로 개선해서 좀 더 효율적으로 노드를 순회하는 2가지 방법에 대해서 알아보려고 했습니다. 하지만 우선, 그 전에 재귀 알고리즘으로 트리를 구성하고, 또 순회의 방법에 대해서 다룰 수 있고, 이가 한 파트가 될 수 있겠다 싶어서 가장 먼저 다루게 되었습니다. ○ 트리 트리의 가장 큰 특징이라고 한다면 루트 노드로부터 뻗어져 나오는 그래프의 모양일 것입니다. 특히 저는 트리라고 한다면 이진 트리가 가장 먼저 떠오릅니다. 아마 가장 간단한 형식이고, 눈에도 쉽게 들어오기 때..

알고리즘 5+1 2021.03.10