Garbage Collection
चूंकि हम जब भी किसी Linked List से किसी Data Item को Delete करते हैं तो उस Data Item द्वारा Reserve की गई Memory Free हो जाती है। इस Free Memory को वापस AVAILABLESPACE Linked List में Link करने के लिए एक तरीके की जरूरत होती है, जिससे Free होने वाला सारा Space वापस किसी अन्य Data Item द्वारा Use किया जा सके। ये काम सामान्यतया Operating System हमारे लिए करता रहता है। ये काम जिस तरीके द्वारा होता है यानी जिस तरीके द्वारा Deleted Nodes से Free होने वाला सारा Space Reuse के लिए वापस AVAILABLESPACE Linked List में Collect होता रहता है, उस Free Space के Collection को Garbage Collection कहा जाता है।
Overflow and Underflow
कई बार नया Node Create करने के लिए AVAILABLESPACE Linked List में Space ही नहीं होता है यानी Free Space List Empty होता है। इस स्थिति को सामान्यतया Overflow कहा जाता है। इस स्थिति में AVAILABLESPACE = NULL होता है।
जब हम किसी Empty Linked List के Data Item को Delete करते हैं, तो उस स्थिति को Underflow कहते हैं। क्योंकि इस स्थिति में Delete होने के लिए कोई Data Item या Node होता ही नहीं है। इस स्थिति में START = NULL होता है।
यदि हम पिछले Algorithm को Implement करते हुए कोई Program बनाना चाहें तो हमें AVAILABLESPACE Linked List को Manage करने की कोई जरूरत नहीं होती है। हमारा Computer स्व;ं ही इस Linked List को Manage व Update करता रहता है। इस स्थिति में हम कोई नई Linked List Create करने के लिए इस Algorithm को निम्नानुसार Function के रूप में Implement कर सकते हैं-
[code] Function //=================================================================================== START = NULL; //This Declaration is Declared in Main Function CREATE(struct LIST **NEWNODE, ITEM) { struct LIST *temp, *NEWNODE; if(*PTR == NULL) //[IF START = NULL ] then Create new NODE { temp = (struct LIST *)malloc(sizeof(struct LIST)); temp->INFO = ITEM; temp->LINK = NULL; *PTR = temp; } } //=================================================================================== [/code]
इस Function में Argument Variable NEWNODE के आगे दो * चिन्ह लगे हुए हैं। इसका मतलब ये है कि इस Variable में किसी अन्य Pointer Variable का Address Store होगा।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Data Structure and Algorithms in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Data Structure and Algorithms in Hindi | Page: 433 | Format: PDF