C로 배우는 쉬운 자료구조 4판 5장 - 스택
본 내용은
"
c로배우는 쉬운 자료구조 4판 5장
"
의 원문 자료에서 일부 인용된 것입니다.
2023.11.21
문서 내 토픽
-
1. 스택(Stack)의 정의 및 특성스택은 모든 삽입 및 삭제가 한 끝(top)에서만 이루어지는 후입선출(LIFO: Last-In-First-Out) 형태의 선형 자료구조입니다. 데이터가 입력된 순서의 역순으로 출력되며, 서브프로그램 호출, 함수 실행 등 다양한 컴퓨터 시스템에서 활용됩니다. 스택 포인터(top)를 사용하여 삽입과 삭제 위치를 관리하며, 배열이나 연결 리스트로 구현할 수 있습니다.
-
2. 스택의 구현 및 알고리즘스택은 1차원 배열 또는 연결 리스트를 이용하여 구현됩니다. 배열 구현 시 top 변수를 -1로 초기화하여 공백 상태를 나타내고, push 함수로 데이터를 삽입하고 pop 함수로 삭제합니다. 연결 리스트 구현 시 포인터를 사용하여 노드를 관리하며, 언더플로우 처리를 위해 top이 NULL인지 확인합니다. 각 연산의 시간복잡도는 O(1)입니다.
-
3. 표기법 변환(중위, 전위, 후위)중위 표기법(infix)은 일반적인 수식 표현으로 연산자가 피연산자 사이에 위치합니다. 전위 표기법(prefix)은 연산자가 피연산자 앞에, 후위 표기법(postfix)은 연산자가 피연산자 뒤에 위치합니다. 스택을 이용하여 중위 표기법을 후위 표기법으로 변환할 수 있으며, 후위 표기법은 괄호 없이도 연산 순서를 명확히 나타낼 수 있어 컴퓨터 계산에 효율적입니다.
-
4. 스택을 이용한 수식 계산후위 표기법으로 표현된 수식을 스택을 이용하여 계산합니다. 피연산자를 만나면 스택에 push하고, 연산자를 만나면 스택에서 필요한 개수의 피연산자를 pop하여 연산을 수행한 후 결과를 다시 push합니다. 이 과정을 반복하면 최종 결과를 얻을 수 있으며, 스택 컴퓨터는 이러한 방식으로 모든 연산을 처리합니다.
-
1. 스택(Stack)의 정의 및 특성스택은 컴퓨터 과학의 기본적이면서도 매우 중요한 자료구조입니다. LIFO(Last In First Out) 원칙에 따라 동작하는 스택은 그 단순성과 효율성으로 인해 다양한 분야에서 활용됩니다. 스택의 특성을 이해하는 것은 프로그래밍의 기초를 다지는 데 필수적입니다. 특히 함수 호출 스택, 메모리 관리, 브라우저의 뒤로가기 기능 등 실제 응용 사례가 많아서 이론적 학습뿐만 아니라 실무적 가치도 높습니다. 스택의 push, pop, peek 연산의 시간복잡도가 O(1)이라는 점은 효율적인 알고리즘 설계에 매우 유리합니다.
-
2. 스택의 구현 및 알고리즘스택은 배열과 연결 리스트 두 가지 방식으로 구현할 수 있으며, 각각의 장단점이 있습니다. 배열 기반 구현은 메모리 접근이 빠르고 구현이 간단하지만 크기가 고정되는 문제가 있고, 연결 리스트 기반 구현은 동적 크기 조정이 가능하지만 추가 메모리 오버헤드가 발생합니다. 현대적 프로그래밍 환경에서는 동적 배열을 사용하여 두 방식의 장점을 결합하는 것이 일반적입니다. 스택 구현 시 오버플로우와 언더플로우 처리가 중요하며, 이를 통해 견고한 자료구조를 만들 수 있습니다.
-
3. 표기법 변환(중위, 전위, 후위)표기법 변환은 수식을 다양한 형태로 표현하는 중요한 기술입니다. 중위 표기법은 인간이 직관적으로 이해하기 쉽지만 컴퓨터가 처리하기 복잡하고, 전위와 후위 표기법은 괄호 없이도 연산 순서를 명확히 할 수 있어 컴퓨터 처리에 효율적입니다. 특히 후위 표기법은 스택을 이용한 계산이 매우 간단하므로 많은 컴파일러와 계산기에서 사용됩니다. 표기법 변환 알고리즘을 이해하면 수식 파싱과 컴파일러 설계의 기초를 습득할 수 있습니다.
-
4. 스택을 이용한 수식 계산스택을 이용한 수식 계산은 후위 표기법의 실제 응용으로, 매우 우아하고 효율적인 알고리즘입니다. 후위 표기식을 왼쪽에서 오른쪽으로 순회하면서 피연산자는 스택에 push하고 연산자를 만나면 필요한 피연산자를 pop하여 계산하는 방식은 시간복잡도 O(n)으로 매우 효율적입니다. 이 방식은 괄호 처리가 필요 없고 연산 우선순위를 자동으로 처리하므로 계산기, 수식 평가 엔진, 데이터베이스 쿼리 처리 등에 광범위하게 활용됩니다. 스택 기반 수식 계산은 컴퓨터가 수식을 처리하는 기본 원리를 이해하는 데 매우 도움이 됩니다.
-
저온형 SOFC의 전해질 재료와 양극 재료[신재생에너지 실험] 6페이지
1. 설계 제목 : < 저온형 SOFC의 전해질 재료와 양극 재료 >2. 설계 배경 및 목표고체전해질을 사용하는 SOFC는 액체전해질을 사용하는 기존 1세대 연료전지에 비해 시스템 안정성이 뛰어나 고분자전해질 연료전지(PEMFC)와 함께 기존 1세대를 대체할 차세대 연료전지로 각광받고 있다. 그중에서도 800 ℃ 이상의 고온에서 작동하는 SOFC는 저온에서 작동하는 PEMFC에 비해 에너지 효율이 월등히 높으며 고가의 외부 개질장치 없이도 LPG, LNG등의 탄화가스를 직접 연료로 사용할 수 있어 기존 화석연료 시스템에도 적용 가능...2008.05.15· 6페이지 -
[전자공학] PDA를 이용한 LCD 무선 제어 23페이지
목 차1. 개요2. 활용방안3. 개발환경4. 선행기술(1) PDA(2) TCP/IP 통신(3)Windows Socket(4)TCP 프로그램(5)I/O ActiveX Control(6) AVR-85155. 제작과정(1)클라이언트 프로그래밍(2)서버 프로그래밍(3)AVR-8515 프로그램6. 문제점 및 결론7. 부록 - AT90S8515 데이터 시트1. 개요무선 인터넷을 이용해서 서버의 시리얼포트를 통해 하드웨어를 제어해보고자 한다. 이때 클라이언트는 PDA가 되며 서버는 데스크탑PC이다. PC의 시리얼포트를 통해 AVR-8515 KI...2002.10.16· 23페이지
