- 數據結構簡明教程(第2版)微課版
- 李春葆主編
- 513字
- 2019-07-01 10:16:51
上機實驗題1
1.基礎實驗題
(1)有以下兩個求1+2+…+n的算法:

現在需要計算1+(1+2)+(1+2+3)+…+(1+2+3+…+n)。編寫一個程序分別調用上述兩個算法求解,給出n=100000時兩個算法的執行時間。
(2)編寫一個程序求1!+2!+3!+…+n!,其中,n為正整數。請給出直接累計i!(1≤i≤n)的算法和改進算法。并采用相關數據測試(在上機實驗時n比較大時結果會溢出,不必考慮結果溢出情況)。分析兩個算法的時間復雜度。
2.應用實驗題
(1)有一個整型數組a,其中含有n個元素,設計盡可能好的算法求其中的最大元素和次大元素,并采用相關數據測試。
(2)定義單個復數的抽象數據類型為AComplex,其中,復數的實部和虛部均為整數,包含創建一個復數和輸出一個復數的基本運算。在此基礎上再定義兩個復數運算的抽象數據類型BComplex,包含兩個復數的加法、減法和乘法運算。編寫程序實現這兩個抽象數據類型,并采用相關數據測試。
作者寄語
老師教給我們的是知識,而解決問題需要能力,能力是個性化的,只有通過自己的實訓才能得到。對于一個計算機專業的學生,只有編寫和調試非常多的程序,才會獲得程序設計的能力,繼而具備初步的軟件設計和開發基礎,別無他法。只想聽幾堂課而不經過大量課外研習和上機實踐就想獲取這種“能力”是不可能的。