
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
二分搜索(Binary Search),是一种在中查找特定元素的高效算法。二分搜索算法,实际上就是对一颗BST树从root根节点开始搜索的过程,每一次搜索只会沿着一条路径搜索下去:是每次定义索引left与right,每次找一个mid,比较mid索引的值与应找值val,之后缩小查找范围,循环操作,直到找到val或者循环结束。
重复循环遍历,每次比较相邻的两个元素,如果前大于后就交换,这样每次最大的元素都会交换到最后,每次循环遍历时去掉最后的元素。
std::function 是 C++ 标准库提供的一个模板类(定义在 <functional> 头文件中)。它本质上是一个“函数包装器”或“可调用对象的容器”,我们可以将其理解成一个功能更强大,更安全的函数指针,它能够将我们函数/函数对象的类型保留下来。
所谓流,是对数据传输过程的一种高度抽象,流就像一根数据管道,数据就像管道中的水流一样,具有方向性、有序且连续地从一端流向另一端。从底层来看,流本质上是一个类。
AVL树,也叫二叉平衡搜索树,就是在BST树的基础上加了平衡操作(平衡的定义是任意节点的左右子树的高度差不超过1)。
1.与AVL树相同,红黑树也是基于BST树的,满足BST树的基本性质。2.每一个节点都是有颜色的,红或者黑。3.root(根节点)必须是黑色的。4.所有叶子节点都必须是黑色的,叶子节点是NULL节点,并不存储实际数据。5.从根节点到叶子节点,不能存在两个连续的红色节点。6.从任意节点到叶子节点的所有简单路径都必须包含相同数目的黑色节点。7.左右子树的高度差不能超过2倍关系。
B树,实际上是m阶的平衡树,相较于AVL树,B树的平衡是完全平衡,要求其每一个节点的左右子树的高度差都为0,B树常用于文件索引系统的实现。
本文是学习基于C++的数据结构的学习总结。
1.与C++不同Lua的变量声明不需要声明类型,我们创建了一个变量就相当于声明了它,如:a=10,就相当于声明了变量a。2.同时Lua中声明的变量默认都是全局变量,如果想要声明局部变量需要在声明前加上local关键字3.在Lua中没有被声明的变量都是nil,其类似于NULL,比如说我们的程序中没有声明c,我们print(c),那么得到的值就是nil。4.Lua中允许多重赋值,我们可以a,b,c=1







