• <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 閱讀(205) 評論(0)  編輯 收藏 引用
            久久久久四虎国产精品| 久久一区二区三区免费| 久久国内免费视频| 亚洲精品tv久久久久久久久久| 精品综合久久久久久88小说| 亚洲伊人久久综合影院| 漂亮人妻被黑人久久精品| 成人国内精品久久久久一区| 国产亚洲色婷婷久久99精品91| 久久久久久久亚洲精品| 午夜欧美精品久久久久久久| 久久亚洲精品视频| 久久久久人妻一区二区三区| 久久精品免费一区二区三区| 久久精品无码一区二区WWW| 99久久婷婷国产一区二区| 久久人人爽人人爽人人片AV麻烦| 久久精品国产亚洲av麻豆小说| 国产成人精品久久亚洲| 日本强好片久久久久久AAA| 国产亚洲精午夜久久久久久| 99久久人妻无码精品系列蜜桃| 欧美精品丝袜久久久中文字幕| 97精品久久天干天天天按摩| 久久亚洲精品成人无码网站| 国产69精品久久久久99尤物| 精品永久久福利一区二区| 久久人妻少妇嫩草AV蜜桃| 亚洲成av人片不卡无码久久| 亚洲午夜精品久久久久久人妖| 亚洲中文字幕无码一久久区| 一97日本道伊人久久综合影院| 久久av免费天堂小草播放| 久久99国产精品99久久| 精品午夜久久福利大片| 精品人妻久久久久久888| 久久久久亚洲av综合波多野结衣| 伊人久久大香线蕉无码麻豆| 无码8090精品久久一区| 欧美精品九九99久久在观看| 天堂无码久久综合东京热|