Strukturë të dhënash

Print

Rexhion Qafa, Msc

Code
CMP 115
Name
Data Structure
Semester
1
Lecture hours
3.00
Seminar hours
1.00
Laborator hours
0.00
Credits
3.50
ECTS
5.00
Description

The "Data Structure" course provides general knowledge on the main data structures and algorithms used to manipulate them. Algorithms and Data Structures are the two essential pillars to build an efficient applications, regardless of the tools used for their implementation. In this context, through this course students will be able to understand the importance and impact that Data Structures have. This course will first address the main types of Data Structures, the advantages and disadvantages of these structures compared to each other and how to implement them. It will also address main searching and sorting algorithms based on these structures.

Objectives

Java
Tema
1
Introduction to Data Structures This topic provides an overview of the course by addressing in general terms algorithms and main data structures. The topic deals with the concept of algorithm, its history, its importance in programming and makes a general presentation of search and sorting algorithms. In this topic are treated in general Arrays, Linked Lists, Stacks and Queues Data Structures. (Pg. 5-26)
2
Memory, Abstract Data Types and Addresses Explaining main concepts and mechanisms that are constituent elements and on which all data structures are built will help students understand and implement previous topics. This topic takes a look at computer memory, memory reservation, memory addresses, and abstract data types. Also in this topic are treated the concepts of variables and pointers, their declaration and initialization, the creation of new types of data by the user and the declaration of various objects. (Pg. 27 – 45)
3
Arrays and Strings This topic deals with one, two and multi-dimensional arrays, their importance, array operations, implementation and the analysis of the time efficiency of each operation. This topic also addresses Strings, changes in implementation compared to other Arrays, and finally addresses the advantages and disadvantages of the Array data structure. (Pg. 46-102)
4
Algorithms Analysis This topic addresses what is algorithm analysis, its importance in building an algorithm, classifying the growth rate of the algorithm, the Big-O, Theta and Omega notions, analyzing the efficiency of algorithms by case and comparing them in different examples. (Pg. 103-131)
5
Linked Lists This topic deals with the standard structure of the simple linked list, its main components, the differences of the simple linked structure once from double linked structure, the implementation and operations done to linked lists. Also this topic examines circular, double circular and multi-lists data structures. (Pg. 174 – 267)
6
Linked Lists This topic deals with the standard structure of the simple linked list, its main components, the differences of the simple linked structure once from double linked structure, the implementation and operations done to linked lists. Also this topic examines circular, double circular and multi-lists data structures. (Pg. 174 – 267)
7
Stacks and Queues This topic deals with Stack and Queues, properties and operations of Stacks and Queues, their implementation through arrays and linked lists, error states, Queue types, implementation in computer science and Advantages and Drawbacks of Stack and Queues (Pg. 141 – 173)
8
Midterm Exam
9
Stacks and Queues This topic deals with Stack and Queues, properties and operations of Stacks and Queues, their implementation through arrays and linked lists, error states, Queue types, implementation in computer science and Advantages and Drawbacks of Stack and Queues (Pg. 141 – 173)
10
Recursion This topic addresses recursion, its implementation through the example of factorial and its advantages and disadvantages. The main recursive algorithms and divide and counter algorithms are also treated. (Pg. 268 – 301)
11
Trees This topic deals with trees (Trees), their mathematical features, tree traversal, tree search according to the techniques "depth first search" and "width first search", implementation of recursive algorithms through trees. Binary trees, its elements, research in them and their implementation are also treated. (Pg. 304 – 367)
12
Graphs This topic deals with graphs, undirected graph representation, matrix and neighborhood list, algorithms for undirected graphs, traversing them using “depth first” and “width first” techniques, minimum tree traversal, Dijkstra- prim algorithms, Kruska and the shortest stack algorithm via Dijkstra's. (Pg. 457 – 496)
13
Searching Algorithms This topic deals with sequential and binary search algorithms, binary search algorithm analysis, string joining algorithm, prime numbers, Eratostene sieve, implementation of these algorithms by means of various examples, and analysis of their complexity. (Pg. 497 – 515)
14
Sorting Algorithms This topic deals with Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, and Merge Sort algorithms. The ways of implementation and analysis of efficiency of these sorting algorithms are also addressed (Pg. 516 – 547)
15
General Review
16
Final Exam
1
Studentët do të jenë të aftë të kuptojnë strukturat kryesore të të dhënave.
2
Studentët do të kenë njohuri mbi trajtimin e strukturave të të dhënave.
3
Studentët do të përvetësojnë konceptet më të rëndësishme të strukturave të të dhënave dhe algoritmikës.
4
Studentët do të jenë të aftë të kuptojnë rëndësinë e strukturave të të dhënave dhe algoritmikës në ndërtimin e një aplikacioni efikas.
5
Studentët do të jenë të aftë për të implementuar këto struktura të dhënash në çfarëdolloj gjuhe programimi.
6
Studentët do të jenë të pajisur me terminologjinë e mjaftueshme teknologjike për të vijuar me lëndët e tjera pasardhëse.
Quantity Percentage Total percent
Midterms
1 40% 40%
Quizzes
0 0% 0%
Projects
0 0% 0%
Term projects
0 0% 0%
Laboratories
0 0% 0%
Class participation
0 0% 0%
Total term evaluation percent
40%
Final exam percent
60%
Total percent
100%
Quantity Duration (hours) Total (hours)
Course duration (including exam weeks)
16 4 64
Off class study hours
14 4 56
Duties
0 0 0
Midterms
1 2 2
Final exam
1 2 2
Other
0 0 0
Total workLoad
124
Total workload / 25 (hours)
4.96
ECTS
5.00