计算机中许多问题的解空间可以用一棵树来表示,最优解就在树中的一个分支上,因此,我们在解这类问题时可以采用树搜索策略,最经典的问题包括0/1背包问题.旅行商问题.哈密顿回路问题,还有8数码问题(就是我们小时候常玩的方格拼图游戏). 在建立这颗树(解空间)时,我们用到的方法根据搜索的次序不同可以分为广度优先搜索.深度优先搜索和最佳优先搜索.打个比方来说明一下它们之间的不同.我准备找王二麻子办点事,怎么找到他呢?如果是广度优先搜索,我会先找我所有的朋友,如果这些朋友当中没有王二麻子这个人,再找我所有朋…
由于种种原因(看这一章间隔的时间太长,弄不清动态规划.分治.递归是什么关系),导致这章内容看了三遍才基本看懂动态规划是什么.动态规划适合解决可分阶段的组合优化问题,但它又不同于贪心算法,动态规划所解决的问题的各个阶段是相互关联的,一个阶段的选择会影响其它阶段的选择.动态规划有两个优点:一是可以排除一些解,另一个是可以帮助我们系统化的解决问题,使问题变得清晰. 下面就说一下我对动态规划.分治.递归这三者的理解.分治算法是将原问题分解成两个较小的问题,而动态规划是将问题分成不同的阶段(步骤),当然,…
分治策略有一种“大事化小,小事化了”的境界,它的思想是将原问题分解成两个子问题,两个子问题的性质和原问题相同,因此这两个子问题可以再用分治策略求解,最终将两个子问题的解合并成原问题的解.有时,我们会有这样的疑惑:分治策略是将原问题分解成子问题,子问题又用分治策略求解,那分治策略到底是什么?这种感觉就像听到有人说“因为我说我没有做错事,所以我没有做错事”一样,让我们不知道他“没有做错事”的真正原因是什么. 对于上面的困惑,我本科的老师告诫过我们:“对于分治策略,当你们想不明白的时候只需记住两点:一…
Kafka 技术文档   目录 1 Kafka创建背景 2 Kafka简介 3 Kafka好处 3.1 解耦 3.2 冗余 3.3 扩展性 3.4 灵活性 & 峰值处理能力 3.5 可恢复性 3.6 顺序保证 3.7 缓冲 3.8 异步通信 4 Kafka架构 4.1 producer 4.1.1 定义 4.1.2 负载均衡和HA(High Available)机制 4.1.3 Producer均衡算法 4.1.4 异步发送 4.2 Broker 4.3 Topic和Partition 4.3.…
RabbitMq 技术文档 目录 1 AMQP简介 2 AMQP的实现 3 RabbitMQ简介 3.1 概念说明 3.2 消息队列的使用过程 3.3 RabbitMQ的特性 4 RabbitMQ使用向导 5 官网提供的几种工作方式(教程) 5.1 Hello World 5.2 工作队列 5.3 发布/订阅 5.4 路由选择 (Routing) 5.5 主题(Topic) 5.6 RPC 6 消息的可靠传递 6.1 连接失败的处理 6.2 服务器的可靠性 6.3 生产者的可靠性 6.4 消费者…
作业要求的博客链接:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505 分析产品:石墨文档Android客户端 第一部分 调研和评测 1.下载并使用,按照描述的bug定义,找3~5个功能性的比较严重的bug. BUG定义:软件的缺陷 BUGS: 1.1导入和导出文档格式错乱问题 图一是测试文档在电脑word的格式,可以看到有页眉和页码,图二是在手机wps打开测试文档,页眉和页码也存在,图三是将测试文件导入石墨文档中,出现文字排版错乱,…
本文大部分内容翻译总结自<Software Engineering at Google> 第10章节 Documentation. 另外,该书电子版近日已经可以免费下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下. 首先声明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档). 很多技术人自己非常轻视技术文档的书写,然而又时常抱怨文档不完善.质量差.更新不及时-- 这种在程序猿间普遍存…
Atitit usrQBK1600 技术文档的规范标准化解决方案 1.1. Keyword关键词..展关键词,横向拓展比较,纵向抽象细化拓展知识点1 1.2. 标题必须有高大上词汇,参考文章排行榜,1 1.3. 标题带语言关键词c#.net js javascript  c++ python1 1.4. 标题最好有英文版本的,方便英文查询1 1.5. 标题atitit前缀,attilax总结结尾方便查询1 1.6. 标题后面带上版本号v2 qbf等,方便时间对比1 1.7. 正文要求 修辞好(引…
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被特定的事件调用.最常用的列在下面:Update:这个函数在渲染一帧之前被调用,这里是大部分游戏行为代码被执行的地方,除了物理代码.FixedUpd 一. 脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函…
编写技术文档,是令众多开发者望而生畏的任务之一.它本身是一件费时费力才能做好的工作.可是大多数时候,人们却总是想抄抄捷径,这样做的结果往往非常令人遗憾的,因为优质的技术文档是决定你的项目是否引人关注的重要因素.无论开源产品或面向开发者的产品,均是如此. 实际上,我想说明的是:对于面向开发者的产品来说,其用户体验中最重要的一环并不是什么主页设计.登录过程.或者SDK下载.真正最重要的是产品的API文档!如果没人知道你的产品如何使用,纵使它巧夺天工,又有何用? 如果你是一个专门从事面向开发者产品设计…