java
HusGoose
知识在于积累
展开
-
简单选择排序
简单选择排序首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。平均时间复杂度:O(n^2) public static void selectSort(int[] arr) { for (int i = 0; i < arr.length; i++) { // 默认每次循环的第一个数是最小的 int min原创 2020-10-07 22:37:52 · 210 阅读 · 0 评论 -
快速排序
快速排序平均时间复杂度: /** * 快速排序(标准版) * * @param arr * @return */ public static void quickSort(int[] arr) { quickSort(arr, 0, arr.length - 1); } public static void quickSort(int[] arr, int low, int high) { i原创 2020-10-07 22:35:48 · 232 阅读 · 0 评论 -
归并排序
标题先使每个子序列有序,再使子序列段间有序。平均时间复杂度:代码如下: /** * 归并排序 * * @param arr */ public static int[] mergeSort(int[] arr) { if (arr == null) { return null; } return mergeSort(arr, 0, arr.length); }原创 2020-10-07 22:32:48 · 272 阅读 · 1 评论 -
直接插入排序
直接插入排序把一个新的元素插入已排好序的数组形成一个新的已排好序的数组 从第一个元素开始,取下一个元素比较后实现排序,形成新的数组, 再取第三个元素与该数组比较, 比较时从该数组的最后一位开始比较, 若新元素比与其比较的元素小,则将该比较的元素后移以为, 直到新元素比该数组左边找到其应该插入的位置。(转自七月回来继续发博客)平均时间复杂度:O(n^2)public static void insertionSort(int[] arr) { // 从第二个数开始,第一个数默认有序原创 2020-10-07 22:18:17 · 165 阅读 · 0 评论 -
冒泡排序
冒泡排序public static int[] bubbleSort(int[] arr) { for (int j = 0; j < arr.length; j++) { // 将最大的数放到最后 for (int i = 0; i < arr.length - j - 1; i++) { if (arr[i] > arr[i + 1]) { i原创 2020-10-07 21:52:52 · 109 阅读 · 0 评论 -
java 大数相加
java 大数相加大数相加是指数字太大,超过了基本数据类型的表数范围,只能用字符串形式来表示数字。注意:我们假定输入的两个数字字符串是符合规范的,如:“12344214141411124”。代码如下:public static String addLargeNumber(String a, String b) { // 数字字符串a,b的倒数索引 int aIndex = 1; int bIndex = 1; // 进位原创 2020-10-07 21:50:04 · 1501 阅读 · 0 评论