class
ViewL
[S[_], A]
extends AnyRef
Instance Constructors
-
new
ViewL
()
Abstract Value Members
-
def
fold
[B]
(b: ⇒ B, f: (⇒ A, ⇒ S[A]) ⇒ B): B
Concrete Value Members
-
def
!=
(arg0: AnyRef): Boolean
-
def
!=
(arg0: Any): Boolean
-
def
##
(): Int
-
def
==
(arg0: AnyRef): Boolean
-
def
==
(arg0: Any): Boolean
-
def
asInstanceOf
[T0]
: T0
-
def
clone
(): AnyRef
-
def
eq
(arg0: AnyRef): Boolean
-
def
equals
(arg0: Any): Boolean
-
def
finalize
(): Unit
-
def
getClass
(): java.lang.Class[_]
-
def
hashCode
(): Int
-
def
head
: A
-
def
headOption
: Option[A]
-
def
isInstanceOf
[T0]
: Boolean
-
def
ne
(arg0: AnyRef): Boolean
-
def
notify
(): Unit
-
def
notifyAll
(): Unit
-
def
synchronized
[T0]
(arg0: ⇒ T0): T0
-
def
tail
: S[A]
-
def
tailOption
: Option[S[A]]
-
def
toString
(): String
-
def
wait
(): Unit
-
def
wait
(arg0: Long, arg1: Int): Unit
-
def
wait
(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
Finger Trees provide a base for implementations of various collection types, as described in "Finger trees: a simple general-purpose data structure", by Ralf Hinze and Ross Paterson.
Finger Trees have excellent (amortized) asymptotics:
Access to the first and last elements is O(1). Appending/prepending a single value is O(1). Concatenating two trees is (O lg min(l1, l2)) where l1 and l2 are their sizes. Random access to an element at n is O(lg min(n, l - n)), where l is the size of the tree. Constructing a tree with n copies of a value is O(lg n).