![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
_kirakira_
一边失去自我,一边找到自我。
展开
-
No44.树的顺序表示法
1.树的遍历 2.树的实现 2.1父指针表示法 2.2子结点表示法(邻接表) 2.3左子结点/右兄弟结点表示法 2.4动态结点表示法(与子结点表示法差不多,但是可以动态分配子结点,而不是把子结点分配在数组中) 3.K叉树 K叉树(K-ary tree)的内部节点恰好有K个子结点。 满K叉树:对于树中的任意节点,要么它是叶子结点,要么它是分支结点,且有K个非空的子结点。 结论:假设满K叉树有n个分...原创 2019-12-22 19:52:37 · 1355 阅读 · 1 评论 -
minimax算法及α-β剪枝算法
minimax算法通常用于二人博弈游戏中,如井字棋,chomp游戏等。我对这个算法的理解是这样的:(以人和电脑下棋为例) 电脑要确定哪一步下棋使得优势最大,假设棋盘大小为nxm,不 考虑其他因素,那么电脑要对这nxm个位置进行评估,筛选出 最佳位置(有多个位置任选其一),评估的办法就是让电脑模拟 出所有可能的情况,可以想象成电脑(甲)在和电脑自己(乙)下 棋,甲和乙的智力水平是一样的,意思是甲和乙...原创 2019-09-04 19:15:17 · 2685 阅读 · 0 评论 -
二叉树的应用---表达式树 优化
前文 这里有一个Flyweight模式 的说法,大概意思是当一个对象被反复用到时,我们可以统一创建一个对象,然后当它需要被用到时,引用这个统一的对象即可。 这个要划分外部状态和内部状态(外部状态应该就是帮助你优化算法的,它不是一个内部结构,比如当我们把非叶节点的一个左子节点设为空时,我们可以让它指向一个特殊的叶子结点,而不是设为NULL,这个特殊的叶子结点就可以理解为外部状态,大概~~~) 初始代...原创 2019-09-23 23:08:00 · 211 阅读 · 0 评论 -
二叉树的应用----表达式树
… 文章目录...... @[toc] ......何为表达式树表达式树实现表达式树优化Reference … 何为表达式树 上图1^11就是一个表达式树(手动滑稽) 下面我会给出把中缀表达式(字符串)转化成表达式树的代码 表达式树实现 作为二叉树的一个应用,这里就用二叉树这种数据结构来实现~ 这里有一个重要的知识点,在利用指针实现的二叉树中,叶节点(叶结点)与非叶节点是否使用相同的定义十分重...原创 2019-09-23 23:09:28 · 325 阅读 · 0 评论 -
利用最小堆创建Huffman树代码(C++)
#include"heap.h" #include<time.h> #include<iostream> using namespace std; //Huffman tree node abstract base class template<typename E> class HuffNode { public: virtual ~HuffNode(){...原创 2019-09-25 23:46:55 · 827 阅读 · 2 评论