摘要: 一、对动态规划算法的理解: 将待解问题分解成若干个有关联的子问题,先求解出最小的子问题,在求解出临近的规模比它大的问题,直至到待解问题。该算法可以保存已解决的子问题的答案,在需要时再找出已解决的子问题的答案,避免大量重复计算,减少时间复杂度。我认为运用这个算法的关键点在于找出找出问题的递归过程并列出 阅读全文
posted @ 2018-12-02 19:47 jiaqiz 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 5.时间复杂度和空间复杂度:用了二分法搜索算法,寻找x的时间复杂度为O(logn);空间复杂度为数组空间大小,是一个常数,与变量n的取值无关。所以空间复杂度为O(1) 6.心得体会 这道题目其实在掌握了书上的二分搜索算法后就变得很简单 5.时间复杂度和空间复杂度:用了二分法搜索算法,寻找x的时间复杂 阅读全文
posted @ 2018-12-02 19:43 jiaqiz 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-1 最优合并问题 (100 分) 题目来源:王晓东《算法设计与分析》 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使 阅读全文
posted @ 2018-12-02 19:40 jiaqiz 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 1.对贪心算法的理解: 贪心算法的概念:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法的基本要素:a.贪心选择性质(问题的整体最优解可以通过一系列局部最优解来达到)b.最优子结构性质(问 阅读全文
posted @ 2018-12-02 19:33 jiaqiz 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目:7-1 2、问题描述:使用二分查找算法在n个非降序排列的整数中查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 3、算法描述:将n个元素分成个数大致相同的两半,取a[mid]与x比较。如果x=a[mid],则找到x,算法终止;如果x<a[mid],则只 阅读全文
posted @ 2018-10-21 23:27 jiaqiz 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一、对二分法的理解 基本思想:假设数据是按升序排序的,对于给定值x,从序列的中间位置开始比较,如果当前位置值等于x,则查找成功;若x小于当前位置值,则在数列的左半段中查找;若x大于当前位置值则在数列的右半段中继续查找,直到找到为止。 时间复杂度: 最好情况:1次 最坏情况:O(log n)次 感想: 阅读全文
posted @ 2018-10-21 16:55 jiaqiz 阅读(131) 评论(0) 推荐(0) 编辑