240 发简信
IP属地:青海
  • 二叉树的非递归遍历三(后序/JAVA)

    思路 二叉树的后序非递归遍历相对来说比前序和中序要难一点,那么原因何在呢?根据“左右根”的原则,众所周知,遍历的起点应该在最左端,然而并不一定是...

  • 23种设计模式之回味单例模式(Swift)

    来源 单例模式的初衷是为了确保某些类的实例唯一,从而避免创建多个不必要的实例来节省资源、避免内存溢出。 特点 实例唯一 必须自身创建这个实例 向...

  • 二叉树的非递归遍历一(先序/JAVA)

    前言 二叉树的非递归遍历对于初学者来说可能不太容易掌握,其实它源于递归遍历,只是把递归栈换成了我们自己的栈。掌握了这一点,无论是先序中序还是后序...

  • 二叉树的层次遍历

    前言 对于二叉树来说,层次遍历可以说是很平常的,但由于其应用广泛,比如可以用来求二叉树的高度和宽度,因而非常重要。对于任何一个程序员来说掌握都是...

  • Resize,w 360,h 240
    23种设计模式之回味代理模式(JAVA)

    来源 代理模式的设计初衷是一个类自己不能办或者不想办的事委托给其他类去办,这样就为两个类之间的传值或者异步调用提供了巨大地方便。在移动开发中,无...

  • 使用概率算法优化快速排序(JAVA)

    前言   前面一篇文章系统介绍了快速排序算法,提到快速排序虽然平均时间复杂度为o(n*log2(n)),效率相对比较高。但是其在特殊情况下,比如...

  • 优化冒泡排序(JAVA)

    算法   冒泡排序作为最基础最简单的排序算法,实质是相邻两元素比较,若有序则跳过,若无序则交换。最多需n-1趟排序,第i趟需比较n-i次。所以时...

  • 二叉树的非递归遍历二(中序/JAVA)

    思路 与先序非递归遍历非常类似,沿左子树向下搜索,将结点圧入栈中直到结点为空即到达最左端,出栈获得结点并访问,再沿右子树继续。可以看到与先序唯一...

  • 基数排序(JAVA)

    算法   开门见山,基数排序是内排序中性格比较怪异的一种,它无需比较和交换,而是按位分配和收集。通俗地讲就是,对各元素先按个位上的数值排序,接着...