首頁>Club>
4
回覆列表
  • 1 # 小谷見聞

    演算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。 形式化演算法的概念部分源自嘗試解決希爾伯特提出的判定問題,並在其後嘗試定義有效計算性或者有效方法中成形。這些嘗試包括庫爾特·哥德爾、Jacques Herbrand和斯蒂芬·科爾·克萊尼分別於1930年、1934年和1935年提出的遞迴函式,阿隆佐·邱奇於1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義為形式化演算法的情況。

  • 2 # 深景園

    演算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

    演算法中的指令描述的是一個計算,當其執行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。

  • 3 # 機器視覺工程師

    借花獻佛,把複雜的東西說的簡單化,先借用一下《三傻大鬧寶萊塢》電影中的一句話

    教授問 蘭徹(阿米爾汗)什麼是機器?

    任何能簡化工作或節約時間的就是機械裝置

    那麼什麼是演算法?

    能夠解決實際問題的一種方法思路就是演算法

    有了直觀的認知,那麼解釋下演算法由什麼構成的?

    演算法是用程式碼序列表達的一系列程式碼的有序集合,程式碼序列可以用任何高階語言開發,比如C、C++,c#,vb,python,delphi等各種語言。

    一個演算法需要前期透過數學建模哦,模型表達瞭解決問題的一個流程,並且這個流程是有結果的,流程是有效的,並且是有窮的,不能無限迴圈, 建模需要用到數學知識。

    然後透過計算機語言表達出來。

    什麼那些資料結構都是計算機語言的知識

    寫演算法真正到後面就是在考驗一個人的資料能力,數學思維,數學功底,數學,數學,數學,我認識好多大牛都是數學專業,然後做計算法演算法,到後面真的好厲害。。。。。。

  • 4 # TonyDeng

    廣義地講,演算法就是解決問題的方法,狹義的計算機程式設計來說,是有具體實施步驟的可程式設計方法。

    比如排序,是很常見的需求,我們有很多種排序的辦法,如何選擇,視資料具體情況而定,選擇用什麼方法也是演算法的一環。這樣說,似乎很抽象,但實踐過的,其實經常會遇見,也會明白。說具體點,排序一般要賦值,用於交換,這是一種搬移的動作,但很多時候,需要排序的資料是巨型物件無法搬移的,或者賦值操作耗費資源和時間,此時無法直接教科書式的排序演算法程式碼,程式設計師要另想辦法,比如使用指標進行邏輯排序,把排序結果對映到實際資料上,這就是資料庫裡索引和檢視的本質。演算法還是那些演算法,不過實現的具體方式有變化,學演算法,要學到這層靈活性,才叫實用。

    再如一種情形。有些計算,可以直接套用數學公式,就不需按部就班編寫原始步驟去求,諸如1+2+3+……+n這種,就不需要寫迴圈。但有時又不是這般,x的平方這種,不見得呼叫exp()函式比x*x高明。這類選擇,也可以說是演算法。典型的求素數演算法,那個使用平方根的演算法,就不是很高效,因為忽視了計算機運算浮點數的真實效率。

  • 5 # 育鄰人

    演算法,是解題方案准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。計算機出現之後,對於給予計算機指令的一系列指令,特別是完成較為複雜指令的程式被統稱為機器演算法。

  • 6 # Bean蠶豆

    演算法,對於我的理解是演算法是一組完成任務的指令。任何程式碼片段都可視為演算法。

    百科中的描述

    根據《百度百科》中的描述“演算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。”。叢中我們可以理解為演算法是為解決問題而存在的,並且依賴於機器去自動執行的一系列指令,在形式上表現為程式碼。

    演算法的特徵有窮性有窮性表示的是一個演算法的執行步驟或者過程是有限的,必須在有限的時間和步驟過程中結束。確切性演算法的每一個步驟或者每一串指令(程式碼)都是明確的,不可含糊的。可行性

    演算法中執行的任何計算步驟都可以分解為基本的可執行的操作步驟,即每個計算步驟都可以在有限時間內完成,或者都可以分解為計算機的最小分配單元去執行。

    演算法的評估

    時間複雜度

    演算法的時間複雜度是指演算法的執行時間。一般來說是一個關於規模n的函式。空間複雜度

    空間複雜度是指此演算法需要消耗的儲存空間,一般是指記憶體空間。

    常用的演算法排序遞迴迭代綜合以上的描述,演算法是解決生活中碰到的問題,透過程式碼來描述,並藉助機器來編譯程式碼並將程式碼轉化為機器能夠識別的指令來幫助我們解決問題。

  • 中秋節和大豐收的關聯?
  • 溧水專業的會計實操培訓班。會計實操學習的內容?