searching organizing and retrieving information is at the heart of most computer applicationsand searching is surely the most frequently performed of all computing tasks search can be viewed abstractly as process to determine if an element with particular value is member of particular set the more common view of searching is an attempt to find the record within collection of records that has particular key valueor those records in collection whose key values meet some criterion such as falling within range of values we can define searching formally as follows suppose kn are distinct keysand that we have collection of records of the form ( )( )(kn in where ij is information associated with key kj for < < given particular key value kthe search problem is to locate the record (kj ij in such that kj (if one existssearching is systematic method for locating the record (or recordswith key value kj successful search is one in which record with key kj is found an unsuccessful search is one in which no record with kj is found (and no such record existsan exact-match query is search for the record whose key value matches specified key value range query is search for all records whose key value falls within specified range of key values we can categorize search algorithms into three general approaches sequential and list methods direct access by key value (hashing tree indexing methods