1.1算法
算法是解決特定的計算機問題的一種工具
例如:一個排序問題
輸入a1,a2,a3.....an
要求輸出a1',a2',a3'.....an'並且滿足(a1'<=a2'<=a3'.....<=an')
這個問題就可以用算法解決
算法在現實中的應用;
例如:
1.人的DNA排序問題
2.世界各地的人們相互交互的信息如何以最快的速度到達對方
3.現在比較流行的電子商務,人們通過網絡可以做貿易
4.在製造業和其他商業中如何最有效的配置自己的資源,如何更加有效的滿足顧客的需要等等
還有另外的一些問題:
1.有一張地圖標明瞭一些位置,以及位置之間相互的距離,如何判斷從一個位置到另外的位置的最短線路,這在計算機中我們引入了"圖"的概念解決
2.給定n維矩陣的向量(A1,A2,A3.....An),看看矩陣的乘積結果,假設n=4,即A1,A2,A3,A4,則矩陣的乘積一共有以下幾種情況:(A1(A2(A3A4))),:(A1((A2A3)A4)),:((A1A2)(A3A4)),:((A1(A2A3))A4),:(((A1A2)A3)A4),如何得到有多少種情況,在以後的學習中會學習到
3.給定一個等式ax=b(mod n) 其中a,b,n都是整行,如何得到所有的解,我們可以把x從0,1,2.....n-1試驗,但是在以後的學習種會告訴一種更加有效的解法
4.平面中有n個點,如何確定這些點的"凸包",凸包就是包含這些點的最小的凸多邊形
習題(答案只是寫的一些自己知道的,希望大家踊躍討論,互相學習,我也會在以後的學習中補充):
1.分別舉出現實中需要下面的算法的例子
<1>排序問題
答:排序問題在現實中是很多的,成績排序等等
<2>矩陣乘積最好的順序
答:
<3>找出"凸包"
答:好象遊戲中經常用到
2.除了"速度",人們在現實中衡量效率的方式
答:
3.選擇一種數據結構,說明其的優缺點
答:鏈表,棧,圖,等等,數據結構中應該學到過
4.the shortest-path 問題和 traveling-salesman問題的相同點和不同點是什麼?
答: the shortest-path問題是,在現實中有幾個地點,地點之間有不同的距離,問題是從一個點到另一個點的多條路徑中的最短的路徑
traveling-salesman問題是,現實中有幾個地點,一個人從起點要走遍其他的所有點(或者部分點),然後再回到起點,問最優路徑
5.想出現實中的兩個例子
<1>
必須是最好的解決方案才行
答:
<2>
大約是最好的解決方案就可以了
答: