WISHBONE System-on-Chip Interconnection Architecture for Portable IP Cores

Similar documents
Chap 6: Graphs

Chap 6: Graphs

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

03장.스택.key

Chapter 4. LISTS

chap01_time_complexity.key

Microsoft PowerPoint - 제10장-그래프.pptx

Chap 6: Graphs

Microsoft PowerPoint - ch12 - Graph, Graph Algorithms

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

중간고사

5.스택(강의자료).key

슬라이드 1

untitled

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

슬라이드 1

chap x: G입력

2002년 2학기 자료구조

11강-힙정렬.ppt

C 언어 강의노트

05_tree

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft Word - FunctionCall

03_queue

C 언어 프로그래밊 과제 풀이

제 1 장 기본 개념

Chapter 4. LISTS

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

170

006- 5¿ùc03ÖÁ¾T300çÃâ

untitled

11장.그래프

PowerPoint 프레젠테이션

chap 5: Trees

Chapter 4. LISTS

슬라이드 1

Microsoft Word - src.doc

5장 스택

슬라이드 제목 없음

C 프로그래밊 개요

쉽게 배우는 알고리즘 강의노트

6주차.key

OCaml

중간고사 (자료 구조)

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - es-arduino-lecture-03

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Microsoft PowerPoint - ch12 - Graph, Graph Algorithms

1장. 유닉스 시스템 프로그래밍 개요

untitled

C 프로그래밊 개요

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint - Java7.pptx

슬라이드 1

구로구민체육센터 여성전용 기구필라테스 강좌 신설 구로구시설관리공단은 신도림생활체육관에서 2014년도부터 시행하여 주민의 큰 호응을 얻고있는 기구필라 테스 강좌를 일자로 구로구민체육센터에 확대 시행하게 되었습니다. 구로구 관내 고객들의 니즈를 반영한 기

1

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

Microsoft PowerPoint - chap06-2pointer.ppt

Java ...

Microsoft Word - ExecutionStack

chap x: G입력

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

서강대학교공과대학컴퓨터공학과 CSE3081 알고리즘설계와분석 (2 반 ) 기말고사 (2015 년 12 월 17 일 ) 알고리즘설계와분석 (CSE3081(2 반 )) 기말고사 (2015년 12월17일 ( 목 ) 오전 9시 30분 ) 담당교수 : 서강대학교컴퓨터공학과임인성

The Pocket Guide to TCP/IP Sockets: C Version

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

02장.배열과 클래스

UI TASK & KEY EVENT

Microsoft PowerPoint 알고리즘 개요(Part 1).pptx

Ch.8 Procedures and Environments

Microsoft PowerPoint - chap05-제어문.pptx

Chapter 10 그래프 (graph) SANGJI University Kwangman KO

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

Chapter 08. 트리(Tree)

K&R2 Reference Manual 번역본

PowerPoint 프레젠테이션

06장.리스트

gdb 사용법 Debugging Debug라는말은 bug를없앤다는말이다. Bug란, 컴퓨터프로그램상의논리적오류를말하며, 이것을찾아해결하는과정이바로, debugging이다. 초기컴퓨터들은실제벌레가컴퓨터에들어가서오작동을일으키는경우가있었다고하며, 여기서 debug 이라는말이

슬라이드 1

Install stm32cubemx and st-link utility

슬라이드 1

금오공대 컴퓨터공학전공 강의자료

PowerPoint 프레젠테이션

C프로-3장c03逞풚

hlogin2

Microsoft PowerPoint - 05장(함수) [호환 모드]

ABC 10장

Transcription:

프로젝트정리 1주차 : 미로를텍스트파일로만들어출력하는프로그램작성. 2주차 : 텍스트형태의미로를 MC의그래픽기능을이용하여그리는프로그램작성. 3주차 : 미로에서길찾는프로그램작성. Dept. of CS, Sogang Univ. 1

DS를이용한미로길찾기문제 DS를이용한미로길찾기문제는 2주차까지설계한미로의출발점과도착점을연결하는가장짧은경로를탐색해출력하는문제이다. NxM 미로의출발점과도착점은각각 1 행1열과 M행N열의방으로설정한다. 실험에서는 [ 도구 ]-[DS] 메뉴를선택하거나 DS 버튼을선택하면아래그림의 (a) 에나타난탐색했던경로와 (b) 에나타난탈출경로를모두표시한다. 두경로는서로구분이가능하도록색을달리해서표시하거나 hatch등을이용하도록하자. Dept. of CS, Sogang Univ. 2

입력 미로텍스트파일 (~.maz) 출력 미로텍스트파일 (~.maz) 을읽어들이면아래그림과같이화면에출발점 ( 초록색 ) 과도착점 ( 빨간색 ) 이표시된미로를출력한다. [ 도구 ]-[DS] 메뉴를선택하거나 DS 버튼을클릭하면 DS 탐색을수행한다. 아래그림과같이출발점과도착점을연결하는탈출경로와경로탐색수행중방문한모든길을서로구분이갈수있도록출력한다. Dept. of CS, Sogang Univ. 3

