ALGORITHMS - UNIT II

This is a basic division of how algorithms.

Get Started. It's Free
or sign up with your email address
ALGORITHMS - UNIT II by Mind Map: ALGORITHMS -  UNIT II

1. SINGLY LINKED

1.1. INSERTION

1.1.1. BEGINNING

1.1.1.1. newnode = create newnode newnode->data =data newnode-> next =null; 2. if(head!= NULL) newnode->next=head head=newnode 3. End if 4. stop

1.1.2. END

1.1.2.1. 1. newnode = create newnode newnode->data =data newnode-> next =null 2. temp = head while (temp -> next != NULL) do temp = temp -> next End while temp->next = newnode newnode->next=null stop

1.1.3. SPECIFIED POSITION

1.1.3.1. 1. temp=head; while(i<pos) temp=temp->next; i++ End while 2. new node = create new node new node->data =data new node ->next=temp->next temp->next=newnode

1.2. DELETION

1.2.1. BEGINNING

1.2.1.1. o Step 1: IF HEAD = NULL Write UNDERFLOW Go to Step 5 [END OF IF] o Step 2: SET TEMP = HEAD o Step 3: SET HEAD = HEAD -> NEXT o Step 4: FREE TEMP o Step 5: EXIT

1.2.2. END

1.2.2.1. Step 1: IF HEAD = NULL Write UNDERFLOW Go to Step 8 [END OF IF] Step 2: SET TEMP = HEAD Step 3: Repeat Steps 4 and 5 while TEMP -> NEXT!= NULL Step 4: SET PRETEMP = TEMP Step 5: SET TEMP = TEMP -> NEXT [END OF LOOP] Step 6: SET PRETEMP -> NEXT = NULL Step 7: FREE TEMP Step 8: EXIT

1.2.3. SPECIFIED NODE

1.2.3.1. STEP 1: IF HEAD = NULL WRITE UNDERFLOW GOTO STEP 10 END OF IF STEP 2: SET TEMP = HEAD STEP 3: SET I = 0 STEP 4: REPEAT STEP 5 TO 8 UNTIL I STEP 5: PTR1 = TEMP STEP 6: TEMP = TEMP → NEXT STEP 7: IF TEMP = NULL WRITE "DESIRED NODE NOT PRESENT" END OF IF STEP 8: I = I+1 END OF LOOP STEP 9: PTR1 → NEXT = TEMP → NEXT STEP 10: FREE TEMP

1.3. TRAVERSING

1.3.1. STEP 1: SET TEMP = HEAD STEP 2: IF TEMP = NULL WRITE "EMPTY LIST" GOTO STEP 7 END OF IF STEP 4: REPEAT STEP 5 AND 6 UNTIL TEMP != NULL STEP 5: PRINT TEMP→ DATA STEP 6: TEMP = TEMP → NEXT [END OF LOOP] STEP 7: EXIT

2. DOUBLY LINKED

2.1. INSERTION

2.1.1. BEGINNING

2.1.1.1. Step 1: IF NEWNODE = NULL Write OVERFLOW Go to Step 9 [END OF IF] Step 2: SET NEW_NODE = TEMP Step 3: SET TEMP = TEMP -> NEXT Step 4: SET NEW_NODE -> DATA = VAL Step 5: SET NEW_NODE -> PREV = NULL Step 6: SET NEW_NODE -> NEXT = START Step 7: SET head -> PREV = NEW_NODE Step 8: SET head = NEW_NODE Step 9: EXIT

2.1.2. END

2.1.2.1. Step 1: IF PTR = NULL Write OVERFLOW Go to Step 11 [END OF IF] Step 2: SET NEW_NODE = PTR Step 3: SET PTR = PTR -> NEXT Step 4: SET NEW_NODE -> DATA = VAL Step 5: SET NEW_NODE -> NEXT = NULL Step 6: SET TEMP = START Step 7: Repeat Step 8 while TEMP -> NEXT != NULL Step 8: SET TEMP = TEMP -> NEXT [END OF LOOP] Step 9: SET TEMP -> NEXT = NEW_NODE Step 10C: SET NEW_NODE -> PREV = TEMP Step 11: EXIT

