We can’t walk on water, Trinity Software computer simulation. but we can produce the.

Slides:



Advertisements
Similar presentations
M The University Of Michigan Andrew M. Morgan EECS Lecture 22 Savitch Ch. 16 Intro To Standard Template Library STL Container Classes STL Iterators.
Advertisements

Chapter 6 Queues and Deques.
SEG4110 – Advanced Software Design and Reengineering TOPIC J C++ Standard Template Library.
Data Structures.
J Paul Gibson, NUI Maynooth 2004/2005: CS211Intro. 1 CS211 Algorithms & Data Structures, with GUI Programming
Data Structures Using C++ 2E
Multimaps. Resources -- web For each new class, browse its methods These sites are richly linked, and contain indexes, examples, documents and other resources.
Beginning C++ Through Game Programming, Second Edition
CS 307 Fundamentals of Computer Science 1 Abstract Data Types many slides taken from Mike Scott, UT Austin.
What is generic programming? The essence of the generic programming approach is concept development: systematic classification of computing components.
Concept= a set of abstractions (e.g., types) (Generic Programming) Programming with Concepts defined by a set of requirements {vector, deque, list, set,
OOP Project Develop an Application which incorporates the following OO Mechanisms and Principals: – Classes Visibility Constructor(s) Class Variable (if.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L15 (Chapter 22) Java Collections.
C++ Programming: Program Design Including Data Structures, Second Edition Chapter 22: Standard Template Library (STL)
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Generic programming starts with algorithms. Lift Minimal requirements: works with maximal family of types Concrete algorithm: requires specific data type.
Data Structures and Programming.  John Edgar2.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Database Systems: Design, Implementation, and Management Ninth Edition
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Spring 2010 Advanced Programming Section 1-STL Computer Engineering Department Faculty of Engineering Cairo University Advanced Programming Spring 2010.
STL Standard Template Library ● Good reference book: – The C++ Standard Library ● A Tutorial and Reference ● by Nicolai M. Josuttis ● 1999 – Addison Wesley.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Data Structures Using C++ 2E
C++ How to Program, 8/e © by Pearson Education, Inc. All Rights Reserved.
PRESENTED BY: RAJKRISHNADEEPAK.VUYYURU SWAMYCHANDAN.DONDAPATI VINESHKUMARREDDY.LANKA RAJSEKHARTIRUMALA KANDURI ALAN.
Generic Programming Using the C++ Standard Template Library.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Standard Template Library (STL)
Review for Final Andy Wang Data Structures, Algorithms, and Generic Programming.
C++ STL CSCI 3110.
Software Design 1.1 Tapestry classes -> STL l What’s the difference between tvector and vector  Safety and the kitchen sink What happens with t[21] on.
CSE 332: C++ STL containers Review: C++ Standard Template Library (STL) The STL is a collection of related software elements –Containers Data structures:
1 Finding Shortest Paths with A* Search A* search operates similarly to Dijkstra’s algorithm, but extends the cost function to include an estimated distance.
Standard Template Library The Standard Template Library was recently added to standard C++. –The STL contains generic template classes. –The STL permits.
CS 403, Class 23Slide #1 CS Programming Languages Class 23 November 16, 2000.
Chapter 22 STL Containers §22.1 STL Basics §22.2 STL Iterators §22.3 Sequence Containers §22.4 Associative Containers §22.5 Container Adapters.
CS212: Object Oriented Analysis and Design Lecture 24: Introduction to STL.
Computer Science Projects Internal Assessment. Mastery Item Claimed Justification Where Listed Random Access File – Searching Lines P. 53 Random.
We can’t walk on water, Trinity Software computer simulation. but we can produce the.
Collections Data structures in Java. OBJECTIVE “ WHEN TO USE WHICH DATA STRUCTURE ” D e b u g.
Ordered Linked Lists using Abstract Data Types (ADT) in Java Presented by: Andrew Aken.
STL – Standard Template Library L. Grewe. 2 Goals Lots of important algorithms, data structures in CS using Templates. is a software library partially.
Progress Report - Year 2 Extensions of the PhD Symposium Presentation Daniel McEnnis.
STL CSSE 250 Susan Reeder. What is the STL? Standard Template Library Standard C++ Library is an extensible framework which contains components for Language.
Copyright © 2009 – Curt Hill Standard Template Library An Introduction.
Introduction The STL is a complex piece of software engineering that uses some of C++'s most sophisticated features STL provides an incredible amount.
C++ Review STL CONTAINERS.
1 The Standard Template Library Drozdek Section 3.7.
Unit VI.  C++ templates are a powerful mechanism for code reuse, as they enable the programmer to write code (classes as well as functions) that behaves.
1 The Standard Template Library The STL is a collection of Container classes These are class templates for containers. A container is an object that stores.
Programming with ANSI C ++
Standard Template Library
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:
Software for scientific calculations
Standard Template Library (STL)
structures and their relationships." - Linus Torvalds
Programming with Concepts
Advanced Associative Structures
CS212: Object Oriented Analysis and Design
Standard Template Library Model
Standard Template Library
Standard Template Library
Jim Fawcett CSE687 – Object Oriented Design Spring 2002
Some Definitions vector, string, deque, and list are standard sequence containers. set, multiset, map, multimap, unordered_set, unordered_multiset, unordered_map.
CO4301 – Advanced Games Development Week 12 Using Trees
structures and their relationships." - Linus Torvalds
Games Development 2 Entity / Architecture Review
Lecture 3 – Data collection List ADT
Lecture 4 – Data collection List ADT
Presentation transcript:

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?