fibonacci(2)
-
[Recursion] Fibonacci
for loop : O(n) recursion : O(2^n) 재귀는 시간복잡도가 기하급수적으로 늘어나기 때문에 큰 자료에는 전혀 적합하지 않다. 하지만 자료가 크지 않고, 데이터에 사용되는 연산이 모두 동일한 경우에는 재귀만큼 가독성이 좋고 간편한 것이 없다. 특히 트리같이 같은 연산을 중복하여 훑는 경우에는 작은 모듈을 반복하듯이 처리할 수 있다. 모든 재귀는 반복문으로 대체할 수 있지만, 재귀만이 갖는 효용성은 Merge Sort, Quick Sort, Tree Traversal, Graph Traversal을 쉽게 처리한다.
2020.06.05 -
[Swift] 피보나치 수열 만들어보기
답이 여럿이겠지만, 끄적여 보았다. class Fibonacci { func fibonacci(n: Int) { var fiboArray = [0,1] var index = 0 func sum(a: Int, b: Int) -> Int { return a + b } if n == 1 { print([fiboArray[0]]) } else if n == 2 { print([fiboArray[0], fiboArray[1]]) } else if n >= 3 { while index < n - 2 { let nextNumber = sum(a: fiboArray[index], b: fiboArray[index+1]) fiboArray.append(nextNumber) index += 1 } print(fiboArr..
2020.04.14