1. 스택의 활용
스택은 시스템 내부에서부터 고급 알고리즘까지 매우 다양한 방법으로 활용된다. 스택활용의 가장좋은 예는 언두(undo)이다. 응용프로그램에서 작업을 진행하다가 undo를 할 때마다 바로 직전에 하였던 작업이 복구된다. 즉, 스택의 주 용도는 자료의 임시 저장 장소로의 이용이다.
시스템 내부에는 Internal Stack이라고 하여 함수의 호출이나 인터럽트를 처리할 때 현재의 주소나 상태를 임시로 저장해 두는 데 사용한다. 또한 고급 알고리즘에서는 산술 게산이나 재귀 호출을 비재귀 호출로 바꾸는 등에 많이 사용된다. 비슷한 성격으로 큐(queue)도 자료의 임시 저장에 많이 사용된다.
자료의 출입구가 어떻게 이루어져 있는 것이 합당한가에 따라 선택하여 사용하면 될 것이다.
- c#을 이용한 알고리즘
2. .NET 클래스를 이요한 스택 구현
.NET 프레임에서 기본으로 제공되는 데이터 구조를 사용하면 코드 길이를 단축시킬 수 있으며 편리하다.
다음은 System.Collections의 Stack을 이용한 예로 오렌지와 딸기를 Push하고 pop을 더 번 실행한 경우이다.
반응형
'IT > [Everyday]Coding' 카테고리의 다른 글
트리 in C# (0) | 2014.12.19 |
---|---|
큐 in C# (0) | 2014.12.19 |
알고리즘을 공부하기 위한 기초 [ linear structure - Stack ] (0) | 2014.12.19 |
알고리즘을 공부하기 위한 기초 [ 자료 구조 ] (0) | 2014.12.19 |
[C++] 클래스로 LIFO(스택) 구현하기 (0) | 2014.12.19 |