SlideShare a Scribd company logo
1 of 14
Download to read offline
International Journal of Graphics andJOURNAL OF GRAPHICS AND ISSN
          INTERNATIONAL Multimedia (IJGM), ISSN 0976 – 6448(Print),
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME
                                MULTIMEDIA (IJGM)

ISSN 0976 - 6448 (Print)
ISSN 0976 -6456 (Online)                                                      IJGM
Volume 3, Issue 1, January - December (2012), pp. 01-14
© IAEME: www.iaeme.com/ijgm.asp
Journal Impact Factor (2012): 1.1680 (Calculated by GISI)
                                                                          ©IAEME
www.jifactor.com



     VISUALIZATION OF SORTING ALGORITHMS USING FLASH
                                       Asokan M
                     PG and Research department of Computer Science,
                             Nehru Memorial College, India

ABSTRACT

        This paper describes visualization for three sorting algorithms namely Bubble sort,
Selection sort , and Quick Sort they can be useful for Data Structure and algorithm Course
at both UG and PG level. Visualization can motivate the student to learn and understand
easily. This application is run with different set of data for various data types and works well.
The average running time of these algorithms have been taken and the results are included. It
may helps the students to identify the best sorting algorithm by themselves. The description
of these sorting algorithms have been added to understand the concept and the working of the
algorithm simultaneously.

Keywords – Algorithms ,Visualization, Multimedia, Flash

    1. INTRODUCTION
To computerize any problem in any subject , the first step is to write the algorithm. In many
Computer Science Courses, Algorithm is one of the favourite subject . Understanding
algorithm from conventional print media is difficult for a student. Visualization is the
graphical presentation of information, with the goal of providing the viewer with a qualitative
understanding of the information contents . Nowadays the popularity of visualization is
increased and is used in education institutions. Visualization may help the student to
understand any algorithm easily .The development of algorithm visualization should be able
to observe the condition of student concerned , due to the changes in paradigm of learning
which is from teacher-centered learning to student-centered learning[1]. Every step of the
algorithm may be visualized with the aid of algorithm visualization. This paper visualize
some steps of the following sorting algorithms with user interactivity.      (i) Bubblesort(ii)
Selection sort (iii)Quick sort . The running time of the three sorting algorithms are also
included. The algorithm visualization implemented through Flash. The software Adobe
flash is well known all over the world to most of the software engineers, web designers, and
animators. It has frequent usage in gaming, ads , flash animations for broadcast and is used as
a tool for Rich Internet Applications. This tool-kit can be used by an educator to demonstrate
the algorithm to the student or can be used by the student alone.

   2. SORTING
One of the fundamental algorithm in computer science is Sorting . Let X be a list of n
elements say X1, X2, ....... Xn. Sorting of X refers to the operation of rearranging the

                                               1
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

elements of X so that they are in increasing (or decreasing) order . The elements may be
numeric or lexicographic.

2.1. Bubble Sort
The bubble sort is an exchange sort. It keep passing through the list, swapping the next
element that is out of order, until the list is sorted. This method normally performs O(n2) in
both average case and worst case. The following is the algorithm for the bubble sort.

Let A be a linear array of n numbers. temp is a temporary variable for interchanging
 the position of the numbers.
1. Input n numbers for an array X
2. Initialise i= 0 and repeat through step 4 if (i< n)
3. Initialize j= 0 and repeat through step 4 if (j< n – i– 1)
4. If (X[j] > X[j + 1])
   {temp = X[j];
   X[j] = X[j + 1];
   X[j+ 1] = temp;
    }
5. Display the sorted numbers of array X
6. Exit

2.2.   Selection Sort

The selection sort is a Quadratic sorting algorithm that searches all of the elements in the list
until it finds the smallest(largest) element. It swaps this with the first element in the list.
Next finds the smallest(or largest ) of the remaining elements in the list and swaps it with the
second element in the list. This procedure is continued until all the elements in the list are
placed in the proper position. The following is the algorithm for selection sort.
Let X be a linear array of n numbers X [1], X [2], X [3], … X [n]. Temp be a temporary
variable for interchanging the position of the numbers. Minimum is the variable to store
smallest number and Location is the location of the smallest element.

1. Input n numbers of an array X
2. Initialize i= 0 and repeat through step5 if (i< n – 1)
(a) Minmum = a[i]
(b) Location = i
3. Initialize j= i+ 1 and repeat through step 4 if (j< n – 1)
4. if (a[j] < Minimum)
(a) Minimum = a[j]
(b) Location = j
5. if (Location ! = i)
(a) Temp = a[i]
(b) a[i] = a[Location]
(c) a[Location] = Temp
6. display “the sorted numbers of array A”
7. Exit
2.3. Quick Sort
  Quick sort an algorithm of the divide-and-conquer type and is also called as partition-
exchange sort. It sorts the list into two sub-lists, and performs the following operations:


                                               2
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

           •   Pick an element, called a pivot, from the list.
           •   Partition the list so that all elements which are less than the pivot come before
               the pivot, and elements greater than the pivot come after it. For instance,

                X[1,2,…i] X[pivot] X[j+1,j+2,…n]

                ≤ X[ pivot]             ≥ X[pivot]

           •   Recursively repeat those operations to sort the sub-lists of lesser elements and
               of greater elements.
               The algorithm for quick sort is given below.
               Let X be a linear array of n elements X(1), X(2), X (3)......X(n), low
               represents the
               lower bound pointer and up represents the upper bound pointer. Pivot
               represents the first element of the array, which is going to become the middle
               element of the sub-arrays.
               1. Input n number of elements in an array X
               2. Initialize low = 2, up = n, pivot = X[(low + up)/2]
               3. Repeat through step 8 while (low < = up)
               4. Repeat step 5 while(X[low] > key)
               5. low = low + 1
               6. Repeat step 7 while(X[up] < key)
               7. up = up–1
               8. If (low < = up)
               (a) temp = X[low]
               (b) X[low] = X[up]
               (c) X[up] = temp
               (d) low=low+1
               (e) up=up–1
               9. If (1 < up) Quick sort (X, 1, up)
               10. If (low < n) Quick sort (X, low, n)
               11. Exit

3. VISUALIZATION

Visualization is the graphical presentation of information. Information may be data,
processes, relations, or concepts. The main goal of data visualization is its ability to
visualize data, communicating information clearly and effectively.

4. MULTIMEDIA

Elsom-Cook, 2001 stated that “Multimedia is the combination of a variety of
communication channels for presenting text, graphics, audio and video with links and tools
that allow users to interact, create, navigate and communicate”.
Multimedia is an effective and flexible communication tool. It supports large audience,
encourages participatory learning through interactivity and stimulates learners interest in the
subject.




                                               3
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
  0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

  5. DISCUSSION

  I. MULTIMEDIA DEVELOPMENT
     This section describes the method of developing algorithm visualization for the following:
