Big O 표기법 소개 👀
빅오란?
컴퓨터 과학에서 빅 O는 실행 시간이나 알고리즘이 사용하는 공간을 분석하는 데 사용됩니다. Paul Bachmann, Edmund Landau가 발명했습니다.
예제를 통해 몇 가지 일반적인 시간 복잡성에 대해 논의해 보겠습니다.
일정한 시간 O(1)
알고리즘에 일정한 시간이 있으면 출력을 생성하는 데 항상 동일한 시간이 걸린다는 것을 의미합니다.
예시
function removeLastitem(arr){
return arr.pop()
}
console.log(removeLastitem([1,2,3,4,5,6]))
위의 예에서 removeLastitem 함수는 배열에 10개 항목이 있는지 20개 항목이 있는지 여부에 상관없이 배열에서 마지막 항목을 제거하는 데 항상 동일한 시간이 걸립니다.
선형 시간 O(n)
알고리즘에 선형 시간이 있는 경우 입력 크기가 커짐에 따라 알고리즘의 실행 시간도 커집니다.
예시
function sum(arr) {
let total = 0;
for (let i = 0; i < arr.length; i = i + 1) {
total += arr[i];
}
return total;
}
console.log(sum([1, 2, 3, 4])) //10
위의 예에서 sum 함수는 배열의 크기에 따라 실행 시간을 늘립니다.
2차 시간 O(n2)
알고리즘의 실행 시간은 입력 크기의 제곱에 정비례합니다.
예시 :
function addAndLog(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length; j++) {
console.log(arr[i] + arr[j])
}//O(n)
console.log("----")
}// O(n)
}
다음 튜토리얼에서는 당신이 무언가를 배웠기를 희망하는 것에 대해 배울 것입니다.
즐거운 코딩...
reactgo.com에 원래 게시됨
Reference
이 문제에 관하여(Big O 표기법 소개 👀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sait/intro-to-the-big-o--2522텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)