Direct Insert Sort
The idea of a direct insertion sort is easy to understand and it is like this:1. The sorted array is divided into sorted and unsorted parts, and the first element is considered to be in order at the beginning.2. Starting with the second element, find the appropriate location for the element in the sorted array and insert the location.3. Repeat
Java uses binary insertion sort unexpectedly and direct insertion sort speed comparison
Previously tested Python is 99 times times faster than a direct insertion sort, using a bin
binary Insert Sort (Binary insertion sort) detailed and code (c + +)
This article address: http://blog.csdn.net/caroline_wendy/article/details/24001053
binary Insert Sort , where you find the insertion point, and you can use bi
, the last element is inserted into the position in the first part of the order now.
Algorithm description
In general, the insertion sort is implemented on an array using In-place. The specific algorithm is described as follows:
1. Starting with the first element, the element can be considered to have been sorted2. Take out the next element and scan backwards in the sorted sequence of elements3. If the e
"147-insertion sort list (linked list insertion sort)""leetcode-Interview algorithm classic-java Implementation" "All topics Directory Index"Original QuestionSort a linked list using insertion sort.Main TopicInsert
1. Insert sort-Direct Insert sort (Straight insertion sort)
Basic idea:
Inserts a record into a sorted ordered table to get a new ordered table with a record number of 1. That is, the 1th record of the sequence is first considered as an ordered subsequence, and then inserted from the 2nd record, until the entire seque
First, binary Insert Sort ( Two-point insertion sort )the method of inserting the insertion position in the direct insertion sort to find a[i] is replaced by the binary comparison, and the binary
compares 1 times, the record moves 2 times. The entire process
Compare Times to
Record number of moves is
Time complexity O (n)
3.2.2 Worst case: The pending records are already in reverse order, then a sequence, the keyword comparison times I (from i-1 to 0), record Movement (i+2) times. The whole process
Compare Times to
Record number of moves is
Time complexity O (n^2)
3.2.3 Average Time complexity: O (n^2)
3.3 Stability: Stable
Binary Insert Sort1
First, binary Insert Sort ( Two-point insertion sort )The method of inserting the insertion position in the direct insertion sort to find a[i] is replaced by the binary comparison, and the binary
(i = 1; i v. Results of OperationInitial keywords: 532736156942 the first 1 orders: 275336156942 The first 2 order: 273653156942 The first 3 order: 152736536942 the 4 order: 152736536942 The first 5 order: 152736425369 sorted Results: 152736425369==================================================================================================Ouyangpeng welcome reprint, sharing with people is the source of progress!Reprint please keep the original address : Http://blog.csdn.net/ouyang_peng
direct insert sort is O (N2). The Java code is implemented as follows:1 Public voidSortint[] arr) {2 inttmp;3 for(inti = 1; i ) {4 //data to be inserted5TMP =Arr[i];6 intJ;7 for(j = i-1; J >= 0; j--) {8 //determines whether the value is greater than TMP, or greater than9 i
Direct insertion sort of sorting algorithmFirst, the process of directly inserting the sort1. The direct insertion sort consists of N-1.2, the basic idea: the first element as an ordered sub-sequence, and then sequentially from the second record from the GE into this ordered sub-series.In general, Elem[i] is inserted i
In the following chapter, we talk about the principle and code of bubble sorting, and today we talk about the logic of inserting algorithms. Unlike bubbling sorting, the sorting algorithm is to select an element to compare in order with the element that precedes it. For example, I choose the first element, I want to determine the size of the i-1 element.The insertion s
the array** @param oneindex* One index* @param anotherindex* Another index* @param array* The array to is swapped* @exception NullPointerException* If the array is null*/public static void Swap (int oneindex, int anotherindex, int[] array) {if (array = = NULL) {throw new NullPointerException ("Null value input");}Checkindexs (Oneindex, Anotherindex, Array.Length);int temp = Array[oneindex];Array[oneindex] = Array[anotherindex];Array[anotherindex] = temp;}
/*** Check The index whether it is in
In the direct insertion sort, in Min's book it is necessary to set the Sentinel, the role of the Sentinel is to avoid the array out of bounds, so in the first position to set Sentinel, after thinking this algorithm for me the most worthy of learning is to compare the location of the move at the same time, this will reduce the complexity of timeData structure for#define MAXSIZE 20int KeyType;struct sqList{
PackageKpp.sort;/*** Currently to be inserted element data[i], if DATA[I]>=DATA[I-1], then the order is normal, i++ processing the next element * if DATA[I]@authorKPP **/ Public classMiddleinsertsort { Public Static voidMain (string[] args) {//TODO auto-generated Method Stub intArray[] = {49,38,65,97,176,213,227,49,78,34,12,164,11,18,1}; Midinsertsort (array); for(intK:array) {System.out.println (k); } } Private Static intMidinsertsort (inta[]) { intLen =a.leng
DescriptionSort a linked list using insertion sort.ExampleGiven 1->3->2->0->null , return 0->1->2->3->null .Problem solving: The list is sorted by inserting. A very simple topic, but there are still a lot of problems.Summarize the problems encountered:(1) Without a head node, in order to facilitate the construction of a, return to the first node of the next on the line.(2) There is no need to always in the original linked list of tangled, can apply fo
1. Direct Insert Sort"Introduction to Algorithms"P10, "Data structure"P265Insert A[j] into an already sequenced array A[1..j-1] and perform a loop traversal. The basic operation for inserting a sort is to find and insert in an ordered table. each pass the insert sort is compared back and forth to facilitate the backward movement of elements in the array .Space co
147. Insertion Sort List
Total accepted:80869
Total submissions:263074
Difficulty:medium
Sort a linked list using insertion sort./*** Definition for singly-linked list. * public class ListNode {* int val; * ListNode Next; * ListNode (int X) {val = x;}}*
Insert Sort1. How the insertion sort worksThe insertion sort works by constructing an ordered sequence, for unsorted data, from a backward forward scan in a sorted sequence, to find the appropriate location and insert it.2. ExampleWe take the 3,0,89,67,-2,9 of this unordered set of numbers as an example: from small to
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.