
数据结构与算法
文章平均质量分 79
关于数据结构和算法的一些总结
殇弑天
这个作者很懒,什么都没留下…
展开
-
B树的原理及实现
B树的原理及实现 B树的作用 B树是一种存放在磁盘中的数据结构,是为了减少磁盘读写的次数,同时也不影响查找效率而设计的。B+树在B树的基础上可以实现链式遍历。B树每个结点具有key值数组和索引数组,将数组大小定位页的倍数可以使计算机方便读取每一个结点。索引比key值多一个,相当于每一个key值都在两个索引中间,左边的索引小于key值,右边的索引大于key值,每一次都可以查找到需要读取的结点的索引地址,所以可以有效的减少磁盘读取次数。 B树的原理 B树有一个固定的阶数(M),该阶数一般为页的倍数,方便磁盘每次原创 2021-05-14 23:17:41 · 921 阅读 · 0 评论 -
二叉树和红黑树的原理及实现
二叉树和红黑树的原理及实现 二叉树的原理及作用 二叉树是一种特殊的树状结构,每一个结点最多只有两个孩子,左孩子比父结点小,右孩子比父结点大,所有结点都满足当前性质,等于父结点的情况可以放在右边也可以放在左边,放在右边可以保持稳定性。 可以用作非线性存储结构的快速查找,在非线性结构中,二叉树对数据进行排序,查找的效率从理论上说的O(log(n)),具有和二分查找同样的性质。但是二叉树会有极端情况,就是输入的数据相对有序,这样就趋近于线性表,查找速度趋近O(n)。有AVL(二叉平衡树)、红黑树等数据结构,基于二原创 2021-05-14 20:15:07 · 602 阅读 · 0 评论 -
各种排序的实现与分析
各种排序的分析与实现 我实现了6种排序算法:冒泡、选择、插入、希尔、归并、快排。 我在linux平台下进行的测试,调用了linux中的时间函数,精确到微秒。如果想要在windows在编译,只需要将计算时间的模块更改为windows下的API即可。 数据采用的rand函数自动生成,根据数据集的大小和排序算法的个数进行生成。保证每个排序使用的数据集一致,避免偶然性。 以下是实现代码: #include <iostream> #include <cstdio> #include <c原创 2021-04-26 10:38:12 · 117 阅读 · 0 评论