資料結構 順序表與鍊錶 演算法練習(一)

2021-08-28 04:22:56 字數 953 閱讀 6021

思路:

兩種不可行的方法:1. 每刪除乙個值為x的元素,就將後面的所有元素前移—— 時間複雜度為

2. 建立乙個新列表,存放list中所有不為x的元素—— 空間複雜度為

a1:方法一:掃瞄l,重建l用不為x的元素

//implement 1

void delete(const e& x)

} l->length = k; //重設順序表的長度

}

方法二:用k記錄當前值為x的元素的個數,將不為x的元素向前移動k位

//implement 1

void delete(const e& x)

l->length -= k; //重置順序表的長度

}

a2:

方法一:前後交換:pivot = listarray[0](基準),j從後向前找<=pivot的元素,i從前向後找》pivot的元素

//implement 1

void move1()

} tmp=l->data[0];

l->data[0]=l->data[j];

l->data[j]=tmp;

}

方法二: 前後交換:pivot = listarray[0](基準),j從後向前找<=pivot的元素,前移,i從前向後找》pivot的元素,後移

//implement 1

void move2()

l->data[i]=pivot;

}

a3:

建立乙個新陣列c;

分別從頭遍歷a和b的每一項:若指數相同,則對應係數相加,若其和不為0,則在c中增加乙個新項;若指數不同,則將指數較小的項複製到c中。

乙個多項式已遍歷完畢時,將另乙個的剩餘項依次複製到c中即可。

資料結構 順序表與鍊錶

順序表插入操作 temp seqlist list temp賦值為乙個結構體變數 for i temp length i pos i pos是插入的位置,注意是ta是下標 temp i int node 放新結點 temp length 刪除操作 for int i pos 1 ilength i ...

Python資料結構與演算法之鍊錶與順序表的對比

鍊錶與順序表的對比 鍊錶失去了順序表隨機讀取的優點,同時鍊錶由於增加了節點的指標域,空間開銷比較大,但對儲存空間的使用要相對靈活。鍊錶與順序表的各種操作複雜度如圖所示 操作鍊錶 順序表訪問元素 o n o 1 在頭部插入 刪除 o 1 o n 在尾部插入 刪除 o n o 1 在中間插入 刪除 o ...

資料結構演算法練習1 順序表

1.從順序表中刪除具有最小元素 假設唯一 並由函式返回被刪除函式的值,空出的位置由最後乙個元素填補,如果順序表為空顯示出錯資訊並退出執行。思想 遍歷順序表,找到最小值的位置,將末尾元素儲存到此次,刪除末尾元素 bool del min sqlist l,elemtype value for int ...