Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Experimentally proving the time complexity of sorting algorithms. During lecture

ID: 3594142 • Letter: E

Question

Experimentally proving the time complexity of sorting algorithms. During lectures we have discussed how to determine the time run a program. Starting from 10000 elements until elements increment by 10000, create an integer array with random numbers and apply the above three sorting algorithms and the Java built in sorting algorithm Arrays.sort) separately to sort the array and time it. Then fill the following table. Using Microsoft excel, plot the times against the size of the array and see if part (d) matches with your data. 60000 Array Size Selection Sort Merge sort Quicksort Arrays.sort) 10000 20000 30000 40000 50000 60000

Explanation / Answer

import java.util.Arrays;

import java.util.Random;

import java.util.concurrent.TimeUnit;

//Class AllTypeSort definition

public class AllTypeSort

{

// Method for selection sort

public static void selectionSort(int[] arr)

{  

//Loops till end of array

for (int i = 0; i < arr.length - 1; i++)  

{  

int index = i;

//Loops till end of array

for (int j = i + 1; j < arr.length; j++)

{  

if (arr[j] < arr[index])

{  

index = j;//searching for lowest index  

}  

}  

int smallerNumber = arr[index];

arr[index] = arr[i];  

arr[i] = smallerNumber;  

}  

}  

// Merges two sub arrays of array[]. First sub array is array[l..m] second sub array is array[m+1..r]

public static void merge(int array[], int l, int m, int r)

{

// Find sizes of two sub arrays to be merged

int n1 = m - l + 1;

int n2 = r - m;

//Create two temporary arrays

int Left[] = new int [n1];

int Right[] = new int [n2];

//Copy data to temporary arrays

for (int c = 0; c < n1; ++c)

Left[c] = array[l + c];

for (int d = 0; d < n2; ++d)

Right[d] = array[m + 1+ d];

  

//Merge the temporary arrays

// Initial indexes of first and second sub arrays

int c = 0, d = 0;

// Initial index of merged sub array

int k = l;

// Loops till end of either left or right array end

while (c < n1 && d < n2)

{

//Checks if left array c index position value is less than or equals to right array d index position

if (Left[c] <= Right[d])

{

//Store the left c index position value in array k index position

array[k] = Left[c];

//Increase the counter for left array

c++;

}//End of if

//Otherwise

else

{

//Store the right d index position value in array k index position

array[k] = Right[d];

//Increase the counter for right array

d++;

}//End of else

//Increase the counter for main array

k++;

}//End of while

//Copy remaining elements of Left[] if any

while (c < n1)

{

array[k] = Left[c];

c++;

k++;

}//End of while

//Copy remaining elements of Right[] if any

while (d < n2)

{

array[k] = Right[d];

d++;

k++;

}//End of while loop

}//End of method

// Main method that sorts array[l..n] using

public static void mSort(int array[], int l, int n)

{

if (l < n)

{

// Find the middle point

int mid = (l + n)/2;

// Sort first and second halves

mSort(array, l, mid);

mSort(array, mid + 1, n);

// Merge the sorted halves

merge(array, l, mid, n);

}//End of if

}//End of method

  

/* Method takes last element as pivot, places the pivot element at its correct position in sorted array, and places all

smaller (smaller than pivot) to left of pivot and all greater elements to right of pivot */

public static int partition(int array[], int low, int high)

{

int pivot = array[high];

// index of smaller element

int i = (low-1);

//Loops till low is less than high

for (int c = low; c < high; c++)

{

// If current element is smaller than or equal to pivot

if (array[c] <= pivot)

{

i++;

// Swap array[i] and array[c]

int temp = array[i];

array[i] = array[c];

array[c] = temp;

}//End of if

}//End of for

// Swap array[i+1] and array[high] (or pivot)

int temp = array[i+1];

array[i+1] = array[high];

array[high] = temp;

return i+1;

}//End of method

//Method that implements QuickSort()

public static void qSort(int array[], int low, int high)

{

if (low < high)

{

// part is partitioning index, array[part] is now at right place

int part = partition(array, low, high);

// Recursively sort elements before partition and after partition

qSort(array, low, part-1);

qSort(array, part+1, high);

}//End of if

}//End of method

//Method to generate random number

public static void generateRandomNumber(int[] anArray1, int[] anArray2, int[] anArray3, int[] anArray4)

{

//Creates an object of Random() class

Random generator = new Random();

//Loops 1000 times

for(int i=0; i<1000; i++)

{

//Generates random number

int no = (generator.nextInt(1000)+1);

//stores random number in array

anArray1[i] = no;

anArray2[i] = no;

anArray3[i] = no;

anArray4[i] = no;

}//End of for

}//End of method

//Main method definition

public static void main(String[] args)

{

//Declares array

int[] anArray1 = new int[1000];

int[] anArray2 = new int[1000];

int[] anArray3 = new int[1000];

int[] anArray4 = new int[1000];

//Generates random number for array

generateRandomNumber(anArray1, anArray2, anArray3, anArray4);

//Displays array before selection sort

System.out.println("Before Selection Sort");  

for(int i:anArray1)

{  

System.out.print(i+" ");  

} //End of for loop

System.out.println();  

//Stores start time for selection sort

long startSelection = System.nanoTime();

//Sorting array using selection sort

selectionSort(anArray1);  

//Stores end time for selection sort

long endSelection = System.nanoTime();

//Calculates time for selection sort

long timeSelection = TimeUnit.MILLISECONDS.convert(endSelection - startSelection, TimeUnit.NANOSECONDS);

System.out.println("Time spend in ms: " + timeSelection);

//Displays array after selection sort

System.out.println("After Selection Sort");  

for(int i:anArray1)

{  

System.out.print(i+" ");

}//End of for loop

  

// Merge Sort

//Displays array before Merge sort

System.out.println(" Before Merge Sort");  

for(int i:anArray2)

{  

System.out.print(i+" ");  

}//End of for loop  

System.out.println();  

//Stores start time for merge sort

long startMerge = System.nanoTime();

//Sorting array using merge sort

mSort(anArray2, 0, anArray2.length-1);

//Stores end time for Merge sort

long endMerge = System.nanoTime();

//Calculates time for merge sort

long timeMerge = TimeUnit.MILLISECONDS.convert(endMerge - startMerge, TimeUnit.NANOSECONDS);

System.out.println(" Time spend in ms: " + timeMerge);

//Displays array after Merge sort

System.out.println("After Merge Sort");  

for(int i:anArray2)

{  

System.out.print(i+" ");

}//End of for loop

  

//Quick Sort

//Displays array before Quick sort

System.out.println(" Before Quick Sort");  

for(int i:anArray3)

{  

System.out.print(i+" ");  

}//End of for loop  

System.out.println();

//Stores start time for quick sort

long startQuick = System.nanoTime();

//Sorting array using quick sort

mSort(anArray3, 0, anArray3.length-1);

//Stores end time for quick sort

long endQuick = System.nanoTime();

//Calculates time for quick sort

long timeQuick = TimeUnit.MILLISECONDS.convert(endQuick - startQuick, TimeUnit.NANOSECONDS);

System.out.println(" Time spend in ms: " + timeQuick);

//Displays array after Quick sort

System.out.println("After Quick Sort");  

for(int i:anArray3)

{  

System.out.print(i+" ");

}//End of for loop

  

//Displays Array before sort

System.out.println(" Berore Array.sort()");

System.out.println(Arrays.toString(anArray4));

//Stores start time for Array.sort()

long startArray = System.nanoTime();

//Sorting array using Array.sort()

Arrays.sort(anArray4);

//Stores end time for Array.sort()

long endArray = System.nanoTime();

//Calculate time for Array.sort()

long timeArray = TimeUnit.MILLISECONDS.convert(endArray - startArray, TimeUnit.NANOSECONDS);

System.out.println(" Time spend in ms: " + timeArray);

//Displays Array before sort

System.out.println(" After Array.sort()");

System.out.println(Arrays.toString(anArray4));

}//End of main method

}//End of class

