第三章實驗
1.實踐題目
答:數字三角形。
2.問題描述
答:給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向下),使該路徑經過的數字總和最大。
3.算法描述
答:for(int i = n - 2; i >= 0; i--){
for(int j = 0; j <= i + 1; j++){
if(a[i+1][j] > a[i+1][j+1])
a[i][j] = a[i][j] + a[i+1][j];
else a[i][j] = a[i][j] + a[i+1][j+1];
}
}
4.算法時間及空間復雜度分析(要有分析過程)
時間復雜度:算法內有兩個循環,則時間復雜度為O(n*n);
空間復雜度:算法內有兩個循環,需要的空間復雜度為O(n*n)
5.心得體會(對本次實踐收獲及疑惑進行總結)
答:上實驗課時沒有完成這道代碼,主要在於不知道怎麽用動態規劃算法,現在也只是半懂不懂。
第三章實驗
相關推薦
第三章實驗二小談
就是 運行 字符 文件 eof 方案 但是 字符變量 速度 這周很忙...時間很趕...很多作業還沒做... 首先想談(tu)論(cao)一下計算機的嚴謹性。 編程語言嚴謹是一種好事,越嚴謹,把它轉化為機器語言就越方便,在資源占用、運行速度等方面存在優勢。 唯一的缺點就是高
第三章實驗
i+1 心得 str 收獲 疑惑 實踐 設計 時間 ron 1.實踐題目 答:數字三角形。 2.問題描述 答:給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向下),使該路徑經過的數字總和最大。
演算法第三章實驗報告
實踐報告任選一題進行分析。內容包括: 實踐題目 最大子段和 問題描述 給定n個整數(可能為負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。當所給的整數均為負數時,定義子段和為0。 要求演算法的時間複雜度為
演算法作業:第三章實驗報告
演算法作業:第三章實驗報告 實踐題目:最大子段和 問題描述: 求出子段和的最大值,若最大值為負數,則最大值為0 演算法描述: dp[i]表示以a[i]為字串結尾的最大連續字串的長度,因此轉移方程為: dp[i]=max(0,dp[i-1]+a[i]); 複雜度分析: 只需要掃一遍陣列並隨時
第三章實驗報告
題目: 求最大子段和 問題描述: 給定n個整數(可能為負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。當所給的整數均為負數時,定義子段和為0。 演算法描述 設一個數組a[ ],用於存放n個數,定義一個整型sum存放最大和,定
資料結構第三章實驗2.實現鏈棧的各種基本運算
(1)初始化棧s。 (2)判斷棧s是否為空。 (3)依次進棧元素a,b,c,d,e。 (4)判斷棧s是否為空。 (5)輸出出棧序列。 (6)判斷棧s是否為空。 (7)釋放棧。 #include <stdio.h> #include &l
第三章 實驗二 猜數字遊戲
實驗目的: 使用if~else分支和while迴圈語句解決問題 GuessNumber.java package guessnumber; import java.util.Scanner; import java.util.Rand
演算法第三章上機實驗
演算法第三章上機實驗 數字三角形 給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個演算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向下),使該路徑經過的數字總和最大。 #include <iostream> using namespace std; in
第三章上機實驗報告
7-1 數字三角形 題目描述: 給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個演算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向下),使該路徑經過的數字總和最大。 輸入格式: 輸入有n+1行:
演算法第三章上機實驗報告
1.實踐題目 7-2 最大子段和 2.問題描述 給定n個整數(可能為負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。當所給的整數均為負數時,定義子段和為0。 要求演算法的時間複雜度為O(n)。 3.演算法描述 首
算法第三章上機實驗報告
str style 二維數組 -a class 遇到 esp 基本 user 1.實踐題目:7-1 數字三角形 (30 分) 2.問題描述: 給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向
ip地址還原(資料結構課本第五章實驗三)
目的:掌握基本遞迴演算法設計 內容:編寫程式exp5-3.cpp,恢復IP地址。給定一個僅僅包含數字的字串,恢復它的所有可能的有效IP地址。例如,給定字串為“22522511135”,返回“225.225.11.135”和“225.225.111.35”(順序可以任意)。 #include&
C語言程式設計(第三版) 第六章 實驗題 2 任務4
#include <iostream> #include<iomanip> #include<time.h> using namespace std; int main() { int flag,n1; char m; double i=0,a=0,
C語言程式設計(第三版) 第六章 實驗題 2 任務6
#include <iostream> #include<iomanip> #include<time.h> using namespace std; int main() { int flag,n1,n2; char m; double i=0,l
王爽《組合語言》第三版 第十章 實驗十
1、顯示字串 程式碼如下: assume cs:code data segment db 'Welcome to masm!', 0 data ends code segment start:
Java第三章上機實踐-實驗2-猜數字遊戲
Guess.java import java.util.Random; import java.util.Scanner; /* * To change this template, cho
第四章 實驗三 共同的森林
實驗目的: 掌握類變數與例項變數,以及類方法與例項方法的區別 Village.java public class Village { static int treeAmount; int peopleNumber; String nam
讀構建之法 第三章:軟件工程師的成長
知識點 可維護 vid -s 評估 不同 fun 可靠 科研 本章理論和知識點:評價軟件工程師水平的主要方法 軟件工程把相關的技術和過程統一到一個體系中,叫“軟件開發流程”,軟件開發流程的目的是為了提高軟件開發、運營、維護的效率,以及提升用戶滿意度、軟件的可靠性和可維護性。
Js高設筆記 第三章
efi alert html 產生 數據 span mil blog com 第三章 數據類型 P25 1, var message; //age變量尚未聲明 alert(message); //"undefined" alert(age); //產生錯誤
第三章總結
tsp 領域 style 成長 集體 lib con 需要 能夠 本章主要的理論和知識點是評價軟件工程師水平的主要方法、技能的反面以及TSP對個人的要求。 首先,不同的數據能夠從不同方面一個展示軟件工程師的技術和能力,例如,通過完成時間平均值的比較,兩位工程師或許能決出完成