算法
文章平均质量分 84
Timer95
闲来看花,没事喝茶。有时翻书,无聊吃瓜。
展开
-
BFPTR算法的详细思路及实现步骤(即中位数的中位数算法)
【待完善】依然是记录一下算法分析课要求的作业:通过查找中位数来查找第i小值,要求使用BFPRT算法。BFPRT算法是解决从n个数中选择第k大或第k小的数这个经典问题的著名算法。可以参考这个链接对其进行详细了解。1.优势:相比快速排序Partion,BFPTR算法通过改变了Partion中的pivot值的选取,即选择五分中位数的中位数作为pivot,使划分更加合理,从而避免了最坏情况的发生。2.算法步骤如下:(1)将输入数组的n个元素划分为 [n/5] 组,每组5个元素,且至多只有一个组由剩下的原创 2021-06-06 01:30:14 · 941 阅读 · 4 评论 -
[算法]用C++实现Strassen方法求矩阵乘法(详细思路+代码+注释+测试)
记录算法分析作业学完《数据结构与算法分析(C++版)》(第三版)16.3.3节Strassen矩阵相乘的算法流程后,用C++实现Strassen方法求矩阵乘法参考了这个博客的思路添加链接描述Strassen矩阵相乘的算法,相比起普通算法,只是少了一次乘法,时间复杂度却少很多。由此可见,一个细小的差别说不定就会导致后果差别很大呀。(跑题~~以下是实现过程1. 实现矩阵加法功能//矩阵加法void Matrix_Sum(int n, int** MatrixA, int** MatrixB, in原创 2021-06-15 23:27:21 · 3444 阅读 · 3 评论