• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

list #2 2:40~ 임의접근

22.11.29 11:52 작성 조회수 124

0

안녕하십니까! 강의 정말 잘 듣고 있습니다!

다름이 아니라 list의 임의 접근 문법이 막힌 이유에서 속도차이에 대해서 뭔가 팍!하고 와닿지 않아 질문드립니다.

vector같은 경우 '연속된'주소에 데이터가 저장되기 때문에 n번째 데이터는 ++연산으로 '바로 옆주소' 로 이동하여 찾는다. 그렇기 때문에 비교적 빠르게 찾을 수 있다.

하지만 list의 경우 연속되지 않는 다른 어딘가에 다음 값을 저장하고 그 주소로 가는 주소값을 들고 있는데 vector와는 다르게 일일이 '주소값을 타고 워프'를 해줘야하기 때문에 시간이 많이 걸린다.

 

라고 이해를 했지만 위 두 경우의 속도 차이가 문법을 막을 만큼 차이가 어마어마하게 나는 건가요?!

답변 1

답변을 작성해보세요.

0

데이터가 1억개 있다고 가정하고, 5천만번째 데이터를 찾아보시면 됩니다.
벡터라면 바로 접근이 가능이 가능하고,
리스트라면 5천만번 타고 타고 가야겠죠

디네로님의 프로필

디네로

질문자

2022.11.30

아..! 뭔가 제가 다르게 이해하고 있었던 것 같네요
백터는 어차피 서로 연속된 주소이니 순서대로 하나하나 찾아 볼 필요 없이 바로 접근이 가능하고
리스트는 그렇지 않으니 데이터가 많을 수록 그만큼 타고가야해서 오래 걸리는 거군요!
무의식적으로 백터도 임의 접근할 때 마치for문을 돌린 것 마냥 찾는다고 생각하고 있어서 감이 안 왔던 것 같습니다.
지금보니 다소 어이없는 질문이었네요ㅎㅎ.. 감사합니다!