Re: [問題] minimum spanning tree

看板C_Sharp作者 (也許我就是我,好好愛自己)時間15年前 (2010/04/16 02:11), 編輯推噓2(2017)
留言19則, 3人參與, 最新討論串6/8 (看更多)
這是我目前的程式碼 public partial class Form1:Form { public Form1() { InitializeComponent(); } Grapghics g1; Pen p1; private void Form_Load(object sender,EvenArgs e) { g1=this.CreateGraphics(); p1=new Pen(Color.Red,2); } int m=0; int n; int i; int j; private void Form1MouseClick(object sender,EvenArgs e) { m++; g1.DrawRectangle(p1,e.X,eY,4,4); int []x=new int[m]; int []y=new int[m]; int [,]L=new int[m,m]; for(n=0;n<m;n++) { x[n]=Convert.ToInt16(e.X); y[n]=Convert.ToInt16(e.Y); } for(i=0;i<m;i++) { for(j=0;j<m;j++) { L[i,j]=Math.Squrt((x[i]-x[j])*(x[i]-x[j])+ (y[i]-y[j])*(y[i]-y[j])); } } } } 而我想問的是如何將資料(L[i,j]) 放入我的buttom去做minimun spanning tree 感謝大大的收看 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.231.33

04/16 10:24, , 1F
點一個點就取一個範圍的什麼距離的陣列,是想幹嘛呀?
04/16 10:24, 1F

04/16 10:26, , 2F
迴圈算L[i,j]部份有相當多白做的過程,重想在此你想做什麼.
04/16 10:26, 2F

04/16 10:34, , 3F
...嗯,也許L[i,j]沒白做,不過用一個陣列表達一個點,你想要
04/16 10:34, 3F

04/16 10:34, , 4F
取什麼精確值嗎?
04/16 10:34, 4F

04/16 14:07, , 5F
L[i,j]我是用來取兩點距離的 因為MST要比較最短距離
04/16 14:07, 5F

04/16 14:09, , 6F
所以我在mouseclick上先計算 然後最放進buttomclick
04/16 14:09, 6F

04/16 14:10, , 7F
不知這樣做可不可以喔
04/16 14:10, 7F

04/16 16:48, , 8F
程式上看,不是你講的這個樣子喔
04/16 16:48, 8F

04/16 19:42, , 9F
所以我弄錯了嗎 囧 那我x[m]及y[m]應該有存到吧
04/16 19:42, 9F

04/16 21:28, , 10F
按第一下時產生兩個[1]陣列,按第二下產生兩個[2]陣列...
04/16 21:28, 10F

04/16 21:31, , 11F
可是問題在按第二下時,仍不知道按第一下產生的x,y..
04/16 21:31, 11F

04/16 21:32, , 12F
應該是起碼L[,]是外部變數,每按一下是將x,y存到L[,],然後
04/16 21:32, 12F

04/16 21:33, , 13F
要立刻算MST也可以,要等到其他點也按下之後再算也可以.
04/16 21:33, 13F

04/16 21:34, , 14F
但是,除了按點之外,還要拉線,才能求MST呀,你除了要儲存點,
04/16 21:34, 14F

04/16 21:34, , 15F
還要儲存線才對.
04/16 21:34, 15F

04/16 21:38, , 16F
不好意思喔 我不太懂儲存線的意思是啥 算L[i,j]
04/16 21:38, 16F

04/16 21:39, , 17F
就可以了嗎 然後再由最小的L[i,j]去連點 i 跟 點 j
04/16 21:39, 17F

04/16 21:46, , 18F
或許你也可以貼上你想做的「演算法的每一個步驟」
04/16 21:46, 18F

04/16 21:46, , 19F
然後說說你是卡在哪一步
04/16 21:46, 19F
文章代碼(AID): #1BnrROgy (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1BnrROgy (C_Sharp)