catalan

    3熱度

    1回答

    我使用此代碼來計算加泰羅尼亞號碼。它給了我正確的價值,直到n = 6,然後它給了我錯誤的價值。我使用計算器手動檢查。例如:當n = 5時,加泰羅尼亞號是42,這是正確的,但是當n = 7時,它給了我6這是完全錯誤的,因爲答案應該是429.我只是無法弄清楚什麼是錯的。有人能幫助我嗎? static void Main(string[] args) { int i, n, fact, fa

    -1熱度

    1回答

    我研究了矩陣鏈的乘法問題,我理解算法的作用。最近,我遇到了加泰羅尼亞號碼,在解決parenthesization problem時派上用場。這個問題在我看來與Matrix Chain Multiplication非常相似。事實上,在CLRS中他們提到了矩陣鏈乘法章節中的加泰羅尼亞數字。 我很好奇你能解決與加泰羅尼亞數字算法矩陣鏈乘法?我的想法是:不,你無法解決,因爲加泰羅尼亞語數字描述了多種加括號

    4熱度

    1回答

    在Haskell中記憶遞歸函數的最快方法是什麼? 背景:最近我一直在解決Haskell中的項目歐拉問題。許多計算需要遞歸定義的組合或數理論函數,例如斐波那契數。如果這樣的函數被記憶,性能會顯着提高,也就是說,函數的結果被緩存供以後使用。 我見過這個問題的很多解決方案。最優雅的似乎是this.一個使用Data.IntMap(或哈希表)和狀態monad。 this answer中提出了一種基於樹的解決

    0熱度

    1回答

    是否有人知道計算加泰羅尼亞大數目的快速算法模素(這是1.000.000.007)約500.000 的輸入值已經花了相當長的一段時間就可以了但我無法修改普通公式來處理這麼高的數字,而且動態算法耗時過長。 我會任何幫助:)

    1熱度

    1回答

    我正在編寫一個加泰羅尼亞數字發生器的作業,我正在pytohon做一個遞歸程序。 程序: def catalan(n): if n == 0: c_f = 1 else: c_f = ((4*n-2)/(n+1))*catalan(n-1) return c_f print catalan(10) 回報5832,這是錯誤的答案,但 def

    1熱度

    1回答

    我想爲這個算法寫一個遞歸關係。但是我對「根」變量感到困惑。任何人都可以幫助我或者建議我一個更好的遞歸算法來計算有n個節點的可能二叉樹的數量? Algorithm countTrees(n) { if(n<=1) then return 1 else { sum = 0 for root=1 to root<= n do { left = c

    0熱度

    3回答

    我想用這段代碼來計算Python中的加泰羅尼亞數字,但它不起作用。我該如何解決它? 這裏是我的代碼: def catalan_rec(n): if n == 0: return 1 else: b = 0 for i in range (n): b += sum((catalan_rec(i))*(catalan_rec(n-1

    -1熱度

    1回答

    我打算使用memoization來計算加泰羅尼亞數字,但它似乎不工作,我需要改變什麼? def catalan_mem(n, memo = None): if n==0: return 1 if memo == None: memo = {} b=0 if n not in memo: for i in range (n)

    0熱度

    1回答

    確定1,...,n密鑰集上不同二叉搜索樹數量的可能性是多少?

    6熱度

    1回答

    我一直在想了一會兒對這個問題的方式: 什麼是正確的方法數*安排2 * N括號。 *正確排列的圓括號序列在其末尾具有相同數量的開放和閉合圓括號,並且在整個序列中具有比閉合圓括號更大或相等數量的開放圓括號。 例如,對於n=3,有5方式:((())),()(()),()()(), (())(), (()())。 我一直在考慮將嵌套圓括號表示爲樹,但並沒有太遠。