해당 자료는 유튜브 신찬수 한국외대 교수님 강의를 시청하며 작성되어 있습니다. 🙏🏻
자료구조와 이를 해결하기 위한 알고리즘이 어느 정도의 성능을 보이는지 측정하고 비교해보자.
-> 즉 이는 큰 문제가 될 수 있다.
가상의 컴퓨터(Virtual Machine) + 가상언어(Pseudo language) + 가상코드(Pseudo Code) 를 사용하자.
이렇게 하면 HW/SW 환경에 독립적이기 때문에 누구나 같은 환경에서 알고리즘을 객관적으로 비교할 수 있게 된다.
가상 컴퓨터(Virtual Machine/Random Access Machine)
Turing Machine -> von Neumann: RAM(Random Access Machine)
RAM = CPU + Memory + 기본연산(단위시간에 수행되는 연산들의 모음)
즉, CPU와 Memory와 함께 계산을 하는 것이 알고리즘이고,
알고리즘이 RAM이라는 가상컴퓨터 위에서 돌아가는 것!
RAM은 가상의 컴퓨터 환경으로써 알고리즘 성능을 측정하는 기준 플랫폼이다.
배정, 대입, 복사 연산 등과 같이 일반적으로 한 단위 시간 안에 수행되는 연산
A = B
(Read and Write)즉, 우리는 기본연산으로 정의한 가상의 컴퓨터를 RAM이라고 칭하고,
이 RAM 모델 위에서 알고리즘이 실행되고 측정되는 시간을 비교하는
알고리즘 복잡도를 계산하고 비교할 것이다.