2013-10-09 1 views
4

BFS (Breadth First Searching)에서 PPT를 읽는 동안 BFS는 "포인터 쫓기"가있는 곳에서 사용할 수 있습니다. 포인터 추격이란 정확히 무엇이며 BFS와 어떻게 관련이 있습니까?포인터 쫓기 란 무엇이며 BFS와 어떻게 관련되어 있습니까?

+1

추적 포인터. 1. vi. 연결된 목록이나 그래프 구조를 가로 지르는 것처럼 여러 단계의 간접 지정을 수행하려면 –

+10

[Google, first hit.] (http://www.catb.org/jargon/html/C/chase-pointers.html) –

+4

이제 첫 번째 히트! –

답변

6

포인터는 데이터에 그래프를 의미합니다. BFS (폭 넓은 첫 번째 검색)는 해당 그래프를 검색하는 알고리즘입니다.

포인터 추적은 포인터를 많이 따르는 또 다른 단어입니다.

3

Linked List 예를 생각하면 가장 쉽습니다.

5 개 요소가있는 Linked List이 있다고 가정 해 보겠습니다. 세 번째 요소를 얻으려면 Pointer-chasing을 사용하여 요소를 탐색해야합니다.

2

하드웨어 관점 (CPU)에서 메모리 읽기가 CPU (즉, ILP 없음)에서 직렬화되기 때문에 포인터 체이닝은 성능에 좋지 않습니다. 이전로드가 완료 될 때까지 (예 : 이전로드가 다음로드에 대한 주소를 제공하기 때문에) 읽기 (즉,로드 instr)를 시작할 수 없습니다.

관련 문제