《數據結構》是計算機專業的一門必修課, 可是很多學生學完以后,覺得用處不大, 還不如學個C,Java來的直接一點。
等到工作了以后做業務系統開發,發現根本就用不到那些書中的講的二叉樹、圖、排序算法, 更加覺得這門課是在浪費時間了。
這種想法實際上是錯誤的。
學習數據結構,并不僅僅是學習其中現成的那些隊列,堆棧,二叉樹,圖等經典結構, 也不僅僅是學習其中的那些快速排序、冒泡排序等算法。
更重要的是你要學習一種思想:如何把現實問題轉化為計算機語言的表示。
計算機其實一種很笨,很機械的機器,只會按照預定的指令一步步執行, 而計算機語言的特點就是精確、無二意, 它的本質語言是二進制的, 即使是C,Java等高級一點的語言也只不過是包裝而已, 它的表達能力并沒有本質的提升, 仍然停留在很低的層次。
而我們用的自然語言則是典型的模糊的,不精確的, 程序員面臨的一個重要問題, 或者是我們的主要工作就是怎么把自然語言描述的問題轉化為計算機語言的表示。
到底該怎么轉化, 《數據結構》已經給出了指引: 設計出數據結構, 在施加以算法就行了, 當然現實問題會更復雜, 需要框架,類庫,模式等支撐。
這是一種非常重要的邏輯思維能力的鍛煉, 也是程序員入門的條件。
很多半路出家的人, 僅僅上了個培訓班后參加工作, 寫出的代碼實在是慘不忍睹, 很明顯只掌握了工具,邏輯思維的訓練遠遠不足。
就我個人而言, 大學時學《數據結構》以后, 為了準備高級程序員考試, 把里邊的習題全部做了一遍, 發現真是受益匪淺, 不但高程的成績非常好, 更重要的是在后來的工作中,遇到數據結構相關的實際問題, 基本上沒有什么障礙,只要掌握了語言特性, 解決起來非常輕松。
總結一下,《數據結構》這門課其實會潛移默化的影響你的邏輯思維, 當然, 你需要多多練習才有可能使用純熟, 等它變成身體一部分以后, 你就發現其實大部分編程任務都沒什么難度了,更難的其實是對編程更高的要求:抽象的能力。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。