在0 / 1背包問題中,需對容量為c 的背包進行裝載。從n 個物品中選取裝入背包的物品,每件物品i 的重量為wi ,價值為pi 。對于可行的背包裝載,背包中物品的總重量不能超過背包的容量,最佳裝載是指所裝入的物品價值最高,即Σpi*xi 取得最大值。
標簽: 背包問題
上傳時間: 2015-05-06
上傳用戶:253189838
摘要文章介紹了作者在過擊5年中在微內核技術上所做的工作.給出了3個算法.① 通過特任務調度 和線程調度算法相結合的方法.來解決單純以線程為單位的調度系統的效率和公平性問題;③ 一個改進 的寫時拷貝算法,它結合寫時拷貝算法和詩問時拷用算法的優點.來解決寫時拷貝算法在I386體系結抽 上的適應性問題;@ 提出了一個微內核操作系蜿計時模型,它解決了傳統計時算法在微內核系統中計時 不準確的問題h
上傳時間: 2013-12-15
上傳用戶:thinode
學籍管理系統 系統是在VC++6.0和SQL Server 2000下開發的. 數據庫在Database目錄下,在SQLSERVER的查詢分析器中執行即可生成數據庫. 源程序在Src目錄中. 因為程序極為經典,所以本人在此轉載~ 一、編程環境: windows2000 +visual stdio c++ .net,Ado + SQL2000 二、SQL設置: 將在SQL2000下建立schooldata數據庫,導入數據文件 三、導入數據: data目錄下有school_back數據庫備分文件 操作:用SQL企業管理器還原數據庫來導入數據 訪問本地數據庫服務器,密碼是自己設置的那個,操作schooldata數據庫的用戶名和密碼相同。 主要用ADO訪問數據庫,和幾個顯示數據的控件Treectrl,listctrl,datagrid等程序中有幾個BUG還沒解決, 四、實現功能: 操作:在選擇查詢條件:選擇一個,tree控件里顯示相關信息 可以在tree控件里單擊來顯示每個ITEM,每個ITEM相關信息顯示在LIST控件內 雙擊LIST控件顯示具體信息 也可以在窗口里單擊右鍵或操作菜單具體操作 五、主要功能: 查詢,添加,刪除,顯示“學院,各系,班級,學生,教師,社團,課程”等信息
標簽: SQLSERVER Database Server 2000
上傳時間: 2015-05-11
上傳用戶:wuyuying
N皇后問題的優化版本,對于N= 13的情況可以在1秒內出結果
標簽: 版本
上傳時間: 2015-05-12
上傳用戶:aa54
這是當初在學網路程式時所寫的,所以有很多很多地方可以改進, 有心人士就拿去亂改吧! 先執行(server) Server 然後再開兩個 (Client) LoginFrame 就能連了。 那個密碼部份是假的,沒有啥用處,可以把它改成輸入ip , 當初是直接設 127.0.0.1,以方便測試。
標簽: 程式
上傳時間: 2014-12-03
上傳用戶:jackgao
裝箱問題:在裝箱問題中,有若干個容量為c 的箱子和n 個待裝載入箱子中的物品。物品i 需占 用s[i]個單元(0< s[i]≤c)。成功裝載是指能把所有物品都裝入箱子。最優裝載是指使用最 少箱子的成功裝載。 例如某運輸公司要把包裹裝入卡車中,每個包裹都有一定的重量,且每輛卡車也有其載 重限制(假設每輛卡車的載重都一樣)。在卡車裝載問題中,希望用最少的卡車來裝載包裹。 此問題可看作裝箱問題。卡車對應于箱子,包裹對應于物品。 解裝箱問題的Best Fit 算法: 設avail[i]為箱子i 的可用容量。 初始時,所有箱子的可用容量為c 。 選擇物品i放入具有最小avail且容量大于s[i]的箱子中。
標簽:
上傳時間: 2015-05-22
上傳用戶:yan2267246
半數集問題 問題描述: 給定一個自然數n,由n開始可以依次產生半數集set(n)中的數如下。 (1) n∈set(n); (2) 在n的左邊加上一個自然數,但該自然數不能超過最近添加的數的一半; (3) 按此規則進行處理,直到不能再添加自然數為止。 例如,set(6)={6,16,26,126,36,136}。半數集set(6)中有6個元素。 編程任務: 對于給定的自然數n,編程計算半數集set(n)中的元素個數。
標簽: 61611
上傳時間: 2015-06-01
上傳用戶:netwolf
有N個城市,編號為0、1…N-1,每個城市之間的路徑長度保存在二位數組a中,如a[i][j]表示城市i與城市j的路徑長度。求某個城市到其余城市的最短路徑。
標簽: 城市
上傳時間: 2014-01-05
上傳用戶:徐孺
實現背包問題 package problem 1. 問題描述 假設有一個能裝入總體積為T的背包和n件體積分別為w1 , w2 , … , wn 的物品,能否從n件物品中挑選若干件恰好裝滿背包,即使w1 +w2 + … + wn=T,要求找出所有滿足上述條件的解。例如:當T=10,各件物品的體積{1,8,4,3,5,2}時,可找到下列4組解: (1,4,3,2)、(1,4,5)、(8,2)、(3,5,2)。 2. 基本要求 讀入T、n、w1 , w2 , … , wn 3.提示: 可利用遞歸方法:若選中w1 則問題變成在w2 , … , wn 中挑選若干件使得其重量之和為T- w1 ,若不選中w1,則問題變成在w2 , … , wn 中挑選若干件使得其重量之和為T 。依次類推。 也可利用回溯法的設計思想來解決背包問題。首先將物品排成一列,然后順序選取物品裝入背包,假設已選取了前i 件物品之后背包還沒有裝滿,則繼續選取第i+1件物品,若該件物品“太大”不能裝入,則棄之而繼續選取下一件,直至背包裝滿為止。但如果在剩余的物品中找不到合適的物品以填滿背包,則說明“剛剛”裝入背包的那件物品“不合適”,應將它取出“棄之一邊”,繼續再從“它之后”的物品中選取,如此重復,,直至求得滿足條件的解,或者無解。 注:沒壓縮密碼
上傳時間: 2014-01-18
上傳用戶:yxgi5
設計模式——訪問者模式 Visitor模式允許我們在不改動原有結構的基礎之上不斷增加新的功能。 ICumulation接口定義了方法Cumulate(),旨在計算1+2+……+n,有兩種不同的實現方法,一個是一般的疊加算法GeneralArithmetic,一個是高斯算法GaoSiArithmetic。 因為某種原因,系統需要添加求平均值的功能,還有計算1到n的平方和。 按照一般的思路,我們需要在ICumulation中定義兩個方法分別計算平均值和平方和,并在實現類中同時添加相應的方法。在搭建了visitor模式的架構以后,添加功能的代碼被移植到ICumulationVisitor中,添加的兩種功能也分別被以子類AverageVisitor和PowerVisitor實現。 功能的擴展從在類中添加方法的方式變成了添加新類的方式,該類繼承一定的Visitor接口。這是一個90度的轉換,使得架構符合開放封閉(OCP)原則:功能的擴展無需改動原有代碼。 同時,這里也體現了單一職責原則(SRP),ICumulation層次結構可以因為出現了不同的算法而改變,但是不應該因為需要計算不同的東西(功能)而改變,算法和功能是橫向和縱向的關系。這里visitor模式隔離了算法和功能,ICumulation層次結構負責算法,ICumulationVisitor層次結構負責功能。
標簽: ICumulation Cumulate Visitor 模式
上傳時間: 2015-06-12
上傳用戶:上善若水