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