有a,b,c三個數,比較它們的大小
方法壹,按順序兩兩比較,取較大的
if (a > b) {
max = a;
} else {
max = b;
}
if (max < c) {
max = c;
}
方法二,假設第壹個是最大的,與後面兩個數進行比較,將較大的值賦給max
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
1、什麽是算法
算法(algorithm):就是定義良好的計算過程,他取壹個或壹組的值為輸入,並產生出壹個或壹組值作為輸出。簡單來說算法就是壹系列的計算步驟,用來將輸入數據轉化成輸出結果。
mark:我們可以把所有的算法想象為壹本“菜譜”,特定的算法比如菜譜中的的壹道“老醋花生米”的制作流程,只要按照菜譜的要求制作老醋花生米,那麽誰都可以做出壹道好吃的老醋花生米。so,這個做菜的步驟就可以理解為:“解決問題的步驟”
2、算法的意義
假設計算機無限快,並且計算機存儲容器是免費的,我們還需要各種亂七八糟的算法嗎?如果計算機無限快,那麽對於某壹個問題來說,任何壹個都可以解決他的正確方法都可以的!
當然,計算機可以做到很快,但是不能做到無限快,存儲也可以很便宜但是不能做到免費。
那麽問題就來了效率:解決同壹個問題的各種不同算法的效率常常相差非常大,這種效率上的差距的影響往往比硬件和軟件方面的差距還要大。
3、如何選擇算法
第壹首先要保證算法的正確性
壹個算法對其每壹個輸入的實例,都能輸出正確的結果並停止,則稱它是正確的,我們說壹個正確的算法解決了給定的計算問題。不正確的算法對於某些輸入來說,可能根本不會停止,或者停止時給出的不是預期的結果。然而,與人們對不正確算法的看法想反,如果這些算法的錯誤率可以得到控制的話,它們有時候也是有用的。但是壹般而言,我們還是僅關註正確的算法!
第二分析算法的時間復雜度
算法的時間復雜度反映了程序執行時間隨輸入規模增長而增長的量級,在很大程度上能很好反映出算法的好壞。