Searching: look for item in collection

advertisement
Searching: look for item in collection
Boolean: is it there or not? t/f
Position searches: index number or -1 for
failure if static data structure, if dynamic,
address and NULL if fails
Record search: search on unique key and return
back all information, failure depends on static
or dynamic -1 or NULL
Sequential and binary
Generally, look until find or out of data
Sequential: Unsorted data, slow if a long list
set start to 0
set found to false
while not off end (< N) and haven’t found
if current item equals item
found
else
go to next
end while
O-notation: categorization of algorithm
complexity: look at average case
Use avg case, disregard coefficients and +/O(...): indicates something about N
O(1): constant: on the order of one calculation
finding maximum in a heap
O(log2N): logarithmic: binary search
O(N): linear: sequential search
O(Nlog2N): better sorts: merge, quick, shell
(O(N3/2))
O(N2): worse sorts: bubble, selection, insertion
Binary search: Must be sorted, very fast
2 base cases: not found or found
2 recursive cases: search lower, search upper
Parameters which change:
Download