插入排序 - 二分插入排序
生活随笔
收集整理的這篇文章主要介紹了
插入排序 - 二分插入排序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
二分插入是直接插入排序的一種優(yōu)化,主要是查找方式不同。
穩(wěn)定性:穩(wěn)定的?
時(shí)間復(fù)雜度:O(n^2)
public class BinaryInsertSort {public static void main(String[] args) {int temp;int left = 0, right, mid;int[] array = { -2, 61, 24, 43 ,11,342,121,10,123,9};for (int i = 1; i < array.length; i++) {right = i - 1;temp = array[i];while (left <= right) {mid = (left + right) >> 1;if (array[mid] < temp) {left = mid + 1;} else {right = mid - 1;}}// 元素后移for (int j = i - 1; j >= left; j--) {array[j + 1] = array[j];}if (left != i) {array[left] = temp;}left = 0;}for (int i : array) {System.out.print(" "+i);}} }
轉(zhuǎn)載于:https://www.cnblogs.com/javabigdata/p/7281111.html
總結(jié)
以上是生活随笔為你收集整理的插入排序 - 二分插入排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 第2周 - Python基
- 下一篇: 弱口令的分析和爆破工具使用