Course Book Data Structure 2014-2015
Course Book Data Structure 2014-2015
Course Book Data Structure 2014-2015
In addition, this course introduces some basic data structures (arrays, linked lists, stacks, queues and tree) and algorithms (various sorting
algorithms, and algorithms for operations on binary search trees). We will also cover recursion in this course. Although, the java programing
language will use to implement the algorithms.
ﺑﻪﮫ ﺩدﻭوﻭوﺳﻲˇ ﭘﻩه ﺭرﻩهﮕﺭرﺍاﻑف ﺩدﻩه ﺳﺘﻨﻴﯿﺸﺎﻧﻲ ﭘﻩه ﻳﯾﺎﻣﻪﮫ ﮔﺭرﻧﻜﻪﮫ ﻛﺎﻧﻲ ﻭوﺍاﻧﻪﮫ ﻛﻪﮫ ﺑﻜﻪﮫ ﻭو ﺋﻪﮫ ﻭو ﺧﺎﻻˇﻧﻪﮫ ﻱي ﻛﻪﮫ ﭘﻳﯾﻮﺳﺘﻪﮫ ﻗﻮﺗﺎﺑﻲ ﺧﻮﻳﯾﻨﺪﻛﺎﺭر ﻟﻪﮫ ﻛﺎﺗﻲ ﻛﻮˇﺗﺎﻳﯾﻲ ﺋﻪﮫ
ﻭوﻭوﺍاﻧﻪﮫ ﻳﯾﻪﮫ ﺩدﺍا ﻓﻴﯿﺮﻳﯾﺎﻥن ﺑﺒﻲˇ ﺩدﻳﯾﺎﺭرﻳﯾﺎﻥن ﺑﻜﺔ
(Course objective)
The objective of this course can be listed in below:
(ﺳﻪﮫ ﺭرﭽﺍاﻭوﻩه ﮔﺭرﻧﻜﻪﮫ ﻛﺎﻧﻲ ﺋﻪﮫ ﻭوﻭوﺍاﻧﻪﮫ ﻳﯾﻪﮫ )ﺑﻮˇﻫﮬﮪھﻪﮫ ﻣﻮﻭو ﺑﺎﺑﻪﮫ ﺗﻪﮫ ﻛﺎﻥن
course reading list and references(for all topic)
(ﮔﻭوﭬﺍاﺭرﻭوﺭرﻳﯾﻔﻴﯿﻮﻭو)ﺋﻴﯿﻨﺘﻪﮫ ﺭرﻧﻴﯿﺖ
ﺳﻪﮫ ﺭرﭽﺍاﻭوﻩه ﻱي ﺳﻮﻭوﺩد ﺑﻪﮫ ﺧﺶ
ﺳﻪﮫ ﺭرﭽﺍاﻭوﻩه ﺑﻨﻪﮫ ﺭرﻩه ﺗﻴﯿﻪﮫ ﻛﺎﻥن
ﮔﯚﭬﺎﺭر ﻭو ﺋﻴﯿﻨﺘﺮﻧێﺖ ﺳﻪﮫﺭرﭼﺎﻭوەﯼی ﺳﻮﻭوﺩد ﺑﻪﮫﺧﺶ ﺳﻪﮫﺭرﭼﺎﻭوە ﺑﻨﻪﮫڕەﺗﻴﯿﻪﮫﮐﺎﻥن
https://www.google.iq/url?sa=t&rct=j&q=&esrc=s
&source=web&cd=1&cad=rja&uact=8&ved=0CB ü Data
Structures
and
Algorithms
in
Java
0QFjAA&url=http%3A%2F%2Fso-i-think-i- (4th
edition)
by
Michael
created-my-first-online- T.
Goodrich
and
Roberto
Tamasia
(2010).
project.googlecode.com%2Ffiles%2FData%2520St
ructures%2520and%2520Algorithms%2520in%25
20Java%2520Fourth%2520Edition.pdf&ei=Vc5M
VJXQAuL-
ygOs0YKYDg&usg=AFQjCNG8tYv_o3Roi6OaC
klhy1vwgvMIMQ&sig2=98TN4FBOn8zhN-
Cgd4jMrQ&bvm=bv.77880786,d.bGQ
https://robot.bolink.org/ebooks/Data%20Structures ü Data
Structures
with
Java
Second
Edition
%20with%20Java%202e%20By%20John%20R%2 by
John
R.
Hubbard,
Schaum’s
Outline
0hubbard,%20Schaum's%20Outline%20Series.pdf Series
(2007).
(Theory) ﺑﺎﺑﻪﮫ ﺗﻪﮫ ﻛﺎﻧﻲ ﻭوﺍاﻧﻪﮫ ﻱي
ﻧﺎﻭوﻩه ﺭرﯙۆﻛﻲ ﺯزﺍاﻧﺴﺘﻲ ﺋﺎﻣﺎﻧﺞ ﻟﻪﮫ ﻭوﺑﺎﺑﻪﮫ ﺗﻪﮫ ﺑﺎﺑﻪﮫ ﺗﻪﮫ ﻛﺎﻥن ﻫﮬﮪھﻪﮫ ﻓﺘﻪﮫ
ﺑﺎﺑﻪﮫ ﺗﻪﮫ ﻛﻪﮫ
Overview of Programming Language (JAVA) 1
Ø Introduction
Ø Classes, Objects
Ø Types of Data
Ø Examples
Object-Oriented Programming 2
Ø What is the (OOP)?
Ø What is this Object? (Example)
Ø Thinking Cap Implementation
(use Classes and
Packages)
Ø Using the Thinking Cap (Writing a Java Program)
Ø Questions and Answers.
Arrays 3,4
Ø Properties of Arrays
Ø Duplicating an Array
Ø The java.util.Arrays Class
Ø The Sequential Search Algorithm
Ø The Binary Search Algorithm
Linked Lists 5,6,7
Ø Maintaining an Ordered Array
Ø Linked Nodes
Ø Inserting an Element into a Linked List
Ø Inserting at the Front of the List
Ø Deleting from a Sorted Linked List
Recursion 8
Ø Linear Recursion
Ø Binary Recursion
Ø Multiple Recursions.
Stacks 9, 10,
Ø The Stack Abstract Data Type 11
Ø A Simple Array-Based Stack Implementation
Ø Implementing a Stack with a Generic Linked List
Ø Reversing an Array Using a Stack
12,13,
Queues 14,15,
16
Ø The Queue Abstract Data Type
Ø A Simple Array-Based Queue Implementation
Ø Implementing a Queue with a Generic Linked List
Ø Round Robin Schedulers
Ø The Josephus Problem
Ø Double-Ended Queues
Ø The Deque Abstract Data Type
Ø Implementing a Deque
Trees 17,18,
Ø General Trees 19,20,
Ø Tree Definitions and Properties 21,22
Ø The Tree Abstract Data Type
Ø Implementing a Tree
Ø Tree Traversal Algorithms
Ø Depth and Height
Ø Preorder Traversal
Ø Post order Traversal
Ø Binary Trees
Ø The Binary Tree ADT
Ø A Binary Tree Interface in Java
Ø Properties of Binary Trees
Ø A Linked Structure for Binary Trees
Ø An Array-List Representation of a Binary Tree
Ø Traversals of Binary Trees
23,24,
Binary Search Trees 25,26
Ø Searching Update Operations
Ø Java Implementation
Ø AVL Trees
Ø Update Operations
Ø Java Implementation
Ø Splay Trees
Ø Splaying
Ø When to Splay
Ø Amortized Analysis of Splaying
Ø Multi-Way Search Trees
Ø Update Operations for (2,4) Trees
Ø Red-Black Trees
Ø Update Operations
Ø Java Implementation
Sorting 27,28,
Ø Merge-Sort 29,30
Ø Divide-and-Conquer
Ø Merging Arrays and Lists
Ø The Running Time of Merge-Sort
Ø Java Implementations of Merge-Sort
Ø Merge-Sort and Recurrence Equations
Ø Quick-Sort
Ø Randomized Quick-Sort
Ø In-Place Quick-Sort
Ø A Lower Bound on Sorting
Ø Bucket-Sort and Radix-Sort
Ø Bucket-Sort
Ø Radix-Sort
Ø Comparison of Sorting Algorithms
Note: All the lectures in the Theory will apply in the Practice