Java data structure sorting algorithm (3) simple selection sort
This article mainly introduces the simplicity of java data structure and algorithmselection sorting, and analyzes the principles, implementation methods and related operation techniques of selection sorting in the form of examples. Friends in need can refer to the following
The examples in this article describe simple selection sorting of java data structures and algorithms. Share it with everyone for your reference. The details are as follows:
In the previous article, we have already described the sorting algorithm of the exchange class. In this section, we will start to talk about the sorting algorithm of the selection class. First, let’s take a look at the selection sorting algorithm. Algorithmic thought;
The basic algorithmic thought of selection sorting:
Each trip is in n-i+1 (i=1,2, Select the record with the smallest keyword among 3,...,n-1) records as the i-th record in the ordered sequence.
Simple selection sorting:
Suppose the number of records in the sorted sequence is n. i takes 1,2,…,n-1, find the record with the smallest sorting code from all n-i+1 records (Ri, Ri+1,…,Rn), and exchange it with the i-th record. After executing n-1 times, the sorting of the record sequence is completed.
The algorithm implementation code is as follows:
package exp_sort; public class SimpleSelectSort { static int i; static int temp; public static void selectSort(int array[]) { for (i = 0; i < array.length; i++) { int k = i; //记录当前位置 for (int j = i + 1; j < array.length; j++) { if (array[j] < array[k]) { //找出最小的数,并用k指向最小数的位置 k = j; } } //交换最小数array[k]与第i位上的数 if (k != i) { temp = array[i]; array[i] = array[k]; array[k] = temp; } } } public static void main(String[] args) { // TODO Auto-generated method stub int array[] = { 38, 62, 35, 77, 55, 14, 35, 98 }; selectSort(array); for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println("\n"); } }
Algorithm analysis:
In this sorting process, the number of times records need to be moved a bit less. In the best case, that is, the initial state of the records to be sorted is already in positive order, there is no need to move the records; in the worst case, that is, the initial state of the records to be sorted is in reverse order, the maximum number of moves required is: 3 ( n-1). The number of comparisons required during the sorting process has nothing to do with the arrangement of the record sequence to be sorted in the initial state. When i=1, n-1 comparisons are required; when i=n, the total number of comparisons required is: n(n-1)/2, that is, the time complexity of the comparison operation is: O(n^ 2), the time complexity of moving operation is O(n); this sorting is unstable sorting.
[Related recommendations]
1. java data structure sorting algorithm (1) tree selection sort
2. java data structure Sorting algorithm (2) Merge sort
3. Detailed tutorial on selection sorting (Selection Sort_java) in Java
4. java data structure Sorting algorithm (4) Selection sort
The above is the detailed content of Java data structure sorting algorithm (3) simple selection sort. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.

Spring Boot simplifies the creation of robust, scalable, and production-ready Java applications, revolutionizing Java development. Its "convention over configuration" approach, inherent to the Spring ecosystem, minimizes manual setup, allo

Java Made Simple: A Beginner's Guide to Programming Power Introduction Java is a powerful programming language used in everything from mobile applications to enterprise-level systems. For beginners, Java's syntax is simple and easy to understand, making it an ideal choice for learning programming. Basic Syntax Java uses a class-based object-oriented programming paradigm. Classes are templates that organize related data and behavior together. Here is a simple Java class example: publicclassPerson{privateStringname;privateintage;
