[App 개발] 코코아로 만든 Stack Class 의 활용 6번째
본문
자료구조론 책에 자주 등장하는 스택을 활용하는 알고리즘입니다.
체스판 처럼 생긴 4*4 ~ 8*8 보드판에 한명의 여왕이 있으면 동,서,남,북 그리고 대각선 방향으로 퀸의 영역으로 들어가 다른 퀸이 그곳에 존재하지 못하게 됩니다.(그래서 같은 열, 같은 행은 당연히 않되지요.)
이것을 이용해서 보드 사이즈에 맞추어 각각의 여왕을 배열하는 겁니다.
이 알고리즘에는 Backtracking 이란 것을 사용하는데, 어떤 목표를 향해 길을 갈 때 사람은 개인의 경험과 판단으로 바로 길을 찾을 수 있지만, 컴퓨터는 그게 불가능해서 경우의 수를 다 따져본다고 합니다. 그래서 갈래길을 만나면 여러 갈래길 중에서 한 방향으로 움직이면서 나머지 갈래길의 위치를 스택에 저장해 두고 그 길이 아니다 싶으면 다시 돌아와서 스택을 꺼집어 내어 다시 다른 길로 시도해 보고.... 이런식으로 원하는 목표를 찾는 방법이라고 합니다.??
어려운 내용인데 제가 설명을 제대로 한건지 모르겠네요..... ^^!
하여튼, 부족한 스택 클래스에 대한 테스트가 끝났지만, 새로운 것을 배우는 대로 계속 업데이트를 해 볼 생각입니다.
밤중에 열심히 공부하시는 개발실 여러분, 더운 여름날 건강 조심하시길 바랍니다.
최신글이 없습니다.
최신글이 없습니다.
댓글목록 0