3학년 2학기/프로그래밍 언어론1 Programming Language, Deferring Substitution 다음과 같은 Sequence를 이행한다고 생각해보자. 어느 순간, 수학적으로 문제가 발생한다. Interpreter는 Substitution을 한 번의 with 를 수행할 때마다 시행되어야 한다. 이것은 전체적으로 느려지는 결과를 나타내게 된다. 만약 프로그램의 크기가 N이라고 한다면 각각의 Substitution을 더하게 되면 시간 복잡도는 O(n^2)가 된다. 굉장히 알고리즘적으로 좋지 않음을 알 수 있을 것이다. 그렇다면 어떻게 연산량을 줄일 수 있을까? 여기서 Deferred Substitution 개념이 나오게 된다. 구체적으로 살펴보자. 초기에 Substitution이 발생하지 않으면 저장 공간은 비어있는 상태가 된다. 매순간 우리가 Substituion을 하게 될 때 우리는 저장공간을 하나 .. 2022. 9. 30. 이전 1 다음