[問題] 請問二維陣列亂數給定值該如何實現?

看板C_and_CPP作者 (追尋著幻影.....)時間13年前 (2011/03/03 12:41), 編輯推噓1(1013)
留言14則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visual C++ 6.0 問題(Question): 原始問題是假設有100個網路節點 要產生一個網路 每個節點至少有一個對外連線 最多6個連線 然後亂數去產生 所以小弟把這問題想成一個100*100的二維陣列 有連線就把值塞1給它 沒有則為0 但是對於設限的地方一直想不通 如果一列一列亂數塞值 這樣到後面的列數就要去判斷是否某個點已經超過6個連線 如此就失去了亂數產生的意義 請問小弟該如何去實現呢?請大大提供大概的思考方向 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.149.124

03/03 12:49, , 1F
洗牌問題
03/03 12:49, 1F

03/03 12:56, , 2F
可以再多一個陣列存每個節點已經連幾個了
03/03 12:56, 2F

03/03 12:56, , 3F
譬如節點1連到了節點6 節點1跟6的計數器都各要+1
03/03 12:56, 3F

03/03 14:09, , 4F
請問洗牌問題去作的話 是否可以達到每個節點都是亂數的1~6個
03/03 14:09, 4F

03/03 14:10, , 5F
連線?小弟目前想到的是每個點都會有6個連線 只是是亂是連接
03/03 14:10, 5F

03/03 14:11, , 6F
還是哪邊想法有問題?謝謝
03/03 14:11, 6F

03/03 14:13, , 7F
多一個陣列小弟有想過 但是會讓產生的網路不是那麼公平
03/03 14:13, 7F

03/03 14:17, , 8F
謝謝兩位大大^^
03/03 14:17, 8F

03/03 17:30, , 9F
對一百個點跑六次呢?
03/03 17:30, 9F

03/03 17:31, , 10F
每次都先跑一定機率的要不要外聯 然後連哪個點
03/03 17:31, 10F

03/03 17:31, , 11F
要連上去之前判斷有沒有超過,有的話選別的點
03/03 17:31, 11F

03/03 17:32, , 12F
至於連線的表達方式 我比較推薦三角矩陣
03/03 17:32, 12F

03/03 17:32, , 13F
或是稀疏矩陣
03/03 17:32, 13F

03/03 18:50, , 14F
了解 好像可行 謝謝pichubaby大^^
03/03 18:50, 14F
文章代碼(AID): #1DRnmKtm (C_and_CPP)