![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构算法
文章平均质量分 78
优游
坚持的力量很大!
展开
-
六、内部排序综合(九种)—插入类排序(直接插入、折半插入、希尔排序);交换类排序(冒泡、快速);选择类排序(简单选择、堆排序);二路归并排序;基数排序
冒泡排序:设数组长度为N,1、比较相邻前后两个数据,数组为[0,N-1],则要比较N-1次2、循环一次后,最大或者最小的数在数组最后面,这样比较数组[0,N-2],重复上述步骤即可综上其就是两个for循环第一个for循环表示:要排序的数值个数-1第二个for循环表示:将无序数组进行排序,即比较相邻的两个数值以下为代码:转载 2014-12-15 15:07:18 · 541 阅读 · 0 评论 -
二、动态规划算法
1、实验内容1)编程实现矩阵连乘、凸多边形最优三角剖分算法。2)先设计矩阵连乘算法,再将其修改成凸多边形的最优三角剖分算法。2、 实验要求1)通过实例,加深对动态规划基本策略的理解,思考不同的问题为什么可以用基本相同的算法。2) 用2-3个实例验证算法和时间复杂度。3) 比较两个算法的相同点和不同点。矩阵连乘观察一个最优解: ((A1x (A2 x A3)原创 2014-12-14 22:23:37 · 682 阅读 · 0 评论 -
三、贪心法
1、实验内容1)编程实现背包问题、最小生成树和单源最短路线算法。2) 先设计最小生成树算法,再将其修改成但源最短路线算法。2、实验要求1)通过实例,加深对贪心策略的理解,思考不同为什么这几个问题可以通过求局部最优达到全局的最优?2) 用2-3个实例验证算法和时间复杂度。3) 比较三个算法的相同点和不同点。最小生成树(Prim)C++算法:#incl原创 2014-12-14 22:42:00 · 325 阅读 · 0 评论 -
一、分治算法实现和时间复杂性验证
1、 实验内容1)编程实现归并排序算法和快速排序(交换类)算法。2)程序中使用一个变量对元素的比较运算进行计数,将实际计数和理论分析的时间复杂度比较。2、 实验要求1) 通过实例,加深对分治法基本策略的理解,和分治算法的设计方法。分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子原创 2014-12-14 22:08:54 · 622 阅读 · 0 评论