class SortingD extends AnyRef
The SortingD
class provides direct and indirect methods to:
find 'k'-th median ('k'-th smallest element) using QuickSelect
sort large arrays using QuickSort
sort small arrays using SelectionSort
Direct methods are faster, but modify the array, while indirect methods are
slower, but do not modify the array. This class is specialized for Double
.
- See also
Sorting
for a generic version of this class.
- Alphabetic
- By Inheritance
- SortingD
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SortingD(a: Array[Double])
- a
the array to operate on
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def imedian(k: Int = (n+1)/2): Double
Indirectly find the 'k'-median ('k'-th smallest element) of array 'a'.
Indirectly find the 'k'-median ('k'-th smallest element) of array 'a'.
- k
the type of median (e.g., k = (n+1)/2 is the median)
- def imedian(rk: Array[Int], p: Int, r: Int, k: Int): Double
Indirectly find the 'k'-median of the 'p' to 'r' partition of array 'a' using the
QuickSelect
algorithm.Indirectly find the 'k'-median of the 'p' to 'r' partition of array 'a' using the
QuickSelect
algorithm.- rk
the rank order
- p
the left cursor
- r
the right cursor
- k
the type of median (k-th smallest element)
- See also
http://en.wikipedia.org/wiki/Quickselect
- def ipartition(rk: Array[Int], p: Int, r: Int): Int
Indirectly partition the array from 'p' to 'r' into a left partition (<= 'x') and a right partition (>= 'x').
Indirectly partition the array from 'p' to 'r' into a left partition (<= 'x') and a right partition (>= 'x').
- rk
the rank order
- p
the left cursor
- r
the right cursor
- def iqsort(): Array[Int]
Indirectly sort array 'a' using
QuickSort
, returning the rank order. - def iqsort(rk: Array[Int], p: Int, r: Int): Unit
Recursively and indirectly sort the 'p' to 'r' partition of array 'a' using
QuickSort
.Recursively and indirectly sort the 'p' to 'r' partition of array 'a' using
QuickSort
.- rk
the rank order
- p
the left cursor
- r
the right cursor
- def iqsort2(): Array[Int]
Indirectly sort array 'a' using
QuickSort
.Indirectly sort array 'a' using
QuickSort
. Sort in decreasing order. - final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isSorted: Boolean
Determine whether the array 'a' is sorted in ascending order.
- def isSorted2: Boolean
Determine whether the array 'a' is sorted in descending order.
- def iselsort(): Array[Int]
Indirectly sort array 'a' using
SelectionSort
, returning the rank order. - def iselsort(rk: Array[Int], p: Int, r: Int): Unit
Indirectly sort the 'p' to 'r' partition of array 'a' using
SelectionSort
.Indirectly sort the 'p' to 'r' partition of array 'a' using
SelectionSort
.- rk
the rank order
- p
the left cursor
- r
the right cursor
- def iselsort2(): Array[Int]
Indirectly sort array 'a' using
SelectionSort
, returning the rank order.Indirectly sort array 'a' using
SelectionSort
, returning the rank order. Sort in decreasing order. - def iselsort2(rk: Array[Int], p: Int, r: Int): Unit
Indirectly sort the 'p' to 'r' partition of array 'a' using
SelectionSort
.Indirectly sort the 'p' to 'r' partition of array 'a' using
SelectionSort
. Sort in decreasing order.- rk
the rank order
- p
the left cursor
- r
the right cursor
- def isiSorted(rk: Array[Int]): Boolean
Determine whether the array 'a' is indirectly sorted in ascending order.
Determine whether the array 'a' is indirectly sorted in ascending order.
- rk
the rank order
- def isiSorted2(rk: Array[Int]): Boolean
Determine whether the array 'a' is indirectly sorted in ascending order.
Determine whether the array 'a' is indirectly sorted in ascending order.
- rk
the rank order
- def median(k: Int = (n+1)/2): Double
Find the 'k'-median ('k'-th smallest element) of array 'a'.
Find the 'k'-median ('k'-th smallest element) of array 'a'.
- k
the type of median (e.g., k = (n+1)/2 is the median)
- def median(p: Int, r: Int, k: Int): Double
Find the 'k'-median of the 'p' to 'r' partition of array 'a' using the
QuickSelect
algorithm.Find the 'k'-median of the 'p' to 'r' partition of array 'a' using the
QuickSelect
algorithm.- p
the left cursor
- r
the right cursor
- k
the type of median (k-th smallest element)
- See also
http://en.wikipedia.org/wiki/Quickselect
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def partition(p: Int, r: Int): Int
Partition the array from 'p' to 'q' into a left partition (<= 'x') and a right partition (>= 'x').
Partition the array from 'p' to 'q' into a left partition (<= 'x') and a right partition (>= 'x').
- p
the left cursor
- def partition2(p: Int, r: Int): Int
Partition the array from 'p' to 'q' into a left partition (<= 'x') and a right partition (>= 'x').
Partition the array from 'p' to 'q' into a left partition (<= 'x') and a right partition (>= 'x'). For sorting in decreasing order.
- p
the left cursor
- def qsort(): Unit
Sort array 'a' using
QuickSort
. - def qsort(p: Int, r: Int): Unit
Recursively sort the 'p' to 'r' partition of array 'a' using
QuickSort
.Recursively sort the 'p' to 'r' partition of array 'a' using
QuickSort
.- p
the left cursor
- r
the right cursor
- See also
mitpress.mit.edu/books/introduction-algorithms
- def qsort2(): Unit
Sort array 'a' using
QuickSort
.Sort array 'a' using
QuickSort
. Sort in decreasing order. - def qsort2(p: Int, r: Int): Unit
Recursively sort the 'p' to 'r' partition of array 'a' using
QuickSort
.Recursively sort the 'p' to 'r' partition of array 'a' using
QuickSort
. Sort in decreasing order.- p
the left cursor
- r
the right cursor
- See also
http://mitpress.mit.edu/books/introduction-algorithms
- def selsort(p: Int = 0, r: Int = n-1): Unit
Sort the 'p' to 'r' partition of array 'a' using
SelectionSort
.Sort the 'p' to 'r' partition of array 'a' using
SelectionSort
.- p
the left cursor
- r
the right cursor
- def selsort2(p: Int = 0, r: Int = n-1): Unit
Sort the 'p' to 'r' partition of array 'a' using
SelectionSort
.Sort the 'p' to 'r' partition of array 'a' using
SelectionSort
. Sort in decreasing order.- p
the left cursor
- r
the right cursor
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated