實(shí)現(xiàn)背包問題 package problem 1. 問題描述 假設(shè)有一個(gè)能裝入總體積為T的背包和n件體積分別為w1 , w2 , … , wn 的物品,能否從n件物品中挑選若干件恰好裝滿背包,即使w1 +w2 + … + wn=T,要求找出所有滿足上述條件的解。例如:當(dāng)T=10,各件物品的體積{1,8,4,3,5,2}時(shí),可找到下列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 。依次類推。 也可利用回溯法的設(shè)計(jì)思想來解決背包問題。首先將物品排成一列,然后順序選取物品裝入背包,假設(shè)已選取了前i 件物品之后背包還沒有裝滿,則繼續(xù)選取第i+1件物品,若該件物品“太大”不能裝入,則棄之而繼續(xù)選取下一件,直至背包裝滿為止。但如果在剩余的物品中找不到合適的物品以填滿背包,則說明“剛剛”裝入背包的那件物品“不合適”,應(yīng)將它取出“棄之一邊”,繼續(xù)再從“它之后”的物品中選取,如此重復(fù),,直至求得滿足條件的解,或者無解。 注:沒壓縮密碼
標(biāo)簽: package problem 體積 w2
上傳時(shí)間: 2014-01-18
上傳用戶:yxgi5
實(shí)現(xiàn)阿克曼函數(shù)并統(tǒng)計(jì)遞歸調(diào)用次數(shù) Counting times of recursion calling 1. 問題描述 定義阿克曼遞歸函數(shù): ACK(0,n)=n+1 n>=0 ACK(m,0)=ACK(m-1,1) m>=1 ACK(m,n)=ACK(m-1,ACK(m,n-1)) m,n>0 2. 基本要求 讀入m、n,輸出ACK(m,n)的值,并統(tǒng)計(jì)遞歸調(diào)用次數(shù)。
標(biāo)簽: recursion Counting calling times
上傳時(shí)間: 2015-06-11
上傳用戶:hgy9473
設(shè)計(jì)模式——訪問者模式 Visitor模式允許我們?cè)诓桓膭?dòng)原有結(jié)構(gòu)的基礎(chǔ)之上不斷增加新的功能。 ICumulation接口定義了方法Cumulate(),旨在計(jì)算1+2+……+n,有兩種不同的實(shí)現(xiàn)方法,一個(gè)是一般的疊加算法GeneralArithmetic,一個(gè)是高斯算法GaoSiArithmetic。 因?yàn)槟撤N原因,系統(tǒng)需要添加求平均值的功能,還有計(jì)算1到n的平方和。 按照一般的思路,我們需要在ICumulation中定義兩個(gè)方法分別計(jì)算平均值和平方和,并在實(shí)現(xiàn)類中同時(shí)添加相應(yīng)的方法。在搭建了visitor模式的架構(gòu)以后,添加功能的代碼被移植到ICumulationVisitor中,添加的兩種功能也分別被以子類AverageVisitor和PowerVisitor實(shí)現(xiàn)。 功能的擴(kuò)展從在類中添加方法的方式變成了添加新類的方式,該類繼承一定的Visitor接口。這是一個(gè)90度的轉(zhuǎn)換,使得架構(gòu)符合開放封閉(OCP)原則:功能的擴(kuò)展無需改動(dòng)原有代碼。 同時(shí),這里也體現(xiàn)了單一職責(zé)原則(SRP),ICumulation層次結(jié)構(gòu)可以因?yàn)槌霈F(xiàn)了不同的算法而改變,但是不應(yīng)該因?yàn)樾枰?jì)算不同的東西(功能)而改變,算法和功能是橫向和縱向的關(guān)系。這里visitor模式隔離了算法和功能,ICumulation層次結(jié)構(gòu)負(fù)責(zé)算法,ICumulationVisitor層次結(jié)構(gòu)負(fù)責(zé)功能。
標(biāo)簽: ICumulation Cumulate Visitor 模式
上傳時(shí)間: 2015-06-12
上傳用戶:上善若水
A C++ N-grams Package 2.0 This is a simple C++ n-grams package that includes a header, the corresponding cpp file, and a sample driver program. It is a natural language processing tool for creating n-gram profiles for text documents. The details on usage is documented in the header right above each public function defined. This package is based on Dr. Vlado Keselj s Perl package Text::Ngrams which is available in CPAN.
標(biāo)簽: includes correspo N-grams Package
上傳時(shí)間: 2015-06-12
上傳用戶:wfl_yy
關(guān)于月球車的邊緣算子處理程序,log文件
標(biāo)簽: 處理程序
上傳時(shí)間: 2015-06-13
上傳用戶:璇珠官人
使用FPGA控制數(shù)碼管,在數(shù)碼管上動(dòng)態(tài)的顯示數(shù)字,很使用,可以直接作為其他模塊的子模塊,直接調(diào)用
標(biāo)簽: FPGA 數(shù)碼管 控制 動(dòng)態(tài)
上傳時(shí)間: 2014-01-25
上傳用戶:13160677563
已知n個(gè)城市之間的相互距離,現(xiàn)有一個(gè)推銷員必須遍訪這n個(gè)城市,并且每個(gè)城市只能訪問一次,最后又必須返回出發(fā)城市。如何安排他對(duì)這些城市的訪問次序,可使其旅行路線的總長(zhǎng)度最短?
標(biāo)簽: 城市
上傳時(shí)間: 2013-12-06
上傳用戶:wyc199288
線性方程一元求解double roundto(double x,int n) //將某數(shù)保留指定位數(shù)!
標(biāo)簽: double roundto int 線性
上傳時(shí)間: 2015-06-14
上傳用戶:lhc9102
ADPTIVE GA是改進(jìn)遺傳算法程序,提供了各種交叉算子,變異算子,具有強(qiáng)大的計(jì)算功能
上傳時(shí)間: 2013-12-21
上傳用戶:franktu
此程序在運(yùn)行的時(shí)候,產(chǎn)生一個(gè)子進(jìn)程.此子進(jìn)程每隔1秒鐘,向父進(jìn)程發(fā)送一個(gè)SIGUSR1信號(hào),父進(jìn)程收到信號(hào)后,打印當(dāng)前系統(tǒng)時(shí)間.當(dāng)經(jīng)過10秒鐘后,子進(jìn)程結(jié)束運(yùn)行,并發(fā)送SIGUSR2信號(hào),通知父進(jìn)程 父進(jìn)程收到SIGUSR2信號(hào)后,退出.
標(biāo)簽: 進(jìn)程 SIGUSR1 SIGUSR2 信號(hào)
上傳時(shí)間: 2014-11-27
上傳用戶:大融融rr
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1