Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.

Similar presentations


Presentation on theme: "Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS."— Presentation transcript:

1 Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS

2 Dr. Abd El-Aziz Ahmed Contact DS Instructor: Dr. Abd El-Aziz Ahmed E-mail: a. ahmed@cu.edu.eg Teaching Assistant: Eng. Mahmoud Textbook: "ADTs, Data Structures and Problem Solving with C++" by Larry Nyhoff, 2nd Edition, Pearson Prentice Hall, 2005. Slides: accessible on http://scholar.cu.edu.eg/zizo

3 Course Requirements Object Oriented programming C++

4 Course Contents ADTs as Classes Lists Stacks Queues Trees Binary Search Trees Priority Queues Graphs Heap

5 Grading Policy Mid-Term 20% Assignments 10% Final 70%

6 Dr. Ammar Mohammed Aim of the course CS505 To study the concept of algorithms and the concept of algorithm efficiency. To study the concept of abstract data types (ADTs) and the abstract data types most commonly used in software development (stacks, queues, lists, and sets,... ). To study the basic data types most commonly used to represent these abstract data types (arrays, linked lists, and binary search trees,... ), together with algorithms operating on these data structures.

7 Aim of the course C++ implementation of common algorithms, ADTs, and data structures.

8 Why do we need Data Structure? Representing information is fundamental to computer information processing. Computer programs should organize their data in a way that supports efficient processing. For this reason the study of data structures and algorithms that manipulate them is essential to computer science and software engineering. Knowing appropriate ADTs and algorithms for particular problems would save your programming time as well as ensure the efficiency of your software.

9 Algorithm vs. Program Algorithm – Can be performed by humans or by machines. – Can be expressed in any suitable language. – Can be on any level of abstraction(Idea). Program – Must be performed by a machine. – Must be expressed in a programming language. – Must be detailed and specific to avoid any ambiguities.

10 Algorithm vs. Program To employ an algorithm on a machine, it has to be transcribed into a programming language (i. e., coded!). There may be many ways of coding the algorithm and there is a wide choice of programming languages. But all the resulting programs are implementations of the same underlying algorithm. Here we express our implementations in C++

11 Abstract Data Type A collection of data items together with the operations on the data is called an abstract data type (commonly abbreviated as ADT). The word abstract refers to the fact that the data and the basic operations defined on it are being studied independently of how they are implemented. We are thinking of what can be done with the data, not how it is done. An implementation of an ADT consists of storage structures, called data structure to store the data items and algorithms for the basic operations.

12 Abstract Data Type The terms abstract data type and data structure are often used interchangeably. However, abstract data type is used when data is studied at a logical or conceptual level, independent of any programming language or machine considerations. The term data structure refers to a construct in some programming language that can used to store data.


Download ppt "Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS."

Similar presentations


Ads by Google