Subject: Data Structures and Algorithms	Code: MIE0001	

Semester	 Hours: C+S+L	Type	 Section	
2	2+1+0	compulsory	Mathematics	
2	2+1+0	compulsory	Computer Science	
2	2+1+0	compulsory	Mathematics and Computer Science	
2	2+1+0	compulsory	Applied Mathematics	

Teaching Staff in Charge	Assoc.Prof. SERBAN Gabriela, Ph.D., gabis@cs.ubbcluj.ro
Assoc.Prof. NICULESCU Virginia, Ph.D., vniculescu@cs.ubbcluj.ro
Lect. IONESCU Clara, Ph.D., clara@cs.ubbcluj.ro
Lect. CIOBAN Vasile, Ph.D., vcioban@cs.ubbcluj.ro
Asist. MIHIS Andreea Diana, mihis@cs.ubbcluj.ro	
Aims	- understanding the most used abstract data types: arrays, linked lists, binary trees, hash tabels, and developing the abilities to use them;
- developing the abilities for designing algorithms that use these structures;
- learning to estimate the algorithms complexity.
	
Content	Arrays (sorting algorithms: mergesort, heapsort, radixsort, bucketsort etc.)
Linked lists (simple, and double)
Hash-tabels
Binary trees
Stacks
Queues and priority queues
Heap structures
Maps
Balanced binary search trees
Algorithms complexity	
Selective References	BIBLIOGRAFIE
1. CORMEN, THOMAS H. - LEISERSON, CHARLES - RIVEST, RONALD R.: Introducere în algoritmi. Cluj-Napoca: Editura Computer Libris Agora, 2000. 
2. HOROWITZ, E.: Fundamentals of Data Structures in C++. Computer Science Press, 1995. 
3. MOUNT, DAVID M.: Data Structures. University of Maryland, 1993. 
4. AMBSBURY, WAYNE: Data Structures. From Arrays to Priority Queues, 1993. 
5. WIRTH, N.: Algorithms + Data Structures = Programs. Prentice- Hall Inc., 1976.
6. STANDISH, T.A.: Data Structures, Algorithms & Softwae Principles in C, Addison-Wesley, 1995
7. SEDGEWIK: Algorithmen
8. Frentiu, M., Pop, H.F., Serban, G.: Programming Fundamentals, Ed. Presa Universitara Clujeana, Cluj-Napoca, 2006

Assessment	Each student will receive a list of problems that must be solved during the term. For this homework the student will receive a first grade (A). Each student will receive a grade to a written paper at the middle of the term (B). At the end of the term the student must take an  exam for which he will receive a third grade (C). The final grade will be computed as (2*A+2*B+6*C)/10. The access to the written paper is conditioned by the grade (A), which has to be at least 5. In order to promote the final exam, grade (C) and the final grade has to be at least 5.