
算法
wh1312142954
这个作者很懒,什么都没留下…
展开
-
非递归构造二叉树
利用递归很容易就能够构造二叉树,但是利用非递归方法就不那么容易。非递归方式构建二叉树需要用到栈的结构,在这里梳理一下思路。#include <iostream>#include <stack>#include <string>using namespace std;class BiNode{public: BiNode() {}; Bi...原创 2018-07-29 11:43:43 · 3960 阅读 · 1 评论 -
Morris遍历实现前序、中序遍历二叉树
Morris遍历实现二叉树的前序、中序遍历比较简单,在这里做个笔记。后序遍历还在学习中,之后再做总结。这里用到了 二叉树树的非递归建立。#include <iostream>#include <stack>#include <string>#include "tree.h"using namespace std;int main(){...原创 2018-07-29 11:41:38 · 383 阅读 · 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 · 427 阅读 · 0 评论 -
c++中平衡搜索二叉树的应用
STL中,set、map底层是红黑树实现的。unordered_map、unordered_set 底层是哈希表实现的。set用法:set的各成员函数列表如下:1. begin()--返回指向第一个元素的迭代器2. clear()--清除所有元素3. count()--返回某个值元素的个数4. empty()--如果集合为空,返回true5. end()--返回...原创 2018-07-29 16:40:11 · 412 阅读 · 0 评论