Week 4

Created by Miroslav Biňas / mirek

## Searching and Sorting
## [stdlib.h](http://www.cplusplus.com/reference/cstdlib/)
### Linear vs Binary Search | | Linear | Binary | |:------------------|:--------------|:----------------------| | complexity | $$O(n)$$ | $$O(log_2(n))$$ | | best case | $$O(1)$$ | $$O(1)$$ | | worst case | $$O(n)$$ | $$O(log_2(n))$$ | | prerequisites | none | sorted list | | access | iterative | divide and conquer |
### Linear vs Binary Search | $$n$$ | 10 | 100 | 1000 | 10000 | 100000 | |:-----------------:|:---:|:---:|:----:|:-----:|:------:| | $$O(n)$$ | 10 | 100 | 1000 | 10000 | 100000 | | $$O(log_2(n))$$ | 3.3 | 6.6 | 10 | 13.3 | 16.6 |

qsort() Declaration

void qsort(
    void *base,
    size_t nmemb,
    size_t size,
    int (*compar)(const void *, const void *)
);

Comparison Function

int cmp_by_surname(
    const void* p1,
    const void* p2
);

bsearch() Declaration

void *bsearch(
    const void *key,
    const void *base,
    size_t nmemb,
    size_t size,
    int (*compar)(const void *, const void *)
);
## Questions?