[algorithms] heap sort
[patterns] observer pattern