實踐題目名稱
程式儲存問題
問題描述
設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1≤i≤n。 程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案, 使得能夠在磁帶上儲存盡可能多的程式。 對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。
演算法描述(貪心選擇性質)
這道題是給定定長磁帶的長度,然後給了很多個檔案,裡面的程式長度是不同的,最後要求的就是這個定長磁帶可以儲存的最多程式數,這道題的貪心策略就是將給定的程式數從小到大排序,將程式數從小到大存入,則存入的程式數是最多的
演算法時間及空間複雜度的分析
時間複雜度:o(n)
空間複雜度:o(n)
對貪心演算法的理解
採用貪心策略每一步都是當前情況的最優解,所有步驟完成之後就得到總的最優解,時刻注重貪心演算法的兩個性質,貪心選擇性質和最優子結構性質
心得體會
要想降低**的時間複雜度,要想**不那麼複雜,就得找到最優的貪心策略,可以達到事半功倍的效果,因此需要多做題,來不斷鞏固,不斷變得熟練。
第四章上機實踐報告
實踐題目 4 2 刪數問題 110 分 給定n位正整數a,去掉其中任意k n 個數字後,剩下的數字按原次序排列組成乙個新 的正整數。對於給定的n位正整數a和正整數 k,設計乙個演算法找出剩下數字組成的新數最 小的刪數方案。輸入格式 第 1 行是1 個正整數 a。第 2 行是正整數k。輸出格式 輸出最...
第四章上機實踐報告
刪數問題 110 分 給定n位正整數a,去掉其中任意k n 個數字後,剩下的數字按原次序排列組成乙個新 的正整數。對於給定的n位正整數a和正整數 k,設計乙個演算法找出剩下數字組成的新數最 小的刪數方案。第 1 行是1 個正整數 a。第 2 行是正整數k。輸出最小數。在這裡給出一組輸入。例如 178...
第四章上機實踐報告
一 實踐題目 二 題目描述 給定一串串行,每次取兩個數的值加起來,然後把兩個數取出來,將兩個數加起來的值放入序列 三 演算法描述 題目大意其實類似哈夫曼編碼,只是他還要再求乙個最大值的 因此進行兩次操作,一次每次都是取最大的兩個數,另一次每次都是取最小的兩個數 每次取到的兩個最大或者最小的數a b進...