A linked list is a data structure in which each node has a pointer to the next node, and thus the whole list is linked.
Some advantages are:
* Easy traversal of the whole list (simply follow the pointers) * Easy insertion and deletion of nodes (don't need to move all the other nodes around)
A stack is generally First In, Last Out, and a queue is First In First Out.Item can be added or removed only at one end in stack and in a queue insertion at the rear and deletion from the front.The basic operation of stack are 'push' and 'pop', on other hand of queue are 'enque' and 'dequeue'.
The top of a stack implemented as a linked list is the head of the list. All insertions and extractions occur at the head thus a forward list (singly-linked list) is sufficient to implement a stack.
A linked list is a data structure that allows bi-directional traversal with constant-time access to both the head and the tail of the list. Elements may be pushed and popped from anywhere in the list. A stack is a structure where elements are pushed and popped only at the head of the stack. A stack is typically implemented using an array (either fixed-length or variable-length) where elements are pushed and popped from the end of the array (you need to keep track of where the last-used element is). However, a stack can also be implemented as a singly-linked list, pushing and popping at the head of the list. Stacks generally do not allow traversal of the elements.
It depends on what you intend to do with the data. The assumption is the data is dynamic, the number of elements are not known in advance. Binary trees are best if you want to sort the data as it is entered. Linked lists are best if you simply want a list of sequential data, or need to implement a stack or a queue.
Queues are a first in first out structure (FIFO). This means all extractions occur at the head of the list and all insertions occur at the tail. This requires that you maintain pointers to the head and tail node to allow constant time insertion and extraction of nodes. The nodes themselves are singly linked, each pointing to the next node. The tail node always points to NULL until a new node is insert, which the tail points to. The new node then becomes the tail. When extracting a head node, its next node (which may be NULL if it is also the last node) becomes the new head of the list. If the head is NULL, the tail is also set to NULL.
Yes it is possible to implement stack and queue using linked list
A stack is generally First In, Last Out, and a queue is First In First Out.Item can be added or removed only at one end in stack and in a queue insertion at the rear and deletion from the front.The basic operation of stack are 'push' and 'pop', on other hand of queue are 'enque' and 'dequeue'.
The top of a stack implemented as a linked list is the head of the list. All insertions and extractions occur at the head thus a forward list (singly-linked list) is sufficient to implement a stack.
some disadvantages created in stack using array then that problem solve to linked list use in stack.First advantage for size of stack not limited in linked list using.second essay to stack programme implement using only one pointer.
A linked list is a data structure that allows bi-directional traversal with constant-time access to both the head and the tail of the list. Elements may be pushed and popped from anywhere in the list. A stack is a structure where elements are pushed and popped only at the head of the stack. A stack is typically implemented using an array (either fixed-length or variable-length) where elements are pushed and popped from the end of the array (you need to keep track of where the last-used element is). However, a stack can also be implemented as a singly-linked list, pushing and popping at the head of the list. Stacks generally do not allow traversal of the elements.
It depends on what you intend to do with the data. The assumption is the data is dynamic, the number of elements are not known in advance. Binary trees are best if you want to sort the data as it is entered. Linked lists are best if you simply want a list of sequential data, or need to implement a stack or a queue.
linked list are used for creation of stack,queues to use memory in optimum manner linked list are used as they are dynamic in nature
Binary trees main advantages are in searching and sorting. Algorithms for searching binary trees (Binary search trees) worst case ie. least efficient is when all the data is in a chain with no sub trees (like a linked list).So for data stored in a binary tree, at worst it will be as effective for searching and sorting as a linked list, stack etc. At best it will be much faster.The only disadvantage I can think of is reordering the tree on removal of an element is a little more complex than in say a list or stack. But still quite easy to implement.
Queues are a first in first out structure (FIFO). This means all extractions occur at the head of the list and all insertions occur at the tail. This requires that you maintain pointers to the head and tail node to allow constant time insertion and extraction of nodes. The nodes themselves are singly linked, each pointing to the next node. The tail node always points to NULL until a new node is insert, which the tail points to. The new node then becomes the tail. When extracting a head node, its next node (which may be NULL if it is also the last node) becomes the new head of the list. If the head is NULL, the tail is also set to NULL.
Advantages of single linked list: # Decrease in storage space per linked list node # Simpler implementation Advantages of double linked list # Decrease in work when accessing a random node # Decrease in work when inserting or deleting a node
A stack is a data structure in which last item inserted is taken out first . That's why they are known as LIFO (last in first out). Inserting an item in stack is termed as push and taking an item out from stack I s termed as pop. Some applications of stack are : Polish notation, reversing string, backtracking , quick sort algorithm etc. The queue is a linear data structure where operations od insertion and deletion are performed at separate ends also known as front and rear. Queue is a FIFO structure that is first in first out. Whenever a new item is added to queue, rear pointer is used. and the front pointer is used when an item is deleted from the queue.
Add weights to the elements of the queue and use an algorithm to sort the queue every time an element is added.