編程是演算法
程序演算法是對特定問題求解過程的描述,是指令的有限序列,每條指令完成一個或多個操作。通俗地講,就是為解決某一特定問題而採取的具體有限的操作步驟。
在有限的操作步驟內完成。有窮性是演算法的重要特性,任何一個問題的解決不論其採取什麼樣的演算法,其終歸是要把問題解決好。如果一種演算法的執行時間是無限的,或在期望的時間內沒有完成,那麼這種演算法就是無用和徒勞的,我們不能稱其為演算法。

相關信息:
演算法的時間復雜度是指演算法需要消耗的時間資源。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做T(n)=Ο(f(n));因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度(Asymptotic Time Complexity)。
演算法的空間復雜度是指演算法需要消耗的空間資源。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
② 編程能力主要是演算法嗎
不。編程是一個系統的工程,其中包含非常多種方面的能力。而對於編程所要解決的不同類型的任務而言,所需要的能力的側重點也完全不一樣。如果要列舉一下的話,我認為至少有如下。 編程的思想。也就是計算機解決問題的基本思路和模式,比如對於各種選擇,循環,遞歸控制過程的掌握。通常來說在人們學習第一門編程語言的時候實際上就是在學習這方面的技能。可以說面向過程,面向對象,函數式編程等也是這個類別裡面。 對於編程語言的語法,規范,最佳實踐等的掌握。對於已經有1的基礎的,學習一點點基礎的語法即可很快的對另一門新的語言上手,這也是很多人說學習一門新的語言很簡單的原因。但是需要知道,每一門編程語言都有自己的細微的特點,要達到充分的掌握並非常熟練的使用,還是需要花費很多的功夫來學習的。 能夠對於要解決的特定的問題選擇更好的時間和空間開銷的解決方案的能力。通常來說也就是數據結構與演算法的能力。雖然演算法可能是一個非常宏大的概念(任何用計算機編程解決問題的方法你都可以叫做演算法),但是這里我們可能主要側重於對於一個問題的時間和空間復雜度的分析和優化。對於標准庫,系統API,以及第三方類庫的了解和熟練的使用。需要能夠知道這些庫的具體邏輯,能夠有能力快速的在文檔中查找到自己需要使用的合適的API,或者選擇使用合適的庫。 能夠合理的組織代碼,達到易讀,易擴展,易於變更等。能夠對軟體項目的開發過程當中的各種方面進行合理的組織和管理。通常就是設計模式和軟體工程。
能夠對計算機系統本身有足夠的了解,對編程過程中直接或者間接使用的工具有足夠的了解。通常說來著意味著對於計算機組成,操作系統,編譯原理,網路原理等計算機系統基礎的深入學習。雖然計算機體系的設計都盡力的把下層封裝成一個黑箱,使得上層可以不用考慮黑箱中的細節。但是這種封裝其實不可能完全隔絕這種差異。很多時候你都需要對更底層的東西有更好的了解來幫助你設計上層的系統。這對於性能的提升和問題的排查實際上都有著很積極的作用。對於要解決的問題相關的特定領域的知識。對於不同種類平台的應用開發,計算機科學裡面的各個子領域如人工智慧,圖形學等。這涉及到你如何能夠應用編程的能力來解決實際的問題。 能夠熟練的使用一台計算機,包括但不限於熟練的安裝各種軟體,解決系統問題,配置奇奇怪怪的開發環境。 有足夠好的英文閱讀能力,有足夠強的自學能力,有足夠強的在互聯網上有效的檢索信息的能力。 有進行抽象的復雜邏輯思維的能力。對於任何真實世界中的問題而言,都必然是一種系統的工程。這都涉及到綜合運用你擁有的能力和資源,對其進行合理的優化配置,對於要完成的目標進行必要的取捨。對於每一種不同的具體任務而言,對於以上每一種能力的要求都是不一樣的。簡單化的描述編程能力主要應該是什麼,都是不恰當的說法。
③ 「演算法」 在編程中什麼意思
比如你從b地到a地,有許多條路可以走,任何一條路都可以看作一個演算法。
編程中解決一個問題同樣有很多不同方法,每個方法就是一個演算法。
演算法裡面總有一個最好的,效率最高的,能否做到用效率最高的方法來完成任務,就是一個程序員水平高低的表現之一
④ 通常編程人員所說的演算法指什麼,如何理解啊
演算法分為廣義和狹義的
廣義演算法指解決問題的具體方法和步驟 比如做一道數學題要先計算什麼後計算什麼然後用什麼公式和定理最後得到了正確答案 這就是演算法
狹義演算法指在計算機編程中使用到的一系列編程方法或者技巧 遞歸是演算法的一種你可以網路一下遞歸的解釋 遞歸的劣勢就是要調用很多函數可能會造成棧溢出 所以一般會先用遞歸的思想解決和分析問題但是在實際編寫代碼的過程中會用到非遞歸的代碼 除此之外還有數據結構每一個數據結構對應一些演算法 我建議先把數據結構與演算法先學好(教材) 像單純的演算法書先別涉及用到在學
⑤ 請問編程就是算算術嗎
其實在學校里學的編程大都屬於數學演算法的范疇。如果是涉及到具體應用的編程,往往就不怎麼需要數學的東西(除非是科學領域的),重要的是如何規劃好整個軟體系統,使用什麼開發技術等等,而不是細節處的演算法。
補充:如果您想寫一些應用的東西,那麼可以根據自己的興趣來定。
先要有一個構思,就是大概程序的框架是怎樣的,然後選定一種編程語言。一般需要高性能的游戲都要用C++寫,沒有什麼特別需求的,非系統底層的應用一般都可以用C#語言來寫,C#比較簡明易懂,類似java,但庫的結構更清晰。入門的話可以去書店看書(有時間的話不建議買,買了往往會不看^_^)。
選完語言後,就可以動手了,如果用C#,可以下載visual studio 2005 這個集成開發環境。
⑥ 編程演算法有哪些
具體演算法如下:
1、快速排序演算法快速排序是由東尼·霍爾所發展的一種排序演算法。在平均狀況下,排序n個項目要Ο(nlogn)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。

