在這個程序中將實現三種古典加密方法:愷撒算法,多表代換算法中的Vigener算法,與列換位算法
上傳時間: 2013-12-23
上傳用戶:stewart·
算法介紹 矩陣求逆在程序中很常見,主要應用于求Billboard矩陣。按照定義的計算方法乘法運算,嚴重影響了性能。在需要大量Billboard矩陣運算時,矩陣求逆的優化能極大提高性能。這里要介紹的矩陣求逆算法稱為全選主元高斯-約旦法。 高斯-約旦法(全選主元)求逆的步驟如下: 首先,對于 k 從 0 到 n - 1 作如下幾步: 從第 k 行、第 k 列開始的右下角子陣中選取絕對值最大的元素,并記住次元素所在的行號和列號,在通過行交換和列交換將它交換到主元素位置上。這一步稱為全選主元。 m(k, k) = 1 / m(k, k) m(k, j) = m(k, j) * m(k, k),j = 0, 1, ..., n-1;j != k m(i, j) = m(i, j) - m(i, k) * m(k, j),i, j = 0, 1, ..., n-1;i, j != k m(i, k) = -m(i, k) * m(k, k),i = 0, 1, ..., n-1;i != k 最后,根據在全選主元過程中所記錄的行、列交換的信息進行恢復,恢復的原則如下:在全選主元過程中,先交換的行(列)后進行恢復;原來的行(列)交換用列(行)交換來恢復。
上傳時間: 2015-04-09
上傳用戶:wang5829
C++編寫的高斯列主元素消去法。界面不夠好,不過算法沒問題。
上傳時間: 2014-01-06
上傳用戶:Pzj
利用BFS算法解八數碼問題 在3*3的方格上放著1-8數碼,有一空格為0變化規則為空格可以和上,下,右,左四個相鄰的數字互換, 至到和目標狀態相等, 每一種狀態用一個結點表示 而每個結點每次變化最多有四種結點,將這些結點依次入隊列中, 例如初始結點S0,入隊列后出隊,將S0變化最多產生的四種結點S01,S02,S03,S04依次入隊列中, 當S01出隊后,產生的四種結點S11,S12,S13,S14(實際上不會有四種結點)依次入隊, 每次出隊時與結束結點相比較,如果相等則退出, 為了,防止已經入隊的結點再次入隊,(這樣會造成列循環),將每次入隊的結點設置一個標識號, 四種變化即:向上,向下,向右,向左,我們要求向上和向下互斥,向右和向左互斥
上傳時間: 2015-04-24
上傳用戶:sdq_123
實驗描述:分布式數據庫的算法partition的具體實現。即通過該算法找到關系數據庫最優分裂點,使得結果最優。 算法思想: 1、 首先根據所輸入的attribute usage matrix得到AQ( ) 2、 對CA矩陣中劃分點預先設在n-1處,并將屬性列分成兩個集合,TA和BA,TA中的元為:{ A1 、A2 …… An-1 },BA中的元素為:{ An} 3、 確定集合TQ、BQ和OQ,其中TQ={ qj| AQ(qi) TA},BQ= TQ={ qj| AQ(qi) BA}, OQ=Q-{TQ BQ}。 4、 計算出CTQ、CBQ、COQ這些值,其中CTQ= ,CBQ= ,COQ= 5、 通過劃分點的第次移動分別計算出z=CTQ*CBQ-COQ2 6、 對取到的z的最大值處標記,為分割點 7、 對CA進行調整,重復計算得到最終z的最大值點,對CA矩陣進行劃分 8、 對上述算法進行修改,將得到的最大z值的分割點和次大的分割點都記錄下來,得到兩個分割,則將原有的屬性集劃分成三部分。 該算法的目的是找到獨立存取的屬性集合或者分別的應用集。比如說,如果可以找到兩個屬性A1,A2,他們只是被q1讀取,而A3,A4被q2,q3讀取,這樣在分裂的時候可以確定。算法就是找到這些組。另外為了簡單化起見,我命令refj(qi)全部等于1.
上傳時間: 2015-06-04
上傳用戶:13160677563
實驗描述:分布式數據庫的算法partition的具體實現。即通過該算法找到關系數據庫最優分裂點(2個),使得結果最優。 1、 首先根據所輸入的attribute usage matrix得到AQ( ) 2、 對CA矩陣中劃分點預先設在n-1處,并將屬性列分成3個集合,TA和BA和MA, 3、 確定集合TQ、BQ,MQ和OQ,其中TQ={ qj| AQ(qi) TA},BQ= TQ={ qj| AQ(qi) BA}, MQ={ qj| AQ(qi) MA},OQ=Q-{TQ BQ}。 4、 計算出CTQ、CBQ、CMQ、COQ這些值,其中CTQ= ,CBQ= ,CMQ= ,COQ= 5、 通過劃分點的第次移動分別計算出z=CTQ*CBQ*CMQ-COQ3 6、 對取到的z的最大值處標記,為分割點 7、 對CA進行調整,重復計算得到最終z的最大值點,對CA矩陣進行劃分 對上述算法進行修改,將得到的最大z值的分割點和次大的分割點都記錄下來,得到兩個分割,則將原有的屬性集劃分成三部分。
上傳時間: 2015-06-04
上傳用戶:515414293
簡易計算器不需要很高深的算法,對于數字計算的唯一要求就是在除數為零的時候要加以判斷和處理,其他的就是窗口布局和功能完善了;首先:計算器需要一個顯示按鍵結果的TextField部件,再就是添加很多Button了;為了界面的美觀,為Frame添加兩個panel,一個布局用BorderLayout.NORTH,另一個用GridLayout分成均等的幾行幾列;窗口的整體布局就基本成形了。剩下的為Button添加事件及響應事件的結果,編寫程序實現。
上傳時間: 2013-12-28
上傳用戶:anng
《Delphi算法與數據結構》源碼 Delphi開發人員Julian Bucknall從實用角度為廣大程序員提供了有關使用算法和數據結構的一個詳盡的介紹。Bucknall先從算法性能的討論開始,涵蓋了諸如數組、鏈表和二叉樹等內容。這本書強調了查找算法(如順序和二分查找),另外也重點介紹了排序算法(包括冒泡排序、插入排序、希爾排序、快速排序和堆排序),此外還提供了有關的優化技術。不僅如此,作者還介紹了散列和散列表、優先隊列、狀態機和正則表達式以及諸如哈夫曼和LZ77等數據壓縮技術。 隨附光盤中有作者所開發的一個相當成功的自由軟件庫EZDSL,另外還有可運行于各版本Delphi上和Kylix上的源代碼,此外還提供了TurboPower Software公司的可執行程序。
上傳時間: 2013-12-21
上傳用戶:標點符號
* 本算法用最小二乘法依據指定的M個基函數及N個已知數據進行曲線擬和 * 輸入: m--已知數據點的個數M * f--M維基函數向量 * n--已知數據點的個數N-1 * x--已知數據點第一坐標的N維列向量 * y--已知數據點第二坐標的N維列向量 * a--無用 * 輸出: 函數返回值為曲線擬和的均方誤差 * a為用基函數進行曲線擬和的系數, * 即a[0]f[0]+a[1]f[1]+...+a[M]f[M].
上傳時間: 2015-07-26
上傳用戶:
NTLM挑戰模式散列認證加密協議過程,算法實現與一些想法
上傳時間: 2013-12-16
上傳用戶:dbs012280