-
1 # 資料小俠
-
2 # JAVA周老師
基本是相通的。也就是說資料結構是高於程式語言層面的,就像程式結構,判斷和迴圈,不同語言實現方式不一樣,但是邏輯相通。資料結構也是一樣,重點在資料的組成和邏輯關係,思考結構的時候一定要脫離程式設計習慣,高度要提升一個層次。
-
3 # 遷徙de麻雀
回答是肯定的。
資料結構重點關注兩個方面:一個是資料的組織形式(按照ADT來理解)和功能介面設計,另一個就是資料的物理存取。
資料結構必然需要透過一門語言作為表達工具。對於不同的語言,在基本型別的特點和操作方面會有差異,比如你在用C指標的時候,到Java就會相應地使用引用;比如你用C可以malloc動態分配記憶體,而到Java這部分你就需要靠Java提供陣列(由Jvm來分配記憶體)。掌握了資料結構的核心思想,在不同語言之間切換是無壓力的。
對於資料結構的儲存,首先不要在腦海中將它固化為記憶體儲存(書本上知識為方便講述資料結構本身的知識而直接使用語言提供的各種內實現)。一般說來,記憶體不是瓶頸的時候,我們可以為了效能儘量使用記憶體,大多數語言在基礎類庫方面都有常用資料結構(如棧、佇列)基於記憶體儲存的實現。而在需要持久化的時候選擇合適的策略來保障資料安全性。
一般在處理業務級別時,載入記憶體的是部分已經篩選過的資料(比如資料庫分頁查詢),這部分資料基本都不會涉及大量的記憶體使用。但是一旦你要面對大量資料處理或者高併發且需要考慮記憶體限制時,就需要配合大容量的磁碟和記憶體一起來做資料結構的存取設計。這一點,你只要聯絡資料庫的索引的設計就能明白。
總結資料結構的核心還是資料結構的思想,到了具體使用的時候,會根據實際情況在結構(比如是資料內嵌到結構中,還是結構內嵌到資料中)和儲存方面(同時影響介面的具體實現)做調整。所以,如果你發現換門語言就有點困難就說明掌握還不夠,掌握資料結構的重點在於多用多思考多總結。
回覆列表
我學資料結構也是學的c語言版。java,Python,c++我都會。在做過一些專案時都實踐過。我感覺,資料結構就是講資料高效組織的,說白了就是對記憶體的理解。學,還是為了用!!如果你用不好,還是沒學到位。