![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
koko_TT
Show me the code.
展开
-
Sedgewick增量希尔排序和快速排序 (附C++代码)
01 运行时间比对结果随机数组长度为10000时:快速排序:1452希尔排序:2122随机数组长度为100000时:快速排序:19156希尔排序:2980602 Show me the code// Sedgewick增量希尔排序template <class T>void heelSort(T origin[], const long SIZE){ ...原创 2020-03-01 17:51:04 · 1156 阅读 · 0 评论 -
Sedgewick增量希尔排序和快速排序 (附Python代码)
比对结果随机数组长度为 1000时:Time for heer is 0.08317700000000006Time for quick is 0.004468999999999945随机数组长度为10000时:Time for heer is 8.282509Time for quick is 0.055301000000000045随机数组长度为20000时:Time...原创 2019-02-27 17:10:50 · 1119 阅读 · 5 评论 -
二叉树的创建与遍历 (附C++代码)
二叉树的创建创建二叉树节点class Node {public: float data; // 节点数据 Node * leftChiled = nullptr; // 左孩子 Node * rightChiled = nullptr; // 右孩子 Node(float data) // 构造函数 :data(data) {}...原创 2019-02-28 10:55:54 · 1650 阅读 · 0 评论 -
二叉树的左视图和右视图 形象理解(附C++代码)
定义二叉树的左(右)视图即:以从上到下的顺序,输出一颗二叉树每一层最左(右)端的节点,结果就是其左(右)视图。步骤采用递归的方式,将二叉树的所有节点连带其深度信息存入动态数组(若对二叉树的递归遍历不熟悉,可参考二叉树的创建与遍历 (附C++代码))如左视图,以根——&amp;amp;gt;左——&amp;amp;gt;右的顺序将深度和节点信息添加到动态数组,再进行倒序向前覆盖,即可得到左视图结果。右视图原理与左视图...原创 2019-03-01 11:55:23 · 4140 阅读 · 0 评论 -
C++快速排序效率测试 (附C++代码)
结论经测试,随机数列长度为10的时候,自定义快速排序速度快于标准库sort函数,随机数列长度增加后,自定义快速排序函数效率则较差。结果随机数列长度 : 10标准库sort排序时间 : 21自定义快速排序时间 : 8随机数列长度 : 100标准库sort排序时间 : 20自定义快速排序时间 : 30随机数列长度 : 10000标准库sort排序时间 : 965自定义快...原创 2019-03-07 16:45:59 · 902 阅读 · 1 评论 -
C++最小二乘拟合 (高阶最小二乘拟合)(附C++代码)
配置Eigen矩阵运算库后续计算需要利用矩阵运算来求解拟合系数,用到Eigen矩阵运算库,配置方法可自行搜索或MacOs可以参考Mac配置Eigen库进行配置。拟合原理以二次曲线拟合为例,拟合曲线应满足以下方程:a∗X2+b∗X+c=ya*X^2 + b*X + c = ya∗X2+b∗X+c=y如要要拟合的4个点为:(3, 6)(5, 8)(6, 12)(7, 4)则...原创 2019-03-27 17:20:53 · 17946 阅读 · 10 评论 -
C++SVD分解求伪逆 (Eigen库)(附C++代码)
SVD求解矩阵伪逆过程首先对矩阵A进行SVD分解得到U, D, V三个矩阵,其中D为列矩阵,是从上到下,由大到小排列的A矩阵的奇异值。若D矩阵中元素个数为n则原矩阵有n个奇异值,构建大小为V.cols() * U.cols()的S矩阵,其中S矩阵的前n个对角线的各元素为各奇异值,即D矩阵各元素的倒数。需注意D矩阵元素非负, 且是由大到小的顺序进行取倒数。最后利用公式构建A矩阵的伪...原创 2019-03-28 21:52:18 · 6850 阅读 · 0 评论 -
C++ 堆排序
01 思路以从小到大排列为例。代码用到以下几个模块swap模块完成一个数组中的两个位置的元素交换heapify模块完成将一个子树构建为根节点最大的形式。如果根节点不是最大值,那么交换后将对传入最大位置的序号进行递归。build_heap模块从倒数第二层开始反向依次调用heepify模块,直到0节点。sort模块首先调用build_heap建堆,再从最后一...原创 2019-08-20 16:31:22 · 329 阅读 · 0 评论