freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

淺談數(shù)據(jù)的合理組織(已修改)

2025-07-12 06:12 本頁面
 

【正文】 淺談數(shù)據(jù)的合理組織 【摘要】信息學是一門高深的學科,它正在高速的發(fā)展。隨著信息學的發(fā)展,其題目中的關系也變得越來越錯宗復雜,給我們解題帶來困難。對數(shù)據(jù)進行合理地組織,正是我們面對上述題目時的一種有效手段。本文用幾個經(jīng)典例題從數(shù)據(jù)的結構和順序兩個方面進行合理組織,達到優(yōu)化模型或是提升算法效率的目的。介紹了“合理組織數(shù)據(jù)”在信息學中建立模型和優(yōu)化算法方面的一些應用,例題包含了動態(tài)規(guī)劃、數(shù)據(jù)結構、圖論類型的題目。目的在于引起讀者對于數(shù)據(jù)的合理組織的關注,并在今后的解題中能積極并靈活地運用這一手段。【關鍵字】組織數(shù)據(jù) 數(shù)據(jù)結構 動態(tài)規(guī)劃 圖 樹 序列 【正文】【引言】一個簡單的例子:給出N個數(shù)字(數(shù)字會比較大),然后給出一些詢問,詢問一個數(shù)字有沒有在給出的N個數(shù)字當中。當然我們有很多已知的辦法:HASH表、TRIE、預排序+二分查找……這些算法都是通過對數(shù)據(jù)進行合理的組織而起到了減少工作量的作用。不同的是HASH表和TRIE是利用數(shù)據(jù)形式的重新組織,而預排序+二分查找是通過對數(shù)據(jù)順序的重新組織來達到優(yōu)化算法的目的的。我們組織數(shù)據(jù),主要就是通過從“形式”和“順序”這兩個角度來考慮。事實上,這兩個方面在實際運用中往往不是獨立的,通常需要聯(lián)合運用。我們已經(jīng)學習了很多經(jīng)典的數(shù)據(jù)結構,它們都是合理組織數(shù)據(jù)的表現(xiàn)。在優(yōu)化算法中有很好表現(xiàn)。對數(shù)據(jù)組織的合理化,不僅在我們設計算法時能起到優(yōu)化程序效率的作用,有時,我們在建立解題模型時,合理地組織數(shù)據(jù)可能給我們提供新的思考角度,從而優(yōu)化解題模型,例一就是這樣的一個例子。[例一]金明的預算方案及其加強版金明的預算方案【題意描述】給出N個物品,每個物品都有一個權值(50000)和一個價格(10000)。我們稱可以直接被購買的物品為主件,稱不能被直接購買的物品為附件,附件只有當其主件被購買了才能被購買,一個主件最多有兩個附件,附件沒有下一級附件。任務 購買一些物品,總價格不超過M,使得被購買的物品的權值之和最大。N3200 M60【簡要分析】我們很容易聯(lián)想到經(jīng)典的動態(tài)規(guī)劃之01背包問題。但是題目與背包卻有一些差別:附件不能被直接購買?!緦?shù)據(jù)的初步組織】主件與附件之間是樹形的關系。組織一下數(shù)據(jù),如下圖:(圖1)如圖所示:主件1沒有附件,主件2有兩個附件,主件3只有一個附件?!緮?shù)據(jù)組織方案一】假設我們忽略數(shù)據(jù)的特殊性,單從樹結構考慮,我們?nèi)菀紫氲降囊粋€算法是:給所有主件加上一個“級超主件”,把原來的所有主件都變成“超級主件”的附件,如下圖: (圖2)【算法一】這樣,在這棵樹上,我們可以設計一個動態(tài)規(guī)劃算法: 定義:cost[a]表示a節(jié)點所代表的物品的價格score[a]表示a節(jié)點所代表的物品的得分狀態(tài)f[a][b]表示以節(jié)點a為根的子樹,總共花費不超過b元的最多得分。狀態(tài)轉(zhuǎn)移方程:f[a][b]=Max{f[c1][b1]+f[c2][b2]+f[c3][b3]...f[ck][bk]}+score[a]。其中ci為a的子節(jié)點;∑bi=bcost[a]。這樣枚舉的效率顯然不高!我們可以用左兒子右兄弟表示法來表示這一棵樹,將原樹轉(zhuǎn)化成二叉樹,則我們在進行狀態(tài)轉(zhuǎn)移的時候只用考慮給左兒子分配多少錢。left[a]表示a的左兒子right[a]表示a的右兒子f[a][b]=Max{Max{f[left[a]][bleft]+f[right[a]][bcost[a]bleft]}+score[a],f[right[a]][b]}這樣我們可以得到一個理論 參見《算法藝術與信息學競賽》貪食的九頭龍中對算法復雜度的分析復雜度為O(NM2)的算法,但是對于本題的數(shù)據(jù)范圍來說,這個復雜度并不太理想。【數(shù)據(jù)組織方案二】上面我們把本題同01背包進行了類比。發(fā)現(xiàn)兩道題之間的差別:附件不能被直接購買。顯然,如果題目中沒有附件,那么本題即為標準的01背包問題。我們回到題目并考慮其特殊性:。這樣,顯然對于(圖一)中每一組(主件+附件),可以作為整體考慮。對于每一組,可能的購買方案最多只有:這樣,我們可以借鑒經(jīng)典的01背包動態(tài)規(guī)劃,把每一組看作一個對象,取值和花費對應最多五種?!舅惴ǘ縞ost[i][k]表示分組后第i個對象的第k種購買方案的花費。weight[i][k]表示分組后第i個對象的第k種購買方案的總權值。F[i][j]表示前i個對象最多花費j元,能得到的最大權值。F[i][j]=max(F[i1][jcost[i][k]]+weight[i][k])。其中1=k=5且cost[i][k]=j 狀態(tài)總數(shù):O(NM)轉(zhuǎn)移代價:O(1)這樣,我們得到了一個時間復雜度為O(NM)的優(yōu)秀算法。郁悶的金明【題意描述】給出N個物品,可以直接被購買的稱為主件,而不能直接被購買的稱為附件,附件只有當其主件被購買了才能被購買,一個主件可以有任意多個附件,附件沒有下一級附件。每個物品都有一個權值(50000)。任務 購買一些物品,總價格不超過M,使得被購買的物品的權值之和最大。N60M3200【問題分析】題目放寬了“一個主件最多可以有兩個附件”這個限制,其它條件不變。自然,我們當然嘗試用原題中的算法來套本題。實際上,這時候原來的算法1依然適用,復雜度仍為O(NM2)。但是對于利用原
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1