(a) Main Menu (b) bubble sort (c) selection sort (d) quick sort and (e) Comparison of sorting
    algorithms.
    (a) Main Menu
      To create a Main Menu in Flash take the following steps.
               (i)Create a new Flash document with a name mainmenu.
               (ii)Create 4 buttons.
               (iii) Enter the text “BUBBLE SORT” on button 1 with scrip
                     on(release){
                            loadMovie("bubblesort.swf", "_level0");
                              }
                (iv) Enter the text “SELECTION SORT” on button2 with script

                  on(release){
                         loadMovie("selectionsort.swf", "_level0");
                               }
              (v)Enter the text , ”QUICK SORT” on button3 with script

                  on(release){
                        loadMovie("quicksort.swf", "_level0");
                               }

               (vi) Enter the text “COMPARISON OF SORTING ALGORITHMS” on
                        button4 with Script
                      on(release){

                              loadMovie("comparison.swf", "_level0");

                                   }

  (b)BUBBLE SORT

     To visualize BUBBLE SORT take the following steps.
     (i)Create a new Flash document with a name bubblesort.
     (ii) Design the background as in fig-2.
     (iii)Use text tool to create 10 input text fields with names
          “in1”,”in2”,”in3”,”in4”,”in5”,”in6”,”in7” “in8”,”in9” and “in10”. convert them in to
          graphic Symbols.
      (iv)Drag all the graphic symbol from Library in to stage.
      (v) Create Dynamic text fields with variable names “out” and “et” respectively.
      (vi) Create Button “ Ascending order” with script.
                   on(release){
           x = new Array;
           x[0]=Number(in1);x[1]=Number(in2);x[2]= Number(in3);x[3]=Number(in4);
           x[4]=Number(in5);x[5]=Number(in6);x[6]=Number(in7);x[7]= Number(in8);
           x[8]=Number(in9);x[9]=Number(in10)
           trace("Given order:" + x);

                                                4
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

         var time = getTimer();
         time = getTimer();
         trace( "Time: " + time );
         for(i=x.length-1;i>0;i--)
        for(j=0;j<= i;j++){
                 if(x[j]>x[j+1])
        {temp = x[j];
           x[j]=x[j+1];
                 x[j+1]=temp;
                            }
                 out= x[0] + "," + x[1]+ "," + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ,"
+ x[6] + ", " + x[7] + " ," + x[8] + "," + x[9];
         }
        out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6]
+ ", " + x[7] + " ," + x[8] + "," + x[9];
        trace("Ascending order:" + x);
        t=(getTimer() - time);
        et = t ;
                              }
   (vii)Create a button “Alphabetical order “ with script.
           on(release){

x = new Array;
x[0]=in1;x[1]=in2;x[2]=in3;x[3]=in4;
x[4]=in5;x[5]=in6;[6]=in7;
x[7]= in8;x[8]=in9;x[9]=in10;
trace("Given order:" + x);
var time = getTimer();
time = getTimer();
         trace( "Time: " + time );
         for(i=x.length-1;i>0;i--)
        for(j=0;j<= i;j++){
                 if(x[j]>x[j+1])
        {temp = x[j];
           x[j]=x[j+1];
                 x[j+1]=temp;
                 }
                           }
        out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6]
+ ", " + x[7] + " ," + x[8] + "," + x[9];
        trace("Alphabetical order:" + x);
        t=(getTimer() - time);
         et = t ;
                   }
(viii)Create a button “Clear” with script.

 on(release){

   in1=" "; in2=" "; in3= " "; in4=""; in5=" ";


                                                  5
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

   in6=""; in7=""; in8=" "; in9=""; in10="";
       out="";
       et="";
                }
(ix)Create a button “Main Menu” with script.
  on(release){
       loadMovie("mainmenu.swf", "_level0");
              }

c) Selection Sort

To visualize SELECTION SORT take the following steps.
   (i)Create a new Flash document with a name selectionsort.
   (ii) Design the background as in fig-4.
   (iii)Use text tool to create 10 input text fields with names
        “in1”,”in2”,”in3”,”in4”,”in5”,”in6”,”in7” “in8”,”in9” and “in10”. convert them in to
graphic
         Symbols.
    (iv)Drag all the graphic symbol from Library in to stage.
    (v) Create Dynamic text fields with variable names “out” and “et” respectively.
    (vi) Create Button “ Ascending order” with script.
     on(release){

        x = new Array;
        out=" ";
        et=" ";
  x[0]=Number(in1);x[1]=Number(in2);
  x[2]= Number(in3);x[3]=Number(in4);
  x[4]=Number(in5);x[5]=Number(in6);
  x[6]=Number(in7);x[7]= Number(in8);
  x[8]=Number(in9);x[9]=Number(in10);
  trace("Given order:" + x);
  var time = getTimer();
  time = getTimer();
  trace( "Time: " + time );
        for(i=0;i<x.length-1;i++)
         {
            smallest = i; for(k = i + 1; k < x.length; k++)
                         {
                      if (x[smallest] > x[k])
                              smallest = k ;
                          }
                          if ( i != smallest )
                             {
                                     temp = x[i]; x[i] = x[smallest]; x[smallest] = temp ;
                              }
              }

           out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6]
+ ", " +

                                                    6
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

                 x[7] + " ," + x[8] + "," + x[9];
           trace("Ascending order:" + x);
           t=(getTimer() - time);

           et = t ;
                     }
(vii)Create a button “Alphabetical order “ with script.
            on(release){
          x = new Array;
        x[0]=in1;x[1]=in2;x[2]=in3;x[3]=in4;x[4]=in5;x[5]=in6;
        x[6]=in7;x[7]=in8;x[8]=in9;x[9]=in10;
        trace("Given order:" + x);
         var time = getTimer();
         time = getTimer();
         trace( "Time: " + time );
         for(i=0;i<x.length-1;i++)
            {
                smallest = i;
        for(k = i + 1; k < x.length; k++)
           {
             if (x[smallest] > x[k])
             smallest = k ;
           }
       if ( i != smallest )
         {
           temp = x[i];x[i] = x[smallest];x[smallest] = temp ;}
            }

           out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6]
+ ", " +
             x[7] + " ," + x[8] + "," + x[9];
       trace("Alphabetical order:" + x);
       t=(getTimer() - time);
   et = t ;
}
(viii)Same as b(viii)
(ix) Same as b(ix)

(d)Quick Sort
To visualize QUICK SORT take the following steps.
   (i)Create a new Flash document with a name quicksort.
   (ii) Design the background as in fig-6.
   (iii)Use text tool to create 10 input text fields with names
        “in1”,”in2”,”in3”,”in4”,”in5”,”in6”,”in7” “in8”,”in9” and “in10”. convert them in to
graphic Symbols.
    (iv)Drag all the graphic symbol from Library in to stage.
    (v) Create Dynamic text fields with variable names “out” and “et” respectively.
    (vi) Create Button “ Ascending order” with script.
     on(release){


                                                    7
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

            x = new Array;
        x[0]=Number(in1);x[1]=Number(in2);x[2]= Number(in3);x[3]=Number(in4);
        x[4]=Number(in5);x[5]=Number(in6);x[6]=Number(in7);x[7]= Number(in8);
        x[8]=Number(in9);x[9]=Number(in10)
        trace("Given order:" + x);
         var time = getTimer();
         time = getTimer();
         trace( "Time: " + time );

  function quickSort(x, left, right) {
         i = left;
         j = right;
        pivotPoint = x[Math.round((left+right)*.5)];
       // Loop
        while (i<=j) {
                while (x[i]<pivotPoint) {
                  i++;
                                           }
               while (x[j]>pivotPoint) {
                 j--;
                                          }
              if (i<=j) {
           temp = x[i];x[i] = x[j];i++;x[j] = temp;
           j--;
                        }
                           }
              if (left<j) {
              quickSort(x, left, j);
                           }
             if (i<right) {
             quickSort(x, i, right);
                           }
            return;
                          }
quickSort(x, 0, x.length-1);
          out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6]
