Data structure using C
Proposal on phone directory application
using doubly-linked list
1.0 Brief Introduction:
In computer science, a doubly linked list is a linked data structure that
consists of a set of sequentially linked records called nodes. Each node contains
three fields: two link fields (references to the previous and to the next node in the
sequence of nodes) and one data field. The beginning and ending nodes' previous
and next links, respectively, point to some kind of terminator, typically a sentinel
node or null, to facilitate traversal of the list. If there is only one sentinel node,
then the list is circularly linked via the sentinel node. It can be conceptualized as
two singly linked lists formed from the same data items, but in opposite
sequential orders.
Phone Directory can be efficiently implemented using Trie Data Structure.
We insert all the contacts into Trie.
Generally, search query on a Trie is to determine whether the string is present
or not in the trie, but in this case we are asked to find all the strings with each
prefix of ‘str’. This is equivalent to doing a DFS traversal on a graph. From a Trie
node, visit adjacent Trie nodes and do this recursively until there are no more
adjacent. This recursive function will take 2 arguments one as Trie Node which
points to the current Trie Node being visited and other as the string which stores
the string found so far with prefix as ‘str’.
Each Trie Node stores a Boolean variable ‘is Last’ which is true if the node
represents end of a contact(word).
2.0 Aim of the Micro-Project:
➢ Save the data in file.
➢ Add numbers, delete number from the current list.
➢ Search & modify the given list
3.0 Intended Course Outcome:
➢ We define the problem on which we are working in the project.
➢ We understand the problem domain. the produce a model of the system.
4.0 Literature Review:
The problem of determining a heuristic which maintains a doubly linked list
in approximately optimal order with respect to mean search time is considered.
Within a general framework of simple assumptions, it is shown that in one
particular case no such heuristic can be found, while in many other situations
heuristics for similarly maintaining sequential lists should be used. In the
remaining circumstances a heuristic known as move to end is shown to reduce
search time, on average, to at most twice the minimum value determined by an
optimal ordering of the list.
5.0 Proposed methodology:
1. Save numbers.
2. Can search and update the number.
3. When a number is off, you can delete it from your directory.
4. Can see all the list any time.
6.0 Resources Required:
No Name of Specifications Quantity Remarks
resources/material
1. Software Microsoft - 1
world
2. Operating system Windows 8.1 - 2
7.0 Action plan:
No Detail of Planned Planned Team of responsible member
activity start date finish
date
1. Information Girish Desai
collection
2. Proposal Sanskruti Bhakare
creation
3. Report Sanskruti Bhakare & Girish
creation Desai