Sample Run:

Before Selection Sort
277 852 536 716 99 944 981 517 600 847 142 633 477 675 3 547 396 601 220 380 921 847 774 158 998 951 627 664 963 279 192 29 530 321 407 593 745 526 445 58 32 842 22 14 626 20 732 775 192 373 287 784 361 586 934 722 318 431 867 783 449 818 525 994 14 858 495 273 202 514 670 209 400 405 368 300 434 95 975 961 997 30 28 729 341 124 705 633 255 778 279 737 198 338 670 696 84 33 771 249 570 975 451 670 892 61 590 911 227 185 783 471 750 713 592 308 11 50 170 593 758 483 697 257 516 947 702 778 850 572 295 628 918 898 473 437 695 500 989 250 513 6 289 75 144 488 613 36 302 551 973 492 855 414 15 324 657 641 722 70 402 733 887 846 505 391 403 633 967 1000 618 57 142 801 824 339 527 737 16 638 714 704 640 319 374 215 763 229 633 63 806 974 865 498 399 396 64 689 950 416 758 323 760 241 56 879 160 57 127 951 734 349 436 1 892 750 718 474 555 625 270 673 173 591 346 262 635 521 790 893 14 589 857 419 474 829 642 804 119 874 443 718 465 637 126 757 320 549 749 580 762 194 350 725 691 405 242 221 278 226 95 863 334 11 347 731 478 994 865 787 366 842 128 490 991 75 631 297 517 840 605 232 995 183 700 757 189 460 206 379 766 658 71 194 330 775 266 767 366 307 784 273 108 973 698 648 58 274 704 777 394 299 931 177 420 25 652 254 511 48 519 837 927 397 250 947 344 694 792 228 952 604 939 537 499 271 549 698 768 751 671 728 600 570 506 829 87 359 291 411 268 589 508 590 43 472 597 806 233 218 834 684 407 730 438 665 359 108 325 478 939 429 447 539 366 840 168 343 586 722 356 9 96 967 800 241 95 687 91 102 139 656 684 989 110 113 725 539 613 840 309 671 33 16 788 118 270 755 839 468 304 176 163 212 257 409 934 300 295 564 377 104 378 60 937 362 123 643 405 435 24 598 578 441 941 205 906 28 196 21 204 318 933 188 308 7 88 345 939 442 871 957 169 224 73 242 23 671 489 150 281 702 957 196 936 792 274 615 70 866 157 116 843 331 125 563 388 687 108 57 307 768 851 326 81 601 109 686 48 336 868 174 326 96 376 796 259 520 454 451 755 756 477 330 599 213 923 808 966 208 902 7 529 264 151 34 93 792 113 475 145 369 520 982 694 725 444 179 158 6 364 548 894 141 847 972 765 946 925 376 503 941 485 597 739 432 424 261 791 185 930 823 358 615 97 298 671 368 733 702 871 892 624 951 617 290 799 390 554 837 990 102 473 715 386 328 203 834 744 172 613 391 363 317 98 140 490 862 773 629 552 791 112 368 21 599 154 743 938 20 679 51 202 222 858 782 396 380 686 388 300 274 666 327 297 896 314 998 545 1000 74 2 177 323 286 869 153 176 812 991 756 202 291 654 621 477 413 537 909 765 200 169 553 811 922 549 663 181 578 840 417 425 292 817 739 998 700 439 855 607 524 175 504 556 193 955 875 550 719 113 865 559 676 253 169 164 866 332 914 305 718 734 502 63 790 815 947 948 856 218 507 599 717 474 131 54 172 431 416 950 658 17 541 54 791 781 377 817 213 25 398 558 242 765 716 101 804 783 292 584 740 179 945 764 859 278 440 371 89 53 96 56 972 647 388 750 190 51 318 92 511 127 294 841 433 255 640 648 667 334 683 792 365 340 949 563 274 524 76 753 196 265 759 832 649 661 267 210 674 493 402 107 149 772 102 758 464 130 308 35 118 992 379 839 495 643 523 231 927 235 450 154 216 303 617 891 219 63 542 888 802 310 803 842 961 393 635 201 11 416 221 19 617 712 1 800 669 243 623 181 885 621 423 900 530 811 531 924 472 794 400 202 624 762 579 20 305 749 561 301 182 71 111 682 281 419 784 816 828 112 213 792 344 623 110 209 303 506 127 544 899 194 502 662 650 69 416 165 249 418 859 576 525 650 758 183 520 85 853 116 713 710 713 325 444 733 796 294 657 782 714 26 209 219 203 886 954 483 701 170 707 765 830 197 771 949 974 844 124 306 963 206 29 369 591 351 182 242 436 383 612 725 200 630 444 472 587 783 748 856 269 574 997 513 605 47 717 493 340 853 521 125 335 243 399 398 995 994 761 370 691 496 662 354 341 305 890 694 244 685 102 25 86 230 498 411 861 260 655 692 50 846 185 466 421 879 545 192 361 411 265 691 421 613 49 681 54 190 455 824 847 412 226 169 347 453 327 231 145 886
Time spend in ms: 7
After Selection Sort
1 1 2 3 6 6 7 7 9 11 11 11 14 14 14 15 16 16 17 19 20 20 20 21 21 22 23 24 25 25 25 26 28 28 29 29 30 32 33 33 34 35 36 43 47 48 48 49 50 50 51 51 53 54 54 54 56 56 57 57 57 58 58 60 61 63 63 63 64 69 70 70 71 71 73 74 75 75 76 81 84 85 86 87 88 89 91 92 93 95 95 95 96 96 96 97 98 99 101 102 102 102 102 104 107 108 108 108 109 110 110 111 112 112 113 113 113 116 116 118 118 119 123 124 124 125 125 126 127 127 127 128 130 131 139 140 141 142 142 144 145 145 149 150 151 153 154 154 157 158 158 160 163 164 165 168 169 169 169 169 170 170 172 172 173 174 175 176 176 177 177 179 179 181 181 182 182 183 183 185 185 185 188 189 190 190 192 192 192 193 194 194 194 196 196 196 197 198 200 200 201 202 202 202 202 203 203 204 205 206 206 208 209 209 209 210 212 213 213 213 215 216 218 218 219 219 220 221 221 222 224 226 226 227 228 229 230 231 231 232 233 235 241 241 242 242 242 242 243 243 244 249 249 250 250 253 254 255 255 257 257 259 260 261 262 264 265 265 266 267 268 269 270 270 271 273 273 274 274 274 274 277 278 278 279 279 281 281 286 287 289 290 291 291 292 292 294 294 295 295 297 297 298 299 300 300 300 301 302 303 303 304 305 305 305 306 307 307 308 308 308 309 310 314 317 318 318 318 319 320 321 323 323 324 325 325 326 326 327 327 328 330 330 331 332 334 334 335 336 338 339 340 340 341 341 343 344 344 345 346 347 347 349 350 351 354 356 358 359 359 361 361 362 363 364 365 366 366 366 368 368 368 369 369 370 371 373 374 376 376 377 377 378 379 379 380 380 383 386 388 388 388 390 391 391 393 394 396 396 396 397 398 398 399 399 400 400 402 402 403 405 405 405 407 407 409 411 411 411 412 413 414 416 416 416 416 417 418 419 419 420 421 421 423 424 425 429 431 431 432 433 434 435 436 436 437 438 439 440 441 442 443 444 444 444 445 447 449 450 451 451 453 454 455 460 464 465 466 468 471 472 472 472 473 473 474 474 474 475 477 477 477 478 478 483 483 485 488 489 490 490 492 493 493 495 495 496 498 498 499 500 502 502 503 504 505 506 506 507 508 511 511 513 513 514 516 517 517 519 520 520 520 521 521 523 524 524 525 525 526 527 529 530 530 531 536 537 537 539 539 541 542 544 545 545 547 548 549 549 549 550 551 552 553 554 555 556 558 559 561 563 563 564 570 570 572 574 576 578 578 579 580 584 586 586 587 589 589 590 590 591 591 592 593 593 597 597 598 599 599 599 600 600 601 601 604 605 605 607 612 613 613 613 613 615 615 617 617 617 618 621 621 623 623 624 624 625 626 627 628 629 630 631 633 633 633 633 635 635 637 638 640 640 641 642 643 643 647 648 648 649 650 650 652 654 655 656 657 657 658 658 661 662 662 663 664 665 666 667 669 670 670 670 671 671 671 671 673 674 675 676 679 681 682 683 684 684 685 686 686 687 687 689 691 691 691 692 694 694 694 695 696 697 698 698 700 700 701 702 702 702 704 704 705 707 710 712 713 713 713 714 714 715 716 716 717 717 718 718 718 719 722 722 722 725 725 725 725 728 729 730 731 732 733 733 733 734 734 737 737 739 739 740 743 744 745 748 749 749 750 750 750 751 753 755 755 756 756 757 757 758 758 758 758 759 760 761 762 762 763 764 765 765 765 765 766 767 768 768 771 771 772 773 774 775 775 777 778 778 781 782 782 783 783 783 783 784 784 784 787 788 790 790 791 791 791 792 792 792 792 792 794 796 796 799 800 800 801 802 803 804 804 806 806 808 811 811 812 815 816 817 817 818 823 824 824 828 829 829 830 832 834 834 837 837 839 839 840 840 840 840 841 842 842 842 843 844 846 846 847 847 847 847 850 851 852 853 853 855 855 856 856 857 858 858 859 859 861 862 863 865 865 865 866 866 867 868 869 871 871 874 875 879 879 885 886 886 887 888 890 891 892 892 892 893 894 896 898 899 900 902 906 909 911 914 918 921 922 923 924 925 927 927 930 931 933 934 934 936 937 938 939 939 939 941 941 944 945 946 947 947 947 948 949 949 950 950 951 951 951 952 954 955 957 957 961 961 963 963 966 967 967 972 972 973 973 974 974 975 975 981 982 989 989 990 991 991 992 994 994 994 995 995 997 997 998 998 998 1000 1000
Before Merge Sort
277 852 536 716 99 944 981 517 600 847 142 633 477 675 3 547 396 601 220 380 921 847 774 158 998 951 627 664 963 279 192 29 530 321 407 593 745 526 445 58 32 842 22 14 626 20 732 775 192 373 287 784 361 586 934 722 318 431 867 783 449 818 525 994 14 858 495 273 202 514 670 209 400 405 368 300 434 95 975 961 997 30 28 729 341 124 705 633 255 778 279 737 198 338 670 696 84 33 771 249 570 975 451 670 892 61 590 911 227 185 783 471 750 713 592 308 11 50 170 593 758 483 697 257 516 947 702 778 850 572 295 628 918 898 473 437 695 500 989 250 513 6 289 75 144 488 613 36 302 551 973 492 855 414 15 324 657 641 722 70 402 733 887 846 505 391 403 633 967 1000 618 57 142 801 824 339 527 737 16 638 714 704 640 319 374 215 763 229 633 63 806 974 865 498 399 396 64 689 950 416 758 323 760 241 56 879 160 57 127 951 734 349 436 1 892 750 718 474 555 625 270 673 173 591 346 262 635 521 790 893 14 589 857 419 474 829 642 804 119 874 443 718 465 637 126 757 320 549 749 580 762 194 350 725 691 405 242 221 278 226 95 863 334 11 347 731 478 994 865 787 366 842 128 490 991 75 631 297 517 840 605 232 995 183 700 757 189 460 206 379 766 658 71 194 330 775 266 767 366 307 784 273 108 973 698 648 58 274 704 777 394 299 931 177 420 25 652 254 511 48 519 837 927 397 250 947 344 694 792 228 952 604 939 537 499 271 549 698 768 751 671 728 600 570 506 829 87 359 291 411 268 589 508 590 43 472 597 806 233 218 834 684 407 730 438 665 359 108 325 478 939 429 447 539 366 840 168 343 586 722 356 9 96 967 800 241 95 687 91 102 139 656 684 989 110 113 725 539 613 840 309 671 33 16 788 118 270 755 839 468 304 176 163 212 257 409 934 300 295 564 377 104 378 60 937 362 123 643 405 435 24 598 578 441 941 205 906 28 196 21 204 318 933 188 308 7 88 345 939 442 871 957 169 224 73 242 23 671 489 150 281 702 957 196 936 792 274 615 70 866 157 116 843 331 125 563 388 687 108 57 307 768 851 326 81 601 109 686 48 336 868 174 326 96 376 796 259 520 454 451 755 756 477 330 599 213 923 808 966 208 902 7 529 264 151 34 93 792 113 475 145 369 520 982 694 725 444 179 158 6 364 548 894 141 847 972 765 946 925 376 503 941 485 597 739 432 424 261 791 185 930 823 358 615 97 298 671 368 733 702 871 892 624 951 617 290 799 390 554 837 990 102 473 715 386 328 203 834 744 172 613 391 363 317 98 140 490 862 773 629 552 791 112 368 21 599 154 743 938 20 679 51 202 222 858 782 396 380 686 388 300 274 666 327 297 896 314 998 545 1000 74 2 177 323 286 869 153 176 812 991 756 202 291 654 621 477 413 537 909 765 200 169 553 811 922 549 663 181 578 840 417 425 292 817 739 998 700 439 855 607 524 175 504 556 193 955 875 550 719 113 865 559 676 253 169 164 866 332 914 305 718 734 502 63 790 815 947 948 856 218 507 599 717 474 131 54 172 431 416 950 658 17 541 54 791 781 377 817 213 25 398 558 242 765 716 101 804 783 292 584 740 179 945 764 859 278 440 371 89 53 96 56 972 647 388 750 190 51 318 92 511 127 294 841 433 255 640 648 667 334 683 792 365 340 949 563 274 524 76 753 196 265 759 832 649 661 267 210 674 493 402 107 149 772 102 758 464 130 308 35 118 992 379 839 495 643 523 231 927 235 450 154 216 303 617 891 219 63 542 888 802 310 803 842 961 393 635 201 11 416 221 19 617 712 1 800 669 243 623 181 885 621 423 900 530 811 531 924 472 794 400 202 624 762 579 20 305 749 561 301 182 71 111 682 281 419 784 816 828 112 213 792 344 623 110 209 303 506 127 544 899 194 502 662 650 69 416 165 249 418 859 576 525 650 758 183 520 85 853 116 713 710 713 325 444 733 796 294 657 782 714 26 209 219 203 886 954 483 701 170 707 765 830 197 771 949 974 844 124 306 963 206 29 369 591 351 182 242 436 383 612 725 200 630 444 472 587 783 748 856 269 574 997 513 605 47 717 493 340 853 521 125 335 243 399 398 995 994 761 370 691 496 662 354 341 305 890 694 244 685 102 25 86 230 498 411 861 260 655 692 50 846 185 466 421 879 545 192 361 411 265 691 421 613 49 681 54 190 455 824 847 412 226 169 347 453 327 231 145 886

