隨筆 - 303  文章 - 883  trackbacks - 0
          <2007年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          歡迎光臨! 
          閑聊 QQ:1074961813

          隨筆分類(357)

          我管理的群

          公共blog

          • n維空間
          • Email : java3d@126.com 群 : 12999758

          參與管理的論壇

          好友的blog

          我的其他blog

          朋友的網站

          搜索

          •  

          最新評論

          很久只前我有個朋友提出一道某大公司應聘的題目,今晚突然回想起來,覺得很有趣
          如下
          有一個 m * n  的矩陣,m n 是提供的確定的數,但算法必須適應任意情況
          里面的數是不確定(任意的)的,要求按一定的方向(如圖),
          從左上角第一個元素走到右下角最后一個元素,只能向右和向下走,每走一步,加上那
          個數,要求得到的數最小。




          要求如下:
          第一:算法要簡單
          第二:效率要高(因為數據可能很多)

          比如:

          1 8   0
          7 8   8
          7 15 1

          那么最優路徑就是

          1 8  0 
                 8 
                 1

          下面我提出自己的想法:

          首先:遍歷整個矩陣(二維數組),得到最大的那個數,用一個標記替換他如 '#' ,重復這一,
          大概 n 次(n為可能路徑 (還在計算中,會補上的) 的1/3);

          然后:用循環,判斷(排除前面的標記)得到剩下路徑,取出最優值;(如果剩下的個數
          還很大,可以重復上一步操作)

          這個我的自己的想法,不知道您有沒有其他的想法?請多多指教!

          如果您知道,可能的路徑數目的計算公式,也希望你能提供我參考;謝謝!!!




          地震讓大伙知道:居安思危,才是生存之道。
          posted on 2007-09-03 22:35 小尋 閱讀(2254) 評論(11)  編輯  收藏 所屬分類: 算法

          FeedBack:
          # re: 關于一個矩陣最優路徑算法 2007-09-03 22:50 幻想~@@~
          提示下:窮舉看起來不太可能,我算過了,太多了 呵呵  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法 2007-09-03 22:54 幻想~@@~
          再提示一下:貪婪法,每次尋找與當前節點鄰接的最小值
          1 8 0
          7 8 8
          7 15 1
          得到的是
          1
          7
          7 15 1
          明顯不可以  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法 2007-09-03 22:55 星空丨丶情緣
          .可不可以把矩陣分成多個一維數組.
          用線程同時算出每維最小的數.再放在一個一維的數.再窮舉一次.

          僅僅思路.怎么實現..那就..  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法 2007-09-03 23:02 幻想~@@~
          可以但是路徑有可能斷掉了,這個想法和我的很類似  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法 2007-09-25 16:40 beginner
          從深的優先和廣度優先搜索法入手,
          拿著大學時候c++教材可以解決的.
          現在忘了具體算法了  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法[未登錄] 2007-09-26 07:45 尋覓
          呵呵 謝謝 還有人說用圖論 解決 認為怎么樣?  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法 2008-05-03 21:51 ygh
          能不能實現這樣的一個算法,我把所有的數字看成是網格各邊的長度,所有的數字就可以構成一個網絡,我只要在對角上一拉,直到不能拉的時候為止,此時的路徑就是最短的路徑,就不曉得這樣的算法能不能實現呢!  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法[未登錄] 2008-05-11 16:48 尋覓
          呵呵 感覺你的想法不錯!有個地方不是很清楚:
          "對角上一拉,直到不能拉的時候為止"這句話什么意思呢?
          是否解釋下? 謝謝  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法[未登錄] 2008-07-27 01:44 test
          因為只能向右,向下走,從最左上角開始,這其實就是一個二叉樹,但是倒了邊界又不是二叉樹(不過可以當作二叉樹來處理),這就是看哪種算法最優了!個人覺得先一支走到底,然后再用分支定界法!  回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法 2009-09-23 12:01 
          沒看懂?
            回復  更多評論
            
          # re: 關于一個矩陣最優路徑算法 2011-05-10 09:36 Ghost
          復雜度太大!用動態規劃吧~@beginner
            回復  更多評論
            
          主站蜘蛛池模板: 大庆市| 金阳县| 行唐县| 乌恰县| 阜南县| 东丽区| 瑞昌市| 开江县| 锡林郭勒盟| 林甸县| 商丘市| 华池县| 辛集市| 习水县| 宜兰市| 塔城市| 新疆| 卢龙县| 鹿邑县| 惠水县| 乌鲁木齐市| 天全县| 海阳市| 长岭县| 霸州市| 钟山县| 旌德县| 大同县| 郁南县| 临朐县| 瓮安县| 治多县| 万安县| 武胜县| 霞浦县| 璧山县| 松原市| 象山县| 乳山市| 辉县市| 宜良县|