⑴ 簡述以下演算法的功能(棧和隊列的元素類型均為int)。
演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
一個演算法應該具有以下七個重要的特徵:演算法可以使用自然語言、偽代碼、流程圖等多種不同的方法來描述。有窮性(Finiteness)演算法的有窮性是指演算法必須能在執行有限個步驟之後終止2、確切性(Definiteness)演算法的每一步驟必須有確切的定義。
(1)數據結構分析下列演算法的功能擴展閱讀
棧作為一種數據結構,它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據。棧具有記憶作用,對棧的回插入與刪除操作中,不需要改變棧底指針。
每次在隊尾插入一個元素是,rear增1;每次在隊頭刪除一個元素時,front增1。隨著插入和刪答除操作的進行,隊列元素的個數不斷變化,隊列所佔的存儲空間也在為隊列結構所分配的連續空間中移動。當front=rear時,隊列中沒有任何元素,稱為空隊列。
⑵ 演算法的功能
演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制.也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出.如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題.不同的演算法可能用不同的時間、空間或效率來完成同樣的任務.一個演算法的優劣可以用空間復雜度與時間復雜度來衡量.
一個演算法應該具有以下七個重要的特徵:
演算法可以使用自然語言、偽代碼、流程圖等多種不同的方法來描述.
1、有窮性(Finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
2、確切性(Definiteness)
演算法的每一步驟必須有確切的定義;
3、輸入項(Input)
一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4、輸出項(Output)
一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果.沒有輸出的演算法是毫無意義的;
5、可行性(Effectiveness)
演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性);
6、 高效性(High efficiency)
執行速度快,佔用資源少;
7、 健壯性(Robustness)
對數據響應正確.
計算機科學家尼克勞斯-沃思曾著過一本著名的書《數據結構十演算法= 程序》,可見演算法在計算機科學界與計算機應用界的地位.
⑶ 下述演算法的功能是什麼
①這是一段不完整的C/C++語言的代碼。
②該演算法的功能是將鏈表L1、L2按長在前短在後的順序拼接成一個新的鏈表。(人話:就是兩串數據連成一串)
③將代碼整理並分析如下圖:
④理解此解答要有C/C++語言和數據結構的基礎,如果您仍不理解,可以參考相關學科書籍。