1. 程式人生 > >高階語言與資料結構的關係

高階語言與資料結構的關係

資料結構:邏輯結構+儲存結構,所以說資料結構是儲存資料的一種方式
邏輯結構:一對一+一對多+多對多       線性結構+樹形結構+圖形結構
儲存結構:連續儲存+鏈式儲存
邏輯結構和儲存結構的關係: 每一種邏輯結構都可以用對應的儲存結構實現儲存
線性結構:連續儲存+鏈式儲存
樹形結構+圖形結構:鏈式儲存

儲存結構的高階語言實現:
1連續儲存
連續儲存又分為靜態連續儲存和動態連續儲存,
靜態連續儲存可以用高階語言的陣列實現,是在程式編譯時申請的記憶體,靜態確定陣列的大小
動態連續儲存可以使用高階語言的arrayList實現,是在程式執行時申請的記憶體,動態確定陣列的大小
2鏈式儲存
鏈式儲存結構可以用高階語言的指標實現

那麼程式設計時如何選擇儲存結構呢?
從時間複雜度考慮:如果已知問題執行的插入/  刪除操作比較多的話,選擇鏈式儲存結構;如果已知問題執行的查詢操作比較多的話,選擇連續儲存結構;
從空間複雜度考慮:如果已知問題有明確的規模,選擇靜態連續儲存結構;如果已知問題沒有明確的規模,選擇動態連續儲存結構或者鏈式儲存結構
一般分析一個程式的好壞時,主要從兩個方面進行考慮:時間複雜度/空間複雜度


儲存空間與高階語言的資料型別的對應關係
另外高階語言的資料型別對應的儲存,高階語言規定指定的資料型別有指定的大小的儲存空間,那麼對於高階語言沒有規定的大整數,高階語言又是如何儲存的呢?高階語言通過他的連續儲存結構陣列實現對大整數的儲存