Time spend in ms: 1
After Merge Sort
1 1 2 3 6 6 7 7 9 11 11 11 14 14 14 15 16 16 17 19 20 20 20 21 21 22 23 24 25 25 25 26 28 28 29 29 30 32 33 33 34 35 36 43 47 48 48 49 50 50 51 51 53 54 54 54 56 56 57 57 57 58 58 60 61 63 63 63 64 69 70 70 71 71 73 74 75 75 76 81 84 85 86 87 88 89 91 92 93 95 95 95 96 96 96 97 98 99 101 102 102 102 102 104 107 108 108 108 109 110 110 111 112 112 113 113 113 116 116 118 118 119 123 124 124 125 125 126 127 127 127 128 130 131 139 140 141 142 142 144 145 145 149 150 151 153 154 154 157 158 158 160 163 164 165 168 169 169 169 169 170 170 172 172 173 174 175 176 176 177 177 179 179 181 181 182 182 183 183 185 185 185 188 189 190 190 192 192 192 193 194 194 194 196 196 196 197 198 200 200 201 202 202 202 202 203 203 204 205 206 206 208 209 209 209 210 212 213 213 213 215 216 218 218 219 219 220 221 221 222 224 226 226 227 228 229 230 231 231 232 233 235 241 241 242 242 242 242 243 243 244 249 249 250 250 253 254 255 255 257 257 259 260 261 262 264 265 265 266 267 268 269 270 270 271 273 273 274 274 274 274 277 278 278 279 279 281 281 286 287 289 290 291 291 292 292 294 294 295 295 297 297 298 299 300 300 300 301 302 303 303 304 305 305 305 306 307 307 308 308 308 309 310 314 317 318 318 318 319 320 321 323 323 324 325 325 326 326 327 327 328 330 330 331 332 334 334 335 336 338 339 340 340 341 341 343 344 344 345 346 347 347 349 350 351 354 356 358 359 359 361 361 362 363 364 365 366 366 366 368 368 368 369 369 370 371 373 374 376 376 377 377 378 379 379 380 380 383 386 388 388 388 390 391 391 393 394 396 396 396 397 398 398 399 399 400 400 402 402 403 405 405 405 407 407 409 411 411 411 412 413 414 416 416 416 416 417 418 419 419 420 421 421 423 424 425 429 431 431 432 433 434 435 436 436 437 438 439 440 441 442 443 444 444 444 445 447 449 450 451 451 453 454 455 460 464 465 466 468 471 472 472 472 473 473 474 474 474 475 477 477 477 478 478 483 483 485 488 489 490 490 492 493 493 495 495 496 498 498 499 500 502 502 503 504 505 506 506 507 508 511 511 513 513 514 516 517 517 519 520 520 520 521 521 523 524 524 525 525 526 527 529 530 530 531 536 537 537 539 539 541 542 544 545 545 547 548 549 549 549 550 551 552 553 554 555 556 558 559 561 563 563 564 570 570 572 574 576 578 578 579 580 584 586 586 587 589 589 590 590 591 591 592 593 593 597 597 598 599 599 599 600 600 601 601 604 605 605 607 612 613 613 613 613 615 615 617 617 617 618 621 621 623 623 624 624 625 626 627 628 629 630 631 633 633 633 633 635 635 637 638 640 640 641 642 643 643 647 648 648 649 650 650 652 654 655 656 657 657 658 658 661 662 662 663 664 665 666 667 669 670 670 670 671 671 671 671 673 674 675 676 679 681 682 683 684 684 685 686 686 687 687 689 691 691 691 692 694 694 694 695 696 697 698 698 700 700 701 702 702 702 704 704 705 707 710 712 713 713 713 714 714 715 716 716 717 717 718 718 718 719 722 722 722 725 725 725 725 728 729 730 731 732 733 733 733 734 734 737 737 739 739 740 743 744 745 748 749 749 750 750 750 751 753 755 755 756 756 757 757 758 758 758 758 759 760 761 762 762 763 764 765 765 765 765 766 767 768 768 771 771 772 773 774 775 775 777 778 778 781 782 782 783 783 783 783 784 784 784 787 788 790 790 791 791 791 792 792 792 792 792 794 796 796 799 800 800 801 802 803 804 804 806 806 808 811 811 812 815 816 817 817 818 823 824 824 828 829 829 830 832 834 834 837 837 839 839 840 840 840 840 841 842 842 842 843 844 846 846 847 847 847 847 850 851 852 853 853 855 855 856 856 857 858 858 859 859 861 862 863 865 865 865 866 866 867 868 869 871 871 874 875 879 879 885 886 886 887 888 890 891 892 892 892 893 894 896 898 899 900 902 906 909 911 914 918 921 922 923 924 925 927 927 930 931 933 934 934 936 937 938 939 939 939 941 941 944 945 946 947 947 947 948 949 949 950 950 951 951 951 952 954 955 957 957 961 961 963 963 966 967 967 972 972 973 973 974 974 975 975 981 982 989 989 990 991 991 992 994 994 994 995 995 997 997 998 998 998 1000 1000
Before Quick Sort
277 852 536 716 99 944 981 517 600 847 142 633 477 675 3 547 396 601 220 380 921 847 774 158 998 951 627 664 963 279 192 29 530 321 407 593 745 526 445 58 32 842 22 14 626 20 732 775 192 373 287 784 361 586 934 722 318 431 867 783 449 818 525 994 14 858 495 273 202 514 670 209 400 405 368 300 434 95 975 961 997 30 28 729 341 124 705 633 255 778 279 737 198 338 670 696 84 33 771 249 570 975 451 670 892 61 590 911 227 185 783 471 750 713 592 308 11 50 170 593 758 483 697 257 516 947 702 778 850 572 295 628 918 898 473 437 695 500 989 250 513 6 289 75 144 488 613 36 302 551 973 492 855 414 15 324 657 641 722 70 402 733 887 846 505 391 403 633 967 1000 618 57 142 801 824 339 527 737 16 638 714 704 640 319 374 215 763 229 633 63 806 974 865 498 399 396 64 689 950 416 758 323 760 241 56 879 160 57 127 951 734 349 436 1 892 750 718 474 555 625 270 673 173 591 346 262 635 521 790 893 14 589 857 419 474 829 642 804 119 874 443 718 465 637 126 757 320 549 749 580 762 194 350 725 691 405 242 221 278 226 95 863 334 11 347 731 478 994 865 787 366 842 128 490 991 75 631 297 517 840 605 232 995 183 700 757 189 460 206 379 766 658 71 194 330 775 266 767 366 307 784 273 108 973 698 648 58 274 704 777 394 299 931 177 420 25 652 254 511 48 519 837 927 397 250 947 344 694 792 228 952 604 939 537 499 271 549 698 768 751 671 728 600 570 506 829 87 359 291 411 268 589 508 590 43 472 597 806 233 218 834 684 407 730 438 665 359 108 325 478 939 429 447 539 366 840 168 343 586 722 356 9 96 967 800 241 95 687 91 102 139 656 684 989 110 113 725 539 613 840 309 671 33 16 788 118 270 755 839 468 304 176 163 212 257 409 934 300 295 564 377 104 378 60 937 362 123 643 405 435 24 598 578 441 941 205 906 28 196 21 204 318 933 188 308 7 88 345 939 442 871 957 169 224 73 242 23 671 489 150 281 702 957 196 936 792 274 615 70 866 157 116 843 331 125 563 388 687 108 57 307 768 851 326 81 601 109 686 48 336 868 174 326 96 376 796 259 520 454 451 755 756 477 330 599 213 923 808 966 208 902 7 529 264 151 34 93 792 113 475 145 369 520 982 694 725 444 179 158 6 364 548 894 141 847 972 765 946 925 376 503 941 485 597 739 432 424 261 791 185 930 823 358 615 97 298 671 368 733 702 871 892 624 951 617 290 799 390 554 837 990 102 473 715 386 328 203 834 744 172 613 391 363 317 98 140 490 862 773 629 552 791 112 368 21 599 154 743 938 20 679 51 202 222 858 782 396 380 686 388 300 274 666 327 297 896 314 998 545 1000 74 2 177 323 286 869 153 176 812 991 756 202 291 654 621 477 413 537 909 765 200 169 553 811 922 549 663 181 578 840 417 425 292 817 739 998 700 439 855 607 524 175 504 556 193 955 875 550 719 113 865 559 676 253 169 164 866 332 914 305 718 734 502 63 790 815 947 948 856 218 507 599 717 474 131 54 172 431 416 950 658 17 541 54 791 781 377 817 213 25 398 558 242 765 716 101 804 783 292 584 740 179 945 764 859 278 440 371 89 53 96 56 972 647 388 750 190 51 318 92 511 127 294 841 433 255 640 648 667 334 683 792 365 340 949 563 274 524 76 753 196 265 759 832 649 661 267 210 674 493 402 107 149 772 102 758 464 130 308 35 118 992 379 839 495 643 523 231 927 235 450 154 216 303 617 891 219 63 542 888 802 310 803 842 961 393 635 201 11 416 221 19 617 712 1 800 669 243 623 181 885 621 423 900 530 811 531 924 472 794 400 202 624 762 579 20 305 749 561 301 182 71 111 682 281 419 784 816 828 112 213 792 344 623 110 209 303 506 127 544 899 194 502 662 650 69 416 165 249 418 859 576 525 650 758 183 520 85 853 116 713 710 713 325 444 733 796 294 657 782 714 26 209 219 203 886 954 483 701 170 707 765 830 197 771 949 974 844 124 306 963 206 29 369 591 351 182 242 436 383 612 725 200 630 444 472 587 783 748 856 269 574 997 513 605 47 717 493 340 853 521 125 335 243 399 398 995 994 761 370 691 496 662 354 341 305 890 694 244 685 102 25 86 230 498 411 861 260 655 692 50 846 185 466 421 879 545 192 361 411 265 691 421 613 49 681 54 190 455 824 847 412 226 169 347 453 327 231 145 886