2.1.3. SPECIFIED NODE

2.1.3.1. Algorithm INSERT_POS() Step 1: IF PTR = NULL Write OVERFLOW Go to Step 15 [END OF IF]

2.1.3.1.1. 2: SET NEW_NODE = PTR 3: SET PTR = PTR ->NEXT 4: SET NEW_NODE -> DATA = VAL

2.2. DELETION

2.2.1. BEGINNING

2.2.1.1. STEP 1: IF HEAD = NULL WRITE UNDERFLOW GOTO STEP 6 STEP 2: SET PTR = HEAD STEP 3: SET HEAD = HEAD → NEXT STEP 4: SET HEAD → PREV = NULL STEP 5: FREE PTR STEP 6: EXIT

2.2.2. END

2.2.2.1. Step 1: IF HEAD = NULL Write UNDERFLOW Go to Step 7 [END OF IF] Step 2: SET TEMP = HEAD Step 3: REPEAT STEP 4 WHILE TEMP->NEXT != NULL Step 4: SET TEMP = TEMP->NEXT [END OF LOOP] Step 5: SET TEMP ->PREV-> NEXT = NULL Step 6: FREE TEMP Step 7: EXIT

2.2.3. SPECIFIED NODE

2.2.3.1. Step 1: IF HEAD = NULL Write UNDERFLOW Go to Step 9 [END OF IF] Step 2: SET TEMP = HEAD Step 3: Repeat Step 4 while TEMP -> DATA != ITEM Step 4: SET TEMP = TEMP -> NEXT [END OF LOOP] Step 5: SET PTR = TEMP -> NEXT Step 6: SET TEMP -> NEXT = PTR -> NEXT Step 7: SET PTR -> NEXT -> PREV = TEMP Step 8: FREE PTR Step 9: EXIT

2.3. TRAVERSING

2.3.1. Step 1: IF HEAD == NULL WRITE "UNDERFLOW" GOTO STEP 6 [END OF IF] Step 2: Set PTR = HEAD Step 3: Repeat step 4 and 5 while PTR != NULL Step 4: Write PTR → data Step 5: PTR = PTR → next Step 6: Exit

3. CIRCULAR SINGLY LINKED

3.1. INSERSION

3.1.1. BEGINNING

3.1.1.1. Step 1: IF PTR = NULL Write OVERFLOW Go to Step 11 [END OF IF] Step 2: SET NEW_NODE = PTR Step 3: SET PTR = PTR -> NEXT Step 4: SET NEW_NODE -> DATA = VAL Step 5: SET TEMP = HEAD Step 6: Repeat Step 8 while TEMP -> NEXT != HEAD Step 7: SET TEMP = TEMP -> NEXT [END OF LOOP] Step 8: SET NEW_NODE -> NEXT = HEAD Step 9: SET TEMP → NEXT = NEW_NODE Step 10: SET HEAD = NEW_NODE Step 11: EXIT

3.1.2. END

3.1.2.1. Step 1: IF HEAD = NULL Write UNDERFLOW Go to Step 8 [END OF IF] Step 2: SET PTR = HEAD Step 3: Repeat Steps 4 and 5 while PTR -> NEXT != HEAD Step 4: SET PREPTR = PTR Step 5: SET PTR = PTR -> NEXT [END OF LOOP] Step 6: SET PREPTR -> NEXT = HEAD Step 7: FREE PTR Step 8: EXIT

3.1.3. TRAVERSING

3.1.3.1. STEP 1: SET PTR = HEAD STEP 2: IF PTR = NULL WRITE "EMPTY LIST" GOTO STEP 8 END OF IF STEP 4: REPEAT STEP 5 AND 6 UNTIL PTR → NEXT != HEAD STEP 5: PRINT PTR → DATA STEP 6: PTR = PTR → NEXT [END OF LOOP] STEP 7: PRINT PTR→ DATA STEP 8: EXIT