Skip to content

adityaanand13/DataStructures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structure

Introduction

Data Structure is one of primary important unit of Computer science. Organising and giving a structure to raw data is vital for the design and implementation of efficient algorithms and programs. Most of the system programs need to keep Data stored in the primary memory or cache memory for the most efficient performance. Keeping raw data directly on to the system will not only take more space but will require very large fetch and processing time. Data structures are mostly related to the abstract data types since these types of data structures are not known by their type of value but rather then their behavior (semantics)

Different use case requires different type of structure and arrangement of data. Using one type of data structure into other structure will not only hinder its implementation but will also slow down the entire fetch and processing time. Often referred to as Time Complexity and Space Complexity. I have tried to mention the time complexity and space complexity of every algorithm.

Why C, C++ and Java ?

C

The C programming language was originally designed to develop system programs. It interacts directly to the system and gives the program ability to handle memory and system resources. I wanted to start implementing algorithms directly from C++, but my professor advise me to implement first in C. As in contrast to C++, one has to use Structures (Struct) to implement Abstract data type. But structures in C don't have a built in functions which can be used to define the behaviour of ADT. for this we have to rely on the old-school method of using POP functions to work around the data. This often limits the possibility of implementing the data structures as compared to OOP capability of C++.

Compiler Used GNU GCC 4.2.1 , Apple LLVM version 9.1.0 (clang-902.0.39.1)

C++

C++ is not only my first proffered programming language but is also one of the fastest evolving programming language. Someone who learned C++ ten years from now will surely say python and Java are better alternatives. things have evolved rapidly over time. Things Like standard template library, lambda expressions and many more features were introduced in C++ way before other programming language. C++ is not only most efficient Object oriented programming language but also packs some native features of C and POP language. This makes it a great programming language. Since i have Implemented Data structures in C, it didn't took me much long to implement it using class-object referencing structures. plus, use of static members of a class makes thing easy to keep track of elements and behavior which belong to the entire structure, rather than one single node. such as total no of elements, Top of the stack and highest priority elements.

Since, Data Structure using C++ isn't in my college curriculum. I have done this in my spare time. This programs will be committed After May 30, 2018.

Compiler Used GNU G++ 4.2.1 , Apple LLVM version 9.1.0 (clang-902.0.39.1)

Java

Java is one of the most preferred programming language when it comes to application and web service development. This is primarily due to its system independent nature and vast integration with other individual elements. Since I had Java in my High school and Higher Secondary School, it wasn't hard for me to get started with Data Structures in Java. The programs will be uploaded after 30th may, 2018.