Abstract data type-list, Data Structure & Algorithms

Assignment Help:

It is a useful tool for indicating the logical properties of data type. It is a collection of values & a set of operations on those values. Methodically, "a TYPE is a set, & elements of set are Values of that type".

ADT List

A list of elements of type T is finite sequence of elements of type T together with the operations of, update, create,delete, testing for full,testing for empty, finding the size, traversing the elements.

In defining Abstract Data Type, we are not concerned with time or space efficiency as well as regarding implementation details. The elements of a list might be characters,integers, real numbers & combination of multiple data types.

Consider a real world problem, where we have a company and we want to store the details of employees. To store the details, we need a data type which can store the type details containing the name of employee, date of joining etc. The list of employees may increase depending on the recruitment and may decrease on retirements or termination of employees. For making it simple and for better understanding purpose, we are only taking the name of employee field and ignoring the date of joining etc. The operations we must perform on this list of employees are creation, insertion, deletion, visiting, etc. We described employee_list as

typedefstruct

{

char   name[20];

...................

......................

}  emp_list;

The Operations on emp_list can be defined as

Create_emplist (emp_list   * emp_list )

{

/* we will be writing create function by taking help of 'C' programming language, here */

}

The list has been created & name is a valid entry in emplist, & position p specifies the position in the list where name must inserted insert_emplist (emp_list   * emp_list ,   char      *name, int position  )

{

/* we will be writing insert function by taking help of 'C' programming language,Here */

}

delete_emplist (emp_list   * emp_list,    char      *name)

{

/* we will be writing delete function by taking help of 'C' programming language,Here */

}

visit_emplist (emp_list   * emp_list )

{

/* we will be writing visit function through taking help of 'C' programming language,here */

}

The list can be implemented through two ways: the contiguous (Array) implementation & the linked (pointer) implementation. In the contiguous implementation, the entries into the list are stored next to each other into an array. The linked list implementation uses pointers & dynamic memory allocation.


Related Discussions:- Abstract data type-list

State about the pre- and post conditions, State about the pre- and post con...

State about the pre- and post conditions Programmers can easily document other pre- and post conditions and class invariants, though, and insert code to check most value preco

Stack and array, how to implement multiple stack using single dimension arr...

how to implement multiple stack using single dimension array in c

Finite automata, find the grammar of regular expression of (a/?)(a/b)?

find the grammar of regular expression of (a/?)(a/b)?

Minimum cost spanning trees, A spanning tree of any graph is only a subgrap...

A spanning tree of any graph is only a subgraph that keeps all the vertices and is a tree (having no cycle). A graph might have many spanning trees. Figure: A Graph

Non Recursive Algorithm to Traverse a Binary Tree, Q. Write down a non recu...

Q. Write down a non recursive algorithm to traverse a binary tree in order.                    Ans: N on - recursive algorithm to traverse a binary tree in inorder is as

Doubly linked list having n nodes, The time required to delete a node x fro...

The time required to delete a node x from a doubly linked list having n nodes is O (1)

Define minimum spanning tree, Define Minimum Spanning Tree A minimum sp...

Define Minimum Spanning Tree A minimum spanning tree of a weighted linked graph is its spanning tree of the smallest weight, where the weight of a tree is explained as the sum

Pseudocodes, how to draw a 5 inch square on the screen using * symbol

how to draw a 5 inch square on the screen using * symbol

Explain in detail about the ruby arrays, Explain in detail about the Ruby a...

Explain in detail about the Ruby arrays Ruby arrays have many interesting and powerful methods. Besides indexing operations which go well beyond those discussed above, arrays h

Need help with working out. I dont really get it, Suppose there are exactly...

Suppose there are exactly five packet switches (Figure 4) between a sending host and a receiving host connected by a virtual circuit line (shown as dotted line in figure 4). The tr

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd