數(shù)據(jù)結構算法題無從下手 數(shù)據(jù)結構中的算法設計題怎么提高?
數(shù)據(jù)結構中的算法設計題怎么提高?直接使用標題中給出的數(shù)據(jù)結構(順序存儲的思想是用物理鄰接表示邏輯鄰接,不需要將表示線性表長度的向量和變量封裝成一個結構)。因為是順序存儲,分配的存儲空間是固定的,所以首
數(shù)據(jù)結構中的算法設計題怎么提高?
直接使用標題中給出的數(shù)據(jù)結構(順序存儲的思想是用物理鄰接表示邏輯鄰接,不需要將表示線性表長度的向量和變量封裝成一個結構)。因為是順序存儲,分配的存儲空間是固定的,所以首先判斷是否還有存儲空間。如果有,根據(jù)原線性表中的元素來確定插入元素的插入位置,下面的元素為它讓路(也可以從高下標端開始,同時比較和移位),然后插入x,最后修改表示表長的變量。Intinsert(datatypea[],int*elenum,datatypex)/*設elenum為表的最大下標*/{if(*elenum==arrsize-1)return0/*表已滿且無法插入*/否則{I=*elenum while(I>=0&[I]>X)/*查找位置時移動*/{a[I 1]=a[I]I--}a[I 1]=x/*找到的位置是插入位的下一位*/(*elenum)返回N1/*insert success*/}的時間復雜度是O(n)。