演算法第4章實踐報告

2022-09-02 22:00:26 字數 897 閱讀 1735

實踐題目:程式儲存問題

問題描述:設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1≤i≤n。 程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案, 使得能夠在磁帶上儲存盡可能多的程式。 對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。

第一行是2 個正整數,分別表示檔案個數n和磁帶的長度l。接下來的1行中,有n個正整數,表示程式存放在磁帶上的長度。

輸出最多可以儲存的程式數。

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

6 50 

2 3 13 8 80 20

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

5

演算法描述

1 #include2

using

namespace

std;

3void swap(int a,int i,intj)8

9void bubble_sort(int a,int

len)17}

18}19}

2021

22int

main()

29bubble_sort(a,n);

30for(int i=0;i)35}

36 cout37return0;

38 }

演算法時間及空間複雜度分析(要有分析過程)該演算法的時間主要花費在氣泡排序上,時間複雜度為o(n^2),而空間複雜度方面,主要是由於呼叫了方法,而方法裡面又呼叫了另外乙個方法

心得體會(對本次實踐收穫及疑惑進行總結)  本次實踐主要是對貪心演算法的加深理解。在這道實踐題中,還涉及到氣泡排序,可見程式設計題除了考當前所學,還考察我們之前的知識。每一步都是下一步的基礎,因此我們更要把當前的學好。

演算法第5章實踐報告

實踐題目 工作分配問題 問題描述 7 2 工作分配問題 20 分 設有n件工作分配給n個人。將工作i分配給第j個人所需的費用為cij 設計乙個演算法,對於給定的工作費用,為每乙個人都分配1 件不同的工作,並使總費用達到最小。輸入資料的第一行有1 個正整數n 1 n 20 接下來的n行,每行n個數,表...

演算法第5章上機實踐報告

7 2 工作分配問題 20 分 設有n件工作分配給n個人。將工作i分配給第j個人所需的費用為cij 設計乙個演算法,對於給定的工作費用,為每乙個人都分配1 件不同的工作,並使總費用達到最小。輸入資料的第一行有1 個正整數n 1 n 20 接下來的n行,每行n個數,表示工作費用。將計算出的最小總費用輸...

作業系列 演算法第3章上機實踐報告

1.實踐題目 7 3編輯距離問題 2.問題描述 設a和b是2個字串。要用最少的字元操作將字串a轉換為字串b。這裡所說的字元操作包括 1 刪除乙個字元 2 插入乙個字元 3 將乙個字元改為另乙個字元。將字串a變換為字串b所用的最少字元運算元稱為字串a到 b的編輯距離,記為d a,b 對於給定的字串a和...