1. 程式人生 > >淺談資料結構與演算法

淺談資料結構與演算法

一個優秀的程式  = 優秀的資料結構   +   一個優秀的演算法(包含企業級開發,人工智慧開發),

所以一個程式猿這個是必須要做的,必須會的,否則不是一個合格的程式猿;

資料結構:個人理解,就是對一組資料,結合業務場景進行資料分析,羅列出來的一種資料關係。

定義:是指相互之間存在著一種或多種關係的資料元素的集合和該集合中資料元素之間的關係組成(不喜歡文縐縐的東西)

結構:線性(一對一),樹形(一對多),圖形結構(多對多)

常用結構:陣列,棧,佇列,連結串列,樹,圖,推,散列表

個人理解;

 線性:線性是指在二維空間能解決的問題的,都可以歸納為線性結構。

非線性:二維空間不能解決的,需要多維空間解決的。可以歸納為非線性結構。

比如一個點,可以用二維,也可用三維,多維來表示。來利用這種表示解決生活中切實問題

演算法的理解:

比如;1+2+3+.....+100。這個計算,

可以寫個迴圈依次進行相加(一種演算法)。

也可首未相加之和在相加。(一種演算法)。

目的是找到一個快、準、穩的計算方法(也可能是多種演算法的結合體)。