Start chapter 2, switch to ng-backed build.

This commit is contained in:
Kyle Isom 2018-02-07 07:24:19 -08:00
parent fb22f6491b
commit 01c669d914
3 changed files with 23 additions and 2 deletions

View File

@ -166,6 +166,12 @@ Run times come in three flavours:
might be a doubly-linked list with the iteration direction determined by might be a doubly-linked list with the iteration direction determined by
distance from the centre, though this comes at the cost of additional distance from the centre, though this comes at the cost of additional
complexity. The same improvements would apply to remove. complexity. The same improvements would apply to remove.
On a randomised benchmark (random operation, random value, random index),
the array-backed list still outperforms a from-scratch linked list and
an STL vector wrapper. The linked list performs the worst, with wildly
varying run times.
2. For the sorted list, a basic improvement for find would be to pick the 2. For the sorted list, a basic improvement for find would be to pick the
middle of the list and do an equality check, basically bisecting to middle of the list and do an equality check, basically bisecting to
find where the value *would* be. find where the value *would* be.

15
ods/notes/chapter2.txt Normal file
View File

@ -0,0 +1,15 @@
# Chapter 2 (Array-based lists)
These data structures have common advantages and limitations:
* constant-time access
* resizing the array adds potentially non-trivial complexity, both in time and
storage, as a new array generally must be created and the old array copied
over.
* arrays aren't dynamic, which means inserting or deleting in the middle of an
array requires shifting all the following elements.
With some careful management, the additional *amortised* complexity added by
resizing isn't too bad.

View File

@ -1,6 +1,6 @@
compilers: compilers:
cxx: clang++-5.0 cxx: clang++
ld: clang++-5.0 ld: clang++
targets: targets:
cc: cc: