自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 线索化二叉树(包含前序、中序、后序线索化以及三者的遍历)

线索化二叉树 学习内容: 线索化二叉树(包含前序、中序、后序线索化以及三者的遍历) 学习产出: package com.tree; public class ThreadedBinaryTreeDemo { public static void main(String[] args) { HeroNode1 root = new HeroNode1(1, "tom"); HeroNode1 node2 = new HeroNode1(3, "jack");

2021-11-02 11:22:08 266

原创 插值查找算法

插值查找算法 和二分查找类似。mid的计算方式不一样 mid= left + (right - left)*(target - arr[left])/(arr[right] - arr[left]); 注意事项: 1.对于数据量较大,关键字分布比较均匀的查找表来说,采用插值查找,速度较快。 2.关键字分布不均匀的情况下,该方法不一定比二分查找要好。 代码 package com.search; public class InsertValueSearch { public static voi

2021-10-27 15:59:00 132

原创 二分查找算法及小优化

二分查找算法 二分查找只针对有序数组。 如果数组无序,需要先进性排序,在进行二分查找。 思路: 首先确定该数组的中间的下标,mid = (left+right)/2,这里注意一个问题,left+right可能会存在溢出的情况。 然后让需要查找的数findVal和arr[mid]比较(数组从小到大排序) 当findVal > arr[mid],说明你要查找的数在mid的右边,因此需要递归的向右查找 当findVal < arr[mid],说明你要查找的数在mid的左边,因此需要递归的向左

2021-10-27 14:49:55 331

原创 基数排序(桶排序)

基数排序(桶排序) 学习产出: 桶排序,典型的空间换时间的算法。 占用的内存相当大,如果数据量庞大时,会造成OutOfMemoryError.内存不够 如果排序的数组中有负数的话,最好不要用基数排序。 import java.util.Arrays; public class RadixSort { public static void main(String[] args) { int[] arr = {53,3,542,748,14,214}; radixSo

2021-10-27 11:27:31 94

原创 归并排序算法

归并排序 学习产出: import java.util.Arrays; public class MergeSort { public static void main(String[] args) { int[] arr = {8,4,5,7,1,3,6,2}; int[] temp = new int[arr.length]; mergeSort(arr, 0, arr.length-1, temp); System.out.p

2021-10-27 08:43:36 58

原创 快速排序学习

快速排序 学习内容: 快速排序是对冒泡排序的一种改进。 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 学习产出: 参考秒懂算法的快速排序以第一个元素为pivot。 import java.util.Arrays; public class QuickSort { public static void main(String[] args)

2021-10-26 13:47:38 54

原创 希尔排序算法

希尔排序: 学习内容: 1、 交换式的希尔排序(不好,效率比直接的插入排序还低,虽然思路不错) 2、 移位式的希尔排序 学习产出: 1、 交换式的希尔排序 import java.util.Arrays; public class HellSort { public static void main(String[] args) { int arr[] = {8,9,1,7,2,3,5,4,6,0}; hellSort(arr); System

2021-10-24 14:48:52 82

原创 插入排序的缺点

插入排序的缺点 插入排序并不稳定。 例如数组{2,3,4,5,6,1} 此时进行插入排序,数组前面的数据后移次数明显增加,影响效率。 从而引出插入排序的优化版本,希尔排序

2021-10-22 16:57:56 509

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除