演算法第四章上機實驗報告

2022-09-10 03:21:14 字數 732 閱讀 1300

給定n位正整數a,去掉其中任意k≤n 個數字後,剩下的數字按原次序排列組成乙個新的正整數。對於給定的n位正整數a和正整數 k,設計乙個演算法找出剩下數字組成的新數最小的刪數方案。如果數字最前面有0不輸出。

第 1 行是1 個正整數 a。第 2 行是正整數k。

輸出最小數。

在這裡給出一組輸入。例如:

178543 

4 結尾無空行

5001

1結尾無空行

123456

2結尾無空行

109

1結尾無空行

在這裡給出相應的輸出。例如:

13

結尾無空行

1結尾無空行

1234

結尾無空行

9

#include #include using namespace std;

int k,i,len,flag=1,j=0;

char str[250];

int main()

while(i每次從頭開始尋找第乙個降序序列,並且每次把降序序列的第乙個元素刪去;

時間複雜度:o(n^2)

空間複雜度:t(n)

貪心策略適用的前提是:區域性最優策略能導致產生全域性最優解。但尋找最優解的過程需要借助題目和直覺。而且貪心演算法對每個子問題都採取同樣的解決方案,相比之下迭代過程能比動態規劃簡單得多。

演算法第四章上機實驗報告

實踐題目名稱 最優合併問題 問題描述 給定k 個排好序的序列,用 2 路合併演算法將這k 個序列合併成乙個序列。假設所採用的 2 路合併演算法合併 2 個長度分別為m和n的序列需要m n 1 次比較。試設 計乙個演算法確定合併這個序列的最優合併順序,使所需的總比較次數最少。為了進行比較,還需要確定合...

演算法第四章上機實驗報告

題目 最優合併問題 1.問題描述 給定k 個排好序的序列,用 2 路合併演算法將這k 個序列合併成乙個序列。假設所採用的 2 路合併演算法合併 2 個長度分別為m和n的序列需要m n 1 次比較。試設 計乙個演算法確定合併這個序列的最優合併順序,使所需的總比較次數最少。為了進行比較,還需要確定合併這...

演算法第四章上機實驗報告

4 1 程式儲存問題 40 分 設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。第一行是2 個正整數...