倒霉的菜鸟

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2021年10月14日

摘要: 先看下效果 在上一篇随笔中, 我们用到了画弧的方法, 1 /** 2 * <p> 3 * Draw the specified arc, which will be scaled to fit inside the specified oval. 4 * </p> 5 * <p> 6 * If th 阅读全文
posted @ 2021-10-14 18:35 倒霉的菜鸟 阅读(59) 评论(0) 推荐(0) 编辑

摘要: 我们知道一个自定义view一般来说需要继承view或者viewGroup并实现onMeasure, onLayout, onDraw方法。 其中onMeasure用于测量计算该控件的宽高, onLayout用来确定控件的摆放位置,onDraw执行具体的绘制动作。 今天主要学习onDraw 先看下de 阅读全文
posted @ 2021-10-14 12:48 倒霉的菜鸟 阅读(436) 评论(0) 推荐(0) 编辑

2021年10月13日

摘要: 1 class WaterFlowLayout constructor(context: Context, attrs: AttributeSet) : ViewGroup(context, attrs) { 2 3 override fun onLayout(changed: Boolean, l 阅读全文
posted @ 2021-10-13 22:40 倒霉的菜鸟 阅读(36) 评论(0) 推荐(0) 编辑

2021年10月11日

摘要: 先来了解一些基本概念: 1)什么是二叉平衡树? 之前我们了解过二叉查找树,我们说通常来讲, 对于一棵有n个节点的二叉查找树,查询一个节点的时间复杂度为log以2为底的N的对数。 通常来讲是这样的, 但是。。。有例外 比如,我们向一棵树中输入预先排好序的数据, 如1,2,3,4,5,。。。10000, 阅读全文
posted @ 2021-10-11 18:42 倒霉的菜鸟 阅读(612) 评论(0) 推荐(3) 编辑

2021年10月10日

摘要: 哈夫曼树通常用于压缩, 先看下哈夫曼树的由来 看上面这段代码, 结合右图中各个分数段的比例。 现在假设一共有100个学生, 那么一共要执行多少次判断的逻辑呢? 显然 5 + 15*2 + 40*3 + 30*4 +10*5 = 325次 那么是否可以优化呢? 当然也是可以的, 我们如果把分数占比大的 阅读全文
posted @ 2021-10-10 22:33 倒霉的菜鸟 阅读(490) 评论(0) 推荐(1) 编辑

摘要: 二叉查找树也叫二叉排序树,二叉搜索树, 它具备以下特性: 1)可以是一颗空树 2)如果不是空树,那么每个节点左子树的值都比该节点小;右子树的值都比该节点大 3)左右子树都为二叉树 4)原则上没有重复值(实际应用中如需要有重复值可忽略) 接下来我们来试着定义一棵二叉查找树 首先定义节点内部类: 1 / 阅读全文
posted @ 2021-10-10 20:47 倒霉的菜鸟 阅读(52) 评论(0) 推荐(0) 编辑

2021年10月8日

摘要: 如果有这样一个数组,整体是无序的, 但是前半部分和后半部分分别是有序的 现在我们定义一个方法对它进行排序: 1 /** 2 * array 如: intArrayOf(1,2,5,9,3,4,10,11) 3 * left = 0, 4 * middle = 4, 5 * right = 7 6 * 阅读全文
posted @ 2021-10-08 20:55 倒霉的菜鸟 阅读(74) 评论(0) 推荐(0) 编辑

摘要: 快速排序, 应用场景: 数据量大且为线性结构时。 短处:有大量重复数据的时候,性能不好 单向链式结构处理性能不好(一般来说,链式都不使用) 一次排序过程: 1)取一个高位指针和一个低位指针, 暂存低位指针的值temp 2)移动高位指针,如果值比Temp大,继续移动不做处理,如果比temp小,则取出来 阅读全文
posted @ 2021-10-08 17:47 倒霉的菜鸟 阅读(297) 评论(1) 推荐(0) 编辑

摘要: 顺序查找? 所谓顺序查找,就是从第一个元素开始,遍历表中的元素,以找到对应的节点 对于线性表来说, 如果该表是无序表, 那么不管它采用的是顺序存储还是链式存储, 都必须使用顺序查找。 如果该表是有序的,但是采用链式存储, 也必须使用顺序查找 当该表有序且顺序存储时, 我们可以采用二分查找 二分查找? 阅读全文
posted @ 2021-10-08 14:24 倒霉的菜鸟 阅读(79) 评论(0) 推荐(0) 编辑

摘要: 什么是树? 树是n(n>=0)个结点的有限集。n=0时称为空树,在任意一棵非空树中,有且仅有一个特定的称为根(root)的结点, 当n>1时,其余结点可分为m个互不相交的有限集。 下图中第一张图就不是树, 因为d和e相交 树的存储结构? 树的存储结构一般有4种, 1)双亲表示法,就是在每个节点中标示 阅读全文
posted @ 2021-10-08 10:35 倒霉的菜鸟 阅读(78) 评论(0) 推荐(0) 编辑