- 博客(8)
- 收藏
- 关注
原创 排序算法之希尔排序
这个程序首先定义了一个名为shellSort的函数,该函数接受一个整数数组和它的大小作为参数。这个函数通过使用不同的间隔序列来对数组进行多次插入排序。然后,主函数创建一个整数数组,调用shellSort函数对其进行排序,并打印排序后的数组。希尔排序是一种基于插入排序的算法,通过比较相距一定间隔的元素来工作,从而减少元素交换的次数。
2024-01-26 21:20:47
379
原创 二叉搜索树之红黑树
红黑树是一种复杂的树形数据结构,但它的最坏情况运行时间性能非常好,并且在实践中是高效的。红黑树的这些性质保证了它的平衡性,即最长路径不超过最短路径的两倍,从而使得它在最坏情况下仍然具有高效的性能。与 AVL 树相比,红黑树在某些操作中可能需要更多的旋转操作来保持平衡,但在实践中,红黑树通常更快,因为它们的插入和删除操作通常需要更少的旋转。红黑树是一种每个节点都带有颜色属性的二叉查找树,颜色可以是红色或黑色。每个红色节点必须有两个黑色的子节点(从每个叶子到根的所有路径上不能有两个连续的红色节点)。
2024-01-24 18:36:13
395
原创 数据结构进阶——B+树
如果键不存在,则返回-1。B+树全节点遍历更快:B+树遍历整棵树只需要遍历所有的叶子节点即可,,而不需要像B树一样需要对每一层进行遍历,这有利于数据库做全表扫描。B+树叶子节点保存了父节点的所有关键字记录的指针,所有数据地址必须要到叶子节点才能获取到。B+树非叶子节点不保存关键字记录的指针,只进行数据索引,这样使得B+树每个非叶子节点所能保存的关键字大大增加。B+树叶子节点的关键字从小到大有序排列,左边结尾数据都会保存右边节点开始数据的指针。B+树是一种树数据结构,是B树的一种变体,也属于平衡多路查找树。
2024-01-07 17:46:00
620
原创 zigbee和thread的异同点
Zigbee和Thread都是基于IEEE 802.15.4标准的无线协议,这意味着它们在物理层(PHY)和媒体访问控制层(MAC)有共同的基础。网络地址:Zigbee网络中的每个节点都获得一个16位地址,而Thread则利用了Internet协议版本6(IPv6),支持Thread网络和现有的基于IPv6的网络(如Wi-Fi)之间的直接连接。认证过程:在认证过程中,Thread的认证和调试是基于智能手机的,而Zigbee的认证是通过信任中心进行集中的,并基于近距离调试。
2024-01-02 19:07:43
1334
原创 如何用c语言计算两点之间的距离
这段代码首先定义了一个结构体 Point 来表示二维空间中的点,然后定义了一个函数 distance 来计算两点之间的距离。在 main 函数中,我们定义了两个点 p1 和 p2,并打印出它们之间的距离。tips:除了使用库函数sqrt,还可以使用fast_sqrt()。
2024-01-01 16:35:43
1922
原创 使用C语言实现图的深度优先遍历
这个代码示例使用邻接表来表示图,并使用一个布尔数组 visited 来跟踪每个顶点是否已被访问。在 dfs 函数中,我们首先将当前顶点标记为已访问,并打印该顶点的值。然后,我们遍历与当前顶点相邻的所有未访问顶点,并对它们进行递归调用。在 main 函数中,我们首先输入顶点和边的数量,然后输入邻接矩阵。最后,我们初始化 visited 数组,并从顶点 0 开始进行深度优先遍历。以下是一个使用C语言实现图的深度优先遍历(DFS)的示例代码。在这个示例中,我们使用邻接表来表示图。
2024-01-01 16:21:42
548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人