Top 10 Programming Language to learn in 2023

Are you a programming enthusiast looking to stay ahead of the curve in 2023? With the ever-evolving tech landscape, keeping up with the Best Programming Language to learn can be a daunting task. Fear not, as we have compiled a list of the top 10 Programming Languages that you should consider learning in 2023. Python: This versatile language continues to dominate in 2023, with its ease of use, readability, and a vast library of modules. JavaScript: As web development grows increasingly popular, JavaScript remains a crucial player, with its ability to create dynamic and interactive web pages. Java: This language has stood the test of time and remains a popular choice for enterprise software development. C++: A staple in the gaming and systems development industries, C++ offers exceptional performance and memory management. Swift: Apple's preferred language for iOS app development, Swift continues to grow in popularity with its simplicity and reliability. R: As data science and machin...

Recurrences And Their Solution Methods

Recurrences

  • Recursive algorithms are described by using recurrence relations.
  • A recurrence is an inequality that describes a problem in terms of itself.
For Example:
Recursive algorithm for finding factorial  
T(n)=1     when n =1
T(n)=T(n-1) + O(1)    when  n>1
Recursive algorithm for finding Nth Fibonacci number
T(1)=1     when n=1 T(2)=1     when n=2
T(n)=T(n-1) + T(n-2) +O(1)     when n>2
Recursive algorithm for binary search
T(1)=1     when n=1
T(n)=T(n/2) + O(1)    when n>1

Techniques for Solving Recurrences We’ll use four techniques:
  1. Iteration method
  2. Recursion Tree
  3. Substitution
  4. Master Method   – for divide & conquer
  5. Characteristic Equation   – for linear


Iteration method

Expand the relation so that summation independent on n is obtained.
Bound the summation e.g.   
T(n)= 2T(n/2) +1  when n>1
T(n)= 1    when n=1
T(n) = 2T(n/2) +1          
= 2 { 2T(n/4) + 1} +1          
= 4T(n/4) + 2 + 1          
= 4 { T(n/8) +1 } + 2 + 1         
= 8 T(n/8) + 4 + 2 + 1             
………………………             
………………………         
= 2^k T( n/2^k) + 2^(k-1) T(n/2^(k-1)) + ………………… + 4 + 2 + 1.
For simplicity assume:
n= 2^k     
k=logn    
T(n)= 2^k + 2^(k-1) + ……………………….. + 2^2 + 2^1 + 2^0    
T(n)= (2^(k+1) -1)/ (2-1)
T(n)= 2^(k+1) -1
T(n)= 2.2^k -1
T(n)= 2n-1
T(n)= O(n)
Recurrences And Their Solution Methods

Substitution Method


Takes two steps:
  • Guess the form of the solution, using unknown constants.
  • Use induction to find the constants & verify the solution.

 Completely dependent on making reasonable guesses
Consider the example:
Recurrences And Their Solution Methods

Second Example
Recurrences And Their Solution Methods

Recurrences And Their Solution Methods

Changing Variables:
Sometimes a little algebraic manipulation can make an unknown recurrence similar to one we have seen
Consider the example
Recurrences And Their Solution Methods



Comments

Popular posts from this blog

Eliminating Epsilon transition (ε-Transitions) | Conversion of Epsilon-NFA to DFA | Conversion of Epsilon-NFA to NFA | Theory Of Computation (TOC)

C program to Find Cartesian Product of Two Sets | C programming

Top 10 Programming Language to learn in 2023