• <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)  編輯 收藏 引用
            欧美日韩成人精品久久久免费看| 久久夜色精品国产亚洲| 香蕉久久夜色精品国产小说| 婷婷久久香蕉五月综合加勒比| 综合久久给合久久狠狠狠97色| 久久五月精品中文字幕| 国产亚州精品女人久久久久久| 亚洲国产成人久久综合碰碰动漫3d| 久久91综合国产91久久精品| 日本三级久久网| 国产精自产拍久久久久久蜜| 久久成人国产精品一区二区| 亚洲国产精品嫩草影院久久| 欧美亚洲日本久久精品| 亚洲欧洲精品成人久久奇米网| 看全色黄大色大片免费久久久| 欧美亚洲国产精品久久高清| 久久这里有精品| 久久99精品久久久久久hb无码| 中文精品久久久久人妻不卡| 久久66热人妻偷产精品9| 91精品婷婷国产综合久久| 久久久久无码精品国产app| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 99久久精品国产一区二区三区| 欧美亚洲国产精品久久蜜芽| segui久久国产精品| 久久婷婷色香五月综合激情| 久久99热国产这有精品| 亚洲国产香蕉人人爽成AV片久久| 亚洲va久久久噜噜噜久久男同| 国产成年无码久久久久毛片| 久久久久亚洲精品男人的天堂 | 久久久午夜精品福利内容| 久久久久久亚洲精品成人| 久久久久久噜噜精品免费直播| 中文字幕久久波多野结衣av| 久久免费国产精品| 国产精品久久久福利| 一本一本久久aa综合精品| 久久99精品免费一区二区|