방학인데.... ㅠㅠ 너무 놀고 있네 ㅠㅠ 공부.. ㅠㅠ 어려워... . . .
보호되어 있는 글입니다.
환형 연결리스트(Circular Linked List) -단순 연결리스트와 같은 구조를 가지지만 다른점은 제일 마지막 노드가 제일 처음 노드를 가리키고 있다. 그러므로 tail이라는 개념이 없다. 환형 연결리스트를 이용한 문제----요셉의 문제 예를 들어 A부터 J까지의 10명의 사람이 시계방향으로 순서대로 원을 지어 앉아 있다고 하자. 이때, A부터 시작하여 4명간격으로 사람을 그 원에서 뽑아낸다고 하면 그 순서는 어떻게 될것인가하는 문제이다. 이 경우는 A E I D J G F H C B 이런순이 될것이다. 이제 문제이다---> 프로그램은 사용자로부터 사람의 수 n과 간격 step을 입력받아 사람의 수 만큼 1부터 n까지의 정수를 키로 가지는 노드를 환형 연결리스트로 구성한다. 다음에 처음의 노드로부..
원문 priorityqueue Open list Closed AStarSearch s.g = 0 // s is the start node s.h = GoalDistEstimate( s ) s.f = s.g + s.h s.parent = null push s on Open while Open is not empty pop node n from Open // n has the lowest f if n is a goal node construct path return success for each successor n' of n newg = n.g + cost(n,n') if n' is in Open or Closed, and n'.g
[A* algorithm] 여기서는 실제 거리를 고려한 탐색과 최적 우선 탐색 방법을 결합하면 보 다 우수한 탐색 알고리즘을 만들 수 있습니다. 만일 출발 노드 로 부터 각 노드까지의 정확한 거리를 계산할 수 있고 목표 노 드까지의 거리를 예측할 수 있는 경험적(heuristic)정보가 이용 가능하다면 A* 알고리즘을 적용할 수가 있습니다. A* 알고리즘은 출발 노드에서 목표 노드까지 최단 거리를 갖 는 노드를 선택한다. 이를 위한 평가 함수는 F = g + h로 결정 합시다. g는 출발 노드에서 현재 노드까지 최소 비용이며, h는 현재 노드에서 목표 노드까지 예측된 최소 비용이다. 만일 h는 현재 노드에서 목표 노드까지의 실제 거리를 초과하지 않는다면 A* 알고리즘은 항상 최단 거리의 경로를 찾아내며,..
출처 : http://blog.naver.com/goople