1 / 15

Data Structures and Algorithms (DSA)

Data Structures and Algorithms (DSA). Programming language (java) Unit 42 By Robert Butterfield Telephone 01274 436413 Email R.Butterfield@Bradfordcollege.ac.uk. What This Unit Is About. This unit is about data structures and algorithms used in computer programming.

navid
Download Presentation

Data Structures and Algorithms (DSA)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Structures and Algorithms(DSA) Programming language (java) Unit 42 By Robert Butterfield Telephone 01274 436413 Email R.Butterfield@Bradfordcollege.ac.uk

  2. What This Unit Is About • This unit is about data structures and algorithms used in computer programming. • Data structures are ways in which data is arranged in your computer's memory (or stored on disk). • Algorithms are the procedures, the software program uses to manipulate the data in these structures.

  3. Why use data structures • Almost every computer program, even a simple one, uses data structures and algorithms. • Example, consider a program that prints address labels. • The program might use an array (more later) • The array is the data structure, and the for loop used is the simple algorithm.

  4. When do I need DSA • For uncomplicated programs with small amounts of data, you could possibly just use an array. • However: • Programs that handle even moderately large amounts of data • Programs that solve problems that are slightly out of the ordinary • More sophisticated techniques are necessary. • Simply knowing the syntax of a computer language such as Java isn't enough. • This unit is about what you need to know after you've learned a programming language.

  5. Edexcel unit description This unit provides the learner with a range of experiences in using the algorithms and data structures that underpin much of today’s computing. The various techniques presented should be seen in the context of solving problems using computers. The unit aims to develop the formal concepts of data structures, algorithms and their relationships to each other and to the concepts of object-oriented programming. This should allow learners to develop solutions using data structures for a range of commercial needs.

  6. Summary of learning outcomes • Apply concepts of abstraction in designing object-oriented data structures • Specify and implement abstract data types (ADTs) • Evaluate and implement data structures • Justify the selection of an appropriate data structure/algorithm.

  7. Abstraction in designing object-oriented data structures • Complexity: in software development, interfaces and encapsulation • Definition of abstract data types: collection, structure • Values, states, and objects: types and classes, encapsulation, inheritance

  8. Abstract data types • ADTs: look at examples of ADTs (stacks, queues) • Implementation: look at how different data structures can implement the same ADT (arrays and single linked lists)

  9. Data Structures • Context: common complex data structures and typical applications • Arrays: tables (hashed, lookup), matrices, dynamic memory, linked lists (single, double), tree (binary search trees) (Sample) • Algorithms for data structures: appropriate algorithms include ‘insert’, ‘delete’, ‘search’ and ‘sort’ • Code implementation: documented computer code that covers the range of data structures

  10. Data structure/algorithm • Applications: relevant application areas (research and review) • Evaluation: criteria for the use of data structure/algorithms (selection of the most suitable data structure) • Testing: algorithm, measure of efficiency

  11. Outcomes and assessment criteria 1 Apply concepts of abstraction in designing object-oriented data structures • Determine appropriate properties and methods for data structures • Produce specifications for object-oriented data Structures • Extend specifications of data structures to a subclass of data structure

  12. Outcomes and assessment criteria 2 Specify and implement abstract data types (ADTs) • Produce a specification of an ADT • Implement ADTs • Describe alternative methods of implementing the ADT

  13. Outcomes and assessment criteria 3 Evaluate and implement data structures • describe how basic operations are implemented on data structures (such as inserting into a tree) • Describe a typical application where such a data structure may be found • Write code to implement a selection of data structures

  14. Outcomes and assessment criteria 4 Justify the selection of an appropriate data structure/algorithm • Review current uses of data structures within application areas • Perform estimates of the resource and time requirements for a data structure/algorithm • Justify the selection of the most appropriate data structure/algorithm for a given application

  15. Important • You should possess significant experience in programming before attempting this unit. • This unit links with: Unit 30: Java Programming, Unit 32: Maths for Software Development, Unit 36: OOP Programming, Unit 37: VB Enterprise Development, Unit 38: Visual Programming Development and Unit 39: Visual Programming Fundamentals.

More Related