11.07.2015 Views

Data Structures and Algorithm Analysis - Computer Science at ...

Data Structures and Algorithm Analysis - Computer Science at ...

Data Structures and Algorithm Analysis - Computer Science at ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Sec. 16.6 Projects 533value depth5 220 030 02 025 126 331 016.7 If we had a linked list th<strong>at</strong> would never be modified, we can use a simplerapproach than the Skip List to speed access. The concept would remain thesame in th<strong>at</strong> we add additional pointers to list nodes for efficient access to theith element. How can we add a second pointer to each element of a singlylinked list to allow access to an arbitrary element in O(log n) time?16.8 Wh<strong>at</strong> is the expected (average) number of pointers for a Skip List node?16.9 Write a function to remove a node with given value from a Skip List.16.10 Write a function to find the ith node on a Skip List.16.6 Projects16.1 Complete the implement<strong>at</strong>ion of the Skip List-based dictionary begun in Section16.2.2.16.2 Implement both a st<strong>and</strong>ard Θ(n 3 ) m<strong>at</strong>rix multiplic<strong>at</strong>ion algorithm <strong>and</strong> Strassen’sm<strong>at</strong>rix multiplic<strong>at</strong>ion algorithm (see Exercise 14.16.3.3). Using empiricaltesting, try to estim<strong>at</strong>e the constant factors for the runtime equ<strong>at</strong>ions ofthe two algorithms. How big must n be before Strassen’s algorithm becomesmore efficient than the st<strong>and</strong>ard algorithm?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!