贪心法

贪心法的证明

  —归纳证明:

    —贪心法使用的条件是:最优子结构和贪心选择正确性

    —贪心算法是一步一步实现的,

      —在归纳证明的时候,贪心的第一步贪心选择策略的正确性就是归纳基础,因为以后都是一个子问题的选取,每次都需要进行第一步的选择

      —归纳步骤

        —假设进行到第k步贪心选择都是正确的,证明第k+1步贪心选择也是正确的

  —归纳过程

    —归纳基础:第一步贪心选择的正确性,常常用 cut and paste 的思想证明贪心选择得到最优子结构

      —如果现在有一个最优解,第一步选择未知,但是第一步选择明显可以换成贪心选项,那么说明选择第一步贪心选择的结构也是最优子结构

    —归纳步骤:前面k步已经形成了一个最优子结构(其实就是最优的k步选择),现在要说k+1步选择使用贪心选择也可以形成一个最优结构

      —一个最优子结构可以分成两部分:前面k步最优选择和剩余的

      —剩余部分是一个最优子结构(否则与假设矛盾),那么归纳基础可以使用,就是在剩余的问题里也做第一步贪心选择

      —这步贪心选择添加到前面k步的贪心选择中,形成一个k+1步贪心选择下的最优结构,证明了k+1步也进行贪心选择是正确的

 

MST算法复杂度分析

Prim算法

  —

    —每个点有一个加入某个等价类的最小代价 key[i]

  —

 

最短路径复杂度分析

Dijkstra算法

  —

  —

  —该算法不适用于带有负权的边:因为Dijkstra算法在确定一个点已知最近点的过程中,

   都保证它为目前剩余所有点中到源点的最近点,如果有负边,那么这个性质被打破。

   不过根据这个原理,用Dijkstra求最短路的图不能有负权边,因为扩展到负权边的时候会产生更短的距离,有可能就破坏了已经更新的点距离不会改变的性质。

      

转载于:https://www.cnblogs.com/siyudemo/archive/2013/06/14/3136728.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一季5:Hi3518EV200的环境搭建

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、内容总结 本文讲述如何安装交叉编译工具链,与编译源码得到uboot、kernel、rootfs镜像文件。 (1)安装交叉编译工具链,主要是通过执行osdrv/opensou…

Android动画的实现 上

在Android系统中也能经常见到动画,那么如何实现动画效果呢?本文就来为大家介绍动画的实现方式。 Android中动画的实现分两种方式,一种方式是补间动画Tween Animation,就是说你定义一个开始和结束,中间的部分由程序运算…

第一季2:HI3518EV200的初体验(检测板子是否正常工作)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、检测步骤 1、设置PC主机有线网卡的ip地址设为192.168.1.10,关闭防火墙。 2、虚拟机桥接到有线网卡,并设置虚拟机的静态ip地址为192.168.1.141。 3、在uboot控制台设置ub…

