堆排序终于搞明白了,我知道过几天肯定会忘,希望这篇文章和代码能让我快速回忆起。 堆排序的思想就是,构造一个大顶堆或者小顶堆,然后把堆顶元素换到末尾,调整堆,重复。把过程分解为两步,第一步:建堆。第二步:排序。 大顶堆对应升序;小顶堆为降序。 代码如下: package heap; /* * 堆排序 ...
分类:
编程语言 时间:
2019-12-25 02:00:34
阅读次数:
85
Wiki解释 回溯法(英语:backtracking)是暴力搜索法中的一种。 对于某些计算问题而言,回溯法是一种可以找出所有(或一部分)解的一般性算法,尤其适用于约束满足问题(在解决约束满足问题时,我们逐步构造更多的候选解,并且在确定某一部分候选解不可能补全成正确解之后放弃继续搜索这个部分候选解本身 ...
分类:
编程语言 时间:
2019-12-24 20:31:24
阅读次数:
79
控制变量法 控制变量法可以用于排查问题,排查问题的时候不要引入其他可变的因素,看看单一因素是否对代码有所影响,每次focus一个问题,这样效率更高 数学归纳法 计算机的本质就是泗洪计算机帮助人类解决很多重复计算的问题,所以不要使用人肉递归,遇到问题的时候看是否可以将问题分解为重复的子问题,然后去解决 ...
分类:
其他好文 时间:
2019-12-24 18:44:16
阅读次数:
66
常见多项式 二项式定理(展开后的系数是杨辉三角) 杨辉三角(两肩和) ...
分类:
其他好文 时间:
2019-12-24 13:54:27
阅读次数:
65
大致分为两部分第一部分一.要把实际问题提取为数学问题(相当于数学中的建模→抽象问题具体化);二.把其分解为若干个小的函数,并明白每个小函数怎样实现其功能,同时注意功能函数与主函数间的数据交互问题;三.作出流程图,整体把握,从而为软件构建良好的结构,但也应该注意其细节问题;四.优化其算法(强调数学能力),并结合其算法选择恰当的数据结构,算法和数据结构是软件的灵魂;五.编译软件,在编译时要养成良好的书
分类:
编程语言 时间:
2019-12-24 11:48:21
阅读次数:
103
一、简介 设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。 二、六大原则 a、单一职责原则 【基本介绍】 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A ...
分类:
其他好文 时间:
2019-12-23 11:47:23
阅读次数:
84
CODING 敏捷项目管理全新版本现已上线,新版本深度结合敏捷开发理念,完美支持 Scrum 迭代式增量开发过程,可根据团队需要设计独一无二的工作流,适应不同规模团队的敏捷开发实践。 为团队打造标准的 Scrum 敏捷工作流 迭代规划: 将用户故事、分解的事项分配至不同的迭代计划,规划每一个迭代的起 ...
分类:
其他好文 时间:
2019-12-23 11:38:31
阅读次数:
104
两次设计的方法不仅提高了你的设计,也提高了你的设计能力。设计和比较多种方法的过程将教会您使设计更好或更差的因素。随着时间的推移,这将使你更容易排除糟糕的设计,并专注于真正伟大的设计。 ...
分类:
其他好文 时间:
2019-12-22 11:01:57
阅读次数:
73
你编过程序吧?你程序里有函数或方法间的调用吧? 比如你写了两个函数fa和fb,在fa里肯定可以调用fb,这个可以理解吧?好了,铺垫完了。接下来入正题: 别人写了个程序,程序里有个函数rf,而且这个程序是独立运行的。你自己写程序时想调用这个rf,怎么办?rpc就是为了解决这个问题而出现的技术。远程过程 ...
分类:
其他好文 时间:
2019-12-22 10:41:33
阅读次数:
336
深夜的办公室灯火通明,为了今晚的大版本上线,同事们已经连续奋战了几十个日日夜夜。"但愿今晚平安上线,接下来就能休息几天了",小明这样想着,打开终端登录服务器,等待操作时间到来。 作为一名运维工和师,这样的版本升级小明经历过无数次,况且在之前进行过数次模拟升级,这次想必也不会出什么太大的问题。 升级时 ...
分类:
其他好文 时间:
2019-12-21 22:23:09
阅读次数:
106