singly linked list | doubly linked list |
---|
1. singly linked list में प्रत्येक node, डेटा को contain करता है तथा अगले node के part से link होता है। | Doubly linked list में प्रत्येक node, डेटा को contain करता है एवं अगले node तथा पिछले node के parts से link होता है। |
2. चूँकि singly linked list में node पिछले node से लिंक नहीं होता है इसलिए हम इसमें पीछे को traverse नहीं कर सकते। | doubly में node जो है वह अगले और पिछले दोनों nodes से लिंक होता है इसलिए हम इसमें दोनों तरफ traverse कर सकते है। |
3. यह प्रत्येक नोड के लिए कम memory का प्रयोग करता है। | यह प्रत्येक नोड के लिए ज्यादा memory का use करता है। |
4. इसमें insertion और deletion की complexity को position O(n) से पता कर सकते है। | इसमें insertion और deletion की complexity को position O(1) से जान सकते है। |
5. जब हमें memory को save करना होता है तथा searching की जरूरत नहीं होती है तब हम singly linked list का प्रयोग करते है। | जब हमें बेहतर performance की आवश्यकता होती है तथा memory एवं searching की कोई limitation नहीं होती है तब हम doubly linked list का प्रयोग करते हैं। |
6. यदि हमें पता होता है कि एक element list के अंत में है तो हमें फिर भी list के शुरुआत से traverse करना होता है। | यदि हमें पता होता है कि एक element list के अंत में है तो हम list के पीछे से traverse कर सकते है। |
7. इसका ज्यादातर प्रयोग stacks के लिए किया जाता है. | इसका सबसे ज्यादा प्रयोग stacks, heaps तथा binary trees को implement करने के लिए किया जाता है। |