시간복잡도
-
이진 탐색(Binary Search) 알고리즘과 시간 복잡도프로그래밍/자료구조 2016. 12. 16. 14:43
이진 탐색(Binary Search) 알고리즘과 시간 복잡도 이진 탐색(Binary Search) 순차탐색이 있으면 이진 탐색도 있다. 이진탐색이란 우선 이진탐색을 하기위해서는 반드시 정렬이 되어있어야한다. 이진탐색은 정렬된 데이터가 아니면 적용을 할 수 없기 때문이다. 우선 이진 탐색은 정렬된 데이터의 집합을 이분화 하면서 탐색하는것이다. 이진 탐색의 원리는 다음과 같다. [2] [4] [5] [7] [10] [20] [23] [29] [32] arr[0] arr[1] arr[2] arr[3] arr[4] arr[5] arr[6] arr[7] arr[8] 이렇게 정렬된배열이 있다고 가정한다. 배열의 이름을 arr이라 가정하고 이 배열을 대상으로 원하는값이 5라면 5를 찾기위한 이진트리의 원리는 이렇하다..
-
자료구조와 알고리즘의 성능분석방법프로그래밍/자료구조 2016. 12. 16. 01:50
자료구조 (Data Structure) 자료구조란 컴퓨터에서 처리할 자료들을 효율적으로 관리하고 구조한것이다.자료구조는 데이터를 표현한다는데 표현한다는뜻에는 저장의 의미도 담겨져있다.이렇게 자료들을 표현하면 그것들을 처리하는것을 알고리즘 이라고 한다.그래서 알고리즘은 자료구조에 의존적이기도하다 자료구조에는 다음과 같은 구조들이 있다 자료구조를 크게 나뉘어보면 선형구조와 비선형구조, 파일구조와 단순구조로 나눌수있다. 자료구조에서 배울내용들은 선형구조와 비선형구조를 주로 다루기도한다. 또한 자료구조는 수학과 많은 연관을 나뉘어지며 특히 이수식을 잘 알아야한다. x축이 데이터를 의미하고 y축이 연산의 횟수를 의미한다면 과연 두 식중에 어떤게 더 효율적인가 아무래도 데이터가 많을수록 연산횟수가 적으면 좋은 프로..