Top Banner
2 0 1 4 7 1 0 N e w M e m b e r Education Seminar
62

Basic Data Structure stack&queue

Jul 28, 2015

Download

Engineering

Namhoon Kim
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Basic Data Structure stack&queue

2 0 1 4 7 1 0N e w M e m b e r Education Semi-

nar

Page 2: Basic Data Structure stack&queue

Before entering the Seminar

Page 3: Basic Data Structure stack&queue

Stack & Queue

Page 4: Basic Data Structure stack&queue

Table ofContents

01Introduce 02Stack 03Queue 04Solving Algorithms

Stack??

Architecture

Applications

Algorithms

Visualization

Queue??

Architecture

Applications

Algorithms

Visualization

Page 5: Basic Data Structure stack&queue

Introduce

Page 6: Basic Data Structure stack&queue

Part 01Introduce

이 름김남훈 (24-1 기 )나 이26 세 (1989. 12.10)

학 교 한국기술교육대학교전 공인터넷 & S/W & Appliaction

주분야C/C++/Android/SNS LinkageopenAPI/Using SDKOOAD_Design Pattern

관심사Library&Plug-in, NetworkBig Data Mining, Language

Page 7: Basic Data Structure stack&queue

Stack

Page 8: Basic Data Structure stack&queue
Page 9: Basic Data Structure stack&queue

Part 02Stack

Stack??

접시를 쌓듯이 차곡차곡 쌓아 올린 형태의 자료구조데이터의 삽입과 삭제가 한 쪽 끝에서만 일어남마지막에 들어간 데이터가 제일 먼저 삭제후입선출 구조 : LIFO(Last In, First Out)

선형리스트 구조의 특별한 형태

Page 10: Basic Data Structure stack&queue

Part 02Stack

Stack Applications1) Interrupt

Page 11: Basic Data Structure stack&queue

Part 02Stack

Stack Applications2) Sub Program & Recursive Function

Page 12: Basic Data Structure stack&queue

Part 02Stack

Stack Applications3) Arithmetic

Page 13: Basic Data Structure stack&queue

Part 02Stack

Stack Architecture1) Variables : top pointer

2) Operation : push, pop

Page 14: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

Page 15: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 16: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

Page 17: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

Page 18: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

Page 19: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 20: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 21: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 22: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 23: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 24: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 25: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 26: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 27: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 28: Basic Data Structure stack&queue

Part 02Stack

Stack Visualization

top

Page 29: Basic Data Structure stack&queue

Part 02Stack

Stack Algorithm1) Push 2) Pop

Page 30: Basic Data Structure stack&queue

Part 02Stack

Stack Algorithm1) C++ Code (Array)

Page 31: Basic Data Structure stack&queue

Part 02Stack

Stack Algorithm1) C++ Code (Linked List)

Page 32: Basic Data Structure stack&queue

Stack Q&A

Page 33: Basic Data Structure stack&queue

Table ofContents

01Introduce 02Stack 03Queue 04Solving Algorithms

Stack??

Architecture

Applications

Algorithms

Visualization

Queue??

Architecture

Applications

Algorithms

Visualization

Page 34: Basic Data Structure stack&queue

Queue

Page 35: Basic Data Structure stack&queue

Part 03Queue

Queue??

리스트의 한 쪽 끝에서 자료들이 삭제리스트의 다른 한 쪽 끝에서 자료들이 삽입먼저 들어간 데이터가 제일 먼저 삭제선입선출 구조 : FIFO(First In, First Out)

선형리스트 구조의 특별한 형태

후입후출 구조 : LILO(Last In, Last Out)

04Solving Algorithms

Page 36: Basic Data Structure stack&queue

Part 03Queue

Queue Applications1) Operating System Scheduling

Page 37: Basic Data Structure stack&queue

Part 03Queue

Queue Applications2) I/O Buffer

Page 38: Basic Data Structure stack&queue

Part 03Queue

Queue Applications3) Spooler

Page 39: Basic Data Structure stack&queue

Part 03Queue

Queue Architecture1) Variables : front pointer, rear pointer

2) Operation : enQueue, deQueue

Page 40: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

Page 41: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

enQueue

Page 42: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

deQueue

Page 43: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

Page 44: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

enQueue

Page 45: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

enQueue

Page 46: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

enQueue

Page 47: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

enQueue

Page 48: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

deQueue

Page 49: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front rear

deQueue

Page 50: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

deQueue

Page 51: Basic Data Structure stack&queue

Part 03Queue

Queue Visualization

front

rear

deQueue

Page 52: Basic Data Structure stack&queue

Part 03Queue

Queue Algorithm (Array)1) enQueue 2) deQueue

Page 53: Basic Data Structure stack&queue

Part 03Queue

Queue Algorithm (Array)C++ Code

Page 54: Basic Data Structure stack&queue

Part 03Queue

Queue Algorithm (Linked List)1) enQueue 2) deQueue

Page 55: Basic Data Structure stack&queue

Part 03Queue

Queue Algorithm (Linked List)C++ Code

Page 56: Basic Data Structure stack&queue

Part 03Queue

Queue Algorithm (Linked List)C++ Code

Page 57: Basic Data Structure stack&queue

Queue Q&A

Page 58: Basic Data Structure stack&queue

Table ofContents

01Introduce 02Stack 03Queue 04Solving Algorithms

Stack??

Architecture

Applications

Algorithms

Visualization

Queue??

Architecture

Applications

Algorithms

Visualization

Page 59: Basic Data Structure stack&queue

Solving Algorithms

Page 60: Basic Data Structure stack&queue

Part 04Solving Algorithms

STACK다음과 같은 수식이 주어질 때 같은 짝의 괄호의 위치를 찾는 문제이다 .

( a * ( b + c ) + d )0 1 2 3 4 5 6 7 8 9 10

( a * ( b + c ) + d )

이 경우에는 3 과 7, 0 과 10 이 한 쌍의 괄호이다 .

입력은 공백없이 입력된다 . 입력되는 문자는 소문자 , 소괄호 ,(,+,-,*,/,) 이다 .문자열의 길이는 최대 50 까지 이다 .

입력왼쪽에서 오른쪽을 가면서 먼저 짝이 맞는 순으로 출력하고 , 짝이 맞지 않는 수식은 not match 를 출력한다 .

출력입력 : (a*(b+c)+d)출력 : 3 7 0 10

예시

Page 61: Basic Data Structure stack&queue

Part 04Solving Algorithms

QUEUE

4 자리 도착수 , 목적수가 주어진다 .

입력

최단 거리를 출력한다 .

출력입력 : 1033 8179출력 : 6

예시입력 : 1373 8017출력 : 7

입력 : 1033 1033출력 : 0

4 자리 수 2 개가 주어진다 . 두 수는 모두 소수 (prime number) 이다 .처음 수는 출발 수이고 , 다음 수는 도착수이다 . 어떤 수에서 다음 수로는 이전 수에서 한 자리 수 만을 변경해서 가능하다 .물론 각 단계별로 만들어지는 수도 소수여야 한다 .출발 수에서 도착수로 가는 최단 거리를 구하라 .

Page 62: Basic Data Structure stack&queue

The End