+ ", " +
                   x[7] + " ," + x[8] + "," + x[9];
          trace("Ascending order:" + x);
          t=(getTimer() - time);
    et = t ;
}
(vii) Create a button “Alphabetical order “ with script.
              on(release){
            x = new Array;
          x[0]=in1;x[1]=in2;x[2]=in3;x[3]=in4;
           x[4]=in5;x[5]=in6; x[6]=in7; x[7]=in8;x[8]=in9;x[9]=in10;
          trace("Given order:" + x);
           var time = getTimer();


                                                  8
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

        time = getTimer();
        trace( "Time: " + time );
       function quickSort(x, left, right) {
           i = left;
           j = right;
         pivotPoint = x[Math.round((left+right)*.5)];
         while (i<=j) {
              while (x[i]<pivotPoint) {
              i++;
                            }
        while (x[j]>pivotPoint) {
               j--;
                                   }
       if (i<=j) {
                temp = x[i]; x[i] = x[j]; i++;
                x[j] = temp;
                j--;
                    }
                          }
        if (left<j) {
         quickSort(x, left, j);
                      }
       if (i<right) {
          quickSort(x, i, right);
                        }
      return;
                      }
      quickSort(x, 0, x.length-1);

        out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6]
+ ", " + x[7] + " ," + x[8] + "," + x[9];
        trace("Alphabetical order:" + x);
        t=(getTimer() - time);
         et = t ;
}
(viii)Same as b(viii)
(ix) Same as b(ix)

(e)Comparison of Sorting Algorithms
  (i)Create a Flash document with a name comparison.
  (ii) Design the background as in Fig-8.
 (iii) Create a button”Main Menu” with script as in b(ix).

II. Testing
    Testing is one of the important phases of MDLC (Multimedia Development Life Cycle).
Each of the sorting algorithm is run by different users(staff ,students ).They are tested with
different set of data and type and works well. Making use of the modified actionscripts many
test runs were conducted and the average values have been taken. A line chart also drawn.
The figures below shows a flash movie with integer, alphabetic / lexicographic data types for
input fields , output fields with sorted values and the running time of the algorithm.

                                                 9
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

To test the application Press Ctrl + Enter to run the mainmenu.fla.Main Menu allows the
user to select any one of the options as shown in Fig-1.




                                    Fig-1 Main Menu

On pressing the Button BUBBLE SORT , FLASH loads “bubblesort.swf” . In this movie
there are four buttons. (i)ASCENDING ORDER used to arrange integer/real data types in
ascending (ii) CLEAR used to clear input/output fields.(iii)ALPHABETICAL ORDER used
to arrange the alphabetic values in alphabetic order. (iv)MENU used to return to Main Menu.
Figures 2 & 3 shows ascending and alphabetical order for sample inputs.




                       Fig-2 shows the sorting of integer data type.




                     Fig-3 shows the sorting of alphabetical data type

                                            10
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

On pressing the Button SELECTION SORT , FLASH loads “Selectionsort.swf” . In this
movie also there are four buttons and are used for the same purpose as in the previous case.
Fig 4 & 5 shows ascending and alphabetical order produced by selection sorting algorithm.




                         Fig-4 sorting of integers using selection sort




                       Fig-5 Sorting of alphabets using selection sort.

On pressing the Button QUICK SORT , FLASH loads “Quicksort.swf”. In this movie also
there are four buttons and are used for the same purpose as in the previous case. Fig 6 & 7
shows ascending and alphabetical order produced by Quick sort algorithm.




                          Fig-6 sorting of integers using Quick sort



                                              11
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME




                       Fig-7 Sorting of alphabets using Quick sort.

On pressing the Button COMPARISON , FLASH loads “Comparison.swf”. In this movie
There is only one button MENU which is used to return to Main menu. This movie is used to
show the comparison table and Line Chart and is-shown in Fig-8. The comparison table and
the Line Chart are also Shown separately in Table-1 and Fig 9. From analyzing Fig-8 we
came to know that Quick sort is less time consuming when compared to Bubble sort and
Selection sort. Bubble sort will be the most time consuming algorithm.




                            Fig-8 Comparison of Sorting algorithms




                                           12
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

Table-1 COMPARISON OF SORTING ALGORITHMS WITH AVERAGE VALUES

                                    No. of       Bubble     Selection   Quick Sort
                                    Inputs        Sort        Sort
                                      25           5               3          1
                                      50           19              13         2
                                      75           42              21         4
                                     100           76              46         6
                                     125          115              71         9
                                     150          166          101            11
                                     175          225          137            13
                                     200          296          181            15




                                    COMPARISON OF SORTING ALGORITHMS



                              350

                              300

                              250
          Time (milli secs)




                                                                           Quick Sort
                              200
                                                                           Bubble Sort

                              150                                          selection sort

                              100

                               50

                                0
                                    25     50   75 100 125 150 175 200
                                                Number of Inputs
                              Fig -9 Comparison of sorting algorithms with average values



                                                             13
International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN
0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME

6. CONCLUSION
This application is implemented for visualizing bubble sort, selection sort and Quick sort.
This application has been tested for numeric, character and string type data and works well.
This tool-kit is useful for all kinds of learners/educators. The average running time and the
line chart are helpful to any user in selecting the best algorithm. Using FileReference , it is
possible to allow a user to open a file browse dialog box and upload this application file to a
server from Flash. For further research the system may include other sorting algorithms.
Animation and voice/sound can be added to the system.
REFERENCES
Journal Paper:
[1]      Sfenrianto, “A Model of Adaptive E-Learning System Based on Student's
        Motivation”, Proceedings from ICCIT-09: International Conference on Creative
        Communication and Innovative Technology, 2009. Tangerang: CCIT Journal.
[2]     Habrdi Sutopo ,“Selection Sorting Algorithm Visualization Using flash” , IJMA
        Vol.3 No.1, February 2011, 22-34
