combinatorics

    13熱度

    3回答

    (有人問之前,這不是功課。) 假設你有2個陣列y0和y1其中 y0 = [1,2,3,4,5,6]和 y1 = [2,1,6,3,4,5] 通知y0[0] = y1[1] = 1,這基本上意味着y0[0]連接到y1[1]。同樣,y0[2] = y1[3] = 3也是「連接」的。 (圖片提供:貝利薩留) 在一個陣列中的每個元件具有第二陣列中的相應條目。 想象陣列中的每個元素爲頂點,並且這些連接爲邊緣

    3熱度

    2回答

    A和B是一組N維向量(N=10)|B|>=|A|(|A|=10^2,|B|=10^5)。相似性度量sim(a,b)是點積(必需)。任務如下:對於A中的每個向量a在B中找到向量b,使得所有對的相似之和ss是最大的。 我第一次嘗試是貪心算法: 找到對相似度最高,並刪除從A那一雙,B 重複(1),直到爲空 但這種貪婪算法在這種情況下不是最理想的: a_1=[1, 0] a_2=[.5, .4]

    5熱度

    1回答

    在圖像中發現了這個謎題。根據我的思路,總路數應該是 2*comb(7,i) for i <- 1 to 7其中comb定義如下。我的方法是否正確?我關心的是我得到的結果,而不是下面寫的函數。 def comb(N,k): if (k > N) or (N < 0) or (k < 0): return 0L N,k = map(long,(N,k)) to

    3熱度

    1回答

    首先注意:對不起,我的圖像沒有分開。我是一名新成員,所以我沒有足夠的聲望點發布超過一個超鏈接。 設M是n乘n陣列(數學方陣)的字符。 在M中,我需要能夠通過限制找到所有字符的排列組合。排列不一定是線性的,但它們必須包含字符,使得每個字符與排列中的至少一個其他字符相鄰。可接受的置換示例如下: 下面顯示了不可接受的置換。 我已經得出這麼多: 的對號可以有至多爲n的平方內的字符(如沒有字符可以重複)。

    8熱度

    2回答

    匈牙利算法在標準python庫中有很好的實現嗎?

    3熱度

    3回答

    因此,我試圖從給定的N元素集合中找到所有k元素子集的問題。我知道使用公式C(n,k)= C(n-1,k-1)+ C(n-1,k)的k個子集的總數是多少,我也知道如何去做以迭代的方式,但是當我嘗試去思考遞歸解決方案時,我陷入了困境。任何人都可以給我一個提示嗎? 謝謝!

    3熱度

    2回答

    我們給出了一組n個不同的元素和一個帶有n個節點的未標記二叉樹。我們可以使用給定集合填充樹以使它成爲二叉搜索樹?

    51熱度

    12回答

    我希望在Haskell中生成2個列表的Cartesian乘積,但是我不知道如何去做。笛卡爾乘積給出列表元素的所有組合: xs = [1,2,3] ys = [4,5,6] cartProd :: [a] -> [b] -> [(a,b)] cartProd xs ys ==> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]

    4熱度

    4回答

    我有一個非常奇怪的問題,它有一些限制使得它很難解決。我有一個列表清單,我想做這些清單中所有項目的組合。每個項目都有一個名稱和一個值。這裏有一個例子: 主要列表: 表01: 項目01:名稱:name01,值:value01 項目02:名稱:name02,值:value02 表02: 項目01:名:姓名03,2值:value03 表03: 項目01:名:姓名04,2值:value04 項目02:名稱:

    18熱度

    8回答

    編輯:我很抱歉,但我忘了提及我需要計數器變量的值。所以做一個循環並不是我害怕的解決方案。 我不確定這是否可能,但我想要做以下事情。 函數傳遞一個數組數組。每個數字是for循環的上限,例如,如果陣列是[2, 3, 5],下面的代碼應執行: for(var a = 0; a < 2; a++) { for(var b = 0; b < 3; b++) { for(var c =