Bläddra i källkod

new JSON files to see if the executables are working show that merge and quick sort evaluations aren't working

Natalie Pueyo 8 år sedan
förälder
incheckning
ee52863924

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Example100-SortedVerificationSolution.json


+ 11 - 0
Example100-TimedAlgorithmsSolution.csv

@@ -0,0 +1,11 @@
+Sample,InsertionSortTime,InsertionSortCompares,InsertionSortMemaccess,MergeSortTime,MergeSortCompares,MergeSortMemaccess,QuickSortTime,QuickSortCompares,QuickSortMemaccess
+Sample01,0.000000,28,132,0.000000,24,184,0.000000,50,95
+Sample02,0.000000,37,186,0.000000,23,182,0.000000,53,102
+Sample03,0.000000,17,66,0.000000,23,182,0.000000,48,81
+Sample04,0.000000,23,102,0.000000,24,184,0.000000,55,88
+Sample05,0.000000,27,126,0.000000,23,182,0.000000,49,90
+Sample06,0.000000,39,198,0.000000,22,180,0.000000,53,102
+Sample07,0.000000,20,84,0.000000,21,178,0.000000,49,78
+Sample08,0.000000,27,126,0.000000,23,182,0.000000,54,103
+Sample09,0.000000,33,162,0.000000,21,178,0.000000,52,93
+Sample10,0.000000,32,156,0.000000,23,182,0.000000,49,94

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Example100.json


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Example99-Example100-ConsistentResultVerificationSolution.json


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Example99-SortedVerificationSolution.json


+ 11 - 0
Example99-TimedAlgorithmsSolution.csv

@@ -0,0 +1,11 @@
+Sample,InsertionSortTime,InsertionSortCompares,InsertionSortMemaccess,MergeSortTime,MergeSortCompares,MergeSortMemaccess,QuickSortTime,QuickSortCompares,QuickSortMemaccess
+Sample01,0.000000,40,204,0.000000,21,178,0.000000,57,102
+Sample02,0.000000,28,132,0.000000,22,180,0.000000,51,88
+Sample03,0.000000,26,120,0.000000,22,180,0.000000,55,100
+Sample04,0.000000,32,156,0.000000,21,178,0.000000,52,105
+Sample05,0.000000,31,150,0.000000,24,184,0.000000,46,79
+Sample06,0.000000,36,180,0.000000,25,186,0.000000,50,95
+Sample07,0.000000,25,114,0.000000,21,178,0.000000,51,76
+Sample08,0.000000,21,90,0.000000,20,176,0.000000,56,97
+Sample09,0.000000,32,156,0.000000,25,186,0.000000,56,93
+Sample10,0.000000,36,180,0.000000,24,184,0.000000,47,84

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Example99.json


+ 2 - 2
P1Test.sh

@@ -12,7 +12,7 @@ rm -rf testerDirectory
 mkdir -p testerDirectory
 mkdir -p testerDirectory/diff
 cd testerDirectory
