資料結構的内容
資料結構分為:邏輯結構、存儲結構、資料的運算;
邏輯結構分為:線性結構、非線性結構
線性結構分為:線性表、棧、隊
非線性結構分為:樹型結構、圖形結構
存儲結構分為:順序存儲、鍊式存儲
資料的運算:查找、排序、插入、删除、修改
存儲結構的對比
順序存儲:借助元素在存儲器中的相對位置來表示資料元素間的邏輯關系(按順序存儲)
鍊式存儲:借助訓示元素存儲位址的指針表示資料元素間的邏輯關系(按指針的方式存儲)
時間複雜度
算法時間的複雜度記作: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)