随笔分类 -  算法

摘要:1. 你对回溯算法的理解 (1) 回溯算法步骤: ①:针对给定问题,定义解空间。 ②:确定易于搜索的解空间结构。 ③:深度优先搜索,并在过程中剪枝。 (2) 剪枝函数 ①:约束函数 ②:限界函数 (3) 两类问题 ①:子集树 ②:排列树 2. 你学习《算法分析与设计》课程的收获 学习到了算法思维,同 阅读全文
posted @ 2020-12-19 15:28 Clearwings 阅读(304) 评论(0) 推荐(0)
摘要:一. 贪心算法 概念:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅仅是在某种意义上的局部最优解。 使用条件: ① 局部最优策略能导致产生全局最优解。 ② 题目满足贪心选择性质,即所求问题的整体最优解可以通过一系列局部最优的选择,对于一个具体问题,要确 阅读全文
posted @ 2020-11-14 15:19 Clearwings 阅读(200) 评论(0) 推荐(0)
摘要:1.单调递增最长子序列问题 ①问题描述:设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 ②解题思路:对于长度为x的序列,若其结尾的数字比长度为x-1的序列最长递增子序列大,则其最长递增子序列为长度为x-1序列的最长递增子序列+1 故其递推方程为: 可以用动态规划法求解。 阅读全文
posted @ 2020-10-29 19:50 Clearwings 阅读(161) 评论(0) 推荐(0)
摘要:一,实践题目名称 :找第k小的数 二,问题描述:设计一个平均时间为O(n)的算法,在n(1<=n<=1000)个无序的整数中找出第k小的数。提示:函数int partition(int a[],int left,int right)的功能是根据a[left]~a[right]中的某个元素x(如a[l 阅读全文
posted @ 2020-10-03 00:57 Clearwings 阅读(247) 评论(0) 推荐(0)
摘要:一,分治法 1.概念:把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 2.方法:将一个规模为N的问题,分解成K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。通过求解出子问题的解,合并得到原 阅读全文
posted @ 2020-10-02 23:54 Clearwings 阅读(464) 评论(0) 推荐(0)
摘要:1. 遵循的代码规范: https://blog.csdn.net/freeking101/article/details/78930381 2. 数学之美读后感 数学之美给我最大的感触就是原来数学能够解决这么多问题。数学可以说是伴随我们从小到大的一门学科了,然而我们学习这门课程这么多年,却不知道数 阅读全文
posted @ 2020-09-19 22:16 Clearwings 阅读(137) 评论(0) 推荐(0)