Data Structures and Algorithms Lab
1. Course Objectives: The objective of DAta Structures and Algorithms Lab (DASAL) is to provide practical learning on various data structures and to understand the processing of different algorithm for problem-solving. This lab complements the data structures and computer algorithms course. DASAL provides the requisite environment for design and analysis of algorithms for solving complex problems in the field of computer science. Students gain practical knowledge by writing and executing programs in C/C++/JAVA using various data structures and implementing algorithms such as “for Searching (Linear and Binary)”, “for the different types of sorting”, “compare their performance in terms of the space and time complexity”. The latest platforms compilers are provided to the students to run their programs. | |
2. Course Outcomes: Upon successful completion of the course/Lab the students will be able to |
|
CO1: Design and analyze the time and space efficiency of the data structure. CO2: Understand the concept of static & Dynamic memory management |
CO3: Identity the appropriate data structure for given problem. CO2: CO4: Have practical knowledge on the applications of data structures |
3. Main Equipment’s/Software’s Available | |
3.1 50 Dell desktops of core i7 Intel 3.60 connected to 24x7 1GBPS high-speed Internet connections. The Dell's Intel Core i7 Desktops are optimized for content streaming, with features like high-quality displays, advanced graphics, and fast connectivity. Dell's Intel Processors Desktops are designed to handle multitasking efficiently, enabling users to run multiple applications simultaneously with ease. | ![]() |
![]() |
3.2 Sony VPL-EW246 Video Projector: The VPL-EW246 is economically designed with a compact body filled with energy and cost saving features. In addition, a variety of network functions, rich inputs and outputs are available. This model is an excellent choice for education and business. It is a compact data projector that delivers exceptional image quality with eco-conscious features. In addition, a variety of network functions such as web control, network presentation and wireless presentation from mobile device can be performed. |
3.3 Dev-C++ is a free full-featured integrated development environment (IDE) distributed under the GNU General Public License for programming in C and C++. It was originally developed by Colin Laplace and was first released in 1998. It is written in Delphi. Millions of developers, students and researchers use Dev-C++ since the first version was released in 1998. It has been featured in dozens of C++ and scientific books and remains one of the favorite learning tool among universities & schools worldwide. | ![]() |
![]() |
3.4 Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. Java was originally developed by James Gosling at Sun Microsystems. It was released in May 1995 as a core component of Sun's Java platform. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. Java was the third most popular programming language in 2022 according to GitHub. |
3.5 Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python consistently ranks as one of the most popular programming languages, and has gained widespread use in the machine learning community. Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly procedural), object-oriented and functional programming. Python was invented in the late 1980s by Guido van Rossum at Centrum Wiskunde & Informatica (CWI) in the Netherlands as a successor to the ABC programming language. |
![]() |
4. Suggestive List of Experiments | |
1. Write a program to find the mean and the median of the numbers stored in an array. 2. Write a program to insert one element in an array and delete an element from an- array. 3. Write a program to Linear & Binary search for a number in an array. 4. Write a program to store the marks obtained by 10 students in 5 courses in a two- dimensional array. 5. Write a program to implement single linked list, including insertion, deletion and searching in the linked list. 6. Write a program to print the elements of a linked list in reverse order without disturbing the linked list. 7. Write a program to reverse a linked list. 8. Write a program to add two polynomials using linked lists. 9. Write a program to implement a doubly linked list including insertion, deletion and searching in the linked list. 10. Write a program to implement a stack using an array and linked list. |
11. Write a program to implement a queue using an array and linked list.12. Write a program to implement a circular queue using an array. 13. Write a program to implement a priority queue using a linked list. 14. Write a program to implement a double-ended queue using a linked list. 15. Write a program to implement different types of sorting. (Bubble, Insertion, Quick, Selection, Merge, Heap) 16. Write a program to construct a binary tree and display its preorder, inorder and postorder traversals. 17. Write a program to perform insertion, deletion and searching in Binary Search Tree. 18. Write a program to construct a graph. 19. Write a program to calculate the distance between two vertices in a graph. 20. Write a program to calculate the distances between every pair of vertices in a graph. 21. Write a program to construct a minimal spanning tree of a graph. |
5. Suggested Books: | 6. References |
1. Thomas H. Cormen, C.E. Leiserson, R L.Rivest and C. Stein, Introduction to Algorithms , Third edition, MIT Press, 2009. 2. Ellis Horowitz, S. Sahni, Freed, “Fundamentals of Data Structures in C”,2nd edition,2015. 3. Y. Langsam, M. J. Augenstein & A. M. Tanenbaum, Data Structures using C, Pearson Edu. Asia, 2004. 4. Data Structures – Lipshutz TMH |
https://en.wikipedia.org/wiki/Data_structure https://www.geeksforgeeks.org/data-structures/ https://www.codechef.com/roadmap/data-structures-and-algorithms https://sourceforge.net/projects/dev-cpp/files/latest/download https://bloodshed-dev-c.en.softonic.com/ https://www.java.com/download/ie_manual.jsp https://www.python.org/downloads/ |
FACULTY COORDINATOR: Dr. L Shyam Sunder Singh LAB INCHARGE: Meraj Mohammed |
LAB CO-INCHARGE: Manoj PLACE: Room#10, Ground Floor, CSED@NIELIT |