-cp ~rsgysel/public/60-Program1-Examples/* . &> /dev/null
+cp /home/rsgysel/public/60-Program1-Examples/* . &> /dev/null
 echo "..."
 cp ../* . &> /dev/null
 echo "...."
@@ -55,7 +55,7 @@ for i in {1..99}; do
     testFile=${testFile1}-${testFile2}
     ./consistentresultverification.sh ${testFile1}.json ${testFile2}.json > ${testFile}-${program}Submission.json
     diff -w ${testFile}-${program}Submission.json ${testFile}-${program}Solution.json > ./diff/${testFile}-${program}Diff.txt
- 
+
     diffFile=./diff/${testFile}-${program}Diff.txt
     if [ ! -s $diffFile ]; then
         echo ${testFile1}.json ${testFile2}.json: Pass >> Results.txt

+ 2 - 1
insertionsort.cpp

@@ -18,7 +18,7 @@ int* InsertionSort(std::vector<int>* numbers){
    static int returnCounters[2];
 
    for (i = 1; i < numbers->size(); ++i) {
-     memAccessCounter++;
+     memAccessCounter = memAccessCounter + 2;
      comparisonCounter++;
 
       j = i;
@@ -38,6 +38,7 @@ int* InsertionSort(std::vector<int>* numbers){
          --j;
       }
    }
+   // return both counters to timealgorithms
    returnCounters[0] = comparisonCounter;
    returnCounters[1] = memAccessCounter;
    return returnCounters;

BIN
insertionsort.o


BIN
insertionsort.o3


+ 4 - 0
mergesort.cpp

@@ -14,6 +14,7 @@ int* MergeSort(std::vector<int>* numbers) {
   static int returnCounters[2];
 
   MergeSortRecurse(numbers, 0, numbers->size() - 1, &comparisonCounter, &memAccessCounter);
+  memAccessCounter++;
 
   returnCounters[0] = comparisonCounter;
   returnCounters[1] = memAccessCounter;
@@ -29,10 +30,13 @@ void MergeSortRecurse(std::vector<int>* numbers, int i, int k, int *comparisonCo
 
       // Recursively sort left and right partitions
       MergeSortRecurse(numbers, i, j, comparisonCounter, memAccessCounter);
+      *memAccessCounter = *memAccessCounter + 1;
       MergeSortRecurse(numbers, j + 1, k, comparisonCounter, memAccessCounter);
+      *memAccessCounter = *memAccessCounter + 1;
 
       // Merge left and right partition in sorted order
       Merge(numbers, i, j, k, comparisonCounter, memAccessCounter);
+      *memAccessCounter = *memAccessCounter + 1;
    }
 }
 

BIN
mergesort.o


BIN
mergesort.o3


+ 11 - 3
timealgorithms.csv

@@ -1,3 +1,11 @@
-Sample,InsertionSortTime,InsertionSortCompares,InsertionSortMemaccess,MergeSortTime,MergeSortCompares,MergeSortMemaccess,QuickSortTime,QuickSortCompares,QuickSortMemaccess,
-Sample1,0,3,3,0,4,24,0,5,8,
-Sample2,0,7,27,0,4,24,0,5,8,
+Sample,InsertionSortTime,InsertionSortCompares,InsertionSortMemaccess,MergeSortTime,MergeSortCompares,MergeSortMemaccess,QuickSortTime,QuickSortCompares,QuickSortMemaccess
+Sample01,0,28,132,0,19,134,0,25,34
+Sample02,0,37,186,0,19,134,0,25,34
+Sample03,0,17,66,0,19,134,0,25,34
+Sample04,0,23,102,0,19,134,0,25,34
+Sample05,0,27,126,0,19,134,0,25,34
+Sample06,0,39,198,0,19,134,0,25,34
+Sample07,0,20,84,0,19,134,0,25,34
+Sample08,0,27,126,0,19,134,0,25,34
+Sample09,0,33,162,0,19,134,0,25,34
+Sample10,0,32,156,0,19,134,0,25,34

+ 3 - 8
timealgorithms.cxx

@@ -24,7 +24,7 @@ int main(int argc, char* argv[]) {
   // initiate CSV file quickto which data will be written
   std::ofstream theFile;
   theFile.open("timealgorithms.csv");
-  theFile << "Sample,InsertionSortTime,InsertionSortCompares,InsertionSortMemaccess,MergeSortTime,MergeSortCompares,MergeSortMemaccess,QuickSortTime,QuickSortCompares,QuickSortMemaccess,\n";
+  theFile << "Sample,InsertionSortTime,InsertionSortCompares,InsertionSortMemaccess,MergeSortTime,MergeSortCompares,MergeSortMemaccess,QuickSortTime,QuickSortCompares,QuickSortMemaccess\n";
 
   // initialize array for JSON data
   //int n = jsonObject["metadata"]["arraySize"];
@@ -75,7 +75,7 @@ int main(int argc, char* argv[]) {
       // Add the merge sort data to the CSV file line
       theFile << merTime << "," << *mergeReturnArray << "," << *(mergeReturnArray + 1) << "," ;
 
-
+      // quick sort evaluation
       quickStartTime = time(0);
       quickReturnArray = QuickSort(sampleArray);
       quickTime = time(0) - quickStartTime;
@@ -84,7 +84,7 @@ int main(int argc, char* argv[]) {
       std::cout << "wallclock time for quick sort: " << quickTime << std::endl;
       std::cout << std::endl;
       // Add the quick sort data to the CSV file line
-      theFile << quickTime << "," << *quickReturnArray << "," << *(quickReturnArray + 1) << "," ;
+      theFile << quickTime << "," << *quickReturnArray << "," << *(quickReturnArray + 1);
       theFile << "\n";
 
       // clear the array for the next sample
@@ -92,11 +92,6 @@ int main(int argc, char* argv[]) {
     }
   }
 
-  // check to see if I'm getting all the sample elements in one array
-  /*for (auto const &element: *sampleArray){
-      std::cout << element << ' ' << std::endl;
-  }*/
-
   theFile.close();   // close CSV file
   file.close();      // close JSON file
   return 0;

BIN
timealgorithms.exe


Vissa filer visades inte eftersom för många filer har ändrats