What is “Data Structures”?

Slides:



Advertisements
Similar presentations
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
Advertisements

Fundamentals of Python: From First Programs Through Data Structures
Data Structures Introduction. What is data? (Latin) Plural of datum = something given.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Copyright © Wondershare Software Introduction to Data Structures Prepared by: Eng. Ahmed & Mohamed Taha.
Data Structures and Abstract Data Types "Get your data structures correct first, and the rest of the program will write itself." - David Jones.
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
1 CS 350 Data Structures Chaminade University of Honolulu.
CSS446 Spring 2014 Nan Wang  Java Collection Framework ◦ LinkedList ◦ Set ◦ Map 2.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Elementary Data Organization. Outline  Data, Entity and Information  Primitive data types  Non primitive data Types  Data structure  Definition 
Collections Data structures in Java. OBJECTIVE “ WHEN TO USE WHICH DATA STRUCTURE ” D e b u g.
Week 2 - Friday.  What did we talk about last time?  Computing Big Oh.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
1 Data Organization Example 1: Heap storage management Maintain a sequence of free chunks of memory Find an appropriate chunk when allocation is requested.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
Intro to Data Structures Concepts ● We've been working with classes and structures to form linked lists – a linked list is an example of something known.
1 Data Organization Example 1: A simple text editor –Store the text buffer as a list of lines. –How would we implement the UNDO operation? Example 2: Parsing.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Advanced Data Structures Lecture 1
Introduction toData structures and Algorithms
Standard Template Library
Slides by Donald W. Smith
Sections 10.5 – 10.6 Hashing.
Using the Java Collection Libraries COMP 103 # T2
The Study of Computer Science Chapter 0
Lecture 5 of Computer Science II
Week 4 - Monday CS221.
Understanding Algorithms and Data Structures
Classifications of Software Requirements
Course Developer/Writer: A. J. Ikuomola
CHP - 9 File Structures.
The Data Types and Data Structures
Unit 5 Lesson 3: Introduction to Arrays
September 29 – Stacks and queues
COMP 53 – Week Eleven Hashtables.
Introduction to Visual Basic 2008 Programming
External Sorting Chapter 13
GC211Data Structure Lecture2 Sara Alhajjam.
Chapter 20 Lists, Stacks, Queues, and Priority Queues
LEARNING OBJECTIVES O(1), O(N) and O(LogN) access times. Hashing:
March 29 – Testing and Priority QUeues
Abstraction A tool (concept) to manage complexity
Ch. 8 File Structures Sequential files. Text files. Indexed files.
The Study of Computer Science Chapter 0
Road Map CS Concepts Data Structures Java Language Java Collections
structures and their relationships." - Linus Torvalds
Data Structures (CS212D) Overview & Review.
The Study of Computer Science
structures and their relationships." - Linus Torvalds
Lesson Objectives Aims
External Sorting Chapter 13
CS2013 Lecture 4 John Hurley Cal State LA.
Week # 1: Overview & Review
Data Structures (CS212D) Overview & Review.
CS2110: Software Development Methods
Introduction to Data Structures
Dynamic Data Structures and Generics
Introduction to Data Structure
COP3530- Data Structures Introduction
External Sorting Chapter 13
structures and their relationships." - Linus Torvalds
Chapter 20 Lists, Stacks, Queues, and Priority Queues
Presented by : Aman Gupta PGT CS KV No.1, Narimedu, Madurai
LINEAR DATA STRUCTURES
Presentation transcript:

What is “Data Structures”? What will I learn in this course?

Major Topic Groups C# Language and .NET concepts .NET Class Library Data Structures Algorithms Algorithm Analysis What is "Data Structures"? 18 September 2018

