algorithm bead sort big o notation binary tree bitonic sorter bogosort boston college bubble sort bucket sort burstsort canonicalization cocktail sort collation comb sort comparison sort computational complexity theory computer science counting sort data structure divide and conquer algorithm domain donald shell external sorting fisher-yates shuffle gnome sort heapsort hobart and william smith colleges in-place algorithm insertion sort integer introsort lexicographical order library sort longest increasing subsequence mathematics merge algorithm merge sort odd-even sort pancake sorting patience sorting permutation pigeonhole sort quickbasic quicksort radix sort randomized algorithm relational database schwartzian transform search algorithm selection sort self-balancing binary search tree shell sort silicon graphics sorting sorting network spreadsort standard template library stooge sort strand sort strict weak ordering the art of computer programming topological sorting total order tree sort virtual memory wikibooks