算法剖析
文章平均质量分 51
QtC++ 开发从业者
天道酬勤
展开
-
动态规划DP 二维数组类型2
由于我们的目的是从左上角到右下角,最小路径和是多少,那我们就定义 dp[i] [j]的含义为:当机器人从左上角走到(i, j) 这个位置时,最下的路径和是 dp[i] [j]。那么,dp[m-1] [n-1] 就是我们要的答案了。注意,这个网格相当于一个二维数组,数组是从下标为 0 开始算起的,所以 由下角的位置是 (m-1, n - 1),所以 dp[m-1] [n-1] 就是我们要走的答案。原创 2023-02-07 10:44:23 · 441 阅读 · 0 评论 -
动态规划 二维数组类型的习题
动态数组dp问题解题思路 1定义数组元素的含义;2找出数组元素间的关系式;3找出初始条件转载 2023-02-07 10:28:16 · 108 阅读 · 0 评论 -
八大排序算法C++实现 在vs下可直接调试运行
【代码】八大排序算法C++实现 在vs下可直接调试运行。原创 2023-02-03 16:39:27 · 198 阅读 · 0 评论 -
堆排序
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。算法描述将初始待排序关键字序列(R1,R2….Rn)构建成大顶堆,此堆为初始的无序区;将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无序区(R1,R2,……Rn-1)和新的有序区(Rn),且满足R[1,2…n-1]<=R[n];由于交换后新的堆顶R[1]可能违反堆的性质,因此需要对当前无序区(R1,R2,.转载 2020-06-04 16:24:55 · 205 阅读 · 0 评论 -
剖析 选择排序算法 心里历程
大概思想:1 选择排序的主要思想就是,经过一次的遍历,通过数据的对比,找到这一次的最小元素的下标,然后把该元素与第一个元素进行替换。2 把游标向后一位,然后把第二位的元素为基准,通过遍历循环 查找第二大小元素的坐标,然后把该最小元素的坐标,放到前面第二位3游标在向后一位,第三位为基准,通过遍历查找第三小元素的坐标,把最小的元素,放到前面第三位........................思想很简单但是,我们知道从抽象的概念到具体的代码实现还是有一定的差距的,那我接下来我就带领大家一步一原创 2020-05-27 17:03:35 · 175 阅读 · 0 评论