is
zhou

算法

为什么算法这么难?

zhouchong阅读(34)评论(0)

  广大码农同学们大多都有个共识,认为算法是个硬骨头,很难啃,悲剧的是啃完了还未必有用——除了面试的时候。实际工程中一般都是用现成的模块,一般只需了解算法的目的和时空复杂度即可。 不过话说回来,面试的时候面算法,包括面项目中几乎不...

绝妙的算法——最大子序列和问题

zhouchong阅读(21)评论(0)

摘要: 本文分析并演示最大子序列和问题的几种算法,它们都能解决问题,但是时间复杂度却大相径庭,最后将逐步降低至线性。 问题的引入     给定(可能有负数)整数序列A1, A2, A3…, An, 求这个序列中子序列和的最大值。...

哈希(Hash)与加密(Encrypt)的基本原理、区别及工程应用

zhouchong阅读(29)评论(0)

0、摘要 今天看到吉日嘎拉的一篇关于管理软件中信息加密和安全的文章,感觉非常有实际意义。文中作者从实践经验出发,讨论了信息管理软件中如何通过哈希和加密进行数据保护。但是从文章评论中也可以看出很多朋友对这个方面一些基本概念比较模糊,这样就容易...

算法时间复杂度分析基础

zhouchong阅读(30)评论(0)

摘要       本文论述了在算法分析领域一个重要问题——时间复杂度分析的基础内容。本文将首先明确时间复杂度的意义,而后以形式化方式论述其在数学上的定义及相关推导。从而帮助大家从本质上认清这个概念。 前言       通常,对于一个给定的算...

递归简介

zhouchong阅读(65)评论(0)

递归的定义: 递归(英语:recursion)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。[1] 递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。[2] 绝大多数编程语言支持...

什么是好的算法?

zhouchong阅读(65)评论(0)

算法的两个衡量标准? 空间复杂度S(n) —— 根据算法写成的程序在执行时占用存储单元的长度。这个长度往往与输入数据的规模有关。空间复杂度过高的算法可能导致使用的内存超限,造成程序非正常中断。 时间复杂度T(n) —— 根据算法写成的程序在...

什么是算法?

zhouchong阅读(65)评论(0)

算法( Algorithm) 定义: 一个有限指令集 接受一些输入(有些情况下不需要输入) 产生输出 一定在有限步骤之后终止 每一条指令必须 有充分明确的目标,不可以有歧义 计算机能处理的范围之内 描述应不依赖于任何一种计算机语言以及具体的...

算法的设计要求

zhouchong阅读(65)评论(0)

1. 正确性 算法的正确性是指算法至少具有输入,输出和加工处理无歧义,并且可以正确反映问题的需求,以及正确得到问题的答案。 关于“正确”的理解一共有四个层次: 算法程序没有语法错误。 算法程序能够根据正确的输入的值得到满足要求的输出结果。 ...

算法的五个重要特性

zhouchong阅读(66)评论(0)

输入(Input) 一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;对于打印hello world这样的代码就不需要任何输入参数。 输出(Output) 一个算法有一个或多个输出,以反映对输入数据...