5.1 Dictionary problem 5.2 Hash functions 5.3 Collisions resolution by chaining 5.4 Open addressing 5.5 Probing strategies: linear, quadratic, and double hashing 5.6 Analysis of open addressing
1.1 Definition of algorithm 1.2 Insertion sort and merge sort 1.3 Running time and asymptotic analysis 1.4 Θ-notation, Ω-notation, and O-notation 1.5 Recurrences 1.6 Substitution, recursion-tree method, and master method
⚫ To understand objects and classes and use classes to model objects (§6.2). ⚫ To learn how to declare a class and how to create an object of a class (§6.3). ⚫ To understand the roles of constructors and use constructors to create objects (§6.3). ⚫ To use UML graphical notations to describe classes and objects (§6.3). ⚫ To distinguish between object reference variables and primitive data type variables (§6.4) ...... ⚫ To understand the difference between instance and static variables and methods (§6.10). ⚫ To determine the scope of variables in the context of a class (§6.11). ⚫ To use the keyword this as the reference to the current object that invokes the instance method (§6.12). ⚫ To store and process objects in arrays (§6.13). ⚫ To apply class abstraction to develop software (§6.14). ⚫ To declare inner classes (§6.17)