• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 183,  comments - 10,  trackbacks - 0

            :: 和同學聊了起來
            =======================
            信息論的角度去討論算法
            一個算法的高效不高效
            看它產生的信息量有多大
            如果有冗余的信息量,效率就有提高的空間

            舉個例子
            你統計一個集合中重復出現的元素
            那么久沒有必要對元素計數
            直觀的方法是對元素計數
            然后檢測
            但是這個計數是冗余的
            只需要找到重復的,不需要知道具體出現的次數
            針對這個問題

            我是覺得最高效的算法應該是恰恰能解決現有問題的算法,不生成多余的冗余信息
            生成任何信息都是需要代價的
            信息論。。。
            算法的高效不高效,一是時間二是空間
            上面那個問題,既然不需要計數
            只需要給每個元素一個位,節省空間
            位圖
            海量數據的時候
            如果 幾十億個 int 數
            看里面是否存在重復的
            重復出現的時候,檢測到對應為為 1 ,說明之前存在了
            所以就是重復出現的數
            遍歷這個集合
            可以將結果存起來
            我的意思是,這個問題就是找到重復出現的,沒有必要對每個數計數
            這樣,就可以節省空間

            還有時間的
            還有就是充分挖掘問題中的信息
            充分利用問題中的信息,提高獲取的信息量,充分利用了隱藏的信息量就會涉及出高效的算法
            基于比較的算法,不會是 O(N) 的,最優就是 O(NlogN)。
            基數排序、桶排序,這樣的就是有限制性的算法,這個限制就是元素有個范圍,限制是給了隱含的信息,利用這個可以就有了 O(N) 的排序
            盡可能從問題中挖掘潛在的信息,獲得的信息越多越有利于解決問題,也就越有可能獲得高效的解法。

            控制論、系統論、信息論
            信息論是香農創建的,也屬于數學,算法就是解決問題的,解決問題的就是想得到結果,結果就是一種信息,算法的設計可以用信息論的角度解釋
            反正總結起來是兩點吧,一是充分挖掘已有的信息,二是盡可能不要產生冗余信息。這樣設計的算法,既可以利用以存在的信息,也不會產生多余的信息,效率自然會高。

            ======================

            FOO 21:57:39
            信息論的角度去討論算法
            FOO 21:57:57
            一個算法的高效不高效
            FOO 21:58:09
            看它產生的信息量有多大
            FOO 21:58:36
            如果有冗余的信息量,效率就有提高的空間
            BAR 22:00:18

            FOO 22:00:53
            呵呵
            FOO 22:01:05
            后面的幾句是我最近感受的
            BAR 22:01:11
            呵呵
            BAR 22:01:14
            我不懂
            FOO 22:01:17

            BAR 22:01:20
            我還是碼農級別的
            FOO 22:01:23

            FOO 22:01:27
            舉個例子
            FOO 22:01:57
            你統計一個集合中重復出現的元素
            FOO 22:02:10
            那么久沒有必要對元素計數
            FOO 22:02:16
            直觀的方法是對元素計數
            FOO 22:02:27
            然后檢測
            FOO 22:02:38
            但是這個計數是冗余的
            FOO 22:02:51
            只需要找到重復的,不需要知道具體出現的次數
            FOO 22:02:55
            針對這個問題
            BAR 22:03:28

            BAR 22:04:14
            你繼續
            BAR 22:04:11
             
            FOO 22:04:24
            我是覺得最高效的算法應該是恰恰能解決現有問題的算法,不生成多余的冗余信息
            FOO 22:04:33
            生成任何信息都是需要代價的
            FOO 22:04:36
            信息論。。。
            BAR 22:04:41
            你先說上面那個問題
            FOO 22:06:05
            算法的高效不搞笑,一是時間二是空間
            FOO 22:06:14
            上面那個問題,既然不需要計數
            BAR 22:06:20
            上面那個問題什么方法好?
            FOO 22:06:29
            只需要給每個元素一個位,節省空間
            FOO 22:06:43
            位圖吧
            FOO 22:06:44
            呵呵
            BAR 22:06:50
            那你怎么做
            FOO 22:06:51
            海量數據的時候
            FOO 22:07:00
            如果 幾十億個 int 數
            BAR 22:07:08
            把位置1
            BAR 22:07:14
            第二次出現呢
            FOO 22:07:15
            看里面是否存在重復的
            BAR 22:07:20
            也就是重復的時候出現呢
            BAR 22:07:00
            一個元素出現了一次
            FOO 22:07:53
            重復出現的時候,檢測到對應為為 1 ,說明之前存在了
            BAR 22:08:00
            是撒
            FOO 22:08:03
            所以就是重復出現的數
            BAR 22:08:05
            你只找一個么
            FOO 22:08:11
            所有
            BAR 22:08:17
            還是說你有另一個輸出結果的地方
            FOO 22:08:22
            遍歷這個集合
            FOO 22:08:36
            可以將結果存起來
            BAR 22:08:41
            就是出現重復的時候把這個重復的放到另外一個地方或者輸出
            FOO 22:09:07

            BAR 22:09:22
            恩,我先洗澡去了
            FOO 22:09:31
            我的意思是,這個問題就是找到重復出現的,沒有必要對每個數計數
            FOO 22:09:36
            這樣,就可以節省空間
            FOO 22:09:51
            還是時間的
            FOO 22:14:58
            還有就是充分挖掘問題中的信息
            FOO 22:15:38
            充分利用問題中的信息,提高獲取的信息量,充分利用了隱藏的信息量就會涉及出高效的算法
            FOO 22:16:11
            基于比較的算法,不會是 O(N) 的,最優就是 O(NlogN)。
            FOO 22:17:09
            基數排序、桶排序,這樣的就是有限制性的算法,這個限制就是元素有個范圍,限制是給了隱含的信息,利用這個可以就有了 O(N) 的排序
            FOO 22:17:37
            盡可能從問題中挖掘潛在的信息,獲得的信息越多越有利于解決問題,也就越有可能獲得高效的解法。

            FOO 22:18:04
            呵呵
            FOO 22:18:23
            控制論、系統論、信息論
            FOO 22:19:47
            信息論是香農創建的,也屬于數學,算法就是解決問題的,解決問題的就是想得到結果,結果就是一種信息,算法的設計可以用信息論的角度解釋,呃。。
            FOO 22:21:24
            反正總結起來是兩點吧,一是充分挖掘已有的信息,二是盡可能不要產生冗余信息。這樣設計的算法,既可以利用以存在的信息,也不會產生多余的信息,效率自然會高。

             

            posted on 2011-07-11 23:18 unixfy 閱讀(211) 評論(0)  編輯 收藏 引用
            四虎国产精品免费久久久 | 国产婷婷成人久久Av免费高清 | 久久亚洲精品视频| 精品久久久久久无码人妻蜜桃| 久久国产精品视频| 久久久久亚洲AV无码观看| 狠狠色丁香婷综合久久| 久久久久女教师免费一区| 777午夜精品久久av蜜臀| www亚洲欲色成人久久精品| 亚洲国产精品无码久久| 国产女人aaa级久久久级| 日本强好片久久久久久AAA| 精品无码久久久久久久久久 | 久久久久亚洲AV无码观看| 国产精品欧美亚洲韩国日本久久| 亚洲国产精品无码久久久不卡 | 精品久久久久久成人AV| 超级碰碰碰碰97久久久久| 国产精品免费久久久久电影网| 久久无码人妻一区二区三区午夜| 亚洲精品国产综合久久一线| 国产午夜精品久久久久九九电影 | 91精品国产综合久久四虎久久无码一级 | 久久精品青青草原伊人| 久久国产成人亚洲精品影院| 精品国产91久久久久久久| 久久亚洲精品国产精品| 久久亚洲欧美国产精品| 日韩人妻无码精品久久免费一| 奇米影视7777久久精品人人爽 | 久久精品人妻中文系列| 久久综合亚洲鲁鲁五月天| 色偷偷88欧美精品久久久| 激情五月综合综合久久69| 国产福利电影一区二区三区久久老子无码午夜伦不 | 岛国搬运www久久| 99久久久精品| 色噜噜狠狠先锋影音久久| 日本福利片国产午夜久久| 7国产欧美日韩综合天堂中文久久久久|