数据结构
文章平均质量分 96
mac_timmy
这个作者很懒,什么都没留下…
展开
-
二叉搜索树插入和删除(递归和非递归实现)
个人博客传送门 性质 节点 插入 思路 图示 代码实现 查找 代码实现 删除 删除思路 第一类,叶子节点或者有一个子树为空 左子树为空 右子树为空 注意 第二类,两个子树都存在 代码实现 中序遍历 代码实现 完整代码 性质 二叉搜索树是一个优化的二叉树,也称作二叉排序树、二叉查找树、BST等。一般在每个节点定义一个关键值Key。插入的时候按...原创 2018-04-02 15:17:10 · 767 阅读 · 1 评论 -
二叉树的基本实现
个人博客传送门 二叉树 本文将使用c++实现模板类的二叉树,内容包括创建、递归遍历、非递归遍历、结点个数、深度、叶子结点的个数、第K层结点个数等函数。 结点、二叉树结构 二叉树的结点是一个结构体,包括值_data,指向左子树的指针和指向右子树的指针_left和_right。还有构造函数,用于创建结点。 将BinaryTreeNode<T>typedef为Node,很多...原创 2018-03-06 15:41:31 · 261 阅读 · 0 评论 -
堆的解析和实现
个人博客传送门 定义 最大堆和最小堆 完全二叉树用vector表示 构造堆并调整 空构造函数 传参的构造函数 reserve()函数的使用 Adjustdown函数 仿函数 Adjustdown函数(一次向下调整函数),本文用最大堆来讲解 小技巧 补充 插入函数 Push函数 AdjustUp函数(向上调整函数) 出堆函数 判空,大小,堆顶元素 完整代码 ...原创 2018-04-02 20:47:39 · 459 阅读 · 0 评论 -
基于HuffmanTree的文件压缩及解压
个人博客传送门 HuffmanTree 定义 名词解释 性质 创建HuffmanTree 节点定义 构造函数 参数解释 构建的思想 析构函数 获取根节点函数 补充 文件压缩及解压缩 哈夫曼编码 压缩思路 压缩原理 压缩与解压代码分析 结构体分析 构造函数 压缩函数 构建哈夫曼编码函数 解压函数 代码 HuffmanTree 定义 哈弗曼树是一种...原创 2018-04-05 14:21:48 · 479 阅读 · 2 评论