地下鉄の旅の路線計画が実現される。
2992 ワード
地下鉄の旅の路線計画
簡単に述べる
言語:javaプログラミングツール:eclipse符号化フォーマット:utf-8今回の実験関数は隣接行列を通じてtxtファイルを保存して読み込むサイトパス情報を通して、広さを優先して巡回して最短パスを求める。今回の実験関数は検索サイト情報、検索ライン情報を含む。
プログラム本体
1.図面作成
2.最短パスアルゴリズム
3.初期化
実行結果
1.検索サイト
2.照会回線
3.クエリのパス
締め括りをつける
地下鉄の関数を書く前に、どのようなデータを入力する必要がありますか?よく考えないと、最初の考えとは違ってきます。関数を書く前に大体の案を考えて、問題や問題を解決する方法を考えます。
github:https://github.com/laoqizheng/-
簡単に述べる
言語:javaプログラミングツール:eclipse符号化フォーマット:utf-8今回の実験関数は隣接行列を通じてtxtファイルを保存して読み込むサイトパス情報を通して、広さを優先して巡回して最短パスを求める。今回の実験関数は検索サイト情報、検索ライン情報を含む。
プログラム本体
1.図面作成
public int v;
public LinkedList adj[];
public Graph(int v){
this.v = v;
adj = new LinkedList[v];
for(int i=0; i();
}
}
public void addEdge(int s,int t) {
adj[s].add(t);
adj[t].add(s);
}
v頂点の無方向図を作成し、addEdgeを使用して隣接マトリックスにエッジを追加します。2.最短パスアルゴリズム
int v=graph.getV();
LinkedList[] adj=graph.getAdj();
boolean[] visited = new boolean[v];
visited[s] = true;
Queue queue = new LinkedList<>();
queue.add(s);
int[] prev = new int[v];
for(int i=0; i
広さ優先アルゴリズムにより最短経路を計算した。3.初期化
File file = new File("C:\\Users\\lqz\\Desktop\\ .txt");
InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
BufferedReader br = new BufferedReader(reader);
String line = "";
line = br.readLine();
while (line != null) {
station_name.add(line);
line = br.readLine();
}
File file = new File("C:\\Users\\lqz\\Desktop\\ .txt");
InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
BufferedReader br = new BufferedReader(reader);
String line = "";
line = br.readLine();
while (line != null) {
String[] sArray=line.split("\\|");
lstation_name.add(sArray[0]);
lline_name.add(sArray[1]);
lstation_num.add(sArray[2]);
}
line = br.readLine();
}
まず、すべてのサイトをリストに保存して、地図を作ったり、調べたりしやすいです。そして、サイト名|線番号|局番号(局の路線番号)に従って経路を保存し、各路線をリストに保存して検索しやすい。実行結果
1.検索サイト
searchstation(" ");
リンゴ園:1番線6番線 searchstation(" ");
アップル:サイトは存在しません。2.照会回線
searchline(" ");
大興号線:「公益西橋、新宮、西紅門、高米店北、高米店南、ナツメ園、清源路、黄村西大街、黄村駅、義和庄、生物医薬基地、天宮院」 searchline(" ");
大きい線:線路は存在しません。3.クエリのパス
new BFS().bfs(search(" "),search(" "),graph);
大井->七里荘(乗り換え9番線)->六里橋->六里橋東->北京西駅->軍事博物館->白石橋南(乗り換え6番線)->車公荘西->車公庄(乗り換え2番線)->西直門->積水潭->鼓楼大街->安定門-雍和宮-東直門(乗り換え) new BFS().bfs(search(" "),search(" "),graph);
両サイトは同じです new BFS().bfs(search(" "),search("100"),graph);
大きな駅は存在しません締め括りをつける
地下鉄の関数を書く前に、どのようなデータを入力する必要がありますか?よく考えないと、最初の考えとは違ってきます。関数を書く前に大体の案を考えて、問題や問題を解決する方法を考えます。
github:https://github.com/laoqizheng/-