Time spend in ms: 0
After Quick Sort
1 1 2 3 6 6 7 7 9 11 11 11 14 14 14 15 16 16 17 19 20 20 20 21 21 22 23 24 25 25 25 26 28 28 29 29 30 32 33 33 34 35 36 43 47 48 48 49 50 50 51 51 53 54 54 54 56 56 57 57 57 58 58 60 61 63 63 63 64 69 70 70 71 71 73 74 75 75 76 81 84 85 86 87 88 89 91 92 93 95 95 95 96 96 96 97 98 99 101 102 102 102 102 104 107 108 108 108 109 110 110 111 112 112 113 113 113 116 116 118 118 119 123 124 124 125 125 126 127 127 127 128 130 131 139 140 141 142 142 144 145 145 149 150 151 153 154 154 157 158 158 160 163 164 165 168 169 169 169 169 170 170 172 172 173 174 175 176 176 177 177 179 179 181 181 182 182 183 183 185 185 185 188 189 190 190 192 192 192 193 194 194 194 196 196 196 197 198 200 200 201 202 202 202 202 203 203 204 205 206 206 208 209 209 209 210 212 213 213 213 215 216 218 218 219 219 220 221 221 222 224 226 226 227 228 229 230 231 231 232 233 235 241 241 242 242 242 242 243 243 244 249 249 250 250 253 254 255 255 257 257 259 260 261 262 264 265 265 266 267 268 269 270 270 271 273 273 274 274 274 274 277 278 278 279 279 281 281 286 287 289 290 291 291 292 292 294 294 295 295 297 297 298 299 300 300 300 301 302 303 303 304 305 305 305 306 307 307 308 308 308 309 310 314 317 318 318 318 319 320 321 323 323 324 325 325 326 326 327 327 328 330 330 331 332 334 334 335 336 338 339 340 340 341 341 343 344 344 345 346 347 347 349 350 351 354 356 358 359 359 361 361 362 363 364 365 366 366 366 368 368 368 369 369 370 371 373 374 376 376 377 377 378 379 379 380 380 383 386 388 388 388 390 391 391 393 394 396 396 396 397 398 398 399 399 400 400 402 402 403 405 405 405 407 407 409 411 411 411 412 413 414 416 416 416 416 417 418 419 419 420 421 421 423 424 425 429 431 431 432 433 434 435 436 436 437 438 439 440 441 442 443 444 444 444 445 447 449 450 451 451 453 454 455 460 464 465 466 468 471 472 472 472 473 473 474 474 474 475 477 477 477 478 478 483 483 485 488 489 490 490 492 493 493 495 495 496 498 498 499 500 502 502 503 504 505 506 506 507 508 511 511 513 513 514 516 517 517 519 520 520 520 521 521 523 524 524 525 525 526 527 529 530 530 531 536 537 537 539 539 541 542 544 545 545 547 548 549 549 549 550 551 552 553 554 555 556 558 559 561 563 563 564 570 570 572 574 576 578 578 579 580 584 586 586 587 589 589 590 590 591 591 592 593 593 597 597 598 599 599 599 600 600 601 601 604 605 605 607 612 613 613 613 613 615 615 617 617 617 618 621 621 623 623 624 624 625 626 627 628 629 630 631 633 633 633 633 635 635 637 638 640 640 641 642 643 643 647 648 648 649 650 650 652 654 655 656 657 657 658 658 661 662 662 663 664 665 666 667 669 670 670 670 671 671 671 671 673 674 675 676 679 681 682 683 684 684 685 686 686 687 687 689 691 691 691 692 694 694 694 695 696 697 698 698 700 700 701 702 702 702 704 704 705 707 710 712 713 713 713 714 714 715 716 716 717 717 718 718 718 719 722 722 722 725 725 725 725 728 729 730 731 732 733 733 733 734 734 737 737 739 739 740 743 744 745 748 749 749 750 750 750 751 753 755 755 756 756 757 757 758 758 758 758 759 760 761 762 762 763 764 765 765 765 765 766 767 768 768 771 771 772 773 774 775 775 777 778 778 781 782 782 783 783 783 783 784 784 784 787 788 790 790 791 791 791 792 792 792 792 792 794 796 796 799 800 800 801 802 803 804 804 806 806 808 811 811 812 815 816 817 817 818 823 824 824 828 829 829 830 832 834 834 837 837 839 839 840 840 840 840 841 842 842 842 843 844 846 846 847 847 847 847 850 851 852 853 853 855 855 856 856 857 858 858 859 859 861 862 863 865 865 865 866 866 867 868 869 871 871 874 875 879 879 885 886 886 887 888 890 891 892 892 892 893 894 896 898 899 900 902 906 909 911 914 918 921 922 923 924 925 927 927 930 931 933 934 934 936 937 938 939 939 939 941 941 944 945 946 947 947 947 948 949 949 950 950 951 951 951 952 954 955 957 957 961 961 963 963 966 967 967 972 972 973 973 974 974 975 975 981 982 989 989 990 991 991 992 994 994 994 995 995 997 997 998 998 998 1000 1000
Berore Array.sort()
[277, 852, 536, 716, 99, 944, 981, 517, 600, 847, 142, 633, 477, 675, 3, 547, 396, 601, 220, 380, 921, 847, 774, 158, 998, 951, 627, 664, 963, 279, 192, 29, 530, 321, 407, 593, 745, 526, 445, 58, 32, 842, 22, 14, 626, 20, 732, 775, 192, 373, 287, 784, 361, 586, 934, 722, 318, 431, 867, 783, 449, 818, 525, 994, 14, 858, 495, 273, 202, 514, 670, 209, 400, 405, 368, 300, 434, 95, 975, 961, 997, 30, 28, 729, 341, 124, 705, 633, 255, 778, 279, 737, 198, 338, 670, 696, 84, 33, 771, 249, 570, 975, 451, 670, 892, 61, 590, 911, 227, 185, 783, 471, 750, 713, 592, 308, 11, 50, 170, 593, 758, 483, 697, 257, 516, 947, 702, 778, 850, 572, 295, 628, 918, 898, 473, 437, 695, 500, 989, 250, 513, 6, 289, 75, 144, 488, 613, 36, 302, 551, 973, 492, 855, 414, 15, 324, 657, 641, 722, 70, 402, 733, 887, 846, 505, 391, 403, 633, 967, 1000, 618, 57, 142, 801, 824, 339, 527, 737, 16, 638, 714, 704, 640, 319, 374, 215, 763, 229, 633, 63, 806, 974, 865, 498, 399, 396, 64, 689, 950, 416, 758, 323, 760, 241, 56, 879, 160, 57, 127, 951, 734, 349, 436, 1, 892, 750, 718, 474, 555, 625, 270, 673, 173, 591, 346, 262, 635, 521, 790, 893, 14, 589, 857, 419, 474, 829, 642, 804, 119, 874, 443, 718, 465, 637, 126, 757, 320, 549, 749, 580, 762, 194, 350, 725, 691, 405, 242, 221, 278, 226, 95, 863, 334, 11, 347, 731, 478, 994, 865, 787, 366, 842, 128, 490, 991, 75, 631, 297, 517, 840, 605, 232, 995, 183, 700, 757, 189, 460, 206, 379, 766, 658, 71, 194, 330, 775, 266, 767, 366, 307, 784, 273, 108, 973, 698, 648, 58, 274, 704, 777, 394, 299, 931, 177, 420, 25, 652, 254, 511, 48, 519, 837, 927, 397, 250, 947, 344, 694, 792, 228, 952, 604, 939, 537, 499, 271, 549, 698, 768, 751, 671, 728, 600, 570, 506, 829, 87, 359, 291, 411, 268, 589, 508, 590, 43, 472, 597, 806, 233, 218, 834, 684, 407, 730, 438, 665, 359, 108, 325, 478, 939, 429, 447, 539, 366, 840, 168, 343, 586, 722, 356, 9, 96, 967, 800, 241, 95, 687, 91, 102, 139, 656, 684, 989, 110, 113, 725, 539, 613, 840, 309, 671, 33, 16, 788, 118, 270, 755, 839, 468, 304, 176, 163, 212, 257, 409, 934, 300, 295, 564, 377, 104, 378, 60, 937, 362, 123, 643, 405, 435, 24, 598, 578, 441, 941, 205, 906, 28, 196, 21, 204, 318, 933, 188, 308, 7, 88, 345, 939, 442, 871, 957, 169, 224, 73, 242, 23, 671, 489, 150, 281, 702, 957, 196, 936, 792, 274, 615, 70, 866, 157, 116, 843, 331, 125, 563, 388, 687, 108, 57, 307, 768, 851, 326, 81, 601, 109, 686, 48, 336, 868, 174, 326, 96, 376, 796, 259, 520, 454, 451, 755, 756, 477, 330, 599, 213, 923, 808, 966, 208, 902, 7, 529, 264, 151, 34, 93, 792, 113, 475, 145, 369, 520, 982, 694, 725, 444, 179, 158, 6, 364, 548, 894, 141, 847, 972, 765, 946, 925, 376, 503, 941, 485, 597, 739, 432, 424, 261, 791, 185, 930, 823, 358, 615, 97, 298, 671, 368, 733, 702, 871, 892, 624, 951, 617, 290, 799, 390, 554, 837, 990, 102, 473, 715, 386, 328, 203, 834, 744, 172, 613, 391, 363, 317, 98, 140, 490, 862, 773, 629, 552, 791, 112, 368, 21, 599, 154, 743, 938, 20, 679, 51, 202, 222, 858, 782, 396, 380, 686, 388, 300, 274, 666, 327, 297, 896, 314, 998, 545, 1000, 74, 2, 177, 323, 286, 869, 153, 176, 812, 991, 756, 202, 291, 654, 621, 477, 413, 537, 909, 765, 200, 169, 553, 811, 922, 549, 663, 181, 578, 840, 417, 425, 292, 817, 739, 998, 700, 439, 855, 607, 524, 175, 504, 556, 193, 955, 875, 550, 719, 113, 865, 559, 676, 253, 169, 164, 866, 332, 914, 305, 718, 734, 502, 63, 790, 815, 947, 948, 856, 218, 507, 599, 717, 474, 131, 54, 172, 431, 416, 950, 658, 17, 541, 54, 791, 781, 377, 817, 213, 25, 398, 558, 242, 765, 716, 101, 804, 783, 292, 584, 740, 179, 945, 764, 859, 278, 440, 371, 89, 53, 96, 56, 972, 647, 388, 750, 190, 51, 318, 92, 511, 127, 294, 841, 433, 255, 640, 648, 667, 334, 683, 792, 365, 340, 949, 563, 274, 524, 76, 753, 196, 265, 759, 832, 649, 661, 267, 210, 674, 493, 402, 107, 149, 772, 102, 758, 464, 130, 308, 35, 118, 992, 379, 839, 495, 643, 523, 231, 927, 235, 450, 154, 216, 303, 617, 891, 219, 63, 542, 888, 802, 310, 803, 842, 961, 393, 635, 201, 11, 416, 221, 19, 617, 712, 1, 800, 669, 243, 623, 181, 885, 621, 423, 900, 530, 811, 531, 924, 472, 794, 400, 202, 624, 762, 579, 20, 305, 749, 561, 301, 182, 71, 111, 682, 281, 419, 784, 816, 828, 112, 213, 792, 344, 623, 110, 209, 303, 506, 127, 544, 899, 194, 502, 662, 650, 69, 416, 165, 249, 418, 859, 576, 525, 650, 758, 183, 520, 85, 853, 116, 713, 710, 713, 325, 444, 733, 796, 294, 657, 782, 714, 26, 209, 219, 203, 886, 954, 483, 701, 170, 707, 765, 830, 197, 771, 949, 974, 844, 124, 306, 963, 206, 29, 369, 591, 351, 182, 242, 436, 383, 612, 725, 200, 630, 444, 472, 587, 783, 748, 856, 269, 574, 997, 513, 605, 47, 717, 493, 340, 853, 521, 125, 335, 243, 399, 398, 995, 994, 761, 370, 691, 496, 662, 354, 341, 305, 890, 694, 244, 685, 102, 25, 86, 230, 498, 411, 861, 260, 655, 692, 50, 846, 185, 466, 421, 879, 545, 192, 361, 411, 265, 691, 421, 613, 49, 681, 54, 190, 455, 824, 847, 412, 226, 169, 347, 453, 327, 231, 145, 886]

