自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 堆排序(HeapSort)

堆排序使用一种称为“堆”的数据结构来进行信息管理。堆不仅用在堆排序中,还可以用来构造优先队列。

2024-07-04 19:42:26 277

原创 Strassen矩阵乘法

设Aaij​Bbij​是n×n的方阵,则对ij12...n,定义A和B的乘积矩阵C中元素cij​如下cij​k1∑n​aik​⋅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关注的人

提示
确定要删除当前文章?
取消 删除