languages
almost religious attachment to, 195
knowledge of mainstream, 16
less-commonly used or more-advanced aspects of, 19
less-mainstream, 16
used in coding questions, 16–17
last element case, writing for remove, 37
last-in-first out (LIFO) data structure, a stack as, 30
latency, 189
learning, continuing, 5
least-significant byte (LSB) to most-significant byte (MSB), 153
leaves, 55
left child in a binary tree, 55
length method in Java, 72
length property of a JavaScript array, 71
letters
corresponding to numbers on a telephone keypad, 100
marking as used or unused, 96
library routines for string/integer conversions, 83
line segment, drawing a, 143–144
linear running time, algorithms with, 78
linear singly-linked list, 26
linear time in big-O analysis, 21
line-by-line analysis of a function, 40–41
linked list(s)
allocating memory dynamically for each element, 31
compared to arrays, 67
compared to dynamic arrays, 31
kinds of, 25
length of, 36
less complicated to implement than dynamic arrays, 31
making two complete traversals of, 42
operations, 27–30
problems, 25
removing all elements from, 30
routines, 26
as shorthand for the first element of a linked list, 26
linked list typical problems, 30–52
LinkedIn, 9
List Flattening problem, 44–47
list length circumstances, potentially problematic, 38
List Unflattening problem, 48–49
little-endian machine, 153
livelock, 119
local copy, updating instead of the head pointer, 28
location of arrays, tracked in C and C++, 69
locomotives, smashing a bird, 176
logical && and || operators, 145
logical operations, three possible values of in SQL, 141
long-term projects, compared to short-term, 2
lookup operations in a BST, 57–58
loop index dependent conditionals, 100
loop partitioning, 100
Lowest Common Ancestor problem, 64–66
LSB. See least-significant byte