第一季3:HI3518E方案整体架构介绍(硬件和软件支持)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 1、硬件资源 (1)HI3518E单芯片提供:CPU DSP 内置64MB DDR ETHERNET MAC。 (2)外置16MB的SPI接口的Flash用来存放程序(ubo…

(一)FlexViewer之整体框架解析

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.FlexViewer简介 FlexViewer框架为Esri提供的可以高效开发基于WEB的地理信息应用系统的一种完全免费的应用程序框架。目前有两种版本,一种…

三阶魔方复原操作方法

在女票的指导下,我花了一个晚上学习如何复原三阶魔方,虽然是知其然不知其所以然,但好歹也能把魔方复原了。下面都是一些傻瓜式的操作,里面涉及的理论我不清楚。魔方总共分三层,下面是每层复原方法。 第一层 1、先以“…

Phaser开源2d引擎 javascript/html5游戏框架

功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash CS6&#xf…

8大排序算法图文讲解转

本文链接:http://www.cricode.com/3212.html 作者:快课网——Jay13 转载请务必保留作者出处,谢谢! 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大…

Immutable Collections(3)Immutable List实现原理(中)变化中的不变

Immutable Collections(3)Immutable List实现原理(中)变化中的不变 文/玄魂 前言 在上一篇文章&#xff08;Immutable Collections&#xff08;2&#xff09;ImmutableList<T>实现原理.&#xff08;上&#xff09;&#xff09;,分析了&#xff09;ImmutableList<T>…

大话Fragment管理

大话Fragment管理 上一个项目遇到了一个Activity 管理30个Fragment的情况&#xff0c;刚开始的时候真的管理的焦头烂额&#xff0c;但是后来不停的研究api文档&#xff0c;渐渐的明白了android的Fragment管理 体系。下面用…

第一季4:Hi3518E_SDK_Vx.x.x.x的SDK目录结构

一、Hi3518E_SDK_V1.0.3.0.tgz的位置 “Hi3518E_SDK_V1.0.3.0.tgz”位于“Hi3518E V200R001C01SPC030”中&#xff0c;其目录包含关系如下。 Hi3518E_SDK_V1.0.3.0.tgz 解压后内部文件组织如下。 二、执行SDK展开脚本sdk.unpack后的目录关系 将Hi3518E_SDK_V1.0.3.0.tgz拷贝到…

第一季6:海思方案中uboot、kernel和rootfs的烧写方法

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、概述 因为所用的板子默认从SPI Flash启动&#xff0c;因此本文主要讲如何“使用tftp&#xff0c;烧写映像文件&#xff08;uboot、kernel、rootfs&#xff09;到SPI Flash”。另外海思还提供了“…

Java Web笔记之Struts2.1 +Hibernate3.3 +Spring3.0

2019独角兽企业重金招聘Python工程师标准>>> 1、Struts2 1.1、了解Struts2 Struts2是基于MVC设计模式的Java Web框架技术之一&#xff0c;按照MVC设计思想把Java Web应用程序分为&#xff1a; 控制器层&#xff0c;包括核心控制器FilterDispatcher和业务控制器Actio…

高地址和低地址、高字节与低字节、大小端模式的转换、存储顺序

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 一、高地址和低地址 二、高字节低字节 如int a16777220&#xff0c;化为十六进制是0x01 00 00 04&#xff0c;则04属于低字节&#xff0c;01属于高字节。 三、大小端模式 &#xff08;1&#xff09;如果a在内…

漫谈数据挖掘从入门到进阶

入门&#xff1a;数据挖掘入门的书籍&#xff0c;中文的大体有这些&#xff1a;Jiawei Han的《数据挖掘概念与技术》Ian H. Witten / Eibe Frank的《数据挖掘 实用机器学习技术》Tom Mitchell的《机器学习》TOBY SEGARAN的《集体智慧编程》Anand Rajaraman的《大数据》Pang-Nin…

(转)Asp.Net生命周期系列一

原文地址&#xff1a;http://www.cnblogs.com/skm-blog/archive/2013/07/07/3176713.html Asp.Net生命周期对于初级甚至中级程序员来说&#xff0c;一直都是一个难题&#xff0c;很多程序员不了解生命周期&#xff0c;导致使用Asp.Net做开发感觉很不灵活&#xff0c;感觉太多东…

与TCP有关的面试内容

以下内容源于网络资料的学习与整理。 参考博客 TCP/IP四层模型 - BlueTzar - 博客园&#xff08;OSI参考模型和TCP模型的详解&#xff0c;包括格式&#xff09; TCP/IP协议-为什么说TCP是可靠连接_shuaixio的博客-CSDN博客&#xff08;为什么可靠及优缺点&#xff09; 两张动图…

JUnit4概述

JUnit4是JUnit框架有史以来的最大改进&#xff0c;其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation&#xff0c;这个单词一般是翻译成元数据。元数据是什么&#xff1f;元数据就是描述数据的数据。也就是说&#xff0c;这个东西在…

正则表达式30分钟入门教程(转)

分享到一键分享QQ空间新浪微博百度云收藏人人网腾讯微博百度相册开心网腾讯朋友百度贴吧豆瓣网搜狐微博百度新首页QQ好友和讯微博更多...百度分享首页 | 正则表达式30分钟入门教程 | 常用正则表达式| 正则表达式速查表 | 正则表达式测试工具 | 正则表达式 | 正则练习器在线版 正…

进程、线程简介

以下内容源于网络资源的学习整理&#xff0c;如有侵权&#xff0c;请告知删除。 参考博客 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html&#xff08;通俗理解&#xff09; https://blog.csdn.net/chen_geng/article/details/51613445&#xff08;表格…