- 博客(4)
- 收藏
- 关注
原创 Strassen矩阵乘法
设AaijBbij是n×n的方阵,则对ij12...n,定义A和B的乘积矩阵C中元素cij如下cijk1∑naik⋅bkj按照定义来计算,我们需要计算n^2个矩阵元素,每个元素是n个值的和(从k=1到n),也就是说,要每计算一个C矩阵的元素,就要进行n次乘法和n-1次加法。显然依照定义来计算的时间复杂度将达到O(n^3)。
2024-06-06 22:30:25
1630
原创 分治法求解最大子数组
如果left_sum是最大的,那么原数组的对应侧的最大子数组元素就是left_sum,如果cross_sum是最大的,那么原数组对应侧的最大子数组就是cross_sum,以此类推。分治求解最大子数组问题其实就是将原数组分成多个子数组,并求出子数组中点的左侧最大子数组,右侧最大子数组,跨越中间的最大子数组,并进行比较得出这个子数组的最大子数组,然后这个子数组的最大子数组又作为上一层次数组的左、右或跨越mid的最大子数组,通过这样的递归就可以得到整个数组的最大子数组。1. 计算跨越中点的最大子数组。
2024-06-04 20:00:47
698
1
原创 关于C++中数组能否用变量定义的问题
然后我又翻阅了 这本书,C++之父是明确说"数组中元素的数量必须是常量表达式,如果你希望边界可变,最好使用vector", 也就是说在C++中是不支持a[n] 这种定义形式的,但是具体实例中会因为编译器的不同而改变.在算法课的讨论中,我与一名同学关于能否用变量定义数组产生了矛盾,我习惯用vs,当然觉得是只能不能用a[n]这种形式定义数组的.网上说C99是支持用变量定义的,于是我用dev c++测试了一遍。不过如果你使用的是C语言,那么使用这种形式来定义数组是符合标准的.
2023-10-25 15:01:58
3215
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