![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
ALuckyA
这个人什么都没有留下…
展开
-
二叉树遍历思想实现幂集
今天上完数据结构课后 对于二叉树思想在某些问题上的恰到好处的运用感到amazing 记录一个印象最深刻的例子 利用二叉树实现幂集 在离散数学中我们知道 若一个集合中包含n个元素 则此集合的所有子集的个数和为 恰好是一颗满二叉树的叶子结点的个数 (偷一张老师的图来做笔记) 核心代码 template<class T> void printPowerSet(vector<T>& set, vector<T>& ans, int pos) { if (pos原创 2020-09-23 00:22:06 · 216 阅读 · 0 评论 -
二叉树习题
①考察深度 运用了递归的思想从第一个结点,深度为1开始DFS #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc++.h> using namespace std; const int LEN = 1e7 + 5; struct Node { int left; int right; }node[LEN]; int ans; void dfs(int root, int depth); int main() { int n; cin原创 2020-07-14 14:05:05 · 185 阅读 · 0 评论 -
二叉排序树BST
二叉排序树Java实现 定义 对于BST中的任何一个非叶子节点,要求左子节点的值比当前结点的值要小,右子节点的值比当前结点大,且不存在相同的值 二叉排序树的创建 有用到递归的思想 若要插入结点的值小于当前结点的值,则在左子树中插入 若要插入结点的值大于当前结点的值,则在右子树中插入 核心代码 public void add(Node node) { if(node==null)return; if(node.data<this.data) { if(this.left==null) {原创 2020-07-03 23:13:37 · 138 阅读 · 0 评论 -
二叉树Notes
相比数组与链表 1.数组存储方式: 优:可以直接通过下标访问数组元素,效率高。对于有序数组,直接采用二分搜索就OK 缺:增删效率太低,因为移动了差不多整个数组 2.链表存储方式: 优:增删效率高 缺:检索效率低,每次要从head结点开始搜索 3.树存储方式: 能够提高存储,读取数据的效率 二叉树 这颗二叉树共有三层, ...原创 2020-07-02 13:57:08 · 614 阅读 · 0 评论