數(shù)據(jù)結(jié)構(gòu)試驗(yàn)怎么做?
看看這個(gè)也許你會(huì)明白的更多一些。
實(shí)驗(yàn)一 多項(xiàng)式相加
一、實(shí)驗(yàn)?zāi)康?br />熟悉鏈表的使用。
掌握如何使用C語(yǔ)言實(shí)現(xiàn)鏈表的說(shuō)明、創(chuàng)建以及結(jié)點(diǎn)的插入和刪除等操作。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
對(duì)于兩個(gè)一元多項(xiàng)式中所有指數(shù)相同的項(xiàng),對(duì)應(yīng)系數(shù)相加,若其和不為零,則構(gòu)成“和多項(xiàng)式”的一項(xiàng);對(duì)于兩個(gè)一元多項(xiàng)式中所有指數(shù)不相同的項(xiàng),則分別復(fù)抄到“和多項(xiàng)式”中去。
四、實(shí)驗(yàn)步驟
1. 用鏈表作一元多項(xiàng)式的數(shù)據(jù)結(jié)構(gòu),用C語(yǔ)言對(duì)鏈表作說(shuō)明
2. 生成輸入一元多項(xiàng)式的函數(shù)
3. 輸入一元多項(xiàng)式A(x)和B(x)
4. 以一元多項(xiàng)式A(x)為和多項(xiàng)式,將B(x)多項(xiàng)式中系數(shù)加入到A(x)中去
實(shí)驗(yàn)二 后綴表達(dá)式計(jì)算
一、實(shí)驗(yàn)?zāi)康?br />熟悉棧的使用。
掌握如何使用C語(yǔ)言實(shí)現(xiàn)棧的說(shuō)明、創(chuàng)建以及進(jìn)棧和出棧等操作。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
先將中綴表達(dá)式(就是我們通常所見(jiàn)的)轉(zhuǎn)換為后綴表達(dá)式,比如 a+b*c+d 要變成 abc*+d+;轉(zhuǎn)換的方法用棧來(lái)實(shí)現(xiàn),涉及到運(yùn)算符的優(yōu)先級(jí);然后用另一個(gè)棧來(lái)對(duì)后綴表達(dá)式計(jì)算結(jié)果
四、實(shí)驗(yàn)步驟
1.讀入字母/數(shù)字--〉字母/數(shù)字進(jìn)棧
2.讀入運(yùn)算符--〉退出兩個(gè)字母/數(shù)字,用運(yùn)算符計(jì)算結(jié)果,并將結(jié)果進(jìn)棧
3.棧能剛好退完,則最后的即為結(jié)果。否則表明表達(dá)式有誤
實(shí)驗(yàn)三 Kmp算法
一、實(shí)驗(yàn)?zāi)康?br />熟悉字符串的使用。
掌握如何kmp算法實(shí)驗(yàn)字符串的模式匹配。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
求出子串(模式串)的next,利用kmp算法實(shí)驗(yàn)?zāi)J脚c主串的匹配算法。
四、實(shí)驗(yàn)步驟
1.生成模式串的next函數(shù)
2.從第1個(gè)字符開(kāi)始,進(jìn)行模式串與主串的比較,
3.如果出現(xiàn)失配,將模式串的第next[j]位置開(kāi)始,繼續(xù)與主串進(jìn)行比較。
實(shí)驗(yàn)四 Huffman 編碼
一、實(shí)驗(yàn)?zāi)康?br />熟悉Huffman編碼方法。
了解并弄懂Huffman編碼實(shí)現(xiàn)信息的無(wú)損壓縮原理。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
1.根據(jù)給定的n個(gè)權(quán)值(w1, w2, …, wn)構(gòu)成n棵二叉樹的集合F=,其中每棵二叉樹Ti中只有一個(gè)帶樹為Ti的根結(jié)點(diǎn)
2.在F中選取兩棵根結(jié)點(diǎn)的權(quán)值最小的樹作為左右子樹構(gòu)造一棵新的二叉樹,且置其根結(jié)點(diǎn)的權(quán)值為其左右子樹權(quán)值之和
3.在F中刪除這兩棵樹,同時(shí)將新得到的二叉樹加入F中
4.重復(fù)2, 3,直到F只含一棵樹為止
四、實(shí)驗(yàn)步驟
1.用C語(yǔ)言實(shí)現(xiàn)二叉樹的說(shuō)明
2.輸入n個(gè)權(quán)值,并生成n個(gè)二叉樹
3.對(duì)n個(gè)二叉樹逐步生成Huffman樹
4.對(duì)Huffman樹的每個(gè)葉子結(jié)點(diǎn)生成編碼
實(shí)驗(yàn)五 關(guān)鍵路徑
一、實(shí)驗(yàn)?zāi)康?br />熟悉關(guān)鍵路徑的實(shí)現(xiàn)方法。
了解AOE-網(wǎng)以及關(guān)鍵路徑在工程實(shí)踐中的應(yīng)用。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
根據(jù)輸入的弧,生成AOE-網(wǎng)。從始點(diǎn)開(kāi)始,找出到終點(diǎn)的多條路徑,求這些路徑上的關(guān)鍵活動(dòng)。由關(guān)鍵活動(dòng)組成的從始點(diǎn)到終點(diǎn)的路徑,即為關(guān)鍵路徑。
四、實(shí)驗(yàn)步驟
1.輸入e條弧,生成AOE-網(wǎng)的存儲(chǔ)結(jié)構(gòu)。
2.從始點(diǎn)v0出發(fā),令ve[0]=0,按拓?fù)溆行蚯髒e[j]
3.從終點(diǎn)vn-1出發(fā),令vl[n-1]=ve[n-1],按逆拓?fù)溆行蚯髒l[i]
4.根據(jù)各頂點(diǎn)的ve和vl值,求每條弧(活動(dòng))ai的最早開(kāi)始時(shí)間e[ai]和最遲開(kāi)始時(shí)間l[ai]
5.如果e[ai]=l[ai],則ai為關(guān)鍵活動(dòng)
實(shí)驗(yàn)六 最短路經(jīng)
一、實(shí)驗(yàn)?zāi)康?br />熟悉最短路徑的實(shí)現(xiàn)方法。
了解AOE-網(wǎng)以及最短路徑在求解實(shí)際問(wèn)題中的應(yīng)用。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
從始點(diǎn)v0開(kāi)始,逐步求v0到其它可達(dá)的各頂點(diǎn)的最短路徑,直到所有頂點(diǎn)計(jì)算完成為止。
四、實(shí)驗(yàn)步驟
1.輸入e條弧,生成AOE-網(wǎng)的存儲(chǔ)結(jié)構(gòu)。
2.初始化: S ← ;
dist[j] ← Edge[0][j], j = 1, 2, …, n-1; // n為圖中頂點(diǎn)個(gè)數(shù)
3.求出最短路徑的長(zhǎng)度:
dist[k] ← min , i V- S ;
S ← S U ;
4.修改從v0到V-S集合中各頂點(diǎn)的最短路徑:
dist[i] ← min,
對(duì)于每一個(gè) i 屬于 V- S ;
5.判斷:若 S = V, 則算法結(jié)束,否則轉(zhuǎn) 2。
實(shí)驗(yàn)七 二叉排序樹
一、實(shí)驗(yàn)?zāi)康?br />熟悉二叉排序樹的使用。
掌握如何使用C語(yǔ)言實(shí)現(xiàn)二叉樹的說(shuō)明、創(chuàng)建以及二叉排序樹的生成等操作。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
給定一個(gè)記錄關(guān)鍵字的值,與二叉排序樹的根結(jié)點(diǎn)值比較,如果小于根結(jié)點(diǎn)的值,則向左子樹查找;如果大于根結(jié)點(diǎn)的值,則向右子樹查找。如果查找到葉子結(jié)點(diǎn)leaf,仍沒(méi)有找到記錄,則:如果關(guān)鍵字的值小于leaf的值,則插入該leaf結(jié)點(diǎn)的左邊,做leaf的左孩子,否則做leaf的右孩子。
四、實(shí)驗(yàn)步驟
1.用C語(yǔ)言實(shí)現(xiàn)二叉樹的說(shuō)明
2.直接將輸入的值作為根結(jié)點(diǎn)的值
3.與根結(jié)點(diǎn)比較,小于則放到左子樹上,大于則放到右子樹上。
實(shí)驗(yàn)八 希爾排序
一、實(shí)驗(yàn)?zāi)康?br />熟悉希爾排序的使用。
掌握如何使用C語(yǔ)言實(shí)現(xiàn)若干記錄的排序。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
先將整個(gè)待排記錄序列分割成為若干子序列分別進(jìn)行直接插入排序,待整個(gè)序列中的記錄“基本有序”時(shí),再對(duì)全體記錄進(jìn)行一次直接插入排序。
四、實(shí)驗(yàn)步驟
1.輸入待排序記錄
2.首先取一個(gè)整數(shù) gap < n(待排序記錄數(shù)) 作為間隔, 將全部記錄分為 gap 個(gè)子序列, 所有距離為 gap 的記錄放在同一個(gè)子序列中
3.在每一個(gè)子序列中分別施行直接插入排序。
4.然后縮小間隔 gap, 例如取 gap = gap/2
5.重復(fù)上述的子序列劃分和排序工作,直到最后取gap = 1, 將所有記錄放在同一個(gè)序列中排序?yàn)橹埂?br />
實(shí)驗(yàn)九 快速排序
一、實(shí)驗(yàn)?zāi)康?br />熟悉快速排序的使用。
掌握如何使用C語(yǔ)言實(shí)現(xiàn)若干記錄的排序。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
通過(guò)一趟將待排記錄分割成獨(dú)立的兩個(gè)部分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小。再對(duì)兩個(gè)部分分別進(jìn)行快速排序。
四、實(shí)驗(yàn)步驟
1.輸入待排序的記錄,并選擇第一個(gè)記錄作為pivotkey記錄
2.從high指向的記錄開(kāi)始,向前找到第一個(gè)關(guān)鍵字的值小于Pivotkey的記錄,將其放到low指向的位置,low+1
3.從low指向的記錄開(kāi)始,向后找到第一個(gè)關(guān)鍵字的值大于Pivotkey的記錄,將其放到high指向的位置,high-1
4.重復(fù)2,3,直到low=high,將樞軸記錄放在low(high)指向的位置
5.重復(fù)2,3,4,直到整個(gè)記錄有序?yàn)橹?br />
實(shí)驗(yàn)十 堆排序
一、實(shí)驗(yàn)?zāi)康?br />熟悉堆排序的使用。
掌握如何使用C語(yǔ)言實(shí)現(xiàn)若干記錄的排序。
二、實(shí)驗(yàn)要求
熟悉C語(yǔ)言編程。
三、實(shí)驗(yàn)內(nèi)容
首先將一個(gè)無(wú)序序列建成一個(gè)堆;然后輸出堆頂元素;在輸出堆頂元素之后,調(diào)整剩余的元素成為一個(gè)新堆。
四、實(shí)驗(yàn)步驟
1.輸入記錄,按順序創(chuàng)建一個(gè)完全二叉樹
2.根據(jù)篩選算法,從最后一個(gè)結(jié)點(diǎn)開(kāi)始,一直到根結(jié)點(diǎn),逐步篩選,建造初始堆。
3.輸出堆頂記錄,將最后一個(gè)結(jié)點(diǎn)放到堆頂,并做篩選,重新建造一個(gè)堆
4.直到所有記錄輸出為止
數(shù)據(jù)結(jié)構(gòu)試驗(yàn)怎么做?
1.輸入e條弧,生成AOE-網(wǎng)的存儲(chǔ)結(jié)構(gòu)。2.初始化: S ← ;
工程結(jié)構(gòu)試驗(yàn)試驗(yàn)工作程序
首先,從試驗(yàn)?zāi)繕?biāo)出發(fā),需要細(xì)致地制定試驗(yàn)方案,并進(jìn)行試驗(yàn)設(shè)計(jì)。這涉及到明確研究的結(jié)構(gòu)或構(gòu)件,如果進(jìn)行的是模型試驗(yàn),就需要依據(jù)相似理論,確定模型的設(shè)計(jì),包括選擇合適的材料和制定精確的制作工藝,以確保試驗(yàn)結(jié)果能夠反映自然現(xiàn)象的特性。接下來(lái),設(shè)計(jì)或選擇合適的荷載或模擬作用至關(guān)重要。這需要根據(jù)試驗(yàn)...
建筑結(jié)構(gòu)的試驗(yàn)及檢測(cè)分析?
首先,建筑主體檢查,無(wú)論是建筑養(yǎng)護(hù),還是建筑維修與加固,均少不了建筑主體檢測(cè),較大程度上影響到維修與加固方案的可行性,確保其真實(shí)可靠,用于建筑結(jié)構(gòu)的試驗(yàn)與檢測(cè)以此作為依據(jù),評(píng)判結(jié)構(gòu)的承載能力,避免發(fā)生安全問(wèn)題,且是構(gòu)成建筑評(píng)定、維修與加固工作十分必要的一方面。其次,建筑檢測(cè)工作涵蓋了許多內(nèi)容,通常檢測(cè)內(nèi)容有結(jié)...
建筑結(jié)構(gòu)疲勞試驗(yàn)是如何進(jìn)行的?
循環(huán)次數(shù):指在疲勞試驗(yàn)中,載荷變化完成一個(gè)完整循環(huán)所需要的次數(shù)。循環(huán)次數(shù)越多,材料或結(jié)構(gòu)的疲勞壽命就越低。
結(jié)構(gòu)試驗(yàn)分析詳細(xì)分析與闡釋
結(jié)構(gòu)試驗(yàn)分析與結(jié)構(gòu)理論分析是理解結(jié)構(gòu)工作狀態(tài)的關(guān)鍵依據(jù)。通過(guò)結(jié)構(gòu)模型和原型試驗(yàn),我們可以驗(yàn)證結(jié)構(gòu)的數(shù)學(xué)分析模型,為設(shè)計(jì)提供可靠依據(jù),修正經(jīng)驗(yàn)公式,確保施工安全和質(zhì)量,評(píng)估結(jié)構(gòu)的承載能力,長(zhǎng)期監(jiān)控工作性能,以及調(diào)整設(shè)計(jì)和施工規(guī)范。試驗(yàn)分析的內(nèi)容豐富多樣,包括靜力、動(dòng)力和長(zhǎng)期試驗(yàn)三大類。靜力試驗(yàn)...
土做哪些試驗(yàn)
土的試驗(yàn)主要包括:物理性質(zhì)試驗(yàn)、化學(xué)性質(zhì)試驗(yàn)、力學(xué)性質(zhì)試驗(yàn)以及土壤結(jié)構(gòu)試驗(yàn)。一、物理性質(zhì)試驗(yàn) 土的物理性質(zhì)試驗(yàn)主要測(cè)定土的顆粒組成、濕度、密度和含水量等。這些指標(biāo)是評(píng)價(jià)土壤質(zhì)地、孔隙度和滲透性的基礎(chǔ)。例如,通過(guò)顆粒組成分析,可以判斷土的沙粒、粉粒和黏粒的相對(duì)含量,進(jìn)而評(píng)估土的質(zhì)地類型。含...
鋼結(jié)構(gòu)節(jié)點(diǎn)螺栓球試驗(yàn)如何做,怎樣夾持大管徑
1、四川這邊是做組合抗拉,就是將螺栓球(焊接球),連在在同一直線上的兩個(gè)節(jié)點(diǎn)中間,節(jié)點(diǎn)兩端的管子(300mm左右)端頭上焊上T型板(兩塊10~20*100*100板子),試驗(yàn)時(shí)直接夾在鋼板上拉。2、我見(jiàn)過(guò)杭州那邊有實(shí)驗(yàn)室是做成組合螺紋夾具,用v型槽夾具夾持,單做螺栓球、桿件節(jié)點(diǎn)。
結(jié)構(gòu)試驗(yàn)的分類有哪些?
結(jié)構(gòu)試驗(yàn)主要包括風(fēng)洞試驗(yàn),這是一種以結(jié)構(gòu)模型整體為試驗(yàn)對(duì)象的測(cè)試方法。通常所說(shuō)的結(jié)構(gòu)試驗(yàn)主要指結(jié)構(gòu)構(gòu)件的靜載試驗(yàn)。靜載試驗(yàn)根據(jù)目的不同,可以分為承載能力靜載試驗(yàn)和正常使用靜載檢驗(yàn)。承載能力靜載試驗(yàn)旨在驗(yàn)證構(gòu)件在規(guī)定試驗(yàn)荷載作用下,對(duì)荷載效應(yīng)的抵抗能力。具體來(lái)說(shuō),試驗(yàn)會(huì)檢查構(gòu)件在達(dá)到一定...
結(jié)構(gòu)試驗(yàn)包括哪些?
通常有兩種方法:1、補(bǔ)償塊補(bǔ)償法;2、工作片補(bǔ)償法。建筑結(jié)構(gòu)試驗(yàn)的任務(wù):任務(wù)是對(duì)結(jié)構(gòu)物承收荷載作用后的性能進(jìn)行觀測(cè),對(duì)測(cè)量數(shù)據(jù)進(jìn)行分析,從強(qiáng)度、剛度、抗裂性以及結(jié)構(gòu)實(shí)際破壞形態(tài)來(lái)判明結(jié)構(gòu)的實(shí)際工作性能,并對(duì)其進(jìn)行評(píng)價(jià),以及對(duì)結(jié)構(gòu)物承載力做出正確評(píng)估,為驗(yàn)證和發(fā)展結(jié)構(gòu)的計(jì)算理論提供可靠依據(jù)...
工程結(jié)構(gòu)試驗(yàn)的測(cè)量方法
②電測(cè)法。通過(guò)傳感元件把試驗(yàn)需要測(cè)量的數(shù)據(jù)或參數(shù),轉(zhuǎn)換為電阻、電容、電感、電壓或電流等電量參數(shù),經(jīng)放大器放大,然后進(jìn)行測(cè)量,由指示記錄設(shè)備記錄和顯示,如用電阻應(yīng)變儀和X-Y函數(shù)記錄儀做結(jié)構(gòu)反應(yīng)的數(shù)據(jù)和圖形記錄,進(jìn)行梁、柱節(jié)點(diǎn)延性試驗(yàn),液壓加載裝置作荷載模擬。這種轉(zhuǎn)換和測(cè)量技術(shù)稱為非電量電...
相關(guān)評(píng)說(shuō):
岳陽(yáng)縣滾針: ______[答案] #include /* 把數(shù)字N轉(zhuǎn)換成K進(jìn)制 */ /* 功能是把傳入的參數(shù)n按照k進(jìn)制進(jìn)行轉(zhuǎn)換并輸出結(jié)果 */ int NumConvert( int n, int k ) { int t=n; char buff[100]; int i,j; /* 字母26個(gè)加上10個(gè)數(shù)字,總共36 */ i...
岳陽(yáng)縣滾針: ______ #define LEN sizeof(struct tree)#define NULL 0#include#include struct tree { char data; struct tree *lchild,*rchild; };//創(chuàng)建二叉樹 struct tree *creat() { char c; struct tree *t; c=getchar(); if(c==' ') t=NULL; else { t=(struct tree*)malloc(LEN); t->data=c; t->...
岳陽(yáng)縣滾針: ______ #include<stdio.h> #include<stdlib.h> #define Maxsize 100 #define ElemType char typedef struct { ElemType data; int cursor; }Component, StaticList[Maxsize]; void initial(StaticList space, int *av) { int k; space[0].cursor=0; /*設(shè)置已用靜態(tài)單鏈表的...
岳陽(yáng)縣滾針: ______ 這是我的第一次上機(jī)實(shí)驗(yàn)課的內(nèi)容來(lái)呢! #include #include #include struct list //結(jié)點(diǎn)類型 { int data; struct list *next; }; struct list *head;//聲明結(jié)點(diǎn)指針 int static length;//聲明表長(zhǎng)變量 struct list *creat_n()//創(chuàng)建有n個(gè)元素的鏈表 { struct list *q,*p,...
岳陽(yáng)縣滾針: ______ #include <stdio.h> #include <malloc.h> #include <stdlib.h> typedef struct node{ int data; /*每個(gè)元素?cái)?shù)據(jù)信息*/ struct node *next; /*存放后繼元素的地址*/ } LNode,*LinkList; LinkList Creat_LinkList(void ) { /*創(chuàng)建空單鏈表,入口參數(shù):無(wú);返回值...
岳陽(yáng)縣滾針: ______ #include <iostream> #include <malloc.h> #include <stdlib.h> #define OVERFLOW -2 #define MAX_NUM 100 #define ERROR 0 #define OK 1 using namespace std; typedef struct SUT { char num[20]; char name[20]; int age; char sex; float sorce; }...
岳陽(yáng)縣滾針: ______ 線性結(jié)構(gòu)的基本特征為: 1.集合中必存在唯一的一個(gè)“第一元素”; 2.集合中必存在唯一的一個(gè) “最后元素” ; 3.除最后一個(gè)元素之外,均有 唯一的后繼(后件); 4.除第一個(gè)元素之外,均有 唯一的前驅(qū)(前件). 由n(n≥0)個(gè)數(shù)據(jù)元素(結(jié)點(diǎn))a1,...
岳陽(yáng)縣滾針: ______ 例如,設(shè)字母映射表是 abcdefghijklmnopqrstuvwxyz ngzqtcobmuhelkpdawxfyivksj 測(cè)試的字符串是encrypt tkzwsdf char...
岳陽(yáng)縣滾針: ______ #include <iostream.h> #include <iomanip.h> typedef struct Lnode { int data; struct Lnode *next; }LNode,*LinkList; void CreateList1(LinkList &L,int n);//insert from head void CreateList2(LinkList &L,int n);//insert from tail void CreateList3(LinkList &L,...
岳陽(yáng)縣滾針: ______ //這是我寫的程序 看對(duì)你是否有幫助#include using namespace std; struct student { int num; student* link; }; typedef student* Ptr; int main() { int x; Ptr head=NULL,p=NULL,t=NULL,q=NULL; cout cin>>x; while(x>=0) /*前插入建立鏈表*/ { p=new ...