#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
Abend alle. Also arbeite ich an einer Graphenimplementierung, die den kürzesten Weg zwischen zwei (gewichteten und ungewichteten) Akteuren in einem Graphen von Schauspielern lösen soll, die durch Filme verbunden sind, in denen diese beiden Akteure zusammen agieren. Ich soll die Probleme des kürzesten Weges lösen Verwenden des Dijkstra-Algorithmus.Speichern genug Informationen zum Erstellen von Grafik
Meine Implementierung ist Ich möchte eine ActorNode-Klasse haben, die eine Zeichenfolge enthält, die den Namen des Schauspielers und einen Vektor, der einen Vektor von "Links/Filme" enthält, die zwei Akteure verbindet. Meine Link-Klasse hat nur zwei ActorNode-Zeiger, um die beiden Co-Stars zu verbinden und dann den Namen des Films, das Jahr, in dem er gemacht wurde, und das Gewicht (das später ins Spiel kommt)
ich baue das Diagramm aus einer großen Textdatei, die diese nur in jeder Zeile hat ... actorname moviename movieYear
glaube ich nicht, dass ich genug Informationen speichere effizient zu finden und meine Verbindungen zwischen den Akteuren zu schaffen. Ich suchte nach einer Methode, um dieses Problem spezifisch zu lösen. Ich dachte an eine hashmap, wo der Schlüssel wäre ein Film Name und der Wert wäre ein Vektor von ActorNode Zeigern, die aus der Besetzung des Films besteht. So etwas würde mir erlauben, meine Verbindungen zwischen Schauspielern ziemlich schnell aufzubauen, glaube ich. Ich bin ein wenig verwirrt darüber, wo ich diese Datenstruktur speichern könnte. Ich würde sicherlich keine hashmap für alle Casts aller Filme in meinem Graphen für jeden einzelnen ActorNode wollen.
Wäre es eine schlechte Programmierung, etwas wie eine globale Variable zu machen?
Hat was in jeder Zeile? Korrekturlesen Sie Ihre Frage und lesen Sie https://StackOverflow.com/editing-help –
ah Entschuldigung Ich habe es eingegeben, aber es muss es aus oder etwas bearbeitet haben. Jede Zeile ist wie folgt organisiert. ACTOR NAME ... MOVIE ... YEAR – KoalaIsDead
Bitte [bearbeiten] Sie Ihren Beitrag und beheben Sie den Fehler. ** Lesen Sie http://stackoverflow.com/editing-help**. –