(c) o reilly - programming embedded systems in c and c
標(biāo)簽: programming embedded systems reilly
上傳時(shí)間: 2014-01-06
上傳用戶:
附有本人超級(jí)詳細(xì)解釋(看不懂的面壁十天!) 一、 實(shí)際問(wèn)題: 希爾排序(Shell Sort)是插入排序的一種。因D.L.Shell于1959年提出而得名。它又稱“縮小增量分類法”,在時(shí)間效率上比插入、比較、冒泡等排序算法有了較大改進(jìn)。能對(duì)無(wú)序序列按一定規(guī)律進(jìn)行排序。 二、數(shù)學(xué)模型: 先取一個(gè)小于n的整數(shù)d1作為第一個(gè)增量,把文件的全部記錄分成d1個(gè)組。所有距離為dl的倍數(shù)的記錄放在同一個(gè)組中。先在各組內(nèi)進(jìn)行直接插人排序;然后,取第二個(gè)增量d2<d1重復(fù)上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進(jìn)行直接插入排序?yàn)橹埂T摲椒▽?shí)質(zhì)上是一種分組插入方法。 三、算法設(shè)計(jì): 1、將相隔某個(gè)增量dlta[k]的元素構(gòu)成一個(gè)子序列。在排序過(guò)程中,逐次減小這個(gè)增量,最后當(dāng)h減到1時(shí),進(jìn)行一次插入排序,排序就完成。增量序列一般采用:dlta[k]=2t-k+1-1,其中t為排序趟數(shù),1≤k≤t≤[log2 (n+1)],其中n為待排序序列的長(zhǎng)度。按增量序列dlta[0..t-1]。 2、按增量dlta[k](1≤k≤t≤[log2 (n+1)])進(jìn)行一趟希爾插入排序。 3、在主函數(shù)中控制程序執(zhí)行流程。 4、時(shí)間復(fù)雜度:1≤k≤t≤[log2 (n+1)]時(shí)為O(n3/2)。
上傳時(shí)間: 2013-12-11
上傳用戶:天涯
設(shè)T 是一棵帶權(quán)樹(shù),樹(shù)的每一條邊帶一個(gè)正權(quán)。又設(shè)S 是T 的頂點(diǎn)集,T/S 是從樹(shù)T 中 將S中頂點(diǎn)刪去后得到的森林。如果T/S中所有樹(shù)的從根到葉的路長(zhǎng)都不超過(guò)d ,則稱T/S 是一個(gè)d 森林。 (1)設(shè)計(jì)一個(gè)算法求T的最小頂點(diǎn)集S,使T/S是d 森林。(提示:從葉向根移動(dòng)) (2)分析算法的正確性和計(jì)算復(fù)雜性。 (3)設(shè)T中有n 個(gè)頂點(diǎn),則算法的計(jì)算時(shí)間復(fù)雜性應(yīng)為O(n)。
標(biāo)簽: 樹(shù)
上傳時(shí)間: 2015-05-31
上傳用戶:我們的船長(zhǎng)
給定n個(gè)大小不等的圓c , c , , cn 1 2 ,現(xiàn)要將這n個(gè)圓排進(jìn)一個(gè)矩形框中,且要求各圓 與矩形框的底邊相切。圓排列問(wèn)題要求從n個(gè)圓的所有排列中找出有最小長(zhǎng)度的圓排列。例 如,當(dāng)n=3,且所給的3 個(gè)圓的半徑分別為1,1,2時(shí),這3個(gè)圓的最小長(zhǎng)度的圓排列如圖 所示。其最小長(zhǎng)度為2 + 4 2 。
上傳時(shí)間: 2013-11-25
上傳用戶:lunshaomo
最新N多的黑客小工具集合(for windows),如果你有興趣,一定不要錯(cuò)過(guò),錯(cuò)過(guò)后悔!!!還有一些體積比較大的,以后陸續(xù)放送給大家!!:)
上傳時(shí)間: 2014-01-26
上傳用戶:1966640071
半數(shù)集問(wèn)題 問(wèn)題描述: 給定一個(gè)自然數(shù)n,由n開(kāi)始可以依次產(chǎn)生半數(shù)集set(n)中的數(shù)如下。 (1) n∈set(n); (2) 在n的左邊加上一個(gè)自然數(shù),但該自然數(shù)不能超過(guò)最近添加的數(shù)的一半; (3) 按此規(guī)則進(jìn)行處理,直到不能再添加自然數(shù)為止。 例如,set(6)={6,16,26,126,36,136}。半數(shù)集set(6)中有6個(gè)元素。 編程任務(wù): 對(duì)于給定的自然數(shù)n,編程計(jì)算半數(shù)集set(n)中的元素個(gè)數(shù)。
標(biāo)簽: 61611
上傳時(shí)間: 2015-06-01
上傳用戶:netwolf
最佳高度問(wèn)題。 問(wèn)題描述: 假設(shè)有n個(gè)任務(wù)由K個(gè)可并行工作的機(jī)器完成。完成任務(wù)i需要的時(shí)間為t(i)。試設(shè)計(jì)一個(gè)算法找出完成這n個(gè)任務(wù)的最佳調(diào)度,使得完成全部任務(wù)的時(shí)間最早。
標(biāo)簽: 并行 機(jī)器 算法 調(diào)度
上傳時(shí)間: 2014-12-07
上傳用戶:Amygdala
最優(yōu)合并問(wèn)題 給定K個(gè)排好序的序列s1,s2,...,sk,用2 路合并算法將這k個(gè)序列合并成一個(gè)序列。 假設(shè)所采用的2路合并算法合并2個(gè)長(zhǎng)度分另為m 和n的序列需要m+n-1次比較。試設(shè)計(jì)一個(gè)算法確定合并這個(gè)序列的最優(yōu)合并順序,使所需的總比較次數(shù)最少。
上傳時(shí)間: 2014-11-29
上傳用戶:a3318966
最小重量機(jī)器設(shè)計(jì)問(wèn)題 設(shè)某一機(jī)器由n個(gè)部件組成,每一種部件都可以從m個(gè)不同的供應(yīng)商處購(gòu)得。設(shè)w(i,j)是從供應(yīng)商j處購(gòu)得的部件i的重量,C(i,j)是相應(yīng)的價(jià)格。 設(shè)計(jì)一個(gè)優(yōu)先列式分支限界法,給出總價(jià)格不超過(guò)c的最小重量機(jī)器設(shè)計(jì)。
標(biāo)簽: 機(jī)器 設(shè)計(jì)問(wèn)題 部件
上傳時(shí)間: 2014-01-22
上傳用戶:stewart·
給定n 個(gè)正整數(shù)和4 個(gè)運(yùn)算符+、-、*、/, 且運(yùn)算符無(wú)優(yōu)先級(jí),如2+3*5=25。對(duì)于任意給定 的整數(shù)m,試設(shè)計(jì)一個(gè)算法,用以上給出的n 個(gè)數(shù) 和4 個(gè)運(yùn)算符,產(chǎn)生整數(shù)m,且用的運(yùn)算次數(shù)最少 給出的n個(gè)數(shù)中每個(gè)數(shù)最多只能用1 次,但每種運(yùn) 算符可以任意使用。
上傳時(shí)間: 2014-06-23
上傳用戶:ve3344
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1