当前位置: 首页 > news >正文

网站开发毕业答辩演讲稿范文如何建 网站

网站开发毕业答辩演讲稿范文,如何建 网站,搭建网站需要多少钱,全国中小型企业名录贪婪是一种算法范式#xff0c;它逐步构建解决方案#xff0c;始终选择提供最明显和直接收益的下一个部分。贪婪算法用于解决优化问题。 如果问题具有以下属性#xff0c;则可以使用贪心法解决优化问题#xff1a; 每一步#xff0c;我们都可以做出当前看来最好的选择它逐步构建解决方案始终选择提供最明显和直接收益的下一个部分。贪婪算法用于解决优化问题。  如果问题具有以下属性则可以使用贪心法解决优化问题  每一步我们都可以做出当前看来最好的选择从而得到整个问题的最优解。  如果贪婪算法可以解决某个问题那么它通常会成为解决该问题的最佳方法因为贪婪算法通常比动态规划等其他技术更有效。但贪婪算法并不总是适用。例如Fractional Knapsack问题可以使用Greedy来解决但是0-1 Knapsack问题不能使用Greedy来解决。 以下是一些贪婪算法的标准算法 1Kruskal的最小生成树MST          在 Kruskal 算法中我们通过一条一条地选取边来创建 MST。贪心选择是选择在目前构建的 MST 中不会引起循环的最小权重边 2Prim的最小生成树          在 Prim 的算法中我们也是通过逐条选取边来创建 MST。我们维护两个集合一组已包含在 MST 中的顶点和一组尚未包含的顶点。贪心选择是选择连接两个集合的最小权重边 3Dijkstra的最短路径          Dijkstra 算法与 Prim 算法非常相似。最短路径树是逐边构建的。我们维护两个集合一组已包含在树中的顶点和一组尚未包含的顶点。贪心选择是选择连接两个集合并且位于从源到包含尚未包含的顶点的集合的最小权重路径上的边 4霍夫曼编码          霍夫曼编码是一种无损压缩技术。它将可变长度位代码分配给不同的字符。贪心选择是将最小位长的代码分配给最常见的字符。 贪心算法有时也用于获得硬优化问题的近似值。例如旅行商问题是一个 NP 难问题。这个问题的贪婪选择是每一步都选择距离当前城市最近的未访问过的城市。这些解决方案并不总是产生最佳的最优解决方案但可用于获得近似最优的解决方案。 这里让我们看一个可以使用贪心算法解决的问题 问题         您将获得n项活动及其开始和结束时间。选择一个人可以执行的最大活动数假设一个人一次只能从事一项活动。  例子   输入 start[] {10, 12, 20}, finish[] {20, 25, 30}输出 0解释一个人最多可以执行一项活动。 输入 start[] {1, 3, 0, 5, 8, 5}, finish[] {2, 4, 6, 7, 9, 9};输出 0 1 3 4解释一个人最多可以执行四项活动。 可以执行的最大活动集 是  {0, 1, 3, 4} [ 这些是 start[] 和 finish[] 中的索引 方法要解决该问题请遵循以下想法 贪心选择是总是选择剩余活动中完成时间最短的下一个活动并且开始时间大于或等于先前选择的活动的结束时间。我们可以根据活动的完成时间对活动进行排序以便我们始终将下一个活动视为完成时间最短的活动 请按照给定的步骤解决问题 1、根据活动的完成时间对活动进行排序  2、从排序数组中选择第一个活动并打印它  3、对排序数组中的剩余活动执行以下操作 4、如果此活动的开始时间大于或等于先前选择的活动的结束时间则选择此活动并打印注意在实现中假设活动已经按照完成时间排序否则时间复杂度将上升到 O(N*log(N))辅助空间将上升到 O(N)因为我们必须创建一个二维数组来将开始时间和结束时间存储在一起。 下面是上述方法的实现。 // The following implementation assumes that the activities  // are already sorted according to their finish time         // Prints a maximum set of activities that can be done by a single      // person, one at a time.      function printMaxActivities(s,f,n)      {          let i, j;          document.write(Following activities are selected : n);                     // The first activity always gets selected          i 0;          document.write(i );                     // Consider rest of the activities          for (j 1; j n; j)          {                          // If this activity has start time greater than or               // equal to the finish time of previously selected               // activity, then select it               if (s[j] f[i])               {                    document.write(j );                    i j;                }          }      }             // Driver program to test above function      let s [1, 3, 0, 5, 8, 5]      let f [2, 4, 6, 7, 9, 9]      let n s.length;      printMaxActivities(s, f, n);             // This code is contributed by avanitrachhadiya2155   输出 选择以下活动 0 1 3 4时间复杂度 O(N)辅助空间 O(1) 贪婪选择如何适用于根据完成时间排序的活动          假设给定的活动集为 S {1, 2, 3, …n}活动按完成时间排序。贪婪选择总是选择活动 1。为什么活动 1 总是提供最佳解决方案之一 我们可以通过证明如果存在另一个解 B 且第一个活动不是 1则也存在一个与活动 1 大小相同的解 A 作为第一个活动。设B选择的第一个活动为k则总存在A {B – {k}} U {1}。 注 B 中的活动是独立的并且 k 的完成时间是所有活动中最小的。由于 k 不为 1所以 finish(k) finish(1)) 当给定的活动未排序时如何实施          我们为活动创建一个结构/类。我们按完成时间对所有活动进行排序请参阅C STL 中的排序。一旦我们对活动进行排序我们就应用相同的算法。 下图是上述方法的说明  下面是上述方法的实现 /* JavaScript program for activity selection problem   when input activities may not be sorted.*/ function MaxActivities(arr, n){      let selected [];             // Sort jobs according to finish time         Activity Activity.sort(function(a,b) {      return a[1] - b[1];      });             // The first activity always gets selected      let i 0      selected.push(arr[i]);         for(let j1;jn;j){        /*If this activity has start time greater than or           equal to the finish time of previously selected           activity, then select it*/       if( arr[j][0] arr[i][1]){            selected.push(arr[j]);            i j;        }      }      return selected;  }  // Driver code  Activity [[5, 9], [1, 2], [3, 4], [0, 6],[5, 7], [8, 9]];  n Activity.length;  selected MaxActivities(Activity, n);  document.write(Following activities are selected : br)  console.log(selected)  for(let i 0;iselected.length;i)      document.write((selected[i]), )  输出 选定以下活动 1、2、3、4、5、7、8、9时间复杂度 O(N log N)如果输入活动可能无法排序。当输入活动始终排序时需要 O(n) 时间。辅助空间 O(1) 使用优先级队列的活动选择问题 我们可以使用 Min-Heap 来获取完成时间最短的活动。Min-Heap 可以使用优先级队列实现 请按照给定的步骤解决问题 1、创建优先级队列最小堆并将活动推入其中。 2、将优先级队列的顶部推入答案向量并将变量start设置为第一个活动的开始时间将变量end 3、设置为该活动的结束时间 4、当优先级不为空时执行以下操作         4.1、取出优先级队列的顶部并检查         4.2、如果此活动的开始时间大于或等于最后选择的活动的结束时间则将此活动推入答案向量         4.3、不然就忽略它  5、打印选择的活动存储在答案向量中 下面是上述方法的实现  // javascript program for the above approach      // Pair class  class Pair  {      constructor(first,second)      {          this.first first;            this.second second;      }  }     function SelectActivities(s,f)  {      // Vector to store results.      let ans [];           // Minimum Priority Queue to sort activities in      // ascending order of finishing time (f[i]).      let p [];           for (let i 0; i s.length; i) {        // Pushing elements in priority queue where the        // key is f[i]        p.push(new Pair(f[i], s[i]));      }      p.sort(function(a,b){return a.first-b.first;});           let it p.shift();      let start it.second;      let end it.first;      ans.push(new Pair(start, end));           while (p.length!0) {        let itr p.shift();        if (itr.second end) {          start itr.second;          end itr.first;          ans.push(new Pair(start, end));        }      }      document.write(        Following Activities should be selected. br);           for(let itr of ans.values()) {        document.write(          Activity started at: itr.first          and ends at   itr.secondbr);      }  }     // Driver Code  let s[1, 3, 0, 5, 8, 5 ];  let f[2, 4, 6, 7, 9, 9 ];  // Function call  SelectActivities(s, f);        // This code is contributed by rag2127   输出 应选择以下活动。 活动开始于1 结束于2 活动开始于3 结束于4 活动开始于5 结束于7 活动开始于8 结束于9时间复杂度 O(N * log N)辅助空间 O(N)
http://www.pierceye.com/news/872726/

