![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
章天杰
这个作者很懒,什么都没留下…
展开
-
平衡二叉树(AVL 树):概念、实现原理和算法代码
文章目录引入定义实现原理概述单旋转双旋转实现算法单旋转双旋转插入操作参考资料引入上一篇中已经介绍了二叉搜索树(BST),在二叉搜索树的复杂度分析中,我们提到,二叉搜索树的算法复杂度与其拓扑结构(具体来说是其树的深度)有关。当 BST 最为「平衡」时,查找、删除、插入的算法为 O(logn)O(\log{n})O(logn),而最不平衡情况下,算法复杂度为 O(n)O(n)O(n)。当节点数 nnn 增长时,O(logn)O(\log{n})O(logn) 的算法相对于 O(n)O(n)O(n) 的原创 2020-06-18 22:28:08 · 889 阅读 · 0 评论 -
二叉查找树(BST):概念、基本操作和性能分析
文章目录定义声明基本操作初始化 MakeEmpty查找任意值 Find查找最小/最大值 FindMin/FindMax插入 Insert删除 Delete性能分析参考资料二叉查找树 (Binary Search Tree, BST) 是二叉树在查找中的一种重要应用形式。在这篇文章接下来的叙述中,做出以下假设:尽管二叉树节点中存储的数据类型是任意的,但为了大小比较和理解的方便,本文中将数据类型指定为整数。各个节点中的存储的数据是没有重复的。定义若一棵二叉树为二叉查找树,那么它必须满足:对于原创 2020-06-16 00:56:52 · 1518 阅读 · 0 评论 -
理解 C++ 中的引用 (Reference)
文章目录什么是引用创建一个引用引用的特点引用的应用引用作为参数:以实现一个交换函数为例引用实现指针实现常引用引用作为返回值更多细节什么是引用引用是一个别名,也就是某个已存在的变量的另一个名字。对某个对象的引用进行操作,就是直接对这个对象进行操作。创建一个引用创建一个引用的语句如下:类型标识符 & 引用变量名 = 目标变量名;例如:// 原始变量int a;doub...原创 2020-03-02 01:21:39 · 630 阅读 · 0 评论 -
Windows 下 VSCode 搭建 C 开发环境
Windows 下 VSCode 搭建 C 开发环境本文介绍在 Windows 下进行 VSCode C 运行环境搭建的方法。本文介绍的是使用 Code Runner 的配置方法,在对调试功能要求不高时,Code Runner 使用起来非常方便。针对调试功能的配置可以参考文末推荐的两篇文章。文章目录Windows 下 VSCode 搭建 C 开发环境一、安装 VSCode 插件二、安装 Min...原创 2020-01-14 19:26:20 · 1297 阅读 · 0 评论