Przejdź do głównej zawartości

Sorting algor

BubbleSort


// BubbleSort
        System.out.println("BubbleSort");
        for (int i=0; i<data.length-1; i++){
            for (int j=0; j<data.length-1-i;j++){
                if (data[j] > data[j+1]) {
                    int temp = data[j];
                    data[j]= data[j+1];
                    //swap
                    data[j+1]=temp;
                }
            }
        }


  • mało efektywny z uwagi na podwójny loop
  • tylko do małych data sets
  • efektywność O(n^2)


SelectionSort


  • raczej wolny algorytm z uwagi na podwójny loop
  • małe data set
  • efektywność O(n^2)


System.out.println("SelectionSort");
        int i,j,minV,minI,temp=0;
        for(i=0; i<data.length;i++){
            minV = data[i];
            minI = i;
            for (j=i;j<data.length;j++){
                if(data[j]<minV){
                    minV=data[j];
                    minI=j;
                }
            }
//swap
            if(minV<data[i]){
                temp=data[i];
                data[i]=data[minI];
                data[minI]=temp;
            }
        }

Insertion sort:

  • przesuwa key do momentu spełnienia warunku z while
  • raczej wolny algorytm z uwagi na podwójny loop
  • małe data set
  • efektywność O(n^2)


        System.out.println("InsertionSort");
        long startTimeInsertSort = System.nanoTime();

        for (int k=1;k<data.length;k++){
            int key = data[k];
            int m = k-1;
            while (m>0&& key<data[m]){
                int temp2 = data[m];
                data[m]=data[m+1];
                data[m+1]=temp;
                m--;
            }
        }

Merge sort

  • metoda sortująca rekursywna metoda wywołuje samą siebie
  • efektywna dla duzych zbiorów


Komentarze

Popularne posty z tego bloga

Stored Procedures - JDBC Java SQL

Stored Procedures: group of SQL statements that perform a particular task  Normally created by DBA Can have any combination of input, output, and input/output parameters Benefits: Performance  - compiled once but executable more times Productivity and Ease of Use  - avoid redundant code, extend SQL Database functionality  Scalability   Maintainability Interoperability Replication Security To call stored procedure from Java The JDBC API provides the CallableStatement CallableStatement myCall = myConn.prepareCall("{ call some_stored_procedure() }"); ... myCall.execute(); JDBC API parameter types IN default INOUT OUT Stored Procedure can return result sets EXAMPLE: Created stored procedure on MySQL side - NAME:  increase_salaries_for_department DELIMITER $$ DROP PROCEDURE IF EXISTS ` increase_salaries_for_department `$$ CREATE DEFINER=`student`@`localhost` PROCEDURE `increase_salaries_for_departme...

Skrócony zapis if - instrukcja warunkowa java

Instrukcja warunkowa - warunek i rezultat. if (warunek) { jesli spełniony wykonań operacje i zwróć wynik; } warunek nie spełniony Możliwości skrócenia kodu instrukcji warunkowej if (i < 0) ? i-- : i++; Jeżeli i mniejsze od zera to i-- jezeli false to i++ if (i < 0) {     i--; } else {     i++; } Skrócony zapis instrukcji warunkowej else if (i < 0) ? i--;  inna_zmienna=4; : i++; if (i < 0) {     i--; } else {     i++;     inna_zmienna = 4; } Skrócony zapis if

Inserting Data into SQL Database with Java

Inserting Data into SQL Database with Java Java Documentation - Processing SQL statements with JDBC  Process: Get connection to database Create a statement Execute SQL query import java.sql.*; /**  *  * @author www.luv2code.com  *  */ public class JdbcTest { public static void main(String[] args) throws SQLException { Connection myConn = null; Statement myStmt = null; ResultSet myRs = null; String dbUrl = "jdbc:mysql://localhost:3306/demo ?autoReconnect=true&useSSL=false "; String user = "root"; String pass = "Sasanka01"; try { // 1. Get a connection to database myConn = DriverManager.getConnection(dbUrl, user, pass); System.out.println("Database connection successfully created"); // 2. Create a statement myStmt = myConn.createStatement(); int rowsAffected = myStmt.executeUpdate(                          "...