[자료구조] 이진 트리의 순회(Traversal) (2)


오늘은 아진트리의 순회 방법에 있어서

좀 더 유연한 동작방식을 적용하기 위해서

함수 포인터를 이용해 보도록 하겠다.


저번 포스팅이 재귀의 개념이 핵심이었다면

이번 포스팅은 함수 포인터가 핵심이 된다.






가장 첫 줄을 보면 함수 포인터가 선언이 되어있다.

반환형은 void 그리고 매개 변수는 BTData타입이다.

이 함수 포인터를 순회 함수의 두 번째 매개변수로 넣어준다.


그리고 데이터를 다루는 부분을 이 함수 포인터로 대체한다.

이제는 인자로 들어온 함수에 따라 데이터를 다루는 방식이 달라진다.




ShowIntData(int Data) 함수를 인자로 전달해주고 실행



이로써 이진 트리의 순회가 좀 더 유연성을 가지게 되었다.

데이터를 다루는 방식이 달라지더라도 함수를 재 선언할 필요가 없고

함수를 하나 선언해서 넘겨주기만 하면 되는 것이다.


이는 STL의 알고리즘에 쓰이는 콜백 메커니즘의 기본이다.

이러한 동작 원리를 잘 이해해서 좀 더 유연한 프로그래밍을 할 수 있도록하자.



+ Recent posts