算法三 morris算法
Posted 馥钰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法三 morris算法相关的知识,希望对你有一定的参考价值。
本篇文章根据左程云视频教程整理而来
https://www.bilibili.com/video/BV11v411G7xR?p=4
一、奇数在奇数位置上,偶数在偶数位置上
一个数字数组,把奇数都放在奇数的位置,或者把偶数都放在偶数的位置的算法题!
两个指针变量a、b,a、b步长都为2,即a永远指向偶数位置,b永远指向奇数位置,每次判断n-1位置的数,若为偶数与a位置的数交换位置,a移动到下一个偶数位置a=a+2,否则与b交换位置,b移动到下一个奇数位置b=b+2
array[n-1] = 1,为奇数,与b位置的数交换
b = b + 2
array[n-1] = 6,为偶数,与a位置的数交换, a = a + 2
二、morris算法 时间复杂度O(n), 空间复杂度O(1)
实例morris序 第一次访问,更改mostRight.right = cur
第二次访问,更改mostRight.right = null
完整morris序
morris算法
morris算法
第一次访问打印,二叉树先序遍历
第二次访问打印,二叉树中序遍历
morris中序遍历二叉树
morris先序遍历二叉树
morris后续遍历二叉树
morris后序遍历二叉树
打印逆序打印左树右边界(单链表反转再反转)
反转单链表
morris判断一棵树是二叉树:中序遍历是升序的
morris算法求二叉树的最小高度
1)递归算法求二叉树的最小高度
2)morris算法求二叉树最小高度
morris算法的应用场景
以上是关于算法三 morris算法的主要内容,如果未能解决你的问题,请参考以下文章