天天看點

資料結構和算法的概念和特性

開發工具與關鍵技術:資料結構和算法的概念和特性

作者:盧惠圳

撰寫時間:2020年5月20日

資料結構簡單來說就是資料結構是計算機存儲、組織資料的方式,其中有三大基礎結構分别是:線性結構、樹結構、圖結構。這三種結構分别講述了結構中的資料元素之間的關系,也就是一對一、一對多、多對多三種不同的對應關系,如下圖所示:

資料結構和算法的概念和特性

首先是線性結構的關系一對一,就是除第一個和最後一個資料元素外,每個資料元素隻有一個前驅和一個後繼資料元素。其次是樹結構的關系一對多,就是除根結點外,每個資料隻有一個前驅資料元素,可有0個或若幹個後繼資料元素。最後是圖結構的關系多對多,就是每個資料元素可有0個或若幹個前驅資料元素和0個或若幹個後繼資料元素。

這些就是資料結構中最基本的三種基本結構下面是算法,算法就是對特定問題求解步驟的一種描述,它是指令的有限序列。簡單來說就是事先想好接下來要做的事情的每一步是怎麼做的,然後根據腦中想好的步驟按部就班去執行。

算法的特性,算法有五個特性分别是:有窮性、确定性、可行性、輸入、輸出。

有窮性:一個是應包含有限個操作步驟。即一個算法在執行若幹個步驟之後應該能夠結束,而且每一步都在有限時間内完成。

确定性:算法中的每一步都必須有确切的含義,不能産生二義性。

可行性:算法中的每一個步驟都應該是能有效地執行,并得到确定的結果。

輸入:所謂輸入,是指在算法執行時,從外界取得必要的資料。計算機運作程式的目的是為了進行資料處理,在大多數情況下,這些資料需要通過輸入得到。有些情況下,資料已經包含在算法中,算法執行時不需要任何資料,是以一個算法可以有零個或多個輸入。

輸出:一個算法有一個或多個輸出,這是算法進行資料處理後的結果。沒有輸出的算法是毫無意義的。

算法的這些特性可以限制程式設計人員正确地書寫算法,并使之能夠正确無誤地執行,達到求解問題的預期效果。