Time spend in ms: 0

After Array.sort()
[1, 1, 2, 3, 6, 6, 7, 7, 9, 11, 11, 11, 14, 14, 14, 15, 16, 16, 17, 19, 20, 20, 20, 21, 21, 22, 23, 24, 25, 25, 25, 26, 28, 28, 29, 29, 30, 32, 33, 33, 34, 35, 36, 43, 47, 48, 48, 49, 50, 50, 51, 51, 53, 54, 54, 54, 56, 56, 57, 57, 57, 58, 58, 60, 61, 63, 63, 63, 64, 69, 70, 70, 71, 71, 73, 74, 75, 75, 76, 81, 84, 85, 86, 87, 88, 89, 91, 92, 93, 95, 95, 95, 96, 96, 96, 97, 98, 99, 101, 102, 102, 102, 102, 104, 107, 108, 108, 108, 109, 110, 110, 111, 112, 112, 113, 113, 113, 116, 116, 118, 118, 119, 123, 124, 124, 125, 125, 126, 127, 127, 127, 128, 130, 131, 139, 140, 141, 142, 142, 144, 145, 145, 149, 150, 151, 153, 154, 154, 157, 158, 158, 160, 163, 164, 165, 168, 169, 169, 169, 169, 170, 170, 172, 172, 173, 174, 175, 176, 176, 177, 177, 179, 179, 181, 181, 182, 182, 183, 183, 185, 185, 185, 188, 189, 190, 190, 192, 192, 192, 193, 194, 194, 194, 196, 196, 196, 197, 198, 200, 200, 201, 202, 202, 202, 202, 203, 203, 204, 205, 206, 206, 208, 209, 209, 209, 210, 212, 213, 213, 213, 215, 216, 218, 218, 219, 219, 220, 221, 221, 222, 224, 226, 226, 227, 228, 229, 230, 231, 231, 232, 233, 235, 241, 241, 242, 242, 242, 242, 243, 243, 244, 249, 249, 250, 250, 253, 254, 255, 255, 257, 257, 259, 260, 261, 262, 264, 265, 265, 266, 267, 268, 269, 270, 270, 271, 273, 273, 274, 274, 274, 274, 277, 278, 278, 279, 279, 281, 281, 286, 287, 289, 290, 291, 291, 292, 292, 294, 294, 295, 295, 297, 297, 298, 299, 300, 300, 300, 301, 302, 303, 303, 304, 305, 305, 305, 306, 307, 307, 308, 308, 308, 309, 310, 314, 317, 318, 318, 318, 319, 320, 321, 323, 323, 324, 325, 325, 326, 326, 327, 327, 328, 330, 330, 331, 332, 334, 334, 335, 336, 338, 339, 340, 340, 341, 341, 343, 344, 344, 345, 346, 347, 347, 349, 350, 351, 354, 356, 358, 359, 359, 361, 361, 362, 363, 364, 365, 366, 366, 366, 368, 368, 368, 369, 369, 370, 371, 373, 374, 376, 376, 377, 377, 378, 379, 379, 380, 380, 383, 386, 388, 388, 388, 390, 391, 391, 393, 394, 396, 396, 396, 397, 398, 398, 399, 399, 400, 400, 402, 402, 403, 405, 405, 405, 407, 407, 409, 411, 411, 411, 412, 413, 414, 416, 416, 416, 416, 417, 418, 419, 419, 420, 421, 421, 423, 424, 425, 429, 431, 431, 432, 433, 434, 435, 436, 436, 437, 438, 439, 440, 441, 442, 443, 444, 444, 444, 445, 447, 449, 450, 451, 451, 453, 454, 455, 460, 464, 465, 466, 468, 471, 472, 472, 472, 473, 473, 474, 474, 474, 475, 477, 477, 477, 478, 478, 483, 483, 485, 488, 489, 490, 490, 492, 493, 493, 495, 495, 496, 498, 498, 499, 500, 502, 502, 503, 504, 505, 506, 506, 507, 508, 511, 511, 513, 513, 514, 516, 517, 517, 519, 520, 520, 520, 521, 521, 523, 524, 524, 525, 525, 526, 527, 529, 530, 530, 531, 536, 537, 537, 539, 539, 541, 542, 544, 545, 545, 547, 548, 549, 549, 549, 550, 551, 552, 553, 554, 555, 556, 558, 559, 561, 563, 563, 564, 570, 570, 572, 574, 576, 578, 578, 579, 580, 584, 586, 586, 587, 589, 589, 590, 590, 591, 591, 592, 593, 593, 597, 597, 598, 599, 599, 599, 600, 600, 601, 601, 604, 605, 605, 607, 612, 613, 613, 613, 613, 615, 615, 617, 617, 617, 618, 621, 621, 623, 623, 624, 624, 625, 626, 627, 628, 629, 630, 631, 633, 633, 633, 633, 635, 635, 637, 638, 640, 640, 641, 642, 643, 643, 647, 648, 648, 649, 650, 650, 652, 654, 655, 656, 657, 657, 658, 658, 661, 662, 662, 663, 664, 665, 666, 667, 669, 670, 670, 670, 671, 671, 671, 671, 673, 674, 675, 676, 679, 681, 682, 683, 684, 684, 685, 686, 686, 687, 687, 689, 691, 691, 691, 692, 694, 694, 694, 695, 696, 697, 698, 698, 700, 700, 701, 702, 702, 702, 704, 704, 705, 707, 710, 712, 713, 713, 713, 714, 714, 715, 716, 716, 717, 717, 718, 718, 718, 719, 722, 722, 722, 725, 725, 725, 725, 728, 729, 730, 731, 732, 733, 733, 733, 734, 734, 737, 737, 739, 739, 740, 743, 744, 745, 748, 749, 749, 750, 750, 750, 751, 753, 755, 755, 756, 756, 757, 757, 758, 758, 758, 758, 759, 760, 761, 762, 762, 763, 764, 765, 765, 765, 765, 766, 767, 768, 768, 771, 771, 772, 773, 774, 775, 775, 777, 778, 778, 781, 782, 782, 783, 783, 783, 783, 784, 784, 784, 787, 788, 790, 790, 791, 791, 791, 792, 792, 792, 792, 792, 794, 796, 796, 799, 800, 800, 801, 802, 803, 804, 804, 806, 806, 808, 811, 811, 812, 815, 816, 817, 817, 818, 823, 824, 824, 828, 829, 829, 830, 832, 834, 834, 837, 837, 839, 839, 840, 840, 840, 840, 841, 842, 842, 842, 843, 844, 846, 846, 847, 847, 847, 847, 850, 851, 852, 853, 853, 855, 855, 856, 856, 857, 858, 858, 859, 859, 861, 862, 863, 865, 865, 865, 866, 866, 867, 868, 869, 871, 871, 874, 875, 879, 879, 885, 886, 886, 887, 888, 890, 891, 892, 892, 892, 893, 894, 896, 898, 899, 900, 902, 906, 909, 911, 914, 918, 921, 922, 923, 924, 925, 927, 927, 930, 931, 933, 934, 934, 936, 937, 938, 939, 939, 939, 941, 941, 944, 945, 946, 947, 947, 947, 948, 949, 949, 950, 950, 951, 951, 951, 952, 954, 955, 957, 957, 961, 961, 963, 963, 966, 967, 967, 972, 972, 973, 973, 974, 974, 975, 975, 981, 982, 989, 989, 990, 991, 991, 992, 994, 994, 994, 995, 995, 997, 997, 998, 998, 998, 1000, 1000]

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote