예전 에 별 방식 으로 그림 에 기본 적 인 정 보 를 저장 했다.
2126 단어 도 론체인 전방 향 성그림 의 보편성 과 연관 성
"· 퀘 스 트 ·"
예전 에 별 방식 으로 그림 에 기본 적 인 정 보 를 저장 했다.
"· 설 명 ·"
링크 방식 으로 그림 의 가장 자 리 를 저장 합 니 다.info [i] 는 노드 i 의 사 이 드 집합 에 대응 하 는 링크 의 헤드 포인터 이 고 next [j] 는 제 j 조 변 의 다음 변 을 가리 키 는 지침 이 며 to [j] 는 제 j 조 변 이 가리 키 는 노드 번 호 를 표시 합 니 다.즉, addr = info [i] 를 사용 한 후에 addr = next [addr] 를 계속 사용 하면 링크 에 있 는 노드 i 의 모든 사 이 드 집합 번 호 를 얻 을 수 있 습 니 다. 그 중에서 to [addr] 는 대응 하 는 사 이 드 가 가리 키 는 노드 번 호 를 표시 합 니 다.
"· 인 터 페 이 스 ·"
구조 체: graph
구성원 변수:
vector < int > info 이 점 에서 출발 한 모든 변 으로 링크 를 구성한다.
vector < int > next 링크 의 다음 변 은 to 배열 의 위치 에 있 습 니 다.
vector < int > to to [i] 번 호 를 나타 내 는 i 의 측면 은 노드 를 가리킨다.
"· 코드 ·"
struct graph
{
typedef vector<int> VI;
VI info,next,to;
graph (int n=0,int m=0) : to(0),next(0)
{
info.resize(n);
next.reserve(m);
to.reserve(m);
}
int edge_size()
{
return to.size();//
}
int vertex_size()
{
return info.size();// +1
}
void expand(int i)
{
if (info.size()<i+1)
info.resize(i+1);
}
void add(int i,int j)// i j
{
expand(i),expand(j);
to.push_back(j);
next.push_back(info[i]);
info[i]=to.size()-1;
}
void del_back()//
{
int i;
for (i=0;i<info.size();i++)
{
if (info[i]==to.size()-1)
{
info[i]=next.back();
break;
}
}
to.pop_back();
next.pop_back();
}
void clear()//
{
info.clear();
next.resize(0);
to.resize(0);
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HDU 1874: 원활 한 공사 계속 [Dijkstra & SPFA & Floyd]모 성 은 여러 해 동안 의 원활 한 공사 계획 을 실행 한 후에 마침내 많은 길 을 건설 하 였 다.길 을 많이 건 너 지 않 아 도 좋 지 않다. 한 도시 에서 다른 도시 로 갈 때마다 여러 가지 도로 방안 을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.