算法
阿璐4r
坐在马桶上写代码的阿璐4r
展开
-
归并排序 java(分治法)
归并排序: 归并排序是将给定的数列,尽可能地数量相同的两个数列。然后通过递归调用进行排序,排序完毕后的,将两个已经排好序的数列合并为一个数列,完成最终的排序。算法将数列对半分割,一直分割到数列只剩下一个数为止,之后再将排列好的数组合并到一个完整的排列好的数列。归并排序分割简单,而且效率也很高,分割的时间复杂度为O(1);但是合并的过程较为复杂,单独过程将耗...原创 2018-02-11 20:11:30 · 333 阅读 · 0 评论 -
十进制与二进制、八进制、十六进制等之间的转换
十进制转二进制:toBinaryString(int i) 十进制转换八进制:toOctalString(int i) 十进制转十六进制:import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner sc = new Scanner...原创 2018-01-12 19:54:59 · 569 阅读 · 0 评论 -
使用移位运算符做乘除法运算
一个整数每次执行移位运算中的左运算n次,相当于这个整数乘以2的n次方;一个整数每次执行移位运算中的右运算n次,相当于这个整数除以2的n次方;不过这种方式只能用于乘以除以2的n次方,但是他的效率比乘法运算要高;public class Main { public static void main(String[] args) { int a = 0; a = 3 <&l...原创 2018-09-24 18:55:58 · 6220 阅读 · 1 评论 -
两变量互换(不借助第三变量)
通常我们交换量个变量的值时,都会借助临时变量。而临时变量的创建增加了系统资源的消耗。使用 异或“^”可以使得两变量高效互换 public class Main { public static void main(String[] args) { int a = 3; int b = 7; System.out.println("交换之前 a = "+a+"; ...原创 2018-09-24 19:03:40 · 170 阅读 · 0 评论