빅오 표기법은 다음과 같이 나타낸다.시간에 따라서 나열해보면 나타낼 수 있다.O(2^n) > O(n^2) > O(n log n) > O(n) > O(log n) > O(1)입력 범위 n을 기준으로 로직이 몇 번이나 반복되는지 나타내는 것가장 영향을 많이 끼치는 항의 상
선택정렬은 제자리 정렬 알고리즘에 속하고, 주어진 리스트나 배열을 정렬하는 방법 중 하나다.예제를 통해서 선택 정렬을 한 번 알아보자다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하라.1 10 5 8 7 6 4 3 2 9선택정렬로 문제를 해결해보자배열의 숫자 중
버블 정렬은 인접한 두 개의 요소를 비교하고 필요한 경우에 위치를 교환하여 정렬을 수행하는 정렬 알고리즘이다.예제를 통해서 선택 정렬을 한 번 알아보자다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하라.1 10 5 8 7 6 4 3 2 9지난 번에는 선택 정렬로
삽입 정렬은 각 숫자를 적절한 위치에 삽입하는 정렬방법이다.앞서 알아보았던 선택 정렬(Selection)과 버블 정렬(Bubble)은 반복을 무조건 수행해야 했다.이번에 알아볼 삽입 정렬(Insertion)은 필요한 경우에만 위치를 변경한다.삽입 정렬의 경우 특수한 경
예제를 통해서 퀵 정렬을 한 번 알아보자다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하라.3 7 8 1 5 9 6 10 2 4특정한 값을 기준으로 큰 숫자와 작은 숫자를 서로 교환한 뒤에 배열을 반으로 나눈다.퀵 정렬에서는 기준 값이 있고 이 기준 값을 피벗(P
퀵 정렬과 마찬가지로 분할 정복을 채택한 알고리즘이다퀵 정렬은 피벗값(기준값)에 따라서 결과가 편향되지만,병합정렬은 절반씩 나눠서 진행하므로 시간복잡도 n log(n)이 보장된다.예제를 통해서 병합 정렬을 한 번 알아보자다음의 숫자들을 오름차순으로 정렬하는 프로그램을
당장 눈 앞에 보이는 최적의 상황만을 쫓는 알고리즘이다.항상 최적의 결과를 도출하지는 않지만, 최적에 근사한 값을 구할 수 있다.그리디 알고리즘은 무조건 큰, 무조건 작은, 무조건 짧은, 무조건 긴 경우 등등 극단적으로 문제에 접근하며, 정렬 알고리즘과 함께 사용되기도
힙 정렬을 알아보기 전에 이진트리에 대해서 알아야한다.이진트리(Binary Tree)는 컴퓨터가 데이터를 표현할때, 데이터를 두개씩 이어붙이는 것을 말한다.각 데이터는 노드라고 말한다.가장 최상단에 홀로 위치하는 노드를 루트(Root) 노드,가지의 끝 최 하단에 위치하
계수 정렬은 범위 조건이 있는 경우에 한해서 빠른 알고리즘이다.조건이 충족되면 O(n)의 시간 복잡도를 갖는다.1 3 2 4 3 2 5 3 1 2 3 4 4 3 5 1 2 3 5 2 3 1 4 3 5 1 2 2 1 1위의 숫자 데이터를 오름차순으로 정렬하라위의 문제를
스택은 컴퓨터 공학에서 자료를 표현, 처리하는 방법이다스택은 입구와 출구가 하나인 구조로 되어있다먼저 들어온 데이터는 가장 나중에 나가게 된다(FILO)JavaScript를 해석하는 엔진은 함수를 처리하는데 스택 구조를 사용한다 - 콜스택5를 추가8을 추가10을 추가데