- 博客(9)
- 收藏
- 关注
原创 动态规划
在本章中,每个步骤都要进行一次选择,但选择通常依赖子问题的解。因此,我们通常以一种自底向上的方式求解,先求子问题,然后是较大的问题。然而,是否可以做出局部最优选择,并将该选择加入最优解中,这引出了我们的下一章—这个小偷希望拿走价值尽量高的商品,但他的背包最多容纳。注意,如果长度为n英寸的钢条的价格。计算最优解的值, 通常采取自低向上的方法。的一段继续切割,对左边的一段不再切割。利用计算出的信息构造一个最优解。利用计算出的信息构造一个最优解。利用计算出的信息构造一个最优解。开始之前的所有活动的集和,记。
2024-03-15 15:30:08 898 1
原创 计数排序_C
计数排序的基本思想是:对于待排序的数组中每个元素,求出小于等于该元素值的元素的个数,然后根据这个个数将该元素放置到排序后的相应位置上。
2023-08-04 16:59:23 34 1
原创 堆排序_C
堆排序(Heap Sort)是一种树形选择排序,将要排序的序列构造成二叉堆(Max Heap/Min Heap),然后每一次从堆中取出最大值或最小值,直到堆为空,就得到了排序好的序列。
2023-08-04 15:44:39 33 1
原创 归并排序_C
归并排序是一种分治算法,它将一个大问题分成两个或多个小问题,解决小问题,然后将解决后的结果合并起来解决大问题。这个算法的基本思想是将待排序的序列分成若干个子序列,每个子序列都是有序的,然后再将有序子序列合并成一个有序的序列。
2023-08-04 11:58:47 27 1
原创 快速排序_C
快速排序(quicksort)是一种高效的排序算法,它基于分治思想,将一个数组分成两个子数组,然后递归地进行排序。快速排序的基本思想是在待排序的数组中选择一个元素作为基准值,然后将数组中小于基准值的元素放在基准值的左侧,大于等于基准值的元素放在基准值的右侧。这样,数组就被分成了两个部分,一部分的元素均小于基准值,另一部分的元素均大于等于基准值。然后递归地对这两个子数组进行快速排序,直到分出的子数组只剩下一个元素或为空为止。最后,将递归得到的有序子数组合并成有序的整个数组。
2023-08-03 17:04:27 25
原创 希尔排序_C
先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。
2023-08-02 19:17:51 33 1
原创 选择算法_C
选择排序是一种简单直观的排序算法。它的基本思想是每次从未排序的数列中选择最小(或最大)的元素,放到已排序序列的末尾(或开头),直到全部元素排序完成。
2023-08-01 09:17:40 31 1
原创 冒泡排序_C
冒泡排序是一种基础的排序算法,其定义为:对于一组待排序的数据,从第一位开始依次比较相邻两个数的大小。若前一个数比后一个数大,则交换这两个数的位置;若前一个数比后一个数小,则不交换它们的位置。重复以上步骤,直到整个序列有序为止。其名称由于越小的元素会经由交换慢慢“浮”到数列的顶端,故称为“冒泡排序”。
2023-07-31 11:30:37 33 1
空空如也
关于#rust#的问题,请各位专家解答!
2024-03-26
司机 售货员操作系统死锁
2024-03-19
(标签-leetcode)
2024-02-28
leetcode 电话号码组合题执行错误,如何解决?
2024-02-27
easyx做图出现问题
2023-06-06
vscode中c_cpp_properties.json出现错误,如何解决?
2023-02-26
c语言是否允许一次函数调用多个数组,如果允许请指出我的错误,并改正,解释
2022-10-25
程序无法运行,好像是递推有误
2022-10-07
输出有误,不知道怎么回事
2022-10-02
电脑插音乐,请您解答
2022-09-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人