> 웹 프론트엔드 > JS 튜토리얼 > Big O 표기법: 순서도를 사용한 시간 복잡도 이해

Big O 표기법: 순서도를 사용한 시간 복잡도 이해

Mary-Kate Olsen
풀어 주다: 2025-01-05 01:07:38
원래의
920명이 탐색했습니다.

JavaScript의 Big-O 복잡성에 대한 Edison의 게시물을 적극 추천합니다. 본 주제에 관한 기사 중 가장 친근한 기사입니다.

더 이상 사용할 수 없는 기사

여기서는 플로우차트를 통해 Big-O 시간 복잡도를 시각화하면서 Edison의 요점을 참고하겠습니다.

오로그(n)

대수 시간

Big O Notation: Understanding Time Complexity using Flowcharts

시간 복잡도를 시각적으로 이해하는 방법은 반복자(예: i*2 )를 보고 함수에 얼마나 많은 루프가 있는지 살펴보는 것입니다.

에)

선형시간

Big O Notation: Understanding Time Complexity using Flowcharts

선형 시간과 로그 시간은 비슷해 보이지만 루프의 조건으로 인해 출력이 다릅니다. exampleLogarithmic(100)은 1, 2, 4, 8, 16, 32, 64를 반환하는 반면 exampleLinear(100)는 단순히 100 미만의 모든 양의 정수를 반복합니다.

오(n^2)

2차 시간

Big O Notation: Understanding Time Complexity using Flowcharts

루프 수는 n이 증가하는 지수와 일치합니다. 시간 복잡도가 증가함에 따라 문자 그대로 함수가 더 커지는 것을 볼 수 있습니다.

오(n^3)

입방시간

Big O Notation: Understanding Time Complexity using Flowcharts

이것이 시간 복잡도를 이해하는 유일한 방법은 아니지만, 시간 복잡도가 증가함에 따라 함수가 더 길어지는 것을 문자 그대로 확인하는 것은 정말 도움이 됩니다. 때로는 흑백으로 작성된 코드가

 블록은 시각적 학습자에게 요점을 전달하지 못합니다.

이제 퀴즈를 내보겠습니다. 이 함수의 시간 복잡도는 얼마입니까?

생각해 보세요...

Big O Notation: Understanding Time Complexity using Flowcharts

선형적입니다! 루프가 하나 있고 반복자로 인해 루프가 정수를 건너뛰지 않기 때문에 알 수 있습니다.

이 함수의 시간 복잡도는 얼마입니까?

Big O Notation: Understanding Time Complexity using Flowcharts

자신을 의심하지 마십시오. 첫 번째 예와는 조금 다르지만 선형 시간 복잡도를 갖습니다.

이 함수의 시간 복잡도는 얼마입니까?

Big O Notation: Understanding Time Complexity using Flowcharts

여기서 패턴을 볼 수 있습니다. 선형적입니다!

이제 제 논리를 따라오셨다면 이것은 까다로운 질문일 수도 있습니다.

Big O Notation: Understanding Time Complexity using Flowcharts

지수 n을 나타내는 루프의 수는 으로 올라간다고 했습니다. 그렇다면 이것이 2차가 아닌 선형 시간 복잡도를 갖는 이유는 무엇입니까?

다른 for 루프 내부에 for 루프가 표시되면 2차 시간 복잡도가 발생합니다. 그러나 다른 for 루프 뒤에 실행되는 하나의 for 루프는 2차가 아니라 선형 시간 복잡도를 갖습니다.

그럼 이 함수의 시간복잡도는 얼마나 되나요?

Big O Notation: Understanding Time Complexity using Flowcharts

여기에는 까다로운 것이 없습니다. 이는 2차 시간 복잡도를 갖습니다.

이제 마지막 질문인 다른 모든 질문에 대한 질문입니다. 이 함수의 시간 복잡도는 얼마입니까?

Big O Notation: Understanding Time Complexity using Flowcharts

for 루프의 조건과 루프의 개수를 살펴보시기 바랍니다. 이는 루프 조건 i

이 게시물의 이미지는 내 앱으로 생성되었으며, 개발 과정은 다른 게시물에서 설명했습니다.

Big O Notation: Understanding Time Complexity using Flowcharts[

Lighthouse에서 100점을 얻는 방법

엔더 미니야드 ・ Aug 30 '20 ・ 2분 읽기

webperf#속도#javascript#webdev

](/ender_minyard/how-i-got-100-on-lighthouse-2icd)

위 내용은 Big O 표기법: 순서도를 사용한 시간 복잡도 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