当前位置:网站首页>Hill sort of sorting
Hill sort of sorting
2022-07-05 00:28:00 【Building Zzzz】
Catalog
Two 、 Specific code implementation
3、 ... and 、 Spatial complexity , Time complexity and stability
Preface
Previously, we learned about direct insertion sorting , Direct insertion sorting is used when the data is in reverse order , Time complexity will reach O(N^2), This is a high time complexity for a sort , So today we will optimize the direct insertion sort , The more ordered the data, the faster the speed of direct insertion sorting is used to optimize it .
One 、 What is Hill sort
Hill's ranking method is also called reducing increment method . The basic idea of Hill's ranking is : Divide all the records in the file to be sorted into groups ( The specific grouping is a complex problem , This function changes with the data , It's an unsolved problem , So far, there is no good incremental sequence to solve , It can be said that this incremental sequence can be taken in various ways , However, it should be noted that the value in the incremental sequence should not be divided 1 The common factor outside is to try to be prime , And the last increment value must be taken 1 To end the overall sorting , All the previous sorts are pre sort , The last increment sequence is 1 Time is the real sort ), All records with the distance of this group number are divided into the same group , And sort the records in each group . Then repeat the above grouping and sorting . When the number of groups reaches 1 when , The sorting of the overall number of groups can be completed by arranging all data records in a unified group . The specific sorting method still uses direct insertion sorting, but as the whole sequence becomes more and more orderly, the speed will be faster , Therefore, Hill sort is the optimization of direct insertion sort .
Two 、 Specific code implementation
/**
* In fact, it is a direct insertion sort
* @param array Sequence to be sorted
* @param gap Group number
*/
public static void shell(int[] array,int gap) {
for (int i = gap + 1; i < array.length; i++) {
int j = i - gap;
int tmp = array[i];
for (; j >= 0; j -= gap) {
if(tmp < array[j]){
array[j + gap] = array[j];
}else{
break;
}
}
array[j + gap] = tmp;
}
}
public static void shellSort(int[] array) {
int gap = array.length;
while (gap > 1) {
shell(array,gap);// Sort by changing the number of groups each time
gap /= 2;
}
shell(array,1);// Make sure the end is 1 Group
}
3、 ... and 、 Spatial complexity , Time complexity and stability
Time complexity :( Increment related )O(n ^ 1.3 - n ^ 1.5) Spatial complexity : O(1)( No more variables are used ) stability : unstable ( If there is a jump change in the sorting process, it is unstable )
summary
Hill sort is an optimization of direct sort , In fact, we can divide the specific groups randomly, but in the end, we must press 1 To distribute , Then it is to sort the whole , This also optimizes the insertion sort , But Hill sort is rarely used , But we must know how to do this !
边栏推荐
- lambda表达式
- 初识ROS
- Ap8022 switching power supply small household appliances ACDC chip offline switching power supply IC
- Using fast parsing intranet penetration to realize zero cost self built website
- GDB common commands
- 业务场景功能的继续修改
- PyTorch: In-place Operation
- Parsing of XML
- P4408 [noi2003] truant children (tree diameter)
- JS convert pseudo array to array
猜你喜欢
【雅思阅读】王希伟阅读P4(matching1)
He worked as a foreign lead and paid off all the housing loans in a year
Get to know ROS for the first time
Two numbers replace each other
华为200万年薪聘请数据治理专家!背后的千亿市场值得关注
ORB(Oriented FAST and Rotated BRIEF)
P3304 [sdoi2013] diameter (diameter of tree)
URL和URI
《论文笔记》Multi-UAV Collaborative Monocular SLAM
他做国外LEAD,用了一年时间,把所有房贷都还清了
随机推荐
How to avoid arc generation—— Aafd fault arc detector solves the problem for you
P3304 [SDOI2013]直径(树的直径)
GDB common commands
Application of multi loop instrument in base station "switching to direct"
人生无常,大肠包小肠, 这次真的可以回家看媳妇去了。。。
TS快速入门-函数
Paper notes multi UAV collaborative monolithic slam
【selenium自动化】常用注解
Ap8022 switching power supply small household appliances ACDC chip offline switching power supply IC
【雅思阅读】王希伟阅读P4(matching1)
NPM install error forced installation
[paper reading] cavemix: a simple data augmentation method for brain vision segmentation
Réseau graphique: Qu'est - ce que le Protocole d'équilibrage de charge de passerelle glbp?
skimage: imread & imsave & imshow
Netcore3.1 JSON web token Middleware
Fast analysis -- easy to use intranet security software
Using fast parsing intranet penetration to realize zero cost self built website
Life is changeable, and the large intestine covers the small intestine. This time, I can really go home to see my daughter-in-law...
Microservice
[IELTS reading] Wang Xiwei reads P4 (matching2 paragraph information matching question [difficult])