algorithm
[알고리즘] 공간복잡도
1. 공간 복잡도 - 공간 복잡도 : 얼마나 많은 저장 공간이 필요한지를 나타낸다. - 시간 복잡도 : 얼마나 빠르게 실행되는지를 나타낸다. - 알고리즘은 공간 복잡도, 시간 복잡도를 통하여 평가될 수 있다. - 이 중 우리가 더욱더 집중해야 하는 부분은 시간 복잡도 이다. - 왜냐하면 최근에는 대용량 시스템이 보편화되면서 공간 복잡도보다는 시간 복잡도가 우선되기 때문이다. - 하지만 좋은 알고리즘은 실행 시간도 짧으며, 저장 공간도 적게 쓰는 알고리즘이다. 2. 공간 복잡도의 계산 방법 - 총 필요 저장 공간 : 프로그램을 실행 및 완료하는데 필요한 저장공간의 양을 뜻한다. (실제 알고리즘 실행시 사용되는 저장 공간을 계산하면 된다. ) - 고정 공간 (알고리즘과 무관한 공간) : 코드 저장 공간, 단..
[자료구조] 트리 & 이진 탐색 트리
1. 트리구조란 무엇일까? - 트리란 Node와 Branch를 이용해서 , 사이클을 이루지 않도록 구성한 데이터 구조이다. - 트리는 넓은 범위의 의미이고, 우리가 자주 볼 형태는 이진트리(Binary Tree) 형태의 구조이다. - 이진트리는 검색, 탐색 알고리즘에 많이 사용된다. 1-1. 익혀두어야 할 용어 - Node : 트리에서 데이터를 저장하는 기본 요소 (데이터와 다른 연결된 노드에 대한 branch 정보를 포함한다.) - Root Node : 트리 맨 위에 있는 노드 - Level : 최상위 노드를 Level 0으로 하였을 때, 하위 branch로 연결된 노드의 깊이를 나타낸다. - Leaf Node : Child Node 가 하나도 없는 노드 2. 이진트리 & 이진 탐색 트리 (Binary..