• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

수행시간 차이

22.03.13 16:18 작성 조회수 114

0

for i in range(1,N+1):
for j in range(1,N+1):
if all(a[i][j]>a[i+dy[k]][j+dx[k]] for k in range(4)):
cnt+=1
"""
for i in range(1,N+1):
for j in range(1,N+1):
up= a[i+1][j]
down=a[i-1][j]
right=a[i][j+1]
left=a[i][j-1]
if a[i][j]>up and a[i][j]>down and a[i][j]>left and a[i][j]>right:
cnt+=1

여기서 위에 for문은 3중 for문으로 수행시간이 O(n^3),

밑에 for문은 2중 for문으로 수행시간이 O(n^2)인가요?

그렇게 되면 3중 for문의 수행시간이 더 오래 걸리는데, 둘 중에 효율성이 뭐가 좋을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요^^

두 코드 모두 연산횟수는 똑같습니다.

for문을 몇 개썼냐 보다는 해당 코드의 연산횟수가 시간복잡도입니다.