2010-10-13 53 views
0

我一直在尋找各種編程問題和算法,努力提高我的編程和解決問題的能力。但是,我一直運行到描述像這樣的:什麼樣的數學將幫助我解決編程問題?

「設A = [A1,A2,...,一個]是整數1,2的一個排列,...,N的一對索引的(。 I,J),1 < = I < = j的< = n時,是置換A的反轉,如果AI> AJ,我們給出整數n> 0和k> = 0。這是n元素置換的數量恰好包含k次反演?「 (SOURCE:http://www.spoj.pl/problems/PERMUT1/

我需要學習什麼樣的數學才能讓這類問題描述對我有意義?

+0

有沒有很多數學,哪一部分讓你感到困惑? – 2010-10-13 18:49:18

+0

另外,我不明白,你希望我們幫你掌握描述還是解決問題? – 2010-10-13 18:51:06

回答

4

我是在這種困境的大約一個月前。直到我從史蒂夫葉格來這篇文章 - Math for Programmers

非常翔實,強烈推薦閱讀。希望閱讀後,你會得到指示從那裏採取。祝一切順利。

+0

mivieyoda,完美。我之前讀過Steve Yegge,並讚賞他的想法。我會看一看。 – campbelt 2010-10-15 23:04:18

1

我建議一個看看下面的一個(或兩個):

格雷厄姆,Knuth的Patashnik:具體數學

Knuth的:計算機程序設計藝術(第1卷)

他們不容易閱讀,而且你肯定至少需要高中數學的背景知識,但他們很好地從那裏引導到你在你的問題中描述的那種數學,並且有很多練習。