⑴ 對演算法描述正確的是( )
答案C
分析:用演算法的定義逐一來分析判斷各選項的正確與否.
解答:演算法的特點:有窮性,確定性,順序性與正確性,不唯一性,普遍性
演算法可以用自然語言、圖形語言,程序語言來表示,故A、B不對
同一問題可以用不同的演算法來描述,但結果一定相同,故D不對.C對.
故應選C.
點評:考查演算法的定義以及演算法的表示形式,演算法的特徵,考查很詳細.
打字不易,如滿意,望採納。
⑵ 關於數據結構排序演算法的問題
選擇排序
插入排序:每次比較後最多移掉一個逆序,因此與冒泡排序的效率相同。但它在速度上還是要高點,這是因為在冒泡排序下是進行值交換,而在插入排序下是值移動,所以直接插入排序將要優於冒泡排序。直接插入法也是一種對數據的有序性非常敏感的一種演算法。在有序情況下只需要經過n-1次比較,在最壞情況下,將需要n(n-1)/2次比較。
選擇排序:簡單的選擇排序,它的比較次數一定:n(n-1)/2。也因此無論在序列何種情況下,它都不會有優秀的表現(從上100K的正序和反序數
據可以發現它耗時相差不多,相差的只是數據移動時間),可見對數據的有序性不敏感。它雖然比較次數多,但它的數據交換量卻很少。所以我們將發現它在一般情
況下將快於冒泡排序。
冒泡排序:在最優情況下只需要經過n-1次比較即可得出結果,(這個最優情況那就是序列己是正序,從100K的正序結果可以看出結果正是如此),但在最壞情況下,即倒序(或一個較小值在最後),下沉演算法將需要n(n-1)/2次比較。所以一般情況下,特別是在逆序時,它很不理想。它是對數據有序性非常敏感的排序演算法。
堆排序:由於它在直接選擇排序的基礎上利用了比較結果形成。效率提高很大。它完成排序的總比較次數為O(nlog2n)。它是對數據的有序性不敏感的一種演算法。但堆排序將需要做兩個步驟:-是建堆,二是排序(調整堆)。所以一般在小規模的序列中不合適,但對於較大的序列,將表現出優越的性能。
基數排序:在程序中採用的是以數值的十進制位分解,然後對空間採用一次性分配,因此它需要較多的輔助空間(10*n+10), (但我們可以進行其它分解,如以一個位元組分解,空間採用鏈表將只需輔助空間n+256)。基數排序的時間是線性的(即O(n))。由此可見,基數排序非常吸引人,但它也不是就地排序,若節點數據量大時宜改為索引排序。但基數排序有個前提,要關鍵字能象整型、字元串這樣能分解,若是浮點型那就不行了。
⑶ 下面對演算法描述正確的一項是() A.演算法只能用自然語言來描述 B.演算法只能用圖形方式來表示
演算法的特點:有窮性,確定性,順序性與正確性,不唯一性,普遍性 演算法可以用自然語言、圖形語言,程序語言來表示,故A、B不對 同一問題可以用不同的演算法來描述,但結果一定相同,故D不對.C對. 故應選C. |
⑷ 什麼是演算法 演算法有哪些特徵,對於演算法是怎樣評價的
1、演算法概念:\x0d在數學上,現代意義上的「演算法」通常是指可以用計算機來解決的某一類問題是程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成.\x0d2.演算法的特點:\x0d(1)有限性:一個演算法的步驟序列是有限的,必須在有限操作之後停止,不能是無限的.\x0d(2)確定性:演算法中的每一步應該是確定的並且能有效地執行且得到確定的結果,而不應當是模稜兩可.\x0d(3)順序性與正確性:演算法從初始步驟開始,分為若干明確的步驟,每一個步驟只能有一個確定的後繼步驟,前一步是後一步的前提,只有執行完前一步才能進行下一步,並且每一步都准確無誤,才能完成問題.\x0d(4)不唯一性:求解某一個問題的解法不一定是唯一的,對於一個問題可以有不同的演算法.\x0d(5)普遍性:很多具體的問題,都可以設計合理的演算法去解決,如心算、計算器計算都要經過有限、事先設計好的步驟加以解決.
⑸ 演算法的三種基本結構是
演算法有順序結構、條件分支結構、循環結構三種基本邏輯結構。
1、順序結構:順序結構是最簡單的演算法結構,語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的。
它是任何一個演算法都離不開的一種基本演算法結構。順序結構在程序框圖中的體現就是用流程線將程序框自上而下地連接起來,按順序執行演算法步驟。
2、條件結構:
條件結構是指在演算法中通過對條件的判斷,根據條件是否成立而選擇不同流向的演算法結構。
條件P是否成立而選擇執行A框或B框。無論P條件是否成立,只能執行A框或B框之一,不可能同時執行A框和B框,也不可能A框、B框都不執行。一個判斷結構可以有多個判斷框。
3、循環結構
在一些演算法中,經常會出現從某處開始,按照一定條件,反復執行某一處理步驟的情況,這就是循環結構,反復執行的處理步驟為循環體,顯然,循環結構中一定包含條件結構。循環結構又稱重復結構,循環結構可細分為兩類:
一類是當型循環結構,如下左圖所示,它的功能是當給定的條件P成立時,執行A框,A框執行完畢後,再判斷條件P是否成立,如果仍然成立,再執行A框,如此反復執行A框,直到某一次條件P不成立為止,此時不再執行A框,離開循環結構。
另一類是直到型循環結構,如下右圖所示,它的功能是先執行,然後判斷給定的條件P是否成立,如果P仍然不成立,則繼續執行A框,直到某一次給定的條件P成立為止,此時不再執行A框,離開循環結構。
(5)演算法的順序性擴展閱讀
共同特點
(1)只有一個入口和出口
(2)結構內的每一部分都有機會被執行到,也就是說對每一個框來說都應當有一條從入口到出口的路徑通過它,如圖中的A,沒有一條從入口到出口的路徑通過它,就是不符合要求的演算法結構。
(3)結構內不存在死循環,即無終止的循環。
⑹ 什麼是演算法演算法的概念演算法的特點都有哪些
1、演算法概念:
在數學上,現代意義上的「演算法」通常是指可以用計算機來解決的某一類問題是程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成.
2. 演算法的特點:
(1)有限性:一個演算法的步驟序列是有限的,必須在有限操作之後停止,不能是無限的.
(2)確定性:演算法中的每一步應該是確定的並且能有效地執行且得到確定的結果,而不應當是模稜兩可.
(3)順序性與正確性:演算法從初始步驟開始,分為若干明確的步驟,每一個步驟只能有一個確定的後繼步驟,前一步是後一步的前提,只有執行完前一步才能進行下一步,並且每一步都准確無誤,才能完成問題.
(4)不唯一性:求解某一個問題的解法不一定是唯一的,對於一個問題可以有不同的演算法.
(5)普遍性:很多具體的問題,都可以設計合理的演算法去解決,如心算、計算器計算都要經過有限、事先設計好的步驟加以解決.
⑺ 演算法的有序性是指
演算法的計算規則以及相應的計算步驟必須是唯一確定的,既不能含糊其辭,也不能有多種可能,
這里指的是演算法的明確性.
故選:B