Introduction to Algorithms
Posted BlueMonds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Introduction to Algorithms相关的知识,希望对你有一定的参考价值。
1.直接插入排序
应用:属于比较排序的一种,最基础的排序方法,稳定,时间复杂度为O(n^2),空间复杂度为S(1).
方法:设置待排数字角标为i,j = i, 把j对应数字与其前的字数逐个对比交换完成后,i++即可.
1 public class Paixu { 2 public int[] paixu(int[] input){ 3 int n = input.length - 1; 4 for(int i = 1; i <= n; i++){ 5 int j = i; 6 int tmp = 0; 7 for(; j > 0 && input[j] < input[j - 1]; j--){ 8 tmp = input[j - 1]; 9 input[j - 1] = input[j]; 10 input[j] = tmp; 11 } 12 13 } 14 return input; 15 } 16 //T(n) = O(n ^ 2); S(n) = O(1) 插入排序 17 public static void main(String[] args){ 18 int[] x = {3,3,7,8,21,1}; 19 int[] y = new Paixu().paixu(x); 20 System.out.println(y[0] + " " + y[1]); 21 } 22 }
以上是关于Introduction to Algorithms的主要内容,如果未能解决你的问题,请参考以下文章
《Introduction to Algorithm》-chaper33-计算几何学
Gilbert Strang 《Introduction to Linear Algebra》 chap1 Introduction to Vectors 笔记