![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
Champhoenix
这个作者很懒,什么都没留下…
展开
-
快速排序java实现
快速排序java实现 public int[] sortArray(int[] nums){ quicksort(nums,0, nums.length-1); return nums; } public void quicksort(int[] nums,int start,int end){ if (end>start) { int pivot=partiton(nums,start,原创 2021-11-10 13:17:17 · 253 阅读 · 0 评论 -
计数排序java实现
计数排序java实现 public int[] sortArray(int[] nums){ int min=Integer.MAX_VALUE; int max=Integer.MIN_VALUE; for (int num:nums) { min=Math.min(min,num); max=Math.max(max,num); } int[] cou原创 2021-11-10 10:41:48 · 277 阅读 · 0 评论 -
求解线性递归关系
求解线性递归关系核心是特征方程和特征根。该类型题常考。原创 2020-12-16 23:26:08 · 919 阅读 · 0 评论 -
算法设计与分析第三章复习
算法设计与分析第三章复习一、学习要点理解动态规划算法的概念。掌握动态规划算法的基本要素(1)最优子结构性质(2)重叠子问题性质掌握设计动态规划算法的步骤。(1)找出最优解的性质,并刻划其结构特征。(2)递归地定义最优值。(3)以自底向上的方式计算出最优值。(4)根据计算最优值时得到的信息,构造最优解、通过应用范例学习动态规划算法设计策略:(1)矩阵连乘问题;(2)最长公共子序列;(3)最大子段和(4)凸多边形最优三角剖分;(5)多边形游戏;(6)图像压缩;(7)电路布线;原创 2020-12-07 16:54:16 · 737 阅读 · 0 评论 -
算法设计与分析第五章复习
算法设计与分析第五章复习第5章 回溯法原创 2020-12-06 15:11:20 · 941 阅读 · 0 评论 -
算法设计与分析第四章复习
算法设计与分析第四章复习第四章 贪心算法一、贪心算法的基本要素贪心选择性质和最优子结构性质。1.贪心选择性质贪心选择性质指,所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。在贪心算法中,仅在当前状态下做出最好选择,即局部最优选择。这意味着它不依赖将来的选择,也不依赖子问题的解。动态规划:自底向上贪心:自顶向下2.最优子结构性质当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。二、活动安排问题各活动的起始时间和结束时间存储于数组s和f中,且按结原创 2020-12-04 20:50:21 · 914 阅读 · 0 评论 -
算法设计与分析第二章复习
算法设计与分析第二章复习第二章 递归与分治学习要点:理解递归的概念。掌握设计有效算法的分治策略。通过下面的范例学习分治策略设计技巧。(1)二分搜索技术;(2)大整数乘法;(3)Strassen矩阵乘法;(4)棋盘覆盖;(5)合并排序和快速排序;(6)线性时间选择;(7)最接近点对问题;(8)循环赛日程表。一.递归1.整数划分问题将正整数n表示成一系列正整数之和:n=n1+n2+…+nk,其中n1≥n2≥…≥nk≥1,k≥1。正整数n的这种表示称为正整数n的划分。求正整数n的原创 2020-11-29 19:25:56 · 445 阅读 · 0 评论 -
合并排序算法伪码
合并排序伪码这里只给出伪码,分析详见《计算机算法设计与分析》。 void MergeSort (int a[],int left,int right) { if (left<right) { int i=(left+right)/2; MergeSort (a,left,i); MergeSort (a,i+1,right); Merge(a,b,left,i,right); Copy(a,b,left,right); } } void Merge(int a[]原创 2020-11-23 18:20:28 · 2402 阅读 · 0 评论 -
算法设计与分析第一章复习
算法设计与分析第一章复习第一章 算法概述1.渐近意义下的记号O,Ω,θ,o(1)渐近上界记号Of(N)=O(g(N))存在正常数C和自然数N0,使得当N>=N0时有f(N)<=C(g(N))F(N)的阶不高于g(N)的阶例如:因为对所有的N>=1,有3N<=4N,所以3N=O(N)因为当N>=1时有N+1024<=1025N,所以N+1024=O(N)运算规则:O(f)+O(g)=O(max(f,g))O(f)+O(g)=O(f+g)O(f原创 2020-11-24 11:49:13 · 379 阅读 · 0 评论