Preliminaries and Notation The only prerequisites for reading this book are practical experience in program- ming in a Pascal-like language and a sound understanding of general programming concepts together with a good grasp of Pascal-like data types (that is,reals, integers,characters,arrays and records).However,the analysis of many data structures and algorithms in the book requires a minimal understanding of such basic mathematical concepts as sets,functions etc.For the purposes of reference and also to introduce the notation used,a brief survey of these concepts is given below.A discussion of the idiosyncrasies of Pascal syntax,as used in the book, then follows. Mathematical Backgrounds Sets A set is a collection of objects called members.The members of a set are usually of the same type.For example S:A set of colours =fred,blue,yellow,white} S2:The set of negative numbers={x lx is an integer and x<0} S3:An empty set={). The and 'are used to represent sets;in S2,x is a variable and''should read as 'such that'.Therefore set S2 should read as 'the set of all values of x such that x is an integer andx is less than 0'.'A is a member of a set S'and 'B is not a member of a set S'are denoted as:A ES and BS.Thus red∈S1 brown年S1 -15∈S2 3398年S2 Members of sets are not ordered.Therefore fred,blue}={blue,red}.The number of members in a set S is called its cardinality and is denoted by ISI.Therefore, |S11=4,IS3l=0. Subsets Set S is a subset of S'if every member of S is also a member of S'.This is denoted as SC S'.We denote'S is not a subset of S''as S S'. XV