2016년 9월 27일 화요일

iterative depth-first traversal post-order

depth-first traveral 은 크게 pre-order / in-order / post-order tranversal 로 나누어 진다. 이 중 in-order 는 children 의 개수에 따라 정의가 애매하므로 pre-order 와 post-order 만 정리해 보도록 한다.
pre-order depth-first traversal

recursive algorithm:

do_explorer
  set node visited
  do something
  for each children of the node
    call do_explorer


iterative algorithm:

do_explorer
  create a stack
  push node
  while stack is not empty
    pop node
    set node visited
    do something
    for each children of the node
      push child into stack if child is not visited


post-order depth-first traversal

recursive algorithm:

do_explorer
  set node visited
  for each children of the node
    call do_explorer
  do something


iterative algorithm:

do_explorer
  create a stack
  push node
  while stack is not empty
    peek a node
    if all children of the node is processed
       pop the node
       do something
    else 
       process next sibling of the node (push stack if not visited yet)

2016년 3월 8일 화요일

윈도우 개발 환경

cross platform 개발 환경을 추구하는 상태에서 기존에 mingw32 를 써 왔었는데, 최근에 보니 마지막 업데이트가 2013년 정도이고 이후 변한게 없었다. 왜 그런가 봤더니 64bits 가 나오면서 mingw64 로 넘어가서 사람들이 주로 쓰는 것은 이것인 것 같았다. 이에 따라 전체적인 윈도우에서의 컴파일러 / 개발 환경을 다음과 같이 바꾸기로 했다.

  • 컴파일러: mingw64 (x84_64, posix)
  • 환경: msys2
cygwin 도 고려 대상이었지만 DLL 의존성 때문에 cygwin 은 버리기로 했다.

P.S.
그나저나 .bashrc 는 어디로 사라진 걸까.

2016년 1월 15일 금요일

Windows 10 시작메뉴 복구

어느 순간부터 시작 메뉴 버튼을 눌러도 윈도우 키를 눌러도 나오는 것이 없어지는 경우가 생긴다. 이를 복구하기 위한 방법을 찾아봤지만 제대로 되는 방법은 하나도 없었다. 간신히 제대로 된 방법을 찾은 것은 바로 아래 링크이다.

  • http://www.urtech.ca/2015/09/solved-fix-windows-10-start-button-does-nothing-in-10-minutes/
원리는 간단하다. 시작 메뉴의 database 가 깨졌기 때문에 다른 계정을 만들어서 새로 만든 깨끗한 database 를 복사해서 사용하는 것이다.