治好強迫症!來看看計算機科學中的數據有序化之美
在生活中,有順序、有規律的事物總是能讓我們看起來賞心悅目,讓我們感覺到自然美麗。
而無序的、雜亂的事物,總是給人一種繁瑣、糾纏、麻煩之感,讓我們理不出頭緒。強迫症更是受不了!
援用更確切的定義,有序性是客觀事物存在和運動中表現出來的穩定性、規則性、重複性和相互的因果關聯性。人類理性的功能主要在於抓取對象世界中的有序性以形成關於世界的規律性的認識,而無序性則是它難以對付的。而經典科學的世界觀認為有序性(體現為必然規律)構成世界的本質。
有序的反面就是無序、混沌,資訊理論中對於描述信息混亂程度還有具體的信息熵的研究。而計算機是一門建立在信息之上的學科,信息(可以是代碼、數據等等)的有序性和無序性與計算機學科有著極大關聯,在各種軟體的設計上,在演算法和數據結構的研究和發明中,有序、有規律都是非常必要的。
舉個例子,一個軟體開發團隊需要合作寫出一個大規模的軟體(如Microsoft Office系列、Adobe Photoshop等),那麼這樣的一個大型軟體必然要分成不同的功能模塊去開發,每一個不同的模塊需要不同的工作小組。為了保證最後將所有模塊匯總時,整個軟體能夠高效正確地運行,則需要對每個工作組進行代碼有序性和一致格式性的要求,方便最後的整體調試和拼接。
在計算機科學中,有序化思想有兩個非常重要的應用,一是數據有序化,二是圖形有序化。今天,我就先為讀者介紹數據有序化的美感和重要性。
數據有序化的思想,就是將雜亂的數據,通過簡單的分類和排序,變成有序的數據,從而提高演算法的效率。
1. 數據有序化的必要性
這裡以演算法設計題目為例,給出具體的分析比較:
裝箱問題
現有一個體積為V的集裝箱和N種貨物,每一種貨物都有固定的體積,數量無限。你的任務是:寫一個程序,求出最少用多少個貨物,就能放滿集裝箱。
數據規模:V貨≤V≤109
運行時間的對比
測試方法:隨機生成20個數據,測試運行時間並求平均值。
數據有序化的益處
? 對於大多數的數據,都有良好的優化效果;
? 簡便易行;
? 和其他類型的優化方法一般都不衝突。
2. 數據有序化的實現
這裡可將有序化過程分別放在演算法的不同流程中,具體可分為:預處理階段的數據有序化和實時處理階段的數據有序化。
預處理:數據是在最開始就全部獲得,僅對拿到手中的數據進行一些預先的判斷和處理,而後在工作過程中直接一次性將所有數據處理工作做完,是一種離線的處理。
實時處理:數據不一定是在最開始就全部獲得,可能是拿到部分數據,對這些數據進行處理,然後再拿到一部分數據再處理,無法一次性處理完,而數據的獲知也取決於發送端,是一種在線的互動式處理。
其具體放在哪個部分處理,要視情況實際分析。
2.2.1 預處理階段的數據有序化
優勢:
1.易於把複雜的實際問題簡化為抽象上數學模型。
2.降低數學模型的維數,提高處理效率。
3.易於將數據用特定的數據結構維護(集合、隊列、棧等等)。
2.2 實時處理階段的數據有序化
在這個處理過程中,對於數據的有序化主要體現在對於重複數據的判斷上,進而轉化為對數據表示形式的選取上,使用更高效的表示形式,即能實現某種程度上的有序。
下面對傳統表示方法與最小表示法(一種高效表示方法,還有其他許多方法,在此僅以為例)進行比較。
傳統表示方法
最小表示法
值得一提的是,對於新的數據表達形式的設計,是非常需要科學審美思維的。因為對於新形式的考慮,要綜合數據各種方面的特點和規律,不僅需要想像出其大致抽象的分布樣式,還要考慮借鑒各方面的知識(數學、物理、仿生學等等),來發明出針對這種數據的最適合的表達方式,以達到提高問題處理效率的目的。
2.3 兩種實現方法的比較
數據有序化先為大家介紹到這裡,下期將繼續介紹圖像有序化。


TAG:鑒機師 |
※拿下中科大的計算機課程全靠它了!
※人腦和計算機相比,誰具有更強的能力?聽完科學家的解釋恍然大悟
※理論計算機科學中最令人困惑的謎題之一被解開
※中美超級計算機之爭,中國的無芯之痛
※人的大腦是數字計算機嗎?
※美國大學裡最賺錢的專業,竟然不是計算機科學?
※「信息與計算科學」是學計算機的嗎?
※計算機視覺應用背後 對深度學習框架有怎樣的挑戰
※中國內計算機專業最好的三所大學,看看你選那個?
※各專業「比慘」大PK,忍了美術,忍了體育,看到計算機太心酸
※將大腦接入計算機願意嗎?科學家稱,未來不只局限於人腦與計算機
※未來計算之王!中國量子計算機又有新突破,比神威太湖之光還厲害
※高性能計算、數據爆炸到深度學習,從熱點話題變換看計算機行業的發展
※改變你對世界看法的五大計算機視覺技術!
※「完美無瑕」一定好嗎?晶體中的缺陷或可讓未來計算機運行更高效
※最年輕圖靈獎得主:計算機是數學好的女性的完美學科
※螳螂的眼睛比人類更高級?它或能為計算機的深度感知帶來新演算法
※英偉達開源數據增強和數據解碼庫,解決計算機視覺性能瓶頸
※為何量子計算機的計算能力如此強大?
※腦神經形態晶元取得重大進展,類腦計算機可能在不久的將來誕生