有限的指令集。一堆指令集合來做一些事情。
演算法一定是在有限步驟之後,要終止。
可以有輸入或者無輸入,但是必須有輸出。
每一條指令都是明確的
選擇排序演算法的偽碼描述:
void selectionsort(int list,int n)
}
上述中就有抽象的概念。比如list是什麼型別,我們不關心。如何找到最小值方法不關心。
衡量演算法的有指標:
static int printn2(int n)
return
0;}
每一次遞迴都會增加壓棧。隨著n的增加,則占用的空間就會更大。
時間複雜度
我們來計算其中涉及的運算的個數,特別是乘法和除法的個數,還是以前面的例子來說。
以多項式求解的例子來說明,
第乙個例子:
static
int f1(int n,double a,int x)
在for迴圈中,pow中有i-1次乘法,在加上1次於a[i]的乘法,表示有i次乘法。那麼共有多少次乘法呢?
1+2+3+….+n= n∗
n+12
第二個程式:
static
int f2(int n,double a,int x)
在第i次中只有一次乘法,總共有n次的乘法。
時間複雜度分析,第乙個是: t(
n)=n
∗n+1
2 =c
1∗n2
+c2∗
n 時間複雜度分析,第二個是: t(
n)=c
∗n
第一講 遞迴
遞迴 recursion 程式呼叫自身的程式設計技巧。遞迴滿足2個條件 1 有反覆執行的過程 呼叫自身 2 有跳出反覆執行過程的條件 遞迴出口 一 階乘 include using namespace std int recursive int i int main main 三 斐波那契數 inc...
矩陣第一講
特殊矩陣1.零矩陣 所有矩陣的所有元素全都為0 2.對角矩陣 乙個n階方陣除對角線上的所有元素都為0 2.數量矩陣 對角矩陣中對角線上元素為常數,3.單位矩陣 數量矩陣中對角線上上常數為1.4.行階梯矩陣 乙個矩陣的每個非零行 元素不全為零 的非零首元 第乙個非零元素 所在列的下標隨著行標的增大,並...
第一講 遞迴
遞迴 recursion 程式呼叫自身的程式設計技巧。遞迴滿足2個條件 1 有重複執行的過程 呼叫自身 2 有跳出重複執行過程的條件 遞迴出口 一 階乘 include using namespace std int recursive int i int main main 三 斐波那契數 inc...