2013年9月8日

转:算法时间复杂度基础

摘要: 摘要 本文论述了在算法分析领域一个重要问题——时间复杂度分析的基础内容。本文将首先明确时间复杂度的意义,而后以形式化方式论述其在数学上的定义及相关推导。从而帮助大家从本质上认清这个概念。前言 通常,对于一个给定的算法,我们要做两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。 但是很多朋友并不能清晰的理解这 阅读全文

posted @ 2013-09-08 14:50 算徒 阅读(196) 评论(0) 推荐(0) 编辑

Netty 学习笔记

摘要: Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 Netty基于java的NIO核心:缓存区、通道、选择器。这里推荐一本书:java NIO,出版社是O'REILLY。 一、缓存区。 缓冲区的工作与通道紧密联系,通道是I/O传输发生时通过的入口,而缓冲区是这些数据传输的来源或目标。对于离开缓冲区的传输,你想传递出去的数据被置于一个缓冲区,被传送到通道。对于传回缓冲区的传输,一个通道将数据放置在你所提供的缓冲区中。这种在协同对象之间进行的缓冲区数据传递是高效... 阅读全文

posted @ 2013-09-08 14:10 算徒 阅读(2031) 评论(0) 推荐(1) 编辑

导航