数据结构与算法
文章平均质量分 52
pipi糖
这个作者很懒,什么都没留下…
展开
-
堆原理与用法
一. 常用堆函数相关函数定义在头文件#include1.创建堆 make_heap()make_heap()该函数默认生成大顶堆。有第3个参数,可以用来指定一个比较函数用于堆的排序。vector<double> numbers{2.5,10.0,3.5,6.5,8.0,12.0,1.5,6.0};//默认生成大顶堆make_heap(begin(numbers), end(numbers));//{12 10 3.5 6.5 8 2.5 1.5 6}// make_heap(num原创 2021-04-25 22:02:39 · 173 阅读 · 0 评论 -
二叉树前序、中序、后序遍历、层序(广度优先)遍历、深度优先遍历具体代码实现
1. 前序遍历// 递归实现void preOrder(TreeNode* root){ if(root != nullptr){ cout<<root->data<<" "; preOrder(root->left); preOrder(root->right); }}// 迭代实现void preOrder(TreeNode* root){ if(root == nullptr)原创 2021-04-25 20:34:31 · 236 阅读 · 0 评论 -
TRIE(前缀树)
Trie 树也称字典树、前缀树,单词查找树等,是一颗非典型的多叉树模型。1. Trie树设计// 节点表示struct TrieNode { bool isEnd; //该结点是否是一个串的结束 TrieNode* next[26]; //字母映射表};包含三个单词 “sea”,“sells”,“she” 的 Trie树,如下图所示:2. Trie树常用操作(1)插入首先从根结点的子结点开始与 word 第一个字符进行匹配,一直匹配到前缀链上没有对应的字符,这时开始不断开原创 2021-04-14 16:48:49 · 157 阅读 · 0 评论