自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java创建二叉搜索(排序)树

1.概念二叉搜索树又称二叉排序树,它或者是一棵空树**,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树2.操作-查找3 操作-插入4操作-删除设待删除结点为 cur, 待删除结点的双亲结点为 parentcur.left == nullcur 是 root,则 root = cur.rightcur 不是 root,cur 是 pare

2021-02-05 00:02:47 246 1

原创 Java快速排序

快排原理从待排序区间选择一个数,作为基准值(temp);遍历整个待排序区间,将比基准值小的(可以包含相等的)放到基准值的左边,将比基准值大的(可以包含相等的)放到基准值的右边;采用分治思想,对左右两个小区间按照同样的方式处理,直到小区间的长度 == 1,代表已经有序,或者小区间的长度 == 0,代表没有数据。图解代码实现:public class QuickSort { public static void quickSort(int[] array, int low, int

2021-02-02 22:41:22 115

原创 Java TopK问题1

题目描述:从一组数组中选取最大(或最小) K 个元素思路:建立一个大小为 k 的小顶堆(如果求最小k对则建大顶堆)把数放到优先队列里,堆顶为堆中最小数若取下一个数比较 比堆顶大则入堆 这样结束后堆中即是最大k个数代码实现:import java.util.*;public class TestTOPk { public static void topK(int[] array,int k){ //建立大小为k的小堆 PriorityQueue

2021-02-01 23:58:21 102

原创 TopK问题2

题目描述:给定两个以升序排列的整形数组 nums1 和 nums2, 以及一个整数 k。定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2。找到和最小的 k 对数字 (u1,v1), (u2,v2) … (uk,vk)。思路:思路(这里我们采用建堆的方式解决):获取到所有的数对把数对放到优先队列里从优先队列里取前 k 个即可代码实现 public List<List<Integer>> kSmallestPairs(int[]

2021-02-01 00:28:00 342

原创 判断一个树是否是完全二叉树

判断一个数是否是完全二叉树完全二叉树的特点:1.叶子节点只出现在最下面两层2.最下层的叶子一定集中在左部连续位置3.倒数第二层若有叶子节点,一定都在右部连续位置4.如果节点度为1,则该节点只有左孩子,即不存在只有右孩子的情况5.同样节点数的二叉树,完全二叉树的深度最小在这里插入图片描述判断二叉树主要是利用层序遍历(利用队列实现层序遍历!!!)假设我们在层序遍历的时候将null也放进队列中,那么遍历的结果会是什么样子呢?以上面的图为例:(#代表null)完全二叉树:ABCDE#####

2021-01-28 22:10:20 280 1

空空如也

空空如也

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

TA关注的人

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