You are here

최대공약수, 최소공배수, Binary Search에서 Breadth First Sear

안녕하세요,

저는 현재 대학원에서 TCL/TK를 사용하는 Windows Programming 강의를 수강하고 있는
학생입니다.
웹에서 TCK/TK 자료를 검색해보다가, 님의 사이트를 발견하게 되어서 이렇게 질문을 드리게 되었습니다.

다름이 아니오라, 대단히 죄송하지만...
TCL로 아래와 같은 내용의 코드를 작성해야하는 숙제가 있는데,,,
제가 프로그래밍도 익숙치않고, 더군다나 TCL에도 익숙치 않아서 도움을 구하고자 합
니다.

혹시 시간이 되신다면 아래 두 문제를 살펴봐주시고, 도움을 주시면 정말 감사하겠습
니다.

1) input이 3개 주어졌을 때 최대공약수, 최소공배수 구하는 코드

2) Binary Search에서 Breadth First Search를 실행하는 코드

tree 만드는 procedure와, 연결, traverse 부분을 아래처럼 한다고 했을 때 이 코드는
Depth First Search 방법인가요? 그렇다면 Breadth First Search는 어떻게 해야 하는
지요...

proc makenode {name value} {
        global tree
        set tree($name.value( $value
        set tree($name.left( empty
        set tree($name.right( empty
        }

proc addnodeleft {parent child} {
        global tree
        set tree($parent.left( $child
        }

proc addnoderight {parent child} {
        global tree
        set tree($parent.right( $chide
        }

2) 연결...

makenode node1 1
makenode node2 2
makenode node3 3
makenode node3 4
makenode node3 5

addnodeleft node1 node2
addnoderight node1 node3
addnodeleft node2 node4
addnoderight node3 node5
trav node1

3) traverse

proc trav {startnode} {
        global tree
        puts $tree($startnode.value(
        if {"$tree($startnode.left(" !="empty"}
                trav $tree($startnode.left(
           }                                        => 1, 2, 4

        if {"$tree($startnode.right(" !="empty"}
                trav $tree($startnode.right(
           }                                        => 3, 5
        }

그럼, 도움 부탁드리겠습니다.

감사합니다.