Your SlideShare is downloading.
×

×
Saving this for later?
Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.

Text the download link to your phone

Standard text messaging rates apply

Like this presentation? Why not share!

- Applicationof datastructures by Hitesh Wagle 414 views
- Cloud computing technology by Youssef Elsalhawy 2982 views
- Heapsort by Sardar Hussain 1324 views
- 09042015 vui mẫu xe kia sorento c... by caovui caothivui 33 views
- 1.introduction to data_structures by pcnmtutorials Patta 155 views
- 1.introduction to data_structures by pcnmtutorials Patta 515 views
- Lists by Mohd Arif 575 views
- Stacks by Swamy Sriharsha 88 views
- Lec2&3_DataStructure by Ibrahim El-Torbany 1327 views
- Ch15 Heap by leminhvuong 1875 views
- Heapsort by Ssankett Negi 959 views
- Sorting by Abhishek Khune 358 views

Like this? Share it with your network
Share

419

views

views

Published on

a good introduction to the data structures .

a good introduction to the data structures .

No Downloads

Total Views

419

On Slideshare

0

From Embeds

0

Number of Embeds

0

Shares

0

Downloads

24

Comments

0

Likes

1

No embeds

No notes for slide

- 1. Data Structure ENG. YOUSSEF ABDELHAKIM
- 2. Agenda: Abstract Data Type (ADT). What is the Data Structure ? Data Structure examples : Queue. Stack. Binary Search Tree(BST). Lists. Arrays. Linked List. Graph. Hashing.
- 3. Abstract Data Type (ADT). An ADT is fully described by a domain of values together with a set of operations to manipulate these values. Ex: point = {{(a,b) : a, b belongs to R, {create, translate, rotate, scale} } Ex: set = { { a collection of well defined and distinct objects} {isEmpty, numElements, union, intersection,} }
- 4. What is the Data Structure? A data structure is one way of implementing an ADT. The way in which the data is organized affects the performance of a program for different tasks. Computer programmers decide which data structures to use based on the nature of the data and the processes that need to be performed on that data. An ADT can have several different data structures. A set might be implemented using a sorted dynamic array, or using a binary search tree.
- 5. Data Structure examples : Queue : A Queue is a list-like structure where elements can be inserted into only one end and removed from the other end in a First In First Out (FIFO) fashion. A queue is a good data structure to use for storing things that need to be kept in order, such as a set of documents waiting to be printed on a network printer.
- 6. Queue Applications : Printing Job Management Packet Forwarding in Routers Message queue in Windows I/O buffer
- 7. Operations on the queue : enqueue dequeue check whether the queue is full or not size check whether the queue is empty or not isFull remove a item from the front isEmpty add a new item at the rear return the number of items in the queue peek return the front item
- 8. Stack : A Stack is a list-like structure where elements can be inserted or removed from only one end in a Last In First Out (LIFO) fashion. An important application we make it with stack : Undo / Redo . Some languages, like LISP and Python, do not call for stack implementations, since push and pop functions are available for any list.
- 9. Last-in First-out (LIFO) Push A, B, C A A Pop C, B, A B A B A C B A The last one pushed in is the first one popped out! (LIFO) When we push entries onto the stack and then pop them out one by one, we will get the entries in reverse order.
- 10. Stack Implementation : interface Stack { void push(Object x) Object pop() Object peek() boolean isEmpty() int size() }
- 11. Binary Search Tree (BST) : A binary search tree is another commonly used data structure. It is organized like an upside down tree. Each spot on the tree, called a node, holds an item of data along with a left pointer and a right pointer. A binary tree is a good data structure to use for searching sorted data.
- 12. Lists : A list is an ordered set of data. It is often used to store objects that are to be processed sequentially. A list can be used to create a queue.
- 13. Arrays : An array is an indexed set of variables, such as dancer[1], dancer[2], dancer[3],… It is like a set of boxes that hold things. An array is a set of variables that each store an item.
- 14. Arrays and Lists : You can see the difference between arrays and lists when you delete items.
- 15. Arrays and Lists In a list, the missing spot is filled in when something is deleted but in the In array, an empty variable is left behind when something is deleted.
- 16. Linked List : A linked list is a collection of data in which each element contains the location of the next element—that is, each element contains two parts: data and link. The name of the list is the same as the name of this pointer variable.
- 17. Operations on linked lists : The same operations we defined for an array can be applied to a linked list. Searching a linked list : Since nodes in a linked list have no names, we use two pointers, pre (for previous) and cur (for current). At the beginning of the search, the pre pointer is null and the cur pointer points to the first node. The search algorithm moves the two pointers together towards the end of the list. Figure 11.13 shows the movement of these two pointers through the list in an extreme case scenario: when the target value is larger than any value in the list.
- 18. Graphs: List, BST, and Hash-Tables are used for generic storage and search. Graphs are useful to represent relationships between data items. Examples: Modeling connectivity in computer and communications networks. Representing a road map. Modeling flow capacities in transportation networks. Modeling family relationships and business or military organizations.
- 19. Hashing :
- 20. Any Questions ?!
- 21. Thank You

Be the first to comment