2、堆排序(Heapsort)是指利用堆這種數據結構所設計的一種排序演算法。堆積是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。
3、歸並排序(Mergesort,台灣譯作:合並排序)是建立在歸並操作上的一種有效的排序演算法。該演算法是採用分治法(DivideandConquer)的一個非常典型的應用。
4、二分查找演算法是一種在有序數組中查找某一特定元素的搜索演算法。搜素過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜素過程結束。
5、BFPRT演算法解決的問題十分經典,即從某n個元素的序列中選出第k大(第k小)的元素,通過巧妙的分析,BFPRT可以保證在最壞情況下仍為線性時間復雜度。
6、深度優先搜索演算法,是搜索演算法的一種。它沿著樹的深度遍歷樹的節點,盡可能深的搜索樹的分支。當節點v的所有邊都己被探尋過,搜索將回溯到發現節點v的那條邊的起始節點。
⑦ 編程中的演算法是指什麼
演算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
比如你從b地到a地,有許多條路可以走,找出一條最短的路的方法就是一個演算法。
編程中解決一個問題同樣有很多不同方法,每個方法就是一個演算法。
演算法裡面總有一個最好的,效率最高的,能否做到用效率最高的方法來完成任務,就是一個程序員水平高低的表現之一。
⑧ 編程的基礎演算法有哪些
1、二叉樹的每個結點至多隻有二棵子樹(不存在度大於2的結點),二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第i層至多有2^(i 1)個結點。
深度為k的二叉樹至多有2^k 1個結點;對任何一棵二叉樹T,如果其終端結點數為n0,度為2的結點數為n2,則n0 = n2 + 1。二叉樹演算法常被用於實現二叉查找樹和二叉堆。

遞歸演算法能夠解決的問題
數據的定義是按遞歸定義的。如Fibonacci函數。
問題解法按遞歸演算法實現。如Hanoi問題。
數據的結構形式是按遞歸定義的。如二叉樹、廣義表等。
⑨ 演算法與編程有什麼關系
演算法有有窮性能,程序可以沒有,演算法是通過編程來體現的
演算法是程序設計的一部分,一般都是要先設計演算法,再進行編程,調試、運行的
補充:演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。

⑩ 請問演算法和編程的區別,最好能舉例
解決一個問題,有不同的解決方法。
這就是演算法。
比如:1 + 2 + 。。。100 = 5050。
顯然,有不同的演算法。
編程,是跟著演算法來的。
當然,同樣的演算法,也能寫出不同的程序結構。
這就是經驗的問題了。
