數據結構與算法(C#實現)系列-----前言
Heavenkiller (原創)
搞計算機的人都應該很清楚,語言只是一種工具,算法才是靈魂。現在的開發語言有很多,如C++,VB,Perl,java,c#,還有如腳本語言js,vbs等,在如此多的選擇面前,很多人不知道該選擇哪一種好。其實不管哪一種語言,既然他存在,就一定有他的價值,有它的特定用途,而這往往是其它語言所無法比擬的。譬如C++就適合於系統底層的編程,而java一般就用於對穩定性,兼容性要求較高的場合,正所謂各有所長。像我一般用C++編寫網絡基層和與操作系統相關的程序,用C#寫ASP.NET等程序,必要的時候再輔以Rose, Rational XDE等建模工具。但無論選擇哪一種語言,算法才是根本,掌握了算法,就掌握了所有語言的根本,以不變應萬變。
微軟的C#是一種全新的語言,利用它能快捷、高效地布署程序。現在關於C#的資料也已經有很多了,各個方面的資料都能找得到,但用C#做數據結構的似乎還沒有什麼,在CSDN上我只找到了三四篇,而且僅僅是講了一下鏈表之類簡單的數據結構。於是我利用空閒的時間用C#寫了一些數據結構與算法的實現,希望對大家學習數據結構能夠有所幫助。另外,由於時間倉促,難免出現一些纰漏,希望大家不吝賜教給予指正,我的email是[email protected].歡迎大家和我一起交流學習。
本系列包括樹,N叉樹,廣義樹,二叉樹,BST二叉查找樹,AVL平衡樹,堆,二叉堆,以及圖。還有一些如哈希表,散列,左翼樹,二項樹,Haffman編碼樹等因時間關系,暫時未能奉上,以後有時間再補上吧。
首先給大家展示一幅用Rational XDE for .NET 生成的類模型圖,讓大家對所有的類有一個大概的了解。