알고리즘 (11) 썸네일형 리스트형 B-Tree란? 먼저 이진트리는 각각의 노드가 최대 두 개의 자식 노드를 가지는 트리 자료구조다. 이진트리의 종류로 정이진트리 : 트리의 모든 node가 0개 혹은 2개의 자식을 갖는 트리 포화이진트리 : leaf node가 끝까지 꽉 찬 트리 완전이진트리 : 마지막 레벨을 제외한 모든 레벨에서 순서대로 node가 채워진 트리 균형이진트리 : leaf node들의 레벨 차이가 최대 1레벨까지만 나는 트리 등이 있는데 오늘 얘기할 B-Tree는 균형이진트리에 속한다. 균형이진트리는 한 쪽으로 데이터가 쏠릴 수 있는 현실에서도 트리의 높이를 균형적으로 유지시켜줄 수 있어 많이 사용되는 자료구조이며, 검색할 때 최악의 시간복잡도가 O(log N)으로 굉장히 안정적이다. B-Tree B-Tree는 Balanced-tree로 이.. 그래프(Graph)란? 그래프 : 데이터들의 관계를 여러 개의 노드(node)와 이들을 연결하는 간선(edge)으로 표현한 자료구조이다. 노드는 정점(vertex)이라고도 하며, 방향성 있는 간선을 arc라고 하기도 한다. 그래프는 대표적인 비선형 자료구조다. 비선형 자료구조는 선형 자료구조와 달리 데이터를 일렬로 구성하지 않고, 자료 순서나 관계가 복잡한 자료구조를 말한다. 데이터 요소를 계층적으로 저장, 표현해 분기점이나 사이클 등이 존재한다. 비선형 자료구조는 선형 자료구조보다 복잡하지만 다양한 문제를 해결할 때 활용할 수 있다. 다른 노드로 나가는 간선을 해당 노드(정점)의 outdegree(도, 길)라고 하며, 들어오는 간선을 indegree라고 한다. 그래프의 장점 복잡한 관계를 직관적으로 표현할 수 있다. 네트워크.. 피보나치 수열(반복문, 재귀함수) 피보나치 수열이란? 1부터 시작하여 1,2 인덱스를 더하면 3인덱스의 답이되고, 2,3인덱스를 더하면 4 인덱스의 답이 되는 수열이다.. 1, 1, 2, 3, 5, 8 ........ 반복문을 이용하는 방법과 재귀 함수를 이용하는 두 가지 방법이 있다. 먼저 반복문을 이용하는 방법이다 # 반복문을 이용하는 방법 def fibonacci_for(n): list = [] if n 이전 1 2 다음