摘要:
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。 由于动态规划解决的问题多数有重叠子问题这个特点,为减少重复计算,对每一个子问题只解一次,将其不同阶段的不同状态保存在一 阅读全文
摘要:
C#关键字:abstract可以和类、方法、属性、索引器及事件一起使用,标识一个可以扩展但不能被实体化的、必须被实现的类或方法。as一个转换操作符,如果转换失败,就返回null。Base用于访问被派生类或构造中的同名成员隐藏的基类成员。catch定义一个代码块,在特定类型异常抛出时,执行块内代码。参见try和finally。checked既是操作符又是语句。确保编译器运行时,检查整数类型操作或转换时出现的溢出。const标识一个可在编译时计算出来的变量值,即一经指派不可修改的值。delegate指定一个声明为一种委托类型。委托把方法封装为可调用实体,能在委托实体中调用。enum表示一个已命名常 阅读全文
摘要:
程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构。 应用程序结构分为应用程序域—程序集—模块—类型—成员几个层次,公共语言运行库加载器管理应用程序域,这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。C#应用程序域:在以前传统的开发中我们都知道,一个应用程序对应一个进程,并为该进程指定虚拟内存,由操作系统来映射实际的物理内存,有效的维护了进程之间的安全性。但另一方面,每一个进程都会消耗一定的系统资源,降低了性能,并且进程间的通信也比较麻烦。 在.NET中推出了一个新的概念:C#应用程序域(AppDomain)。可以理解成很多应用程 阅读全文
摘要:
先统一一下概念,我们有两种编程方式:命令式和声明式。我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。声明式编程和命令式编程的代码例子举个简单的例子,假设我们想让一个数组里的数值翻倍。我们用命令式编程风格实现,像下面这样:var numbers = [1,2,3,4,5]var doubled = []for(var i = 0; i [2,4,6,8,10]我们直接遍历整个数组,取出每个元素,乘以二,然后把翻倍后的值 阅读全文
摘要:
函数式编程是一种编程模型,它将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念。函数式编程的应用场景:1.数学推理2.并行程序函数式编程语言的代表语言:Lisp、HasKell、Erlang、Scala,F#函数式编程的复兴:多核并行程序设计的逐渐流行,而命令式编程天生的缺陷却使并行编程模型变得非常复杂,无论是信号量,还是锁的概念,都使程序员不堪其重。对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型。我们在函数式编程中努力用函数来表达所有的概念,完成所有的操作。在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成 阅读全文
摘要:
最近读了一本好书——《暗时间》,总觉得该表达些什么,但是又总觉得自己是胸无点墨,孤陋寡闻。书中谈了很多的道理和作者对生活,人生的看法。自己特别喜欢的一篇文章是——《我在南大的七年》。最近总是几多伤感,主要的原因还是我说过很多次的,我快将离开学校,将要进入社会,有自己的生活和日子了。我不知道是不是自己还是那么害怕,总觉得世界是坏的,总有那么多的勾心斗角之类的事。我不知道离开学校后,自己会变成什么样子,会被消磨了斗志?会被磨平了棱角?我不知道开始工作生活之后会是什么样子,日出而作,日落而息,日子平淡无奇?我很多的不知道,原因或许是我对学校生活的不舍吧,确实是特别的不舍,从4岁到现在,都快18年了。 阅读全文
摘要:
一、静态语言的优势到底在哪?来自robbin摘自http://www.javaeye.com/article/33971?page=7引用是像Java或者C#这样强类型的准静态语言在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中也有着非常强的优势这是一个存在于大家心里常识了。我承认我自己在潜意识里面也觉得静态强类型语言适合开发复杂,大型系统。而弱类型脚本语言不适合开发太复杂,太大型的项目。但是在参与这个讨论过程中,我突然开始置疑这个观点,事实究竟是不是这样的呢?先定义一下标准:强类型语言(静态类型语言)是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行。例如C/C 阅读全文
摘要:
差不多都过了5天了,大学的第二次实训结束5天了。实训之后的这五天,觉得整个人都散架了似的,没有力气,冲动,欲望。有种什么都得到了,或者一无所有的感觉。我在想我是不是还活着呢。似乎对于所有我经历过的事,我都特别怀念,我想总结一下这样的整件事。放在过去的时间里,现在的心里。实训兴许是件痛苦的事,要在一个较短的时间里完成一个并不特别小的项目。最开始都是有所期待的,算是对自己的期待,也是对队友的一些期待。其实在大学能有几个志同道合的同学。一起做一些志同道合事情,也是一件快事。记得去年第一次实训的时候,时间只有两周,还要学习和写文档写了一周,那时候是没经验,没有一点点的经验,做一个很小的模块,会不厌其烦 阅读全文
摘要:
似乎快两个月了,惠普招实习生的时间好像确实有点久。记得是从五月中旬的时候,惠普来学校招实习生的。因为没能够去腾讯,能拿到惠普的实习生offer也是我所愿了。记得宣讲的那天,兴冲冲的过去了,惠普的一个经理大致的讲了会惠普的一些相关的介绍,就开始笔试了。其实在听宣讲的时候,自己就开始觉得压力大了,应该学院的本科生来的应该就10个左右,其他的应该有30个研究生吧,而且有几位研究生还认识呢,我们几门专业课的助教。自己的专业能力,兴许就差得远了。忧伤了一下,还是笔试吧。惠普的笔试题真的是算很多的了,两个小时的时间,几乎把大学学的专业知识都考了一些,数据库,数据结构,项目管理,软件测试。说真的,真的好多啊 阅读全文
摘要:
Bat的数据百度、腾讯、阿里巴巴百度拥有两种类型的大数据,用户搜索表征的需求数据;爬虫和阿拉丁获取的公共web数据。阿里巴巴拥有交易数据和信用数据。这两种数据更容易变现,挖掘出商业价值。除此之外阿里巴巴还通过投资等方式掌握了部分社交博数据、移动数据。如微博和高德。腾讯拥有的用户关系数据和基于此产生的社交数据。这些数据可以分析人们的生活和行为,从里面挖掘出政治、社会、文化、商业、健康等领域的信息,甚至预测未来。 阅读全文