Skip to main content

Posts

Classes and Objects in PYTHON (Object Oriented Programming)

Solving a problem by creating objects is one of the most popular approach in programming. This is called Object Oriented Programming This concept is based on using reusable code but differently from functions. It is based on DRY (Don't Repeat Yourself) Principle. CLASS :- A class is a blueprint for creating objects. It can described as a group of objects. Objects are the instances of a class. We will further define this in our upcoming code in this post. Lets see a basic program for the class and objects to understand it properly. class Students: pass #we have three students alok, vinay and aashish alok = Students() vinay = Students() aashish = Students() #there data is given as per alok.name = "Alok Kumar" alok.age = 17 alok.standard = "11 th" vinay.name = "Vinay Sharma" vinay.age = 18 vinay.standard = "12 th" aashish.name = "Aashish Mishra" aashish.age = 16 aashish.standard = "10 th" print(vinay) print(alok.a...

Quicksort Algorithm and Data structure in PYTHON

  So, now what is Quicksort ? Quicksort, or partition-exchange sort, is a sorting algorithm developed by Tony Hoare that, on average, makes O comparisons to sort n items. In the worst case, it makes O comparisons, though this behavior is rare. Quicksort is often faster in practice than other O algorithms. Additionally, quicksort's sequential and localized memory references work well with a cache. Quicksort is a comparison sort and, in efficient implementations, is not a stable sort. Quicksort can be implemented with an in-place partitioning algorithm, so the entire sort can be done with only O additional space used by the stack during the recursion. Properties of Quicksort :- The quick sort is an  in-place, divide-and-conquer, massively recursive sort algorithm . The efficiency of the algorithm is majorly impacted by which element is chosen as the pivot point. The worst-case efficiency of the quick sort is o (n²) when the list is sorted and left most element is chosen as the p...

Merge Sort Algorithm in PYTHON

  First of all, Why do we need to learn so many sorting algorithms? We need to learn so many sorting algorithms because there are cases in which which algorithm fits best. According to the time complexity, we have to choose an algorithm of our use. That's why we are learning so many sorting algorithms. SO LETS START WITH THE MERGE SORT In computer science, merge sort (also commonly spelled as mergesort) is an efficient, general-purpose, and comparison-based sorting algorithm. Most implementations produce a stable sort, which means that the order of equal elements is the same in the input and output. It is one of the most popular algorithms and one of the most stable sorting algorithm. ALGORITHM 1.) First of all take a list and put it in a function (recursion) that it breaks itself into two halves. 2.) When we get the two halves, the recursion code will automatically breaks the two halves into four             parts and then into 8 parts until each...

Selection Sort Algorithm in PYTHON

In computer science, selection sort is an in-place comparison sorting algorithm. It is inefficient on large list. It has a performance wore than Insertion sort. But at some case it proves its simplicity and advantages. The time complexity of the selection sort is the same in all cases. At every step, you have to find the minimum element and put it in the right place. The minimum element is not known until the end of the array is not reached. ALGORITHM 1.) First of all take a list, and look for the minimum element. 2.) Place that minimum element at the first position and the first element at the index of that         minimum element. 3.) Now fix the minimum at first position, now look for the minimum element in the list              except the first element because it is already sorted. Now place the minimum element            on  second position and that second element at the index of that min...

Insertion Sort Algorithm in PYTHON

Insertion sort is based on the idea that one element from the input elements is consumed in each iteration to find its correct position i.e, the position to which it belongs in a sorted array. It iterates the input elements by growing the sorted array at each iteration. It compares the current element with the largest value in the sorted array. Insertion is a simple way or simple algorithm to sort a list. It is much more efficient than bubble sort. But for larger list Insertion sort is not suggested. For that we will study about merge sort and quick sort algorithms. But in this this tutorial we will learn INSERTION SORT algorithm and data structure. ALGORITHM 1.) First of all take a list. Now compare the second element of the list with left hand side elements of the list i.e. the first element. If second element id greator than swap. 2.) Now take third element, compare it with the left hand side elements i.e. first and second element and place the element accordingly the first and seco...

Bubble Sort Algorithm in PYTHON

What is Bubble Sort ? And why do we need this ? Bubble sort is the simplest algorithm to sort any array. Due to its simplicity, bubble sort is often used to introduce the concept of a sorting algorithm.  In computer graphics it is popular for its capability to detect a very small error (like swap of just two elements) in almost-sorted arrays and fix it with just linear complexity (2n). For example, it is used in a polygon filling algorithm, where bounding lines are sorted by their x coordinate at a specific scan line (a line parallel to x axis) and with incrementing y their order changes . ALGORITHM :- 1.) Firstly we have an unsorted list, which is to be sorted. 2.) Consider the first element of the list. Then compare it with the next element. 3.) If the second element is greator than the first element than swap them. 4.) If the second element is smaller than the first element, then we don't have to do anything. 5.) Going ahead, now after swap (may or may not), look for second...

Functions and Recursion in PYTHON

  A Function is a group of statements performing a particular task. When a program gets bigger in size and its complexity increases, it gets difficult for a programmer to keep track on which piece of code is doing what ! A function can be reused by the programmer in a given program any number of times as he wants. Syntax of a Function in Python :- def func():     print("Hello") #this function can be called any number of times. Function cell :- Whenever we want to call a function we put the name of the function as 'def func_name():'  Function definition is the exact set of instruction which are to be excuted. Lets write an easy code :- def greet(name): print("Good Day, " + name + "!") greet("John") #here we call the function Good Day, John! It was an easy program, lets see some other examples :- Now we will make a programme of summation using function :- def sum(num1, num2): mysum = num1 + num2 return mysum n1 = 2 n2 = 7 pr...