vs2015安装与单元测试以及经过优化的算法
vs作為現在流行的主流編程軟件,我接下來將會以vs2015為例,介紹vs2015的安裝方法。
1.從Microsoft官網上或從網上下載vs2015安裝鏡像。
2.運行下載文件后,根據提示完成安裝。
但是需要注意,出現線面彈框的時候,要選擇自己需要的語言,不要選擇自己不需要的語言,因為那樣會讓安裝時間過長。
3.接下來我將演示如何創建一個cpp文件。
首先運行vs2015后,會出現上面界面。
選擇新建項目,選擇Win32控制臺應用程序。
在這里我是建議大家將附加選項中除了空項目之外,全部點掉的。
在這里選擇源文件,右擊創建新項目。
選擇c++文件。
然后大家就可以在這里編程了。
--------------------------------------------------------------------------這里是可愛的分界線-----------------------------------------------------------------------------------------
接下來我將為大家介紹求數組的子數組之和的最大值算法。
看到這個題目我感到很親切,因為我本身是做acm的,所以對這個題很熟悉。
開始我和大家一樣,或許第一印象就是使用暴力求解的方法,(- -當然你們也可能比我聰明直接想出了更簡便的算法)。
這里我要向大家介紹一個源自鄒欣老師編寫的的《編程之美》中的一個算法,當然我只是在時間上進行了相對的節約,并沒有對空間上進行節約,如果愿意,這也是完全可以的。
如果同學們才用暴力求解,會發現將程序的時間復雜度將是O(n*n),這在n很小是還可以,可是當n大到一定程度是,這個復雜度是相當恐怖的。
好了不bb了,我將介紹一下這個的算法,除了需要儲存數據的a數組,我將而外開取兩個數組,一個是now數組,一個是all數組。now[i]數組用來儲存到第i個數時,一定加上a[i]的最大值,而all[i]數組則表示到第i個數時的最大值。
這里根據動態規劃,不難得出下面兩個遞推公式。
now[i]=max(a[i],now[i-1]+a[i]);
all[i]=max(now[i],all[i-1]);
我采取了《編程之美》上那種從數組后面向前遞推的方法,當然正面遞推也是正確的。
這是我代碼地址:https://git.coding.net/Sm1leJokinger/shuzu.git
下面我將貼上我單元測試的結果。
| 用例編號 | 用例描述 | 輸入數據 | 預期輸出數據 | 實際輸出數據 | 通過/不通過 | 評價 ? |
| 1 | 最大子數和為部分數組 | 0,1,2-5,4,5? | 9 | 9 | 通過 | 結果正確 |
| 2 | 最大子數和為整個數組 | 0,1,2,-1,10,5 | 17 | 17 | 通過 | 結果正確 |
| 3 | 全部為0 | 0,0,0,0,0,0 | 0 | 0 | 通過 | 結果正確 |
| 4 | 最大子數和為最小負數 | -1,-1,-2,-5,-4,-5 | -1 | -1 | 通過 | 結果正確 |
| 5 | 包含0的正數 | 0,1,2,3,4,5 | 15 | 15 | 通過 | 結果正確 |
轉載于:https://www.cnblogs.com/2333sm/p/5946868.html
總結
以上是生活随笔為你收集整理的vs2015安装与单元测试以及经过优化的算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【图】一笔画
- 下一篇: Python3.5 Day1作业:实现用