C# and .NET C# is similar to both Java and C++ in many ways The syntax is nearly identical If you know Java, you can probably read and understand simple C# programs with little training Major differences between programming in C# and programming in Java are the class libraries they use .NET class library provides support for C# (and other .NET languages such as Visual Basic, F#, IronPython, and even C++.NET) Java is supported by AWT, Swing and other libraries in addition to the standard Java API libraries What is "Data Structures"? 18 September 2018

Why Learn C#? Most large companies in the area that hire our CS graduates do some or all of their software development in C# Nine of 11 companies represented in our advisory board want graduates to know C# What is "Data Structures"? 18 September 2018

What Are Data Structures? A data structure is a container for holding data Usually think of a data structure as holding multiple data items An array is an example of this type of data structure A Java ArrayList <T> is another example of a data structure We may sometimes think of single objects as being data structures A string holds one string of characters that may be manipulated as a whole (input the string, output the string, compare the string, and so forth) A string may also be thought of as a collection of individual characters (or words) that we want to manipulate individually for some task An object of almost any class may be thought of as a container for the data represented by the object’s attributes What is "Data Structures"? 18 September 2018

Organization of the Data There are many different ways in which individual data items in a data structure may be organized Stored in contiguous memory locations (e.g., an array) Stored in non-contiguous (possibly random) memory locations (e.g., a linked list) Stored externally in a file or data base on a hard drive, a USB drive, or “in the cloud” What is "Data Structures"? 18 September 2018

Organization of the Data A data structure may be organized to facilitate specific types of usage Stored in first-come, first-served manner (a waiting line or queue) Stored in last-in, first out manner (stack) Stored in order of priority (priority-queue) Stored in sorted order Organized for efficient storage and retrieval or for efficient access to particular items Organized for minimal memory usage Organized for fastest access What is "Data Structures"? 18 September 2018

Data Structures Each type of data structure has its own characteristics There are trade-offs in deciding which data structure to use Memory requirements Efficiency (speed) of storing, finding, retrieving, or processing the data Ease of Understanding Programming Testing/debugging/maintenance Trade-offs: A fast algorithm on a given data structure may require more memory and be more difficult to understand, but a slower algorithm may take less memory and be easier to maintain What is "Data Structures"? 18 September 2018

Algorithms For a given data structure, we may need to do certain types of common activities such as Add data to the data structure Retrieve or remove data from the data structure Find a particular data item or items in the data structure Rearrange (sort) the data into some order meaningful for a particular task What is "Data Structures"? 18 September 2018

Algorithms For a data structure to be useful, it must be accompanied by implementations of the algorithms that allow one to manipulate the data in the desired ways Not all data structures are created equal There is no “best” data structure for all situations Some are more efficient for specific tasks than others are but the latter group may be more efficient for a different set of tasks One must choose the appropriate data structure for a given task What is "Data Structures"? 18 September 2018

Algorithm Analysis and Selection There may be many different algorithms that can be used to accomplish a specific task on a particular data structure One must be able to analyze the different algorithms and choose one that is reasonably efficient for a given task For example, there are many different sorting algorithms; how should we choose one that works efficiently for our data What is "Data Structures"? 18 September 2018

Algorithm Limitations Some algorithms do not make sense for a particular type of data structure, and, thus, no attempt to use them with that type of data structure should be attempted For example, what does it mean to sort a linked list of colored pixels (does a turquoise pixel come before or after a puce pixel, for example)? A queue is organized by the arrival time of the items it contains – sorting a queue by (say) employee name would destroy the ordering required by the queue – it would no longer be a queue What is "Data Structures"? 18 September 2018

Class Libraries There are many class libraries that contain good implementations of certain data structures and the algorithms that support them A library may have a class that implements a LinkedList, another class that implements a Queue, another for a Stack, and so forth The implementations may also contain many useful methods (algorithms) In this course, where possible, we will learn to use data structures implemented in the .NET class library Some data structures are not implemented in the .NET library, and we will have to build our own including the algorithms for inserting, finding, arranging, and retrieving items What is "Data Structures"? 18 September 2018