240 发简信
IP属地:新疆
  • 240
    说一下View绘制流程

    1、View是如何被添加到屏幕窗口上 上代码: 这是写了一千遍的代码,通过setContentView将xml布局添加到Activity中,具体怎么添加的?跟进去: 调用Wi...

  • 观察者模式

    什么是观察者模式? 概念:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 说白了就是一个或多个观察者同时可以观察一个...

  • 单例模式

    什么是单例? 概念:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 为什么要用单例? 许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统的整体...

  • 240
    希尔排序

    希尔排序是插入排序的一种优化,极端情况下,插入排序的数据交换次数非常多,性能差;希尔排序是取间隔较远的数据进行插入排序,这样数组会变得相对有序,最后再进行一次完整插入排序;这...

  • 插入排序

    插入排序类似于我怕们平时玩的扑克牌,每次从牌堆摸一张牌放入手中,依次和手上的牌比大小,插入合适的位置;时间复杂度O(n^2)。 描述: 1、每次从数组中取一个目标元素,向左扫...

  • 归并排序

    归并排序和快速排序类似也是采用分治法的一种排序,时间复杂度O(nlog2n),但它是牺牲空间换时间的方式,过程中多次创建新数组,所以很消耗内存。 描述: 1、首先将待排序数组...

  • 快速排序

    快速排序是效率比较高的排序方式,采用分治法思想,将规模较大的问题分解成规模较小的子问题,它的时间复杂度O(nlog2n)。 描述: 1、选定第一个值为基准值,在数组两端设置一...

  • 堆排序

    堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 描述: 1、用数组...

  • 选择排序

    选择排序和冒泡排序类似,穷举法,时间复杂度O(n^2)。 描述: 1、记录第一个元素作为最小元素2、和后面的元素比大小,遇到比当前最小元素还小的元素记录下标3、完成一轮对比操...