91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-27
  • 語言: Java
  • 標簽: A*算法??java??

資源簡介

旅行商問題-A*算法-java

資源截圖

代碼片段和文件信息

import?java.awt.BasicStroke;
import?java.awt.Color;
import?java.awt.Container;
import?java.awt.Font;
import?java.awt.Graphics;
import?java.awt.Graphics2D;
import?java.awt.Point;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.HashSet;
import?java.util.List;
import?java.util.Map;
import?java.util.Scanner;
import?java.util.Set;

import?javax.swing.Jframe;


public?class?Drawframe?extends?Jframe{
private?Map?pointMap=new?HashMap();
public?Drawframe(){
Container?p?=?getContentPane();
????????setBounds(100?100?1000?600);
????????setVisible(true);
????????setLayout(null);???
????????setResizable(false);
????????this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
}
public?void?paintCom(){
Graphics?g=this.getGraphics();

Graphics2D?g2?=?(Graphics2D)g;
//Scanner?input=new?Scanner(System.in);
//0:A?1:B?2:C?3:D?4:E
//int?num=input.nextInt();
int?num=5;
int[][]?matrix=new?int[num][num];
matrix[0][1]=matrix[1][0]=6;
matrix[1][2]=matrix[2][1]=6;
matrix[0][4]=matrix[4][0]=7;
matrix[0][2]=matrix[2][0]=1;
matrix[0][3]=matrix[3][0]=5;
matrix[1][3]=matrix[3][1]=4;
matrix[1][4]=matrix[4][1]=3;
matrix[2][3]=matrix[3][2]=8;
matrix[2][4]=matrix[4][2]=2;
matrix[3][4]=matrix[4][3]=5;
int?edgeNum=10;
DrawSee?ds=new?DrawSee(nummatrix);
ds.paintMap();
//open表
List?open=new?ArrayList();
//closed表
List?closed=new?ArrayList();
//wrong表?存放錯誤的路徑
Set>?wrong=new?HashSet>();
//map表?存放每個節點的估價函數值
Map?map=new?HashMap();
//將A0起始節點放入map?估價函數為0
map.put(“A0“?0);
//將A0起始節點放入open表中
open.add(“A0“);
while(true){
//從open表中取出最小估計函數值的節點,并從open表出刪去
String?startString=open.get(0);
open.remove(0);
//將字母形式轉為數字形式,放入closed表中,層數設為下一層
char?startchar=startString.charAt(0);
closed.add(startchar);
int?start=startchar-‘A‘;
int?floor=startString.charAt(1)-‘0‘;

if(!pointMap.containsKey(startString)){
g2.fillOval(500100*floor+1001010);?//畫實心圓
pointMap.put(startString?new?Point(500100*floor+100));
g2.setFont(new?Font(“宋體“Font.BOLD20));
g2.setColor(Color.RED);
g2.drawString(startString?500+10100*floor+100);
}


floor++;
//flag表示是否在此節點的下一層中找到可以拓展的節點
boolean?flag=true;
for(int?i=0;i //前驅節點可以到達此節點時進行處理
if(i!=start&&matrix[i][start]!=0){
char?endchar=(char)?(i+‘A‘);
//如果closed中已經存在此節點則繼續尋找下一節點
if(closed.contains(endchar)){
continue;
}
//closed不存在此節點則加入closed中
closed.add(endchar);
//如果加入該節點后,發現該路徑存在于錯誤路徑中,則繼續尋找下一節點
if(wrong.contains(closed)){
closed.remove(closed.size()-1);
continue;
}
closed.remove(closed.size()-1);
flag=false;
String?endString=endchar+String.valueOf(floor);
try{
Thread.sleep(2000);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5778??2017-03-28?00:36??Drawframe.java
?????文件????????2653??2017-03-28?00:36??DrawSee.java
?????文件?????????371??2017-03-28?08:01??Main.java

評論

共有 條評論