相关文章:

  • 手机网站用什么系统做网站在什么地方发帖子呢
  • 虚拟电脑可以做网站吗中国建设行业信息网站
  • 网站设计建设合同公司网页设计实例教程
  • 仿起点小说网站开发网站图片优化工具
  • 在线做logo的网站泉州做网站哪家好
  • 知名企业网站人才招聘情况如何网络系统集成
  • 做灯带的网站重庆有哪些好玩的地方
  • 小孩子做手工做游戏的网站百度账号设置
  • 大庆做网站公司巩义网站建设方案报价
  • 该网站受海外服务器保护品牌营销型网站建设公司
  • 免费做一建或二建题目的网站郑州企业建站系统模板
  • 想自己建个网站徐州做网站软件
  • 蓝色系网站设计企业应对承包商的施工方案尤其是
  • 旅游网站 源码 织梦导购网站开发
  • 头像制作网站开源低代码平台
  • 网站到期域名怎么解决办法自己动手建立网站3
  • 比较有名的网站建设平台吉林建设网站
  • 网站服务器解决方案wamp安装wordpress
  • 义乌制作网站赣州网站建设公司
  • 东莞网站平台后缀建设淘宝客网站
  • 深圳龙华新区住房和建设局网站示范校建设专题网站
  • 成都制作网站的公司简介wordpress录入表单写数据库
  • 中山网站设计收费标准互联网保险发展现状和趋势
  • 公司网站发布流程简述企业网络建设的步骤
  • 哪些网站可以做问卷第1063章 自己做视频网站
  • 电子商务网站 费用做p2p网站
  • 网站建设 猴王网络厦门app开发网站开发公司电话
  • 做3d图的网站有哪些比wordpress更好的网站程序
  • 仿做网站可以整站下载器吧网络网站建设公司
  • 网站流量用完wordpress page 父页面