![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
wh1312142954
这个作者很懒,什么都没留下…
展开
-
非递归构造二叉树
利用递归很容易就能够构造二叉树,但是利用非递归方法就不那么容易。非递归方式构建二叉树需要用到栈的结构,在这里梳理一下思路。 #include <iostream> #include <stack> #include <string> using namespace std; class BiNode { public: BiNode() {}; Bi...原创 2018-07-29 11:43:43 · 3913 阅读 · 1 评论 -
Morris遍历实现前序、中序遍历二叉树
Morris遍历实现二叉树的前序、中序遍历比较简单,在这里做个笔记。后序遍历还在学习中,之后再做总结。 这里用到了 二叉树树的非递归建立。 #include <iostream> #include <stack> #include <string> #include "tree.h" using namespace std; int main() { ...原创 2018-07-29 11:41:38 · 328 阅读 · 0 评论 -
Mannacher算法
查找最长回文子串用暴力解的话时间复杂度 O(n^2) ,利用 Mannacher 算法实现时间复杂度为 O(n) 。其思想主要是利用回文结构的对称性来解决,类似于用表的方式纪录信息,避免重复计算。 #include<iostream> #include<string> #include<assert.h> using namespace std; int ...原创 2018-07-29 12:15:00 · 389 阅读 · 0 评论 -
c++中平衡搜索二叉树的应用
STL中, set、map底层是红黑树实现的。 unordered_map、unordered_set 底层是哈希表实现的。 set用法: set的各成员函数列表如下: 1. begin()--返回指向第一个元素的迭代器 2. clear()--清除所有元素 3. count()--返回某个值元素的个数 4. empty()--如果集合为空,返回true 5. end()--返回...原创 2018-07-29 16:40:11 · 383 阅读 · 0 评论