綜述
數據結構的特點
數據結構 | 優點 | 缺點 |
---|---|---|
數組 | 插入快,如果知道下標,可以非常快地存取 | 查找慢,刪除慢,大小固定 |
有序數組 | 比無序的數組查找快 | 刪除和插入慢,大小固定 |
棧 | 提供後進先出的存取 | 存取其他項很慢 |
隊列 | 提供先進先出的存取 | 存取其他項很慢 |
鏈表 | 插入快,刪除快 | 查找慢 |
二叉樹 | 查找、插入、刪除都快(如果樹保持平衡) | 刪除算法複雜 |
紅-黑樹 | 查找、插入、刪除都快。樹總是平衡的 | 算法複雜 |
2-3-4 樹 | 查找、插入、刪除都快。樹總是平衡的。類似的樹對磁盤存儲有用 | 算法複雜 |
哈希表 | 如果關鍵字已知則存取極快。插入快 | 刪除慢,如果不知道關鍵字則存取很慢,對存儲空間使用不充分對 |
堆 | 插入、刪除快,對最大數據項的存取很快 | 對其他數據項的存取慢 |
圖 | 對世界建模 | 有些算法慢且複雜 |
小結:
- 數據結構是指數據在計算機內存空間中或磁盤中的組織形式。
- 正確選擇數據結構會使程序的效率大大提高。
- 數據結構的例子有數組、棧和鏈表。
- 算法是完成特定任務的過程。
- 在Java中,算法經常通過類的方法實現。