문제해결방법 미로길찾기문제 (1) : DS 일반적으로알려진 DS 알고리즘은아래 (a) 와같이재귀적형태이다. 재귀함수의경우함수가자기자신을호출할때 parameter 를넘겨주기위해 (b) 와같이컴퓨터내부의 stack memory 를사용한다. 만약매우큰사이즈의미로가입력될경우 DS 과정에서 stack overflow 가발생할가능성이있으므로반복 (iterative) 함수의형태로구현할필요가있다. void dfs (int v) {/* depth first search of a graph beginning at v*/ nodepointer w; visited[v] = TRUE; printf( %5d, v); for (w = graph[v]; w; w = w->link) if(!visited[w->vertex]) dfs(w->vertex); (a) 재귀적형태의 DS(Depth irst Search) Top... dfs parameters dfs() parameters main() (b) Stack memory Dept. of CS, Sogang Univ. 4

+-+-+-+-+ +-+ + + + +-+-+ + + +-+-+-+-+ PRJ-2 미로 (Maze) 3 주차 Recursive DS C D E H I J K L C D E H I J K L DS(v) { mark v as visited; printf( v ); // do somthing for (each unvisited vertex u adjacent to v) { mark edge ( v u ); // crossing edge DS(u); PRINT(visiting order) DS() DS() DS() DS() DS(C) DS(D) DS(K) DS(L) DS(H) DS(E) DS(J) DS(I) system stack (ret addr 제외 ) Dept. of CS, Sogang Univ. 5 H DL CK I EJ C D K L H E J I

Recursive DS with TRET int DS(v) { mark v as visited; if ( v == target ) { printf( v ); return TRET_MEET; for (each unvisited vertex u adjacent to v) { if ( DS(u) == TRET_MEET ) { mark edge ( v u ); printf( v ); return TRET_MEET; return STILL_INDIN; DS() DS() DS() DS() DS(C) DS(D) DS(K) DS(L) C D E H I J K L DL CK system stack (ret addr 제외 ) PRINT (backward) L K Dept. of CS, Sogang Univ. 6

Iterative DS void DS(v) { init a stack S; S.push ( v ); mark v as visited; // may print v while ( S!= empty ) { if ( S.top has an unvisited adjacent node ) { u = an unvisited, adjacent node to S.top; S.push(u); // may print v, and mark (v,u) mark u as visited; else { S.pop ( ); C D E H I J K L DL CK stack PRINT (backward) C D K L Dept. of CS, Sogang Univ. 7

Iterative DS with Target void DS(v) { init a stack S; S.push ( v ); mark v as visited; // may print v while ( S!= empty ) { if ( S.top == target ) return; if ( S.top has an unvisited adjacent node ) { u = an unvisited, adjacent node to S.top; S.push(u); // may print v, and mark (v,u) mark u as visited; else { S.pop ( ); void backtracing( void ) { u = nill; while ( S!= empty ) { S.pop( &v ); if ( u is not nil ) mark v, u, (v - u); u = v; C D E H I J K L stack PRINT (backward) Dept. of CS, Sogang Univ. 8 DL CK C D K L

S ( reath irst Search) fs(v) { Init a queue Q; C D E H I J K L Q.enqueue(v); mark v as visited; while ( Q!= EMPTY) { w = Q.dequeue(); // may print w for ( each unvisited node u adjacent to w ) { mark u as visited // set u.parent = w // later u.parent will be used to find a path Q.enqueue(u); queue KJ C EJ Dept. of CS, Sogang Univ. 9

문제해결방법 아래그림처럼미로는그래프 (node 를 root 로갖는 spanning tree) 로표현가능하다. DS 알고리즘을반복함수형태로구현하기위해더이상방문할수있는자식 node 가존재하지않는 node 에서이전 node 로되돌아가기위하여현재까지거쳐왔던 node 들을저장할 stack 이필요하다. Dept. of CS, Sogang Univ. 10

문제해결방법 node 부터시작하여그래프로변환된미로를 DS 탐색방법으로계속탐색하면서출구인 node Y 를찾을때, 아래그림 (a) 의 처럼방문한적이없었던자식 node 가더이상존재하지않는 vertex 에도달하게되면 (b) 처럼 stack 에저장해둔 node 를 pop 시켜서이전 node 로되돌아갈수있을것이다. 자신이구현한미로의자료구조를어떻게 stack 에저장할것인지생각해보자. (a) (b) Dept. of CS, Sogang Univ. 11

숙제 미로길찾기문제 (2) : S 3 주차실습에서완성한프로그램을바탕으로 S 버튼을누르면 S 방법을통한탈출 경로및탈출과정에서방문했던모든경로를표시하는프로그램을작성한다. 입출력형식은실험시간에해결한완전미로생성문제와동일하다. 입력 : 미로텍스트파일 (~.maz) 출력 : [ 도구 ]-[S] 메뉴를선택하거나 S 버튼을클릭하면 S 탐색을수행한다. 아래그림과같이출발점과도착점을연결하는탈출경로와경로탐색수행중방문한모든길을서로구분이갈수있도록출력한다. Dept. of CS, Sogang Univ. 12

보고서작성 예비보고서 DS 와 S 의시간복잡도를계산하고그과정을설명한다. 자신이구현한자료구조상에서 DS 와 S 방법으로실제경로를어떻게찾는지설명한다. 특히 DS 알고리즘을 iterative 한방법으로구현하기위한방법을생각해보고제시한다. 작성한예비보고서는실험시작전제출하여야한다. 결과보고서 실습및숙제로작성한프로그램의알고리즘과자료구조를요약하여기술한다. 완성한알고리즘의시간및공간복잡도를보이고실험전에생각한방법과어떻게다른지아울러기술한다. 자신이설계한프로그램을실행하여보고 DS, S 알고리즘을서로비교한다. 각각의알고리즘은어떤장단점을가지고있는지, 자신의자료구조에는어떤알고리즘이더적합한지등에대해관찰하고설명한다. 작성한숙제프로그램을공지한제출요령에의거하여기한내제출하시오. 요청이있을경우실험시간에작성한프로그램도아울러제출한다. Dept. of CS, Sogang Univ. 13