Floyd-Warshall算法描述 1)適用范圍: a)APSP(All Pairs Shortest Paths) b)稠密圖效果最佳 c)邊權(quán)可正可負 2)算法描述: a)初始化:dis[u,v]=w[u,v] b)For k:=1 to n For i:=1 to n For j:=1 to n If dis[i,j]>dis[i,k]+dis[k,j] Then Dis[I,j]:=dis[I,k]+dis[k,j] c)算法結(jié)束:dis即為所有點對的最短路徑矩陣 3)算法小結(jié):此算法簡單有效,由于三重循環(huán)結(jié)構(gòu)緊湊,對于稠密圖,效率要高于執(zhí)行|V|次Dijkstra算法。時間復雜度O(n^3)。 考慮下列變形:如(I,j)∈E則dis[I,j]初始為1,else初始為0,這樣的Floyd算法最后的最短路徑矩陣即成為一個判斷I,j是否有通路的矩陣。更簡單的,我們可以把dis設(shè)成boolean類型,則每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”來代替算法描述中的藍色部分,可以更直觀地得到I,j的連通情況。
標簽: Floyd-Warshall Shortest Pairs Paths
上傳時間: 2013-12-01
上傳用戶:dyctj
實現(xiàn)最優(yōu)二叉樹的構(gòu)造;在此基礎(chǔ)上完成哈夫曼編碼器與譯碼器。 假設(shè)報文中只會出現(xiàn)如下表所示的字符: 字符 A B C D E F G H I J K L M N 頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57 字符 O P Q R S T U V W X Y Z , . 頻度 63 15 1 48 51 80 23 8 18 1 16 1 6 2 要求完成的系統(tǒng)應(yīng)具備如下的功能: 1.初始化。從終端(文件)讀入字符集的數(shù)據(jù)信息,。建立哈夫曼樹。 2.編碼:利用已建好的哈夫曼樹對明文文件進行編碼,并存入目標文件(哈夫曼碼文件)。 3.譯碼:利用已建好的哈夫曼樹對目標文件(哈夫曼碼文件)進行編碼,并存入指定的明文文件。 4.輸出哈夫曼編碼文件:輸出每一個字符的哈夫曼編碼。
上傳時間: 2014-11-23
上傳用戶:shanml
這本書是多年來我對專業(yè)程式員所做的C++ 教學課程下的一個自然產(chǎn)物。我發(fā)現(xiàn),大部份學生在一個星期的密集訓練之後,即可適應(yīng)這個語言的基本架構(gòu),但要他們「將這些基礎(chǔ)架構(gòu)以有效的方式組合運用」,我實在不感樂觀。於是我開始嘗試組織出一些簡短、明確、容易記憶的準則,做為C++ 高實效性程式開發(fā)過程之用。那都是經(jīng)驗豐富的C++ 程式員幾乎總是會奉行或幾乎肯定要避免的一些事情。structures of computer science.
標簽: 程式
上傳時間: 2016-10-13
上傳用戶:362279997
專家點評: Y P7 `. @ {$ r% pa.功能很強大,可以看出花了很多心血在算法上,非常好。算法上還有一點瑕疵,例如在刪除一個員工的同時沒有辦法自動建立其他員工的上下級關(guān)系,必須刪除全部下級員工,不是非常合理。此外,界面設(shè)計過于簡單,應(yīng)該加強. " W" R+ b* g$ a$ Sb.程序運用了自己的算法來提高Tree控件顯示的速度和資源分配,這個非常值得肯定和鼓勵。* C. c4 D0 e9 ` J$ w# U c.基本實現(xiàn)所有規(guī)定的功能,在所有參賽者中唯一熟 : O) l- F6 F9 f) S7 Q. l練使用面向?qū)ο笤O(shè)計方式開發(fā)程序的工程師,很不錯!程序體現(xiàn)了作者非常扎實的數(shù)據(jù)結(jié)構(gòu)功底,值得大家學習。工程管理也做得非常好,體現(xiàn)了作者在軟件工程方面也有很深入的研究,該代碼是很好的學習范例。 % G* H$ ~3 W1 ]. e! id.算法的創(chuàng)新是獨特之處(hashtable算法建立),可見作者在數(shù)據(jù)結(jié)構(gòu)方面的熟練掌握.此程序是很多專家會員學習典范.
上傳時間: 2017-01-19
上傳用戶:奇奇奔奔
自己寫一個語言分析解釋器,開發(fā)環(huán)境visual c++ 6.0
標簽: 分
上傳時間: 2014-01-21
上傳用戶:alan-ee
學會一個程式語言,是一回事兒;學會如何以此語言設(shè)計並實作出有效的程式,又是一回事兒。C++ 尤其如此,因為它很不尋常地涵蓋了罕見的威力和豐富的表現(xiàn)力,不但建立在一個全功能的傳統(tǒng)語言(C)之上,更提供極為廣泛的物件導向(object-oriented)性質(zhì),以及對templates 和exceptions(異常狀態(tài))的支援。
標簽: 程式
上傳時間: 2013-12-09
上傳用戶:ANRAN
Fortran - Tóm tắ t nộ i dung mô n họ c Các khái niệ m và yế u tố trong ngô n ngữ lậ p trình FORTRAN. Các câ u lệ nh củ a ngô n ngữ FORTRAN. Cơ bả n về chư ơ ng chư ơ ng dị ch và mô i trư ờ ng lậ p trình DIGITAL Visual Fortran. Viế t và chạ y các chư ơ ng trình cho các bài toán đ ơ n giả n bằ ng ngô n ngữ FORTRAN.
上傳時間: 2013-12-25
上傳用戶:songrui
c++ Ngô n ngữ C cho vi đ iề u khiể n Các tài liệ u tham khả o, ebook. Programming Microcontrollers in C (Ted Van Sickle) C Programming for Microcontrollers (Joe Pardue SmileyMicros.com ) Programming 16-Bit PIC Microcontrollers in C (Jucio di jasio ) C Programming for AVR Programming embedded system I,II (Michael J . Pont ) ( các tài liệ u này đ ã down load về )
上傳時間: 2017-07-29
上傳用戶:壞壞的華仔
Boost C++ Libraries Free peer-reviewed portable C++ source libraries Boost C++ Libraries 基本上是一個免費的 C++ 的跨平臺函式庫集合,基本上應(yīng)該可以把它視為 C++ STL 的功能再延伸;他最大的特色在於他是一個經(jīng)過「同行評審」(peer review,可參考維基百科)、開放原始碼的函式庫,而且有許多 Boost 的函式庫是由 C++ 標準委員會的人開發(fā)的,同時部分函式庫的功能也已經(jīng)成為 C++ TR1 (Technical Report 1,參考維基百科)、TR2、或是 C++ 0x 的標準了。 它的官方網(wǎng)站是:http://www.boost.org/,包含了 104 個不同的 library;由於他提供的函式庫非常地多,的內(nèi)容也非常地多元,根據(jù)官方的分類,大致上可以分為下面這二十類: 字串和文字處理(String and text processing) 容器(Containers) Iterators 演算法(Algorithms) Function objects and higher-order programming 泛型(Generic Programming) Template Metaprogramming Preprocessor Metaprogramming Concurrent Programming 數(shù)學與數(shù)字(Math and numerics) 正確性與測試(Correctness and testing) 資料結(jié)構(gòu)(Data structures) 影像處理(Image processing) 輸入、輸出(Input/Output) Inter-language support 記憶體(Memory) 語法分析(Parsing) 程式介面(Programming Interfaces) 其他雜項 Broken compiler workarounds 其中每一個分類,又都包含了一個或多個函式庫,可以說是功能相當豐富。
上傳時間: 2015-05-15
上傳用戶:fangfeng
精通:VISUAL C++指紋模式識別系統(tǒng)算法及實現(xiàn)_0
上傳時間: 2013-06-01
上傳用戶:eeworm
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1