![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
记录算法中常用数据结构
奈何桥边摆地摊
终是没等到你赠的那握月光.
展开
-
数据结构完全二叉树性质
完全二叉树若二叉树左子树高度-右子树高度小于等于1且大于等于0则称该二叉树为完全二叉树。二叉树一般性质:性质1:二叉树第i层上的结点数目最多为2i−1(i≥1)2^{i-1}(i \geq 1)2i−1(i≥1)性质2:深度为k的二叉树至多有2k−1(k≥1)2^{k-1}(k \geq 1)2k−1(k≥1)个结点性质3:包含n个结点的二叉树的高度至少为log2n+1\log_2n+1log2n+1性质4:在任意一棵二叉树中,若叶子结点的个数为n0n_0n0,度为2的结点数为n2n_2n原创 2021-01-02 22:17:28 · 5423 阅读 · 3 评论 -
数据额结构第七章树习题
题目:已知一颗树有nnn个非叶子节点,则该树转换为二叉树后有多少个节点无右孩子?解答:设该树有fff个叶子节点,则该树共有(f+n)(f+n)(f+n)个节点。一个二叉树节点有2个指针域(左孩子、右孩子),故共有2∗(f+n)2*(f+n)2∗(f+n)个指针域,非空指针域(Edges=Vertexs−1)(Edges=Vertexs-1)(Edges=Vertexs−1):f+n−1f+n-1f+n−1,空指针域:2∗(f+n)−(f+n−1)=f+n+12*(f+n)-(f+n-1)=f+n原创 2020-10-27 20:14:16 · 105 阅读 · 0 评论 -
AC自动机(多模式串匹配)
AC自动机模板题链接#include <bits/stdc++.h>using namespace std;class Aho_Corasick{public: Aho_Corasick() { root = new Node(); } /*存储结构:Trie树*/ void insert(const char* word) { Node* tmp = root; for (int i = 0; i < strlen(word); i++) {原创 2020-08-12 16:33:06 · 176 阅读 · 0 评论 -
Trie树
Trie树模板题链接#include <iostream>using namespace std;const int N = 100000 + 10;int son[N][26], cnt[N], idx; // 0 既是root又是nullchar s[N];void insert(char str[]){ int p = 0; for (int i = 0; str[i]; i++) { int u = str[i] - 'a'; if (!son[p][u])原创 2020-08-12 13:31:42 · 108 阅读 · 0 评论