版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上慕測(cè)平臺(tái)測(cè)試報(bào)告(二) 學(xué) 院:計(jì)算機(jī)學(xué)院 姓 名:趙紅娜 專 業(yè):軟件工程 學(xué) 號(hào): 班 級(jí):1301 完成日期:2016-10-22 2016年10月22日1.題目針對(duì)以下4個(gè)項(xiàng)目編寫(xiě)測(cè)試用例進(jìn)行測(cè)試。代碼如下:題目(1)專心-專注-專業(yè)/ BinaryHeap class/ CONSTRUCTION: with optional capacity (that defaults to 100)/ *PUBLIC OPERATIONS*/ void insert( x ) -> Insert x/ int deleteMin( )-> Return an
2、d remove smallest item/ int findMin( ) -> Return smallest item/ boolean isEmpty( ) -> Return true if empty; else false/ boolean isFull( ) -> Return true if full; else false/ void makeEmpty( ) -> Remove all items/ *ERRORS*/ Throws Overflow if capacity exceeded/* * Implements a binary heap
3、. * Note that all "matching" is based on the compareTo method. * author Mark Allen Weiss */public class BinaryHeap / invariant wellFormed(); /* * Construct the binary heap. */ public BinaryHeap( ) this( DEFAULT_CAPACITY ); /* * Construct the binary heap. * param capacity the capacity of th
4、e binary heap. */ / requires capacity > 0; / ensures isEmpty(); public BinaryHeap( int capacity ) currentSize = 0; array = new int capacity + 1 ; /* * Insert into the priority queue, maintaining heap order. * Duplicates are allowed. * param x the item to insert. * exception Overflow if container
5、is full. */ public void insert( int x ) throws Overflow if( isFull( ) ) throw new Overflow( ); / Percolate up int hole = +currentSize; for( ; hole > 1 && x< array hole / 2 ; hole /= 2 ) array hole = array hole / 2 ; array hole = x; /* * Find the smallest item in the priority queue. * r
6、eturn the smallest item, or null, if empty. */ public int findMin( ) if( isEmpty( ) ) return -1; return array 1 ; boolean wellFormed() if(array=null) /array!=null return false; if(currentSize<0 | currentSize>=array.length) /currentSize>=0; currentSize<array.length; return false; for(int
7、i=1; i<currentSize; i+) if(i*2 <= currentSize && arrayi>array2*i) return false; if(i*2 + 1<= currentSize && arrayi>array2*i+1) return false; return true; /* * Remove the smallest item from the priority queue. * return the smallest item, or null, if empty. */ public int
8、 deleteMin( ) if( isEmpty( ) ) return -1; int minItem = findMin( ); array 1 = array currentSize- ; percolateDown( 1 ); return minItem; /* * Establish heap order property from an arbitrary * arrangement of items. Runs in linear time. */ public void buildHeap( ) for( int i = currentSize / 2; i > 0;
9、 i- ) percolateDown( i ); /* * Test if the priority queue is logically empty. * return true if empty, false otherwise. */ public boolean isEmpty( ) return currentSize = 0; /* * Test if the priority queue is logically full. * return true if full, false otherwise. */ public boolean isFull( ) return cu
10、rrentSize = array.length - 1; /* * Make the priority queue logically empty. */ / ensures isEmpty(); public void makeEmpty( ) currentSize = 0; private static final int DEFAULT_CAPACITY = 100; private int currentSize; / Number of elements in heap private int array; / The heap array /* * Internal metho
11、d to percolate down in the heap. * param hole the index at which the percolate begins. */ private void percolateDown( int hole ) int child; int tmp = array hole ; for( ; hole * 2 <= currentSize; hole = child ) child = hole * 2; if( child != currentSize && array child + 1 < array child
12、) child+; if( array child < tmp ) array hole = array child ; else break; array hole = tmp; /* * Exception class for access in full containers * such as stacks, queues, and priority queues. * author Mark Allen Weiss */public class Overflow extends Exception題目(2)import java.util.Comparator;import j
13、ava.util.Random;/* * A class that contains several sorting routines, * implemented as static methods. * Arrays are rearranged with smallest item first, * using compareTo. * author Mark Allen Weiss */public final class Sorting /* * Simple insertion sort. * param a an array of Comparable items. */ pub
14、lic void insertionSort( int a ) int j; for( int p = 1; p < a.length; p+ ) int tmp = a p ; for( j = p; j > 0 && tmp<a j - 1 ; j- ) a j = a j - 1 ; a j = tmp; public boolean isSorted(int a) for(int i=0; i<a.length-1; i+) if(ai>ai+1) return false; return true; public static void
15、quicksort( int a ) quicksort( a, 0, a.length - 1 ); private static final int CUTOFF = 10; public static final void swapReferences( Object a, int index1, int index2 ) Object tmp = a index1 ; a index1 = a index2 ; a index2 = tmp; public static final void swap(int a,int index1,int index2) int tmp = a i
16、ndex1 ; a index1 = a index2 ; a index2 = tmp; private static int median3( int a, int left, int right ) int center = ( left + right ) / 2; if( a center <a left ) swap( a, left, center ); if( a right < a left ) swap( a, left, right ); if( a right < a center ) swap( a, center, right ); / Place
17、 pivot at position right - 1 swap( a, center, right - 1 ); return a right - 1 ; private static void quicksort( int a, int left, int right) if( left + CUTOFF <= right ) int pivot = median3( a, left, right ); int i = left, j = right - 1; for( ; ; ) while( a +i < pivot ) while( a -j > pivot )
18、if( i < j ) swap( a, i, j ); else break; swap( a, i, right - 1 ); / Restore pivot quicksort( a, left, i - 1 ); / Sort small elements quicksort( a, i + 1, right ); / Sort large elements else / Do an insertion sort on the subarray insertionSort( a, left, right ); private static void insertionSort(
19、int a, int left, int right ) for( int p = left + 1; p <= right; p+ ) int tmp = a p ; int j; for( j = p; j > left && tmp < a j - 1 ; j- ) a j = a j - 1 ; a j = tmp; private static final int NUM_ITEMS = 1000; private static int theSeed = 1;題目(3)public class Statistics /* * * param num
20、bers * return the length of the array */public int calLength(int numbers) int length = numbers.length;return length;/* * * param numbers * return the mean value of the array */public double calMean(int numbers) int length = calLength(numbers);double sum;sum = 0.0;for (int i = 0; i < length; i+) s
21、um += numbersi;double mean = sum / (double) length;return mean;/* * * param numbers * return the var value of the array */public double calVar(int numbers) int length = calLength(numbers);double mean = calMean(numbers);double varsum = 0.0;for (int i = 0; i < length; i+) varsum = varsum + (numbers
22、i - mean) * (numbersi - mean);double var = varsum / (length - 1.0);return var;題目(4)public class Triangle protected long lborderA = 0;protected long lborderB = 0;protected long lborderC = 0;/ Constructorpublic Triangle(long lborderA, long lborderB, long lborderC) this.lborderA = lborderA;this.lborder
23、B = lborderB;this.lborderC = lborderC;/* * check if it is a triangle * * return true for triangle and false not */public boolean isTriangle(Triangle triangle) boolean isTriangle = false;/ check boundaryif (triangle.lborderA > 0 && triangle.lborderA <= Long.MAX_VALUE)&& (triangl
24、e.lborderB > 0 && triangle.lborderB <= Long.MAX_VALUE)&& (triangle.lborderC > 0 && triangle.lborderC <= Long.MAX_VALUE) / check if subtraction of two border larger than the thirdif (diffOfBorders(triangle.lborderA, triangle.lborderB) < triangle.lborderC&&am
25、p; diffOfBorders(triangle.lborderB, triangle.lborderC) < triangle.lborderA&& diffOfBorders(triangle.lborderC, triangle.lborderA) < triangle.lborderB) isTriangle = true;return isTriangle;/* * Check the type of triangle * * Consists of "Illegal", "Regular", "Scal
26、ene", "Isosceles" */public String getType(Triangle triangle) String strType = "Illegal"if (isTriangle(triangle) / Is Regularif (triangle.lborderA = triangle.lborderB&& triangle.lborderB = triangle.lborderC) strType = "Regular"/ If scaleneelse if (triangle.l
27、borderA != triangle.lborderB)&& (triangle.lborderB != triangle.lborderC)&& (triangle.lborderA != triangle.lborderC) strType = "Scalene"/ if isosceleselse strType = "Isosceles"return strType;/* * calculate the diff between borders * * */public long diffOfBorders(lo
28、ng a, long b) return (a > b) ? (a - b) : (b - a);/* * get length of borders */public long getBorders() long borders = new long3;borders0 = this.lborderA;borders1 = this.lborderB;borders2 = this.lborderC;return borders;2.軟件工具Eclipse3. 測(cè)試代碼題目(1)import org.junit.After;import org.junit.Before;import
29、org.junit.Test;import org.junit.Assert;public class BinaryHeapTest Beforepublic void setUp() throws Exception Afterpublic void tearDown() throws Exception Testpublic void test() BinaryHeap heap1 = new BinaryHeap(1024);for (int i = 1024; i > 0; i-) try heap1.insert(i); catch (Overflow e) Assert.fa
30、il(e.getMessage();if (heap1.wellFormed() heap1.buildHeap();heap1.deleteMin();heap1.makeEmpty();heap1.findMin();heap1.deleteMin();題目(2)import org.junit.Before;import org.junit.After;import org.junit.Test;public class SortingTest private int num;private int num1 = new int50;private int num2 = new int5
31、0;private Object ref = new Object 3, 4, 5, 6, 9 ;private Sorting sorting;Beforepublic void setUp() throws Exception sorting = new Sorting();for (int i = 0; i < 50; i+) num = (int) (Math.random() * 50);num1i = num;for (int i = 0; i < 50; i+) num = (int) (Math.random() * 50);num2i = num;Afterpublic void tearDown() throws Exception Testpublic void test() sorting.quicksort(num1);sorting.isSorted(num1);sorting.insertionSort(num2);sorting.isSorted(num2);sorting.swapReferences(ref, 1, 5);題目(3)import org.junit.After;import org.junit.Before;import org.junit.Test;public class StatisticsTes
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)考前沖刺模擬試卷A卷含答案
- 2024年度年福建省高校教師資格證之高校教師職業(yè)道德綜合檢測(cè)試卷B卷含答案
- 2024年閘機(jī)系統(tǒng)投資申請(qǐng)報(bào)告
- 一年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)匯編
- 湖南省永州市高一上學(xué)期期末歷史試題及解答參考
- 2024商用中央空調(diào)全面檢修協(xié)議
- 2024年臨時(shí)租車(chē)服務(wù)協(xié)議詳案
- 2024年度代理服務(wù)協(xié)議樣本
- 2024年勞動(dòng)協(xié)議格式大全
- 2024老年公寓長(zhǎng)期照護(hù)服務(wù)協(xié)議
- 蘇教版五年級(jí)上冊(cè)數(shù)學(xué)試題-第一、二單元 測(cè)試卷【含答案】
- 發(fā)揮產(chǎn)業(yè)工會(huì)作用的實(shí)施方案
- 科捷物流介紹(中文版)ppt課件
- 軍事地形學(xué)地形圖基本知識(shí)
- 2022版義務(wù)教育(生物學(xué))課程標(biāo)準(zhǔn)(含2022年修訂和新增部分)
- 六年級(jí)綜合實(shí)踐活動(dòng)課件-珍愛(ài)生命遠(yuǎn)離毒品 全國(guó)通用(共24張PPT)
- 建設(shè)工程竣工消防驗(yàn)收記錄表(DOC36頁(yè))
- 沉井專項(xiàng)施工方案DOC
- 切削力計(jì)算參考模板
- 一年級(jí)海洋教育教案
- 聚氨酯硬泡沫配方及計(jì)算
評(píng)論
0/150
提交評(píng)論