![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
常见算法
笨笨的小棒棒
这个作者很懒,什么都没留下…
展开
-
BFPRT算法及其C++代码实现
BFPRT算法的应用场景: 在一个数组中求第k个大的值或第k个小的值 BFPRT可以使用O(N)的时间复杂度解决该问题。 BFPRT算法是在随机快速排序算法进行优化的,随机快速排序的思路如下: 1)随机的选取一个元素与最后一个元素进行交换位置,随机选取的数成为最后一个元素 2)遍历数组 小于最后一个元素的放在左边 大于最后一个元素的放在右边 3)将最后一个元素放到中间位置 ...原创 2019-05-08 11:28:08 · 895 阅读 · 1 评论 -
Morris算法、Morris算法的前序 中序 后序遍历及其C++实现
Morris算法遍历二叉树的时间复杂度为O(N),额外的空间复杂度为O(1) Morris算法的步骤: 当前节点用cur表示 1)如果cur无左孩子,cur向右移动cur=cur->right 2)如果cur有左孩子,找到cur左子树的最右节点,记为mostright: 如果mostright的右指针为空 让其指向cur,mostright->...原创 2019-05-11 23:38:52 · 605 阅读 · 0 评论