n-queen같은건 결국에 4*4 이런식으로 탐색하니까 깊이가 정해져있어서
스택으로 해도 될 지 모르지만, 비선형 구조인 트리나 그래프류 중 깊이가 상황에 따라 다른 경우는
얼마나 탐색할지 모르니까 스택으로 힘들어서 포인터 찍어내야 되는데
java는 포인터 찍지 못하는 상황이라 백트래킹 써야되고 컴포지트 패턴도 고려해봤는데 결국에 내부가 재귀로 탐색하는 구조고,
c계열은 양방향 연결리스트 써서 last-> first 로 구현하면 풀리는 상황이긴함
c언어는 재귀 없이 구현 가능한데, 자바는 포인터가 없어서, 재귀 쓸 수 밖에 없음
depth가 안 정해진 구조는 무조건 재귀로 짜야됨 방법이 없음..
노가리 까면서 생각해봤는데 안 풀리는 문제였네 ㅇㅅㅇ..
스택으로 풀린다고 하는 얘기도 있던데 전에도 말했지만 스택은 depth가 정해져야만 풀 수 있는 문제임
뚫릴 수 있나? 다른 방법 생각해봐야 될듯
위의 문제는 반대로 말하면 bfs 태생의 한계라 불가능한 논제 같음(큐가 아닌 스택 구조의 bfs 역시도 불가능한 이유) 반대로 dfs를 큐 방식으로 구현해도 해결 될 문제인데, 그 역도 포인터랑 재귀 없이는 보장할 수 있는게 없음 depth를 억지로 많이 잡아서 때려박지 않는 이상은 보장하기 어려울듯
근데 last-> first로 하면 내부구조가 더 잘 보이긴할껀데, 이게 좋은 코드인지는 모르겠음.. 몇 줄하면 될껄 연결리스트를 사용안한다면 굳이 코드 줄 수를 늘릴 이유가 없을 것 같기도 하고 잘 모르겠음
근데 포인터 써도 보장해주질에 대한 여부는 구조체로 안에 변수 넣어두고 포인터로 탐색해야된다고 알리고 들어가고, arr=*arr; 이렇게 들어가야 될듯