Books:
[3]      Joey Lott and Robert Reinhardt (Flash 8 ActionScript Bible Wiley Publishing, Inc., ,
        (2006)
[4]      Doug Sahlin, Flash MX ActionScriptForDesigners ( Wiley Publishing, Inc.,2002)
[5]      Doug Winnie, Fundamentals of ActionScript 3.0 Develop and Design (Peachpit
        Press, 2012)
[6]     Vaughan ,Tay, Multimedia Making it Work (Yogyakarta:Andi Publisher,2006)
[7]     Ellis Horowitz, Sartajshani and Sanguthevar           Rajasekaran , Fundamentals of
        Computer Algorithms ( Galgotia Publications, 2007)




                                              14

More Related Content

What's hot

Principal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and VisualizationPrincipal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and VisualizationMarjan Sterjev
 
The Odd Generalized Exponential Log Logistic Distribution
The Odd Generalized Exponential Log Logistic DistributionThe Odd Generalized Exponential Log Logistic Distribution
The Odd Generalized Exponential Log Logistic Distributioninventionjournals
 
Conditional mixture model for modeling attributed dyadic data
Conditional mixture model for modeling attributed dyadic dataConditional mixture model for modeling attributed dyadic data
Conditional mixture model for modeling attributed dyadic dataLoc Nguyen
 
A hybrid image similarity measure based on a new combination of different sim...
A hybrid image similarity measure based on a new combination of different sim...A hybrid image similarity measure based on a new combination of different sim...
A hybrid image similarity measure based on a new combination of different sim...IJECEIAES
 
A New Approach for Ranking Shadowed Fuzzy Numbers and its Application
A New Approach for Ranking Shadowed Fuzzy Numbers and its ApplicationA New Approach for Ranking Shadowed Fuzzy Numbers and its Application
A New Approach for Ranking Shadowed Fuzzy Numbers and its ApplicationAIRCC Publishing Corporation
 
Hand gesture recognition using discrete wavelet transform and hidden Markov m...
Hand gesture recognition using discrete wavelet transform and hidden Markov m...Hand gesture recognition using discrete wavelet transform and hidden Markov m...
Hand gesture recognition using discrete wavelet transform and hidden Markov m...TELKOMNIKA JOURNAL
 
PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...
PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...
PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...ijfls
 
A STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYER
A STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYERA STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYER
A STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYERijcseit
 
A (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONS
A (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONSA (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONS
A (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONSIJNSA Journal
 
An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)Dataspora
 

What's hot (10)

Principal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and VisualizationPrincipal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and Visualization
 
The Odd Generalized Exponential Log Logistic Distribution
The Odd Generalized Exponential Log Logistic DistributionThe Odd Generalized Exponential Log Logistic Distribution
The Odd Generalized Exponential Log Logistic Distribution
 
Conditional mixture model for modeling attributed dyadic data
Conditional mixture model for modeling attributed dyadic dataConditional mixture model for modeling attributed dyadic data
Conditional mixture model for modeling attributed dyadic data
 
A hybrid image similarity measure based on a new combination of different sim...
A hybrid image similarity measure based on a new combination of different sim...A hybrid image similarity measure based on a new combination of different sim...
A hybrid image similarity measure based on a new combination of different sim...
 
A New Approach for Ranking Shadowed Fuzzy Numbers and its Application
A New Approach for Ranking Shadowed Fuzzy Numbers and its ApplicationA New Approach for Ranking Shadowed Fuzzy Numbers and its Application
A New Approach for Ranking Shadowed Fuzzy Numbers and its Application
 
Hand gesture recognition using discrete wavelet transform and hidden Markov m...
Hand gesture recognition using discrete wavelet transform and hidden Markov m...Hand gesture recognition using discrete wavelet transform and hidden Markov m...
Hand gesture recognition using discrete wavelet transform and hidden Markov m...
 
PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...
PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...
PREDICTIVE EVALUATION OF THE STOCK PORTFOLIO PERFORMANCE USING FUZZY CMEANS A...
 
A STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYER
A STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYERA STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYER
A STRATEGIC HYBRID TECHNIQUE TO DEVELOP A GAME PLAYER
 
A (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONS
A (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONSA (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONS
A (2, N) VISUAL CRYPTOGRAPHIC TECHNIQUE FOR BANKING APPLICATIONS
 
An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)
 

Viewers also liked

Knowledge management strategies in higher education
Knowledge management strategies in higher educationKnowledge management strategies in higher education
Knowledge management strategies in higher educationiaemedu
 
Barriers and enablers in implementation of lean six sigma in indian manufactu...
Barriers and enablers in implementation of lean six sigma in indian manufactu...Barriers and enablers in implementation of lean six sigma in indian manufactu...
Barriers and enablers in implementation of lean six sigma in indian manufactu...iaemedu
 
Software process and product quality assurance in it organizations
Software process and product quality assurance in it organizationsSoftware process and product quality assurance in it organizations
Software process and product quality assurance in it organizationsiaemedu
 
Regression, theil’s and mlp forecasting models of stock index
Regression, theil’s and mlp forecasting models of stock indexRegression, theil’s and mlp forecasting models of stock index
Regression, theil’s and mlp forecasting models of stock indexiaemedu
 
Security issues in cloud computing for msmes
Security issues in cloud computing for msmesSecurity issues in cloud computing for msmes
Security issues in cloud computing for msmesiaemedu
 
Indian managers in multinational companies and their commitments
Indian managers in multinational companies and their commitmentsIndian managers in multinational companies and their commitments
Indian managers in multinational companies and their commitmentsiaemedu
 
Brand loyalty among consumption of pickle in tamil nadu
Brand loyalty among consumption of pickle in tamil naduBrand loyalty among consumption of pickle in tamil nadu
Brand loyalty among consumption of pickle in tamil naduiaemedu
 
Implementation performance analysis of cordic
Implementation performance analysis of cordicImplementation performance analysis of cordic
Implementation performance analysis of cordiciaemedu
 
Advanced agriculture system
Advanced agriculture systemAdvanced agriculture system
Advanced agriculture systemiaemedu
 

Viewers also liked (9)

Knowledge management strategies in higher education
Knowledge management strategies in higher educationKnowledge management strategies in higher education
Knowledge management strategies in higher education
 
Barriers and enablers in implementation of lean six sigma in indian manufactu...
Barriers and enablers in implementation of lean six sigma in indian manufactu...Barriers and enablers in implementation of lean six sigma in indian manufactu...
Barriers and enablers in implementation of lean six sigma in indian manufactu...
 
Software process and product quality assurance in it organizations
Software process and product quality assurance in it organizationsSoftware process and product quality assurance in it organizations
Software process and product quality assurance in it organizations
 
Regression, theil’s and mlp forecasting models of stock index
Regression, theil’s and mlp forecasting models of stock indexRegression, theil’s and mlp forecasting models of stock index
Regression, theil’s and mlp forecasting models of stock index
 
Security issues in cloud computing for msmes
Security issues in cloud computing for msmesSecurity issues in cloud computing for msmes
Security issues in cloud computing for msmes
 
Indian managers in multinational companies and their commitments
Indian managers in multinational companies and their commitmentsIndian managers in multinational companies and their commitments
Indian managers in multinational companies and their commitments
 
Brand loyalty among consumption of pickle in tamil nadu
Brand loyalty among consumption of pickle in tamil naduBrand loyalty among consumption of pickle in tamil nadu
Brand loyalty among consumption of pickle in tamil nadu
 
Implementation performance analysis of cordic
Implementation performance analysis of cordicImplementation performance analysis of cordic
Implementation performance analysis of cordic
 
Advanced agriculture system
Advanced agriculture systemAdvanced agriculture system
Advanced agriculture system
 

Similar to Visualization of sorting algorithms using flash

Methodological Study Of Opinion Mining And Sentiment Analysis Techniques
Methodological Study Of Opinion Mining And Sentiment Analysis Techniques  Methodological Study Of Opinion Mining And Sentiment Analysis Techniques
Methodological Study Of Opinion Mining And Sentiment Analysis Techniques ijsc
 
Methodological study of opinion mining and sentiment analysis techniques
Methodological study of opinion mining and sentiment analysis techniquesMethodological study of opinion mining and sentiment analysis techniques
Methodological study of opinion mining and sentiment analysis techniquesijsc
 
Problem solving using computers - Chapter 1
Problem solving using computers - Chapter 1 Problem solving using computers - Chapter 1
Problem solving using computers - Chapter 1 To Sum It Up
 
Bca2020 data structure and algorithm
Bca2020   data structure and algorithmBca2020   data structure and algorithm
Bca2020 data structure and algorithmsmumbahelp
 
Study material ip class 12th
Study material ip class 12thStudy material ip class 12th
Study material ip class 12thanimesh dwivedi
 
A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...
A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...
A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...IRJET Journal
 
Problem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study materialProblem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study materialTo Sum It Up
 
Bca ii dfs u-1 introduction to data structure
Bca ii dfs u-1 introduction to data structureBca ii dfs u-1 introduction to data structure
Bca ii dfs u-1 introduction to data structureRai University
 
Deep Learning, Scala, and Spark
Deep Learning, Scala, and SparkDeep Learning, Scala, and Spark
Deep Learning, Scala, and SparkOswald Campesato
 
Data structures using C
Data structures using CData structures using C
Data structures using CPdr Patnaik
 
Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02Salman Qamar
 
IRJET- Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...
IRJET-  	  Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...IRJET-  	  Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...
IRJET- Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...IRJET Journal
 
Mca ii dfs u-1 introduction to data structure
Mca ii dfs u-1 introduction to data structureMca ii dfs u-1 introduction to data structure
Mca ii dfs u-1 introduction to data structureRai University
 
Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...
Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...
Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...Vasileios Lampos
 
An efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problemAn efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problemAlexander Decker
 
An efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problemAn efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problemAlexander Decker
 
Bsc cs ii dfs u-1 introduction to data structure
Bsc cs ii dfs u-1 introduction to data structureBsc cs ii dfs u-1 introduction to data structure
Bsc cs ii dfs u-1 introduction to data structureRai University
 
ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...
ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...
ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...Oluwasegun Oluwaseun Onibudo
 

Similar to Visualization of sorting algorithms using flash (20)

Methodological Study Of Opinion Mining And Sentiment Analysis Techniques
Methodological Study Of Opinion Mining And Sentiment Analysis Techniques  Methodological Study Of Opinion Mining And Sentiment Analysis Techniques
Methodological Study Of Opinion Mining And Sentiment Analysis Techniques
 
Methodological study of opinion mining and sentiment analysis techniques
Methodological study of opinion mining and sentiment analysis techniquesMethodological study of opinion mining and sentiment analysis techniques
Methodological study of opinion mining and sentiment analysis techniques
 
Problem solving using computers - Chapter 1
Problem solving using computers - Chapter 1 Problem solving using computers - Chapter 1
Problem solving using computers - Chapter 1
 
Bca2020 data structure and algorithm
Bca2020   data structure and algorithmBca2020   data structure and algorithm
Bca2020 data structure and algorithm
 
Study material ip class 12th
Study material ip class 12thStudy material ip class 12th
Study material ip class 12th
 
A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...
A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...
A Pointing Gesture-based Signal to Text Communication System Using OpenCV in ...
 
Problem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study materialProblem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study material
 
Average sort
Average sortAverage sort
Average sort
 
Bca ii dfs u-1 introduction to data structure
Bca ii dfs u-1 introduction to data structureBca ii dfs u-1 introduction to data structure
Bca ii dfs u-1 introduction to data structure
 
Deep Learning, Scala, and Spark
Deep Learning, Scala, and SparkDeep Learning, Scala, and Spark
Deep Learning, Scala, and Spark
 
Data structures using C
Data structures using CData structures using C
Data structures using C
 
Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02
 
AA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptxAA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptx
 
IRJET- Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...
IRJET-  	  Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...IRJET-  	  Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...
IRJET- Detection of Writing, Spelling and Arithmetic Dyslexic Problems in...
 
Mca ii dfs u-1 introduction to data structure
Mca ii dfs u-1 introduction to data structureMca ii dfs u-1 introduction to data structure
Mca ii dfs u-1 introduction to data structure
 
Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...
Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...
Inferring the Socioeconomic Status of Social Media Users based on Behaviour a...
 
An efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problemAn efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problem
 
An efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problemAn efficient method of solving lexicographic linear goal programming problem
An efficient method of solving lexicographic linear goal programming problem
 
Bsc cs ii dfs u-1 introduction to data structure
Bsc cs ii dfs u-1 introduction to data structureBsc cs ii dfs u-1 introduction to data structure
Bsc cs ii dfs u-1 introduction to data structure
 
ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...
ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...
ILWIS Manual, ILWIS Practical, ILWIS Guide, Onidex Geo-Spatial Solutions (ilw...
 

More from iaemedu

Tech transfer making it as a risk free approach in pharmaceutical and biotech in
Tech transfer making it as a risk free approach in pharmaceutical and biotech inTech transfer making it as a risk free approach in pharmaceutical and biotech in
Tech transfer making it as a risk free approach in pharmaceutical and biotech iniaemedu
 
Integration of feature sets with machine learning techniques
Integration of feature sets with machine learning techniquesIntegration of feature sets with machine learning techniques
Integration of feature sets with machine learning techniquesiaemedu
 
Effective broadcasting in mobile ad hoc networks using grid
Effective broadcasting in mobile ad hoc networks using gridEffective broadcasting in mobile ad hoc networks using grid
Effective broadcasting in mobile ad hoc networks using gridiaemedu
 
Effect of scenario environment on the performance of mane ts routing
Effect of scenario environment on the performance of mane ts routingEffect of scenario environment on the performance of mane ts routing
Effect of scenario environment on the performance of mane ts routingiaemedu
 
Adaptive job scheduling with load balancing for workflow application
Adaptive job scheduling with load balancing for workflow applicationAdaptive job scheduling with load balancing for workflow application
Adaptive job scheduling with load balancing for workflow applicationiaemedu
 
Survey on transaction reordering
Survey on transaction reorderingSurvey on transaction reordering
Survey on transaction reorderingiaemedu
 
Semantic web services and its challenges
Semantic web services and its challengesSemantic web services and its challenges
Semantic web services and its challengesiaemedu
 
Website based patent information searching mechanism
Website based patent information searching mechanismWebsite based patent information searching mechanism
Website based patent information searching mechanismiaemedu
 
Revisiting the experiment on detecting of replay and message modification
Revisiting the experiment on detecting of replay and message modificationRevisiting the experiment on detecting of replay and message modification
Revisiting the experiment on detecting of replay and message modificationiaemedu
 
Prediction of customer behavior using cma
Prediction of customer behavior using cmaPrediction of customer behavior using cma
Prediction of customer behavior using cmaiaemedu
 
Performance analysis of manet routing protocol in presence
Performance analysis of manet routing protocol in presencePerformance analysis of manet routing protocol in presence
Performance analysis of manet routing protocol in presenceiaemedu
 
Performance measurement of different requirements engineering
Performance measurement of different requirements engineeringPerformance measurement of different requirements engineering
Performance measurement of different requirements engineeringiaemedu
 
Mobile safety systems for automobiles
Mobile safety systems for automobilesMobile safety systems for automobiles
Mobile safety systems for automobilesiaemedu
 
Efficient text compression using special character replacement
Efficient text compression using special character replacementEfficient text compression using special character replacement
Efficient text compression using special character replacementiaemedu
 
Agile programming a new approach
Agile programming a new approachAgile programming a new approach
Agile programming a new approachiaemedu
 
Adaptive load balancing techniques in global scale grid environment
Adaptive load balancing techniques in global scale grid environmentAdaptive load balancing techniques in global scale grid environment
Adaptive load balancing techniques in global scale grid environmentiaemedu
 
A survey on the performance of job scheduling in workflow application
A survey on the performance of job scheduling in workflow applicationA survey on the performance of job scheduling in workflow application
A survey on the performance of job scheduling in workflow applicationiaemedu
 
A survey of mitigating routing misbehavior in mobile ad hoc networks
A survey of mitigating routing misbehavior in mobile ad hoc networksA survey of mitigating routing misbehavior in mobile ad hoc networks
A survey of mitigating routing misbehavior in mobile ad hoc networksiaemedu
 
A novel approach for satellite imagery storage by classify
A novel approach for satellite imagery storage by classifyA novel approach for satellite imagery storage by classify
A novel approach for satellite imagery storage by classifyiaemedu
 
A self recovery approach using halftone images for medical imagery
A self recovery approach using halftone images for medical imageryA self recovery approach using halftone images for medical imagery
A self recovery approach using halftone images for medical imageryiaemedu
 

More from iaemedu (20)

Tech transfer making it as a risk free approach in pharmaceutical and biotech in
Tech transfer making it as a risk free approach in pharmaceutical and biotech inTech transfer making it as a risk free approach in pharmaceutical and biotech in
Tech transfer making it as a risk free approach in pharmaceutical and biotech in
 
Integration of feature sets with machine learning techniques
Integration of feature sets with machine learning techniquesIntegration of feature sets with machine learning techniques
Integration of feature sets with machine learning techniques
 
Effective broadcasting in mobile ad hoc networks using grid
Effective broadcasting in mobile ad hoc networks using gridEffective broadcasting in mobile ad hoc networks using grid
Effective broadcasting in mobile ad hoc networks using grid
 
Effect of scenario environment on the performance of mane ts routing
Effect of scenario environment on the performance of mane ts routingEffect of scenario environment on the performance of mane ts routing
Effect of scenario environment on the performance of mane ts routing
 
Adaptive job scheduling with load balancing for workflow application
Adaptive job scheduling with load balancing for workflow applicationAdaptive job scheduling with load balancing for workflow application
Adaptive job scheduling with load balancing for workflow application
 
Survey on transaction reordering
Survey on transaction reorderingSurvey on transaction reordering
Survey on transaction reordering
 
Semantic web services and its challenges
Semantic web services and its challengesSemantic web services and its challenges
Semantic web services and its challenges
 
Website based patent information searching mechanism
Website based patent information searching mechanismWebsite based patent information searching mechanism
Website based patent information searching mechanism
 
Revisiting the experiment on detecting of replay and message modification
Revisiting the experiment on detecting of replay and message modificationRevisiting the experiment on detecting of replay and message modification
Revisiting the experiment on detecting of replay and message modification
 
Prediction of customer behavior using cma
Prediction of customer behavior using cmaPrediction of customer behavior using cma
Prediction of customer behavior using cma
 
Performance analysis of manet routing protocol in presence
Performance analysis of manet routing protocol in presencePerformance analysis of manet routing protocol in presence
Performance analysis of manet routing protocol in presence
 
Performance measurement of different requirements engineering
Performance measurement of different requirements engineeringPerformance measurement of different requirements engineering
Performance measurement of different requirements engineering
 
Mobile safety systems for automobiles
Mobile safety systems for automobilesMobile safety systems for automobiles
Mobile safety systems for automobiles
 
Efficient text compression using special character replacement
Efficient text compression using special character replacementEfficient text compression using special character replacement
Efficient text compression using special character replacement
 
Agile programming a new approach
Agile programming a new approachAgile programming a new approach
Agile programming a new approach
 
Adaptive load balancing techniques in global scale grid environment
Adaptive load balancing techniques in global scale grid environmentAdaptive load balancing techniques in global scale grid environment
Adaptive load balancing techniques in global scale grid environment
 
A survey on the performance of job scheduling in workflow application
A survey on the performance of job scheduling in workflow applicationA survey on the performance of job scheduling in workflow application
A survey on the performance of job scheduling in workflow application
 
A survey of mitigating routing misbehavior in mobile ad hoc networks
A survey of mitigating routing misbehavior in mobile ad hoc networksA survey of mitigating routing misbehavior in mobile ad hoc networks
A survey of mitigating routing misbehavior in mobile ad hoc networks
 
A novel approach for satellite imagery storage by classify
A novel approach for satellite imagery storage by classifyA novel approach for satellite imagery storage by classify
A novel approach for satellite imagery storage by classify
 
A self recovery approach using halftone images for medical imagery
A self recovery approach using halftone images for medical imageryA self recovery approach using halftone images for medical imagery
A self recovery approach using halftone images for medical imagery
 

Visualization of sorting algorithms using flash

  • 1. International Journal of Graphics andJOURNAL OF GRAPHICS AND ISSN INTERNATIONAL Multimedia (IJGM), ISSN 0976 – 6448(Print), 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME MULTIMEDIA (IJGM) ISSN 0976 - 6448 (Print) ISSN 0976 -6456 (Online) IJGM Volume 3, Issue 1, January - December (2012), pp. 01-14 © IAEME: www.iaeme.com/ijgm.asp Journal Impact Factor (2012): 1.1680 (Calculated by GISI) ©IAEME www.jifactor.com VISUALIZATION OF SORTING ALGORITHMS USING FLASH Asokan M PG and Research department of Computer Science, Nehru Memorial College, India ABSTRACT This paper describes visualization for three sorting algorithms namely Bubble sort, Selection sort , and Quick Sort they can be useful for Data Structure and algorithm Course at both UG and PG level. Visualization can motivate the student to learn and understand easily. This application is run with different set of data for various data types and works well. The average running time of these algorithms have been taken and the results are included. It may helps the students to identify the best sorting algorithm by themselves. The description of these sorting algorithms have been added to understand the concept and the working of the algorithm simultaneously. Keywords – Algorithms ,Visualization, Multimedia, Flash 1. INTRODUCTION To computerize any problem in any subject , the first step is to write the algorithm. In many Computer Science Courses, Algorithm is one of the favourite subject . Understanding algorithm from conventional print media is difficult for a student. Visualization is the graphical presentation of information, with the goal of providing the viewer with a qualitative understanding of the information contents . Nowadays the popularity of visualization is increased and is used in education institutions. Visualization may help the student to understand any algorithm easily .The development of algorithm visualization should be able to observe the condition of student concerned , due to the changes in paradigm of learning which is from teacher-centered learning to student-centered learning[1]. Every step of the algorithm may be visualized with the aid of algorithm visualization. This paper visualize some steps of the following sorting algorithms with user interactivity. (i) Bubblesort(ii) Selection sort (iii)Quick sort . The running time of the three sorting algorithms are also included. The algorithm visualization implemented through Flash. The software Adobe flash is well known all over the world to most of the software engineers, web designers, and animators. It has frequent usage in gaming, ads , flash animations for broadcast and is used as a tool for Rich Internet Applications. This tool-kit can be used by an educator to demonstrate the algorithm to the student or can be used by the student alone. 2. SORTING One of the fundamental algorithm in computer science is Sorting . Let X be a list of n elements say X1, X2, ....... Xn. Sorting of X refers to the operation of rearranging the 1
  • 2. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME elements of X so that they are in increasing (or decreasing) order . The elements may be numeric or lexicographic. 2.1. Bubble Sort The bubble sort is an exchange sort. It keep passing through the list, swapping the next element that is out of order, until the list is sorted. This method normally performs O(n2) in both average case and worst case. The following is the algorithm for the bubble sort. Let A be a linear array of n numbers. temp is a temporary variable for interchanging the position of the numbers. 1. Input n numbers for an array X 2. Initialise i= 0 and repeat through step 4 if (i< n) 3. Initialize j= 0 and repeat through step 4 if (j< n – i– 1) 4. If (X[j] > X[j + 1]) {temp = X[j]; X[j] = X[j + 1]; X[j+ 1] = temp; } 5. Display the sorted numbers of array X 6. Exit 2.2. Selection Sort The selection sort is a Quadratic sorting algorithm that searches all of the elements in the list until it finds the smallest(largest) element. It swaps this with the first element in the list. Next finds the smallest(or largest ) of the remaining elements in the list and swaps it with the second element in the list. This procedure is continued until all the elements in the list are placed in the proper position. The following is the algorithm for selection sort. Let X be a linear array of n numbers X [1], X [2], X [3], … X [n]. Temp be a temporary variable for interchanging the position of the numbers. Minimum is the variable to store smallest number and Location is the location of the smallest element. 1. Input n numbers of an array X 2. Initialize i= 0 and repeat through step5 if (i< n – 1) (a) Minmum = a[i] (b) Location = i 3. Initialize j= i+ 1 and repeat through step 4 if (j< n – 1) 4. if (a[j] < Minimum) (a) Minimum = a[j] (b) Location = j 5. if (Location ! = i) (a) Temp = a[i] (b) a[i] = a[Location] (c) a[Location] = Temp 6. display “the sorted numbers of array A” 7. Exit 2.3. Quick Sort Quick sort an algorithm of the divide-and-conquer type and is also called as partition- exchange sort. It sorts the list into two sub-lists, and performs the following operations: 2
  • 3. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME • Pick an element, called a pivot, from the list. • Partition the list so that all elements which are less than the pivot come before the pivot, and elements greater than the pivot come after it. For instance, X[1,2,…i] X[pivot] X[j+1,j+2,…n] ≤ X[ pivot] ≥ X[pivot] • Recursively repeat those operations to sort the sub-lists of lesser elements and of greater elements. The algorithm for quick sort is given below. Let X be a linear array of n elements X(1), X(2), X (3)......X(n), low represents the lower bound pointer and up represents the upper bound pointer. Pivot represents the first element of the array, which is going to become the middle element of the sub-arrays. 1. Input n number of elements in an array X 2. Initialize low = 2, up = n, pivot = X[(low + up)/2] 3. Repeat through step 8 while (low < = up) 4. Repeat step 5 while(X[low] > key) 5. low = low + 1 6. Repeat step 7 while(X[up] < key) 7. up = up–1 8. If (low < = up) (a) temp = X[low] (b) X[low] = X[up] (c) X[up] = temp (d) low=low+1 (e) up=up–1 9. If (1 < up) Quick sort (X, 1, up) 10. If (low < n) Quick sort (X, low, n) 11. Exit 3. VISUALIZATION Visualization is the graphical presentation of information. Information may be data, processes, relations, or concepts. The main goal of data visualization is its ability to visualize data, communicating information clearly and effectively. 4. MULTIMEDIA Elsom-Cook, 2001 stated that “Multimedia is the combination of a variety of communication channels for presenting text, graphics, audio and video with links and tools that allow users to interact, create, navigate and communicate”. Multimedia is an effective and flexible communication tool. It supports large audience, encourages participatory learning through interactivity and stimulates learners interest in the subject. 3
  • 4. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME 5. DISCUSSION I. MULTIMEDIA DEVELOPMENT This section describes the method of developing algorithm visualization for the following: (a) Main Menu (b) bubble sort (c) selection sort (d) quick sort and (e) Comparison of sorting algorithms. (a) Main Menu To create a Main Menu in Flash take the following steps. (i)Create a new Flash document with a name mainmenu. (ii)Create 4 buttons. (iii) Enter the text “BUBBLE SORT” on button 1 with scrip on(release){ loadMovie("bubblesort.swf", "_level0"); } (iv) Enter the text “SELECTION SORT” on button2 with script on(release){ loadMovie("selectionsort.swf", "_level0"); } (v)Enter the text , ”QUICK SORT” on button3 with script on(release){ loadMovie("quicksort.swf", "_level0"); } (vi) Enter the text “COMPARISON OF SORTING ALGORITHMS” on button4 with Script on(release){ loadMovie("comparison.swf", "_level0"); } (b)BUBBLE SORT To visualize BUBBLE SORT take the following steps. (i)Create a new Flash document with a name bubblesort. (ii) Design the background as in fig-2. (iii)Use text tool to create 10 input text fields with names “in1”,”in2”,”in3”,”in4”,”in5”,”in6”,”in7” “in8”,”in9” and “in10”. convert them in to graphic Symbols. (iv)Drag all the graphic symbol from Library in to stage. (v) Create Dynamic text fields with variable names “out” and “et” respectively. (vi) Create Button “ Ascending order” with script. on(release){ x = new Array; x[0]=Number(in1);x[1]=Number(in2);x[2]= Number(in3);x[3]=Number(in4); x[4]=Number(in5);x[5]=Number(in6);x[6]=Number(in7);x[7]= Number(in8); x[8]=Number(in9);x[9]=Number(in10) trace("Given order:" + x); 4
  • 5. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME var time = getTimer(); time = getTimer(); trace( "Time: " + time ); for(i=x.length-1;i>0;i--) for(j=0;j<= i;j++){ if(x[j]>x[j+1]) {temp = x[j]; x[j]=x[j+1]; x[j+1]=temp; } out= x[0] + "," + x[1]+ "," + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6] + ", " + x[7] + " ," + x[8] + "," + x[9]; } out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6] + ", " + x[7] + " ," + x[8] + "," + x[9]; trace("Ascending order:" + x); t=(getTimer() - time); et = t ; } (vii)Create a button “Alphabetical order “ with script. on(release){ x = new Array; x[0]=in1;x[1]=in2;x[2]=in3;x[3]=in4; x[4]=in5;x[5]=in6;[6]=in7; x[7]= in8;x[8]=in9;x[9]=in10; trace("Given order:" + x); var time = getTimer(); time = getTimer(); trace( "Time: " + time ); for(i=x.length-1;i>0;i--) for(j=0;j<= i;j++){ if(x[j]>x[j+1]) {temp = x[j]; x[j]=x[j+1]; x[j+1]=temp; } } out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6] + ", " + x[7] + " ," + x[8] + "," + x[9]; trace("Alphabetical order:" + x); t=(getTimer() - time); et = t ; } (viii)Create a button “Clear” with script. on(release){ in1=" "; in2=" "; in3= " "; in4=""; in5=" "; 5
  • 6. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME in6=""; in7=""; in8=" "; in9=""; in10=""; out=""; et=""; } (ix)Create a button “Main Menu” with script. on(release){ loadMovie("mainmenu.swf", "_level0"); } c) Selection Sort To visualize SELECTION SORT take the following steps. (i)Create a new Flash document with a name selectionsort. (ii) Design the background as in fig-4. (iii)Use text tool to create 10 input text fields with names “in1”,”in2”,”in3”,”in4”,”in5”,”in6”,”in7” “in8”,”in9” and “in10”. convert them in to graphic Symbols. (iv)Drag all the graphic symbol from Library in to stage. (v) Create Dynamic text fields with variable names “out” and “et” respectively. (vi) Create Button “ Ascending order” with script. on(release){ x = new Array; out=" "; et=" "; x[0]=Number(in1);x[1]=Number(in2); x[2]= Number(in3);x[3]=Number(in4); x[4]=Number(in5);x[5]=Number(in6); x[6]=Number(in7);x[7]= Number(in8); x[8]=Number(in9);x[9]=Number(in10); trace("Given order:" + x); var time = getTimer(); time = getTimer(); trace( "Time: " + time ); for(i=0;i<x.length-1;i++) { smallest = i; for(k = i + 1; k < x.length; k++) { if (x[smallest] > x[k]) smallest = k ; } if ( i != smallest ) { temp = x[i]; x[i] = x[smallest]; x[smallest] = temp ; } } out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6] + ", " + 6
  • 7. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME x[7] + " ," + x[8] + "," + x[9]; trace("Ascending order:" + x); t=(getTimer() - time); et = t ; } (vii)Create a button “Alphabetical order “ with script. on(release){ x = new Array; x[0]=in1;x[1]=in2;x[2]=in3;x[3]=in4;x[4]=in5;x[5]=in6; x[6]=in7;x[7]=in8;x[8]=in9;x[9]=in10; trace("Given order:" + x); var time = getTimer(); time = getTimer(); trace( "Time: " + time ); for(i=0;i<x.length-1;i++) { smallest = i; for(k = i + 1; k < x.length; k++) { if (x[smallest] > x[k]) smallest = k ; } if ( i != smallest ) { temp = x[i];x[i] = x[smallest];x[smallest] = temp ;} } out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6] + ", " + x[7] + " ," + x[8] + "," + x[9]; trace("Alphabetical order:" + x); t=(getTimer() - time); et = t ; } (viii)Same as b(viii) (ix) Same as b(ix) (d)Quick Sort To visualize QUICK SORT take the following steps. (i)Create a new Flash document with a name quicksort. (ii) Design the background as in fig-6. (iii)Use text tool to create 10 input text fields with names “in1”,”in2”,”in3”,”in4”,”in5”,”in6”,”in7” “in8”,”in9” and “in10”. convert them in to graphic Symbols. (iv)Drag all the graphic symbol from Library in to stage. (v) Create Dynamic text fields with variable names “out” and “et” respectively. (vi) Create Button “ Ascending order” with script. on(release){ 7
  • 8. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME x = new Array; x[0]=Number(in1);x[1]=Number(in2);x[2]= Number(in3);x[3]=Number(in4); x[4]=Number(in5);x[5]=Number(in6);x[6]=Number(in7);x[7]= Number(in8); x[8]=Number(in9);x[9]=Number(in10) trace("Given order:" + x); var time = getTimer(); time = getTimer(); trace( "Time: " + time ); function quickSort(x, left, right) { i = left; j = right; pivotPoint = x[Math.round((left+right)*.5)]; // Loop while (i<=j) { while (x[i]<pivotPoint) { i++; } while (x[j]>pivotPoint) { j--; } if (i<=j) { temp = x[i];x[i] = x[j];i++;x[j] = temp; j--; } } if (left<j) { quickSort(x, left, j); } if (i<right) { quickSort(x, i, right); } return; } quickSort(x, 0, x.length-1); out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6] + ", " + x[7] + " ," + x[8] + "," + x[9]; trace("Ascending order:" + x); t=(getTimer() - time); et = t ; } (vii) Create a button “Alphabetical order “ with script. on(release){ x = new Array; x[0]=in1;x[1]=in2;x[2]=in3;x[3]=in4; x[4]=in5;x[5]=in6; x[6]=in7; x[7]=in8;x[8]=in9;x[9]=in10; trace("Given order:" + x); var time = getTimer(); 8
  • 9. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME time = getTimer(); trace( "Time: " + time ); function quickSort(x, left, right) { i = left; j = right; pivotPoint = x[Math.round((left+right)*.5)]; while (i<=j) { while (x[i]<pivotPoint) { i++; } while (x[j]>pivotPoint) { j--; } if (i<=j) { temp = x[i]; x[i] = x[j]; i++; x[j] = temp; j--; } } if (left<j) { quickSort(x, left, j); } if (i<right) { quickSort(x, i, right); } return; } quickSort(x, 0, x.length-1); out= x[0] + " ," + x[1] + ", " + x[2] + " ," + x[3] + "," + x[4] + "," + x[5] + " ," + x[6] + ", " + x[7] + " ," + x[8] + "," + x[9]; trace("Alphabetical order:" + x); t=(getTimer() - time); et = t ; } (viii)Same as b(viii) (ix) Same as b(ix) (e)Comparison of Sorting Algorithms (i)Create a Flash document with a name comparison. (ii) Design the background as in Fig-8. (iii) Create a button”Main Menu” with script as in b(ix). II. Testing Testing is one of the important phases of MDLC (Multimedia Development Life Cycle). Each of the sorting algorithm is run by different users(staff ,students ).They are tested with different set of data and type and works well. Making use of the modified actionscripts many test runs were conducted and the average values have been taken. A line chart also drawn. The figures below shows a flash movie with integer, alphabetic / lexicographic data types for input fields , output fields with sorted values and the running time of the algorithm. 9
  • 10. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME To test the application Press Ctrl + Enter to run the mainmenu.fla.Main Menu allows the user to select any one of the options as shown in Fig-1. Fig-1 Main Menu On pressing the Button BUBBLE SORT , FLASH loads “bubblesort.swf” . In this movie there are four buttons. (i)ASCENDING ORDER used to arrange integer/real data types in ascending (ii) CLEAR used to clear input/output fields.(iii)ALPHABETICAL ORDER used to arrange the alphabetic values in alphabetic order. (iv)MENU used to return to Main Menu. Figures 2 & 3 shows ascending and alphabetical order for sample inputs. Fig-2 shows the sorting of integer data type. Fig-3 shows the sorting of alphabetical data type 10
  • 11. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME On pressing the Button SELECTION SORT , FLASH loads “Selectionsort.swf” . In this movie also there are four buttons and are used for the same purpose as in the previous case. Fig 4 & 5 shows ascending and alphabetical order produced by selection sorting algorithm. Fig-4 sorting of integers using selection sort Fig-5 Sorting of alphabets using selection sort. On pressing the Button QUICK SORT , FLASH loads “Quicksort.swf”. In this movie also there are four buttons and are used for the same purpose as in the previous case. Fig 6 & 7 shows ascending and alphabetical order produced by Quick sort algorithm. Fig-6 sorting of integers using Quick sort 11
  • 12. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME Fig-7 Sorting of alphabets using Quick sort. On pressing the Button COMPARISON , FLASH loads “Comparison.swf”. In this movie There is only one button MENU which is used to return to Main menu. This movie is used to show the comparison table and Line Chart and is-shown in Fig-8. The comparison table and the Line Chart are also Shown separately in Table-1 and Fig 9. From analyzing Fig-8 we came to know that Quick sort is less time consuming when compared to Bubble sort and Selection sort. Bubble sort will be the most time consuming algorithm. Fig-8 Comparison of Sorting algorithms 12
  • 13. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME Table-1 COMPARISON OF SORTING ALGORITHMS WITH AVERAGE VALUES No. of Bubble Selection Quick Sort Inputs Sort Sort 25 5 3 1 50 19 13 2 75 42 21 4 100 76 46 6 125 115 71 9 150 166 101 11 175 225 137 13 200 296 181 15 COMPARISON OF SORTING ALGORITHMS 350 300 250 Time (milli secs) Quick Sort 200 Bubble Sort 150 selection sort 100 50 0 25 50 75 100 125 150 175 200 Number of Inputs Fig -9 Comparison of sorting algorithms with average values 13
  • 14. International Journal of Graphics and Multimedia (IJGM), ISSN 0976 – 6448(Print), ISSN 0976 – 6456(Online) Volume 3, Issue 1, January-December (2012), © IAEME 6. CONCLUSION This application is implemented for visualizing bubble sort, selection sort and Quick sort. This application has been tested for numeric, character and string type data and works well. This tool-kit is useful for all kinds of learners/educators. The average running time and the line chart are helpful to any user in selecting the best algorithm. Using FileReference , it is possible to allow a user to open a file browse dialog box and upload this application file to a server from Flash. For further research the system may include other sorting algorithms. Animation and voice/sound can be added to the system. REFERENCES Journal Paper: [1] Sfenrianto, “A Model of Adaptive E-Learning System Based on Student's Motivation”, Proceedings from ICCIT-09: International Conference on Creative Communication and Innovative Technology, 2009. Tangerang: CCIT Journal. [2] Habrdi Sutopo ,“Selection Sorting Algorithm Visualization Using flash” , IJMA Vol.3 No.1, February 2011, 22-34 Books: [3] Joey Lott and Robert Reinhardt (Flash 8 ActionScript Bible Wiley Publishing, Inc., , (2006) [4] Doug Sahlin, Flash MX ActionScriptForDesigners ( Wiley Publishing, Inc.,2002) [5] Doug Winnie, Fundamentals of ActionScript 3.0 Develop and Design (Peachpit Press, 2012) [6] Vaughan ,Tay, Multimedia Making it Work (Yogyakarta:Andi Publisher,2006) [7] Ellis Horowitz, Sartajshani and Sanguthevar Rajasekaran , Fundamentals of Computer Algorithms ( Galgotia Publications, 2007) 14