#ifndef ACTOR_H
#define ACTOR_H
#include<vector>
#include<iostream>
#include<queue>
#include<string>
struct Link;
/* (Vertex) Object Class to represent actors */
class ActorNode {
private:
/*Member Variables*/
std::string name;
std::vector<Link*> links;
public:
/*Constructor*/
ActorNode() : name("") {}
/*Getters and Setters*/
std::string getName();
void setName(std::string actor);
std::vector<Link*> getLinks();
/*Member Functions*/
//void addLink();
};
struct Link {
/*Member Variables*/
ActorNode* cs1;
ActorNode* cs2;
std::string movieTitle;
int year;
int weight;
/*Constructor*/
Link() : cs1(0), cs2(0), movieTitle(""), year(1), weight(1) {}
};
#endif
저녁 모두. 그래서 저는 두 배우가 함께 행동 한 영화의 연결된 액터의 그래프에서 두 배우 (가중치와 비가 중도) 사이의 최단 경로를 풀기위한 그래프 구현 작업을하고 있습니다. 최단 경로 문제를 풀기위한 것입니다. Dijkstra의 알고리즘을 사용합니다.그래프를 작성하기에 충분한 정보를 저장하는 중
내 구현은 액터의 이름 인 문자열과 두 액터를 연결하는 "링크/무비"의 벡터가 들어있는 벡터를 포함하는 ActorNode 클래스를 갖기를 원합니다. My Link 클래스에는 두 개의 별을 연결하는 두 개의 ActorNode 포인터가 있습니다. 그리고 영화의 이름, 만든 해 그리고 나중에 나오는 것입니다 (나중에 재생 될 것입니다)
여기 내 문제는 다음과 같습니다. 내가 actorName에서 moviename movieYear 그냥 ... 모든 라인이있는 큰 텍스트 파일의 해제 그래프를 구축하고
내가 효율적으로 찾을 수와 배우 사이에 내 링크를 생성하기에 충분한 정보를 저장하고 생각하지 않는다. 나는이 문제를 구체적으로 해결할 방법을 찾고 있었다. 키가 무비 이름이되고 값이 해당 무비의 캐스트로 구성된 ActorNode 포인터 벡터 인 hashmap을 만들려고합니다. 그와 같은 무언가가 내가 믿는 바로 그 배우들 사이의 연결 고리를 만들 수있게 해줄 것입니다. ' 나는이 데이터 구조를 저장할 위치에 대해 다소 혼란 스럽다. 나는 확실히 모든 ActorNode에 대한 그래프에서 모든 영화의 모든 캐스트에 대한 해시 맵을 원하지 않습니다.
전역 변수와 같은 것을 작성하는 것이 좋지 않습니까?
모든 줄에는 무엇이 있습니까? 귀하의 질문에 대한 교정 및 https://stackoverflow.com/editing-help –
아를 입력 해 죄송합니다.하지만 편집을해야합니다. 모든 선은 이렇게 구성됩니다 .... 배우 이름 ... 영화 ... YEAR – KoalaIsDead
게시물을 편집하고 오류를 수정하십시오. ** http://stackoverflow.com/editing-help**을 읽으십시오. –