1.如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a.b.c可能的组合? 如上:a+b+c=1000, a平方+b平方=c平方  求出所有abc可能的组合? 思路方法:用枚举法,a,b,c 一个一个试. //枚举法://a=0 ... a=1000;//b=0 ... c=1000;//c=0 ... c=1000;//三个嵌套循环实现 //方法一:三个嵌套循环实现$start = time();echo "方法一:开始运行...\r\n"…
原文地址:https://my.oschina.net/gooke/blog/684026 一下为本人笔记:) 场景:在解决计算机科学领域的问题时,经常有好多个方法都可以,想找到最优的方法,就有了时间复杂度. 时间复杂度 1.基于时间来衡量算法的效率高低. 2.时间:算法执行一个特定输入规模的函数所需要的时间. 案例!: 编写一个函数,找出数组中的最小值. 方法一:只是简单的遍历数组的每一个元素,然后用变量curMin保持当前的最小值. int CompareSmallestNumber(int…
定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”. 当输入量n逐渐加大时,时间复杂性的极限情形称为算法的“渐近时间复杂性”. 我们常用大O表示法表示时间复杂性,注意它是某一个算法的时间复杂性.大O表示只是说有上界,由定义如果f(n)=O(n),那显然成立f(n)=O(n^2),它给你一个上界,但并不是上确界,但人们在表示的时候一般都习惯表示前者. 此外,一个问题本身也有它的复杂性,如果某个算法的复杂性到达了这个问题复…
一些知识点的初步理解_8(Graph Cuts,ing...) Graph cuts是一种十分有用和流行的能量优化算法,在计算机视觉领域普遍应用于前背景分割(Image segmentation).立体视觉(stereo vision).抠图(Image matting)等.Graph Cuts理论最早是出现在流网络优化领域的,比如说水管网络,通信传输网络,城市车流网络等.此时的Graph Cuts算法是用来确定网络流的最小分割,即寻找一个容量最小的边的集合,去掉这个集合中的所有边就可以阻挡这个…
什么是算法? 计算机是人的大脑的延伸,它的存在主要是为了帮助我们解决问题. 而算法在计算机领域中就是为了解决问题而指定的一系列简单的指令集合.不同的算法需要不同的资源,例如:执行时间或消耗内存. 如果一个算法执行时间需要好几年或者需要占用非常大的内存,那么这算法几乎毫无用处,即使有价值使用场景也非常有限. 因此,一般上我们讨论一个算法的优劣的时候可以通过时间和空间两个维度来衡量,也就是常说的: 1.时间复杂度: 2.空间复杂度: 我们当然希望执行时间和消耗内存都越少越好,但很多时候其实我们无法同…
初步理解IOC和DI和AOP模式 控制反转(IOC) 控制反转(IOC,Inversion of Control)是一种转主动为被动关系的一种编程模式,有点类似于工厂模式,举个栗子, 下面这个这不是IOC模式 Interface interface{ // 啥也不写 } class A implements interface{ String name; } class B implements interface{ Strng name; } class C{ interface AorB;…
初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员Ryan Dahl创造了node.js项目,将javascript语言用于服务器端编程,这标志”Javascript模块化编程”正式诞生. 在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限:但是在服务器端,一定要有模块,与操作系统和其他应用程序互动,否则根本没法编程. node.j…
转自:https://www.jianshu.com/p/59d09b9cee58 每一个优秀的开发者脑中都有时间概念.他们想给用户更多的时间让用户做他们想做的事情.他们通过最小化时间复杂度来实现这一目的. 在你能理解程序的时间复杂度之前,你需要了解最常使用它的地方:算法设计. 所以究竟什么是算法? 简单来说,算法就是一系列被控制的步骤,你通过按序执行这些步骤可以实现一些目标或者产生一些输出.让我们以你祖母烘烤蛋糕的菜单为例子.等等,这也可以算作算法?当然算! function 烘烤蛋糕(风味,…
最近折腾了好久,终于是把js里面的原型和原型链做了个初步的理解: 在这里,我打个比喻: 我(child),我妈constructor(构造函数)生了我:别人问我老妈跟谁生的我,于是此时我妈会指向我爸爸(father),即constructor.prototype=father. 而我的爸爸可以表示为:child.__proto__;故又有了constructor.prototype===child.__proto__: 这时候,有人会问,__proto__这是什么,这就是构成原型链的一个引用,如…
Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hibernate等其他众多的框架. 具体描述Spring: 1.轻量级:Spring是非侵入性的,基于Spring来开发的应用中的对象可以不依赖于SpringAPI. 2.依赖注入(DI) 3.面向切面编程(AOP) 4.容器,Spring是一个容器,包含并且管理应用对象的生命周期. 下面介绍环境的搭建,首先下…