- 從零開(kāi)始學(xué)C語(yǔ)言
- 戴晟暉 祝明慧等編著
- 437字
- 2018-12-27 13:04:11
1.3.1 算法的概念
廣義上的算法指的是解決問(wèn)題的方法。就程序設(shè)計(jì)而言,算法是指計(jì)算機(jī)求解某一問(wèn)題而采用的具體方法、步驟。事實(shí)上,在日常生活中解決問(wèn)題經(jīng)常要用算法,只是通常不用“算法”這個(gè)詞罷了,例如,樂(lè)譜是樂(lè)隊(duì)指揮和演奏的算法;菜譜是廚師做菜的算法,等等。
在程序設(shè)計(jì)中,算法應(yīng)該能夠離散成具體的若干個(gè)操作步驟,每一個(gè)步驟都是能夠用程序設(shè)計(jì)語(yǔ)言提供的語(yǔ)句或者語(yǔ)句串來(lái)完成的。
例如,求兩個(gè)整數(shù)中較大的數(shù)。解決這個(gè)問(wèn)題的算法如下:
第1步 開(kāi)始。
第2步 輸入兩個(gè)整數(shù)a、b。
第3步 比較a、b的大小,如果a>b,輸出a,否則輸出b。
第4步 結(jié)束。
需要注意的是,程序是有開(kāi)始和結(jié)束的,所以算法必須有“開(kāi)始”和“結(jié)束”這兩個(gè)步驟。
計(jì)算機(jī)解題算法分為兩大類:數(shù)值運(yùn)算算法和非數(shù)值運(yùn)算算法。數(shù)值運(yùn)算算法解決的是求數(shù)值的問(wèn)題,運(yùn)用一定的求值公式如二元一次方程的求根公式、圓面積的計(jì)算公式等。這類算法相對(duì)比較成熟。非數(shù)值運(yùn)算的算法涉及的內(nèi)容比較廣,而且難以量化,一般都需要參考已有的類似算法,針對(duì)具體問(wèn)題重新設(shè)計(jì)。
推薦閱讀
- Python機(jī)器學(xué)習(xí):數(shù)據(jù)分析與評(píng)分卡建模(微課版)
- Flink SQL與DataStream入門、進(jìn)階與實(shí)戰(zhàn)
- Java:Data Science Made Easy
- Lua程序設(shè)計(jì)(第4版)
- Rust Essentials(Second Edition)
- Python完全自學(xué)教程
- Java程序設(shè)計(jì):原理與范例
- 劍指MySQL:架構(gòu)、調(diào)優(yōu)與運(yùn)維
- Android系統(tǒng)原理及開(kāi)發(fā)要點(diǎn)詳解
- 用案例學(xué)Java Web整合開(kāi)發(fā)
- 匯編語(yǔ)言編程基礎(chǔ):基于LoongArch
- JavaScript腳本特效編程給力起飛
- Couchbase Essentials
- Vue.js應(yīng)用測(cè)試
- Orchestrating Docker