官术网_书友最值得收藏!

1.5.1 數據結構與算法的關系

算法與數據結構關系密切。兩者既有聯系又有區別。數據結構與算法的聯系可用如下公式描述:

程序=算法+數據結構

數據結構是算法實現的基礎,算法依賴于某種數據結構才能實現。算法的操作對象是數據結構。算法的設計和選擇要同時結合數據結構,只有確定了數據的存儲方式和描述方式,即數據結構確定了之后,算法才能確定,例如,在列表和鏈表中查找元素值的具體算法實現是不同。算法設計的實質就是對實際問題要處理的數據選擇一種恰當的存儲結構,并在選定的存儲結構上設計一個好的算法。

數據結構是算法設計的基礎。比如你要裝修房子,裝修房子的設計就相當于算法設計,而如何裝修房子是要看房子的結構設計。不同的房間結構,其裝修設計是不同的,只有確定了房間結構,我們才能進行房間的裝修設計。房間的結構就像數據結構。算法設計必須考慮到數據結構的構造,算法設計是不可能獨立于數據結構而存在的。數據結構的設計和選擇需要為算法服務,根據數據結構及特點,才能設計出好的算法。

數據結構與算法相輔相成,不是相互孤立存在的。數據結構關注的是數據的邏輯結構、存儲結構以及基本操作,而算法更多的是關注如何在數據結構的基礎上怎樣設計解決實際問題的方法。算法是編程思想,數據結構則是為了算法實現方便而提供存儲結構及基本操作,是算法設計的基礎。

主站蜘蛛池模板: 泊头市| 资中县| 延川县| 洪泽县| 嫩江县| 伊春市| 繁峙县| 疏附县| 景谷| 印江| 西宁市| 陆良县| 盈江县| 拉萨市| 弋阳县| 弋阳县| 潜山县| 准格尔旗| 中卫市| 从江县| 邹城市| 新泰市| 邛崃市| 九龙县| 新晃| 永顺县| 长阳| 淮北市| 宜川县| 英超| 北宁市| 拉孜县| 辽宁省| 黔江区| 福州市| 石河子市| 台东市| 福海县| 葵青区| 靖宇县| 凉城县|