我目前正在爲考試時間表調度解決方案的一所大學。我正在考慮使用遺傳算法。有效的數據結構來表示矩陣
現在我開始用一個簡單的例子,讓我捉對正在發生的事情,因爲我是新來的這一切。在這個例子中,我有10個考試,6個學生和6個可用時間段。我代表染色體使得我有一個位串10位與來自表示1-6的時隙,以便例如改變值:[3 1 4 1 3 5 5 6 4 2]
意味着考試1發生在第三時隙,考試2中的第一時隙,等等...
現在,如果我具有表示以下陣列檢查是每次服用的學生:
int[][] students_exams =
{
{3, 1, 2, 5, 8}, // student 1
{10, 4, 5, 7}, // student 2
{1, 2, 3, 6}, // student 3
{2, 7, 4, 5}, // student 4
{1, 6, 2, 10}, // student 5
{8, 9, 1, 3} // student 6
};
我怎樣纔能有效地表示此信息作爲[n×n個]矩陣,其中n是考試的數量(在這種情況下10)其中M [i] [j]等於數量的學生服用考試i和考試J〜
是否有一個數據結構,我可以使用或我必須每場考試的相互比較考試,並有一個遞增的計數器?因爲考慮到這一點,我認爲這對於我在現實生活中的學生和考試的數量並不會有效。
如果你可以參考我的任何文件或引用您將有很大幫助我。
感謝
您是否在尋找空間效率或處理器效率?如果您不關心空間效率,則無法同時處理高效空間處理,從而增加處理器開銷。 – MadConan