We can’t walk on water, Trinity Software computer simulation. but we can produce the
Overview Week 6 Schedule STL Related Sites Non-STL Libraries Fortran Libraries
Overview (cont.) Time-Expensive STL Container (Vector) Terrain Map Design Queries on Terrain Elevation Software Re-use Risks
Week 6 Schedule February 21, 1500 to 1700 –Studio Lab February 22, 1700 to 1745 –Group Meeting with TA February 25, 1200 to 1400 –Shared Data on Web Search for Libraries –Review Identity Software Revised Specs
Week 6 Schedule (cont) February 27, 1400 to 1700 –Design and Implement Terrain Map –Developed Contents for Library Searches –Timed Risks Associated with STL Component
STL-Related Sites –Descriptions of STL generic algorithms, but only brief overviews of containers and iterators –Silicon Graphics STL Site, very in-depth elvis.rowan.edu/~berman/stl/present/ –PowerPoint slides on the web, classroom style introduction to STL and components
STL Container Classes Vector Deque List Set Multiset Map Multimap
Non-STL Library Sites doc/views.html –Defines headers enabling Views to extend STL. –Provides sites containing free downlodable C++ libraries. Author believes the site is totally comprehensive.
Views Abstract containers Filtered transformations Encapsulated Domain of elements Defined new iterator classes that adapt to iterators of the encapsulated domains Behaves like a normal container
View Header Files Downcast.h Transform.h Mapview.h Domain.h Predicate.h View.h Views.h
Library Packages Aisearch –Designed to make writing problem solving code for AI easier. Amulet –User interface development in C++ designed to ease the creation of highly- interactive, graphical, direct manipulation user interfaces.
FORTRAN Libraries staff.fucam.ac.be/~sayez/FortranLibraries.html –Links to various sites with Fortran Libraries –Pacific Northwest National Library’s routines to make programs with batch-style input/output interface. –Products that render drawings in Fortran 77/90 astro.caltech.edu/~tip/pgplot/ –Graphics package for making scientific graphs
Vector Random Access to Elements Linear Time Insertion and Removal of Beginning and Middle Elements Constant Time Insertion and Removal of End Element
Linear Time Results from a Large Data Set –Stored in order of insertion, not sorted –O(n), where if n is large, then execution time is large
Comparison Vs. Deque –Deque performs operations from both sides of list Vs. List –insert_after and erase_after functions allow for constant time operations
Comparison Vs. Set –Sorted by Design, allows for quicker insertions and deletions Vs. Map –Sorted by Design, allows for quicker insertions and deletions Vs. Hash –The timing is reduced by average number of elements in hash bucket
Terrain Map
Software Reuse Eliminate Risks –Reduce time spent coding –Reduce newly written “untested” code –Increase system efficiency Introduce Risks –Difficult integration of reused components –Reusing poorly tested or inefficient code –Understanding how reused code works
Questions?