![](https://img-blog.csdnimg.cn/e5525800b8cf416ba737a3423ed781be.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法导论内容理解与实现
文章平均质量分 66
计算机大黑砖-《算法导论》一书中大部分的算法与数据结构实现与理解。可能使用的语言有C,C++,Java
RIDDLE!
每篇文章的代码都已实际操作,不用担心用不了问题的存在!
展开
-
《算法导论》-随机算法-实现随机数组两种方法(Java,C++)
在很多编程语言中都提供了Random算法,然而Random算法产生的随机数并非真的随机为伪随机数,虽然真正的随机在一个封闭的计算机系统中实现比较困难,但是我们可以经过一些算法,将本来的随机数更”随机“一些。 例如当你需要一串验证码时可以取0-9或者再加上a-z范围内的字符,将他们放入随机数数组中,进行随机排列,截取一部分结果转换为字符串返回。再或者,当你试图测试一些数据时可能需要的是真正随机数的参与。 建立于原数组大小相同的辅助数组,辅助数组内容由生成伪随机数Random方法生成,原创 2022-12-05 14:22:52 · 1297 阅读 · 0 评论 -
《算法导论》-分治策略,矩阵相乘Strassen算法(伪代码,Java)
如果要计算上述矩阵,最简单的通用方法是通过三个循环也就是复杂度为O(n^3).而Strassen算法的特点是适用于比较大的矩阵,通过递归划分,再用上述公式解决,创建10个n/2小矩阵,递归计算7个矩阵。原创 2022-11-24 21:23:18 · 1470 阅读 · 0 评论 -
《算法导论》-分治策略-最大子数组问题,理解与实现(Java,C++)
关于最大子数组问题如果采用暴力破解法将会很容易实现,但是暴力破解复杂度可想而知,所有如果采用分治策略可以大大减少运行时间,下面将分析分治策略如何解决这个问题,通过伪代码来表示执行过程,并用Java,C++进行实现.原创 2022-11-22 14:26:42 · 618 阅读 · 1 评论 -
《算法导论》-分治策略,分治排序(Java,C++)
简单的来说就是将原问题分解为规模较小的子问题,几个规模较小的子问题类似于原问题,递归的求解子问题,将子问题合并,建立原问题的解。原创 2022-11-21 15:32:43 · 309 阅读 · 0 评论