連載1---第1章:算法在計算機中的角色(1.1:算法)

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>

                大約是最好的解決方案就可以了

               答:

發佈了31 篇原創文章 · 獲贊 3 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章