User Tools

Site Tools


study_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
study_2 [2020/06/19 17:04] jrsetistudy_2 [2020/11/03 21:32] (current) jrseti
Line 1: Line 1:
-==Binary Heaps==+=====One hour interview Video==== 
 + 
 +https://www.youtube.com/watch?v=3yQ4Jaumw3g 
 + 
 +====Binary Heaps====
  
 [[https://bradfieldcs.com/algos/trees/priority-queues-with-binary-heaps/|Good Binary Heap Tutorial]] [[https://bradfieldcs.com/algos/trees/priority-queues-with-binary-heaps/|Good Binary Heap Tutorial]]
Line 5: Line 9:
 enqueue or dequeue items in O(logn) enqueue or dequeue items in O(logn)
  
-Priority Queues use a min heap or max heap+**Priority Queues** use a min heap or max heap. In Java use the Comparator:
  
-==Reverse Singly Linked List==+<code> 
 +import java.util.*;  
 + 
 +... 
 +PriorityQueue<Student> pq = new PriorityQueue<Student>(5, new StudentComparator()); 
 +... 
 +              
 + 
 +Class StudentComparator implements Comparator<Student>{  
 +               
 +            // Overriding compare()method of Comparator   
 +                        // for descending order of cgpa  
 +            public int compare(Student s1, Student s2) {  
 +                if (s1.cgpa < s2.cgpa)  
 +                    return 1;  
 +                else if (s1.cgpa > s2.cgpa)  
 +                    return -1;  
 +                                return 0;  
 +                }  
 +        }  
 +</code> 
 + 
 +====Reverse Singly Linked List====
  
   prev = None   prev = None
Line 21: Line 47:
  
  
-==Reverse Double Linked List==+====Reverse Double Linked List====
 <code> <code>
 void reverse() {  void reverse() { 
Line 44: Line 70:
 </code> </code>
  
-==Power Sets==+====Power Sets==== 
 + 
 +All combinations of letters in a string. 
 + 
 +Trick = use an integer counter. 
 + 
 +<code> 
 +        /*set_size of power set of a set  
 +        with set_size n is (2**n -1)*/ 
 +        long pow_set_size =   
 +            (long)Math.pow(2, set_size);  
 +        int counter, j;  
 +       
 +        /*Run from counter 000..0 to  
 +        111..1*/ 
 +        for(counter = 0; counter <   
 +                pow_set_size; counter++)  
 +        {  
 +            for(j = 0; j < set_size; j++)  
 +            {  
 +                /* Check if jth bit in the   
 +                counter is set If set then   
 +                print jth element from set */ 
 +                if((counter & (1 << j)) > 0)  
 +                    System.out.print(set[j]);  
 +            }  
 +               
 +            System.out.println();  
 +        }  
 +</code>
  
-==Tries==+====Tries====
  
-==N Choose K==+====N Choose K====
  
 n!/((n-k)!k!) n!/((n-k)!k!)
  
-==Knapsack==+====Knapsack====
  
-==Coins==+====Coins====
  
-==Quick Sort==+====Quick Sort====
  
-==Heaps==+====Heaps====
  
-==Spiral==+====Spiral====
  
-==Quick Sort==+====Quick Sort====
  
-==Priority Queues==+====Priority Queues====
  
  
  
study_2.1592586271.txt.gz · Last modified: 2020/06/19 17:04 by jrseti