Niet blij met je aankoop? Geeft niet! Je kunt artikelen tot 30 dagen retourneren
Met een cadeaubon zit je altijd goed. De ontvanger kan de cadeaubon voor alles uit ons assortiment inwisselen.
Tot 30 dagen retourrecht
Sorting is among the first problems a student of computing encounters and among the richest. Within it lie most of the central ideas of the analysis of algorithms: loop invariants, recurrences, expected-case analysis, adaptivity, lower bounds, and the dependence of complexity on the model of computation. Sorting by Inquiry uses this single problem as a lens through which those ideas can be studied with clarity and rigour.
Written in the tradition of inquiry-based learning, the book states its results and asks the reader to prove them. Each of its first twelve chapters is organized around a single algorithm, from selection sort and insertion sort through merge sort, heapsort, quicksort, radix sort, Shellsort, bitonic sort, and Timsort. Each chapter asks three questions: Does the algorithm work, and how can we be certain? How much work does it do, counted exactly and described asymptotically? And what idea does it carry that its predecessors did not? Readers trace every algorithm by hand before proving anything about it, so that invariants and conjectures emerge from their own computations. A central chapter proves that no comparison-based sort can make fewer than about n lg n comparisons. A substantial closing survey of more than fifty further algorithms, from comb sort and smoothsort to introsort, powersort, external and parallel sorts, and the deliberately pessimal, places each within the framework the book develops.
Features include:
Suitable for an intermediate undergraduate course on the analysis of algorithms, for an inquiry-based seminar, or for independent study. The reader is assumed to be familiar with mathematical induction, finite sums, logarithms, and asymptotic notation.
Part of the By Inquiry series of inquiry-based mathematics texts.
Hoi! Ik ben Libroamiko, je boekadviseur.
Hoe kan ik je helpen?