Class Binary-Search-Tree

Part of:

package metabang.cl-containers, package metabang.utilities, class red-black-tree, class initial-contents-mixin, class rooted-tree-container, class iteratable-container-mixin, class container-uses-nodes-mixin

Default initargs

:key → 'IDENTITY:test → 'EQ
:sorter → '<

Direct Superclass

container-uses-nodes-mixin
initial-contents-mixin
iteratable-container-mixin
rooted-tree-containerBase class of all trees with roots.

Direct Subclass

red-black-tree

Slot

keyInitform:'identity, Initargs:key; Reader:key.
rootInitargs:root; Accessors:root.
testInitform:#'equal, Initargs:test.

Direct Method

delete-item
delete-item-if
delete-node
empty!Removes all items from the container and returns nil.
empty-pReturns t if there are no items in the container.
find-itemFind item in container using the container's test method for comparisons. The test method must ta...
find-nodeFind node containing thing in container using the container's test method for comparisons. The te...
first-element
inorder-walk
insert-itemAdds item to the container
item-atReturns the item specified by the indexes.
iterate-nodesApplies function to each node in the container. If the container doesn't have nodes, then this is...
last-element
make-node-for-container
postorder-walk
predecessor
preorder-walk
setffirst-element
setflast-element
sizeReturns the number of items currently in the container.
successor

Other Method

best-itemReturns the item in items with the 'best' value of function where 'best' is determined by test. Y...
collect-elementsReturns a possibly filtered and possibly transformed list of the elements in a container. If the ...
collect-elements-stably
collect-nodesReturns a possibly filtered and possibly transformed list of the nodes in a container. If the con...
count-elements
count-elements-if
delete-element
delete-listDeletes each item in the list from the container.
element-positionReturns the position of element in container using test and key to match. Key defaults to identit...
find-elementFor now, compare find-item.
insert-listAdds each item in the list to the container in an upspecified order.
insert-new-itemAdds item to the container unless it is already there
insert-sequenceAdds each item in the sequence to the container in an upspecified order.
iteratable-pReturns true if thing knows how to iterate-nodes.
iterate-elements
nth-elementReturns the nth element in the container's 'natural' order.
print-containerPrints the contents of container (using PRINT). Returns the container.
reduce-container
reduce-elements
reduce-nodes
remove-items-ifRemoves items from a container that satisfy the test. The container is returned.
reverse-containerDestructively alters the elements/nodes of an ordered container so that they are reversed.
search-for-element
search-for-itemHunt for the item in the container. Key and Test are as in member.
search-for-matchHunt for an item in the container that satisfies the predicate. Key is as in count-if.
search-for-matching-node
search-for-node
search-for-node*
unique-elements
unique-nodes