天天看點

資料結構的基礎概念

資料結構的内容

資料結構分為:邏輯結構、存儲結構、資料的運算;

邏輯結構分為:線性結構、非線性結構​

線性結構分為:線性表、棧、隊

非線性結構分為:樹型結構、圖形結構

存儲結構分為:順序存儲、鍊式存儲

資料的運算:查找、排序、插入、删除、修改

存儲結構的對比

順序存儲:借助元素在存儲器中的相對位置來表示資料元素間的邏輯關系(按順序存儲)

鍊式存儲:借助訓示元素存儲位址的指針表示資料元素間的邏輯關系(按指針的方式存儲)

時間複雜度

算法時間的複雜度記作:T(n)=O(f(n))

for(i=1;i<n;i++)
    x+=1;

for(i=1;i<n;i++)
  for(j=1;j<n;j++)
    x+=1;

for(i=1;i<n;i++)
  for(j=1;j<n;j++)
    for(z=1;z<n;z++)
      x+=1;      

第一個代碼的為O(n);第二個為O(n2);第三個為O(n3)

常見的時間複雜度數量級:

O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)