以图明志

计算机算法

求和为指定数字的连续正整数数列

寻找更高效的解决方法
对于这种算法的设计,我们最容易想到的就是从 1 到 sn 循环遍历所有的数,对于每个数再循环计算是否以这个数为起点总和正好是sn。这种算法的时间复杂度大概是O(n*log2n), 也就是说如果这样计算,当 sn = 100万时,大概需要循环 2000万次左右。 这样做效率自然是比较低的。那么我们有没有比上述方法更高效的方法呢?答案是肯定的。

计算机算法

矩阵逆时针旋转的算法

如何将矩阵逆时针旋转90度
旋转矩阵(Rotation matrix)是在乘以一个向量的时候有改变向量的方向但不改变大小的效果的矩阵。旋转矩阵不包括反演,它可以把右手坐标系改变成左手坐标系或反之。所有旋转加上反演形成了正交矩阵的集合。旋转可分为主动旋转与被动旋转。主动旋转是指将向量逆时针围绕旋转轴所做出的旋转。被动旋转是对坐标轴本身进行的逆时针旋转,它相当于主动旋转的逆操作。

数据结构

[专题] Hash魔法:哈希表的工作原理与常用操作

一种高效的数据结构
哈希表(Hash Table)的应用近两年才在NOI中出现,作为一种高效的数据结构,它正在竞赛中发挥着越来越重要的作用。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。

IT人家

互联网人才招聘的一些感想

说说招聘
有一些人喜欢在大公司或者国企呆着,他们说福利好,待遇高,工作轻松,他们的价值取向和一个真正热爱工作的人显然不同。一个热爱技术的大牛,会把工作环境和工作内容放在第一位。还有一些毕业生,只要能找到工作足矣。每个人都有一个理想中的公司,而我还是喜欢少而精的团队。

IT人家

软件开发生涯最重要那些事

10年软件开发感悟
也许只有我有这种想法,不过我曾经以为计算机科学课上学过的“面向对象”是很简单的东西。我的意思是,创建一些类来模拟现实世界能有多难啊?其实,那还真是挺难的。十年之后,我仍然在学习如何合理地建模。我后悔以前我没有花更多的时间来学习面向对象和设计模式。优秀的建模技术对于每一个开发团队都是非常有价值的。

IT人家

做一个身心健康的程序员

一定要爱惜自己的身体
很多程序员身体状况非常糟糕,年纪轻轻就身宽体胖,走几步路就气喘吁吁,有的人甚至在四十几岁,正值壮年的时候就英年早逝,令人惋惜;另外一个非常糟糕的是现在很多程序员的心理健康也有很大的问题,主要表现在成天跟机器打交道,把自己圈在自己的小世界里,不愿意跟人交流,甚至是不会跟人打交道。

IT人家

成功人士需要具备的一些品质

难得的品质
无论在内企,还是在外企,凡是成功人士(以下简称他们)的身上都有独特的个人能力和人格魅力,这是旁人所缺乏的。他们的成功决不能简单地归结为机遇好。这些能力可概括为:解决问题时的逆向思维能力。面对工作中遇到的新问题,一时又找不到解决方法。而且,上司可能也没有什么锦囊妙计时,他们擅长用逆向思维办法去探索解决问题的途径。

编程思想

编程语言与数据的亲和力

系统需要建立在一定的数据格式基础上
目前,程序设计语言似乎进入了一个蓬勃发展的时期,Javascript、Perl、Python、Ruby、Groovy等一批较新的语言正越来越多地被熟悉和使用,而C++、C#、Java等主流语言也在不断地融入函数式和动态性特征。程序员的百宝箱中可供选择的宝贝是越来多了,而社区中关于语言间的比较和争论也更为热烈。

Flex/ActionScript

swf自动播放时如何全屏全部显示

param name="scale" value="noscale"
在QQ Show里面看到一个很可爱的挂件,很想把它弄下来。弄下来的方法很简单,直接去网页缓存文件里面找。找到了之后,按下面的方法插入到网页中。请右键点击上面的flash,可以发现,“显示全部”的选项勾选了。事实上,只要不默认勾选这个选项就可以正常显示了。方法很简单,加上这么一句:param name="scale" value="noscale"

JavaScript

格式化金额数与自动四舍五入

可以控制小数位数,自动四舍五入
下面是一个格式化函数,可以控制小数位数,自动四舍五入。例如:12345格式化为12,345.00,12345.6格式化为12,345.60,12345.67格式化为 12,345.67,只留两位小数。调用fmoney("12345.675910", 3),返回12,345.676。

PHP服务器脚本

递归遍历PHP多维数组

二维及多维数组的遍历
数组的遍历是PHP一个常见的编程任务,而数组又分为一维数组、二维数组和多维数组。一维数组的遍历很简单,直接一个for循环就可以完成。那么二维数组和多维数组的遍历又应该如何实现呢?请看以下程序……

IT人家

程序员的职业发展路线图

从技术性管理到高级管理
程序员通常的发展路线是怎样的?可以看看这个图,当一个初步的职业规划方案已经成型时,如果制订者目前已在一个软件公司工作,那么,对他来说进一步的提升非常重要。 首先要做的则是进行角色分析,反思一下这个职业环境对个人的要求和期望是什么,如何使自己在单位中脱颖而出。

编程思想

PHP一些框架MVC设计的不足之处

基于视图驱动的HMVC是比较理想的MVC模式
目前主流的PHP框架设计模式均为MVC模式,比如yii或codeigniter,均是由控制器接收页面请求,并沟通模型与视图的交互。如果我们把网站整体看作一个矩阵,把网站接收用户请求并处理看作是网站的竖向,而把网站的每一个模块(比如文章模块,投票模块,论坛模块等)看作是网站的横向。

互联网时代

互联网创业须知:融资的基本知识

什么是融资?
融资并不是仅仅的把投资者的钱拿过来,那仅仅是狭义上的融资而已。现在我们一群业内的朋友在这里聚会,交流彼此的思想,也是一种广义上的“融资”。把在场的各位的有价值的思想融合到一起,创造出新的好的点子来创造更大的价值,这才是融资的核心。

软件架构技术

简单谈谈Web Service概念的理解

云计算、云服务与Web Service
传统上,我们把计算机后台程序(Daemon)提供的功能,称为“服务”(service)。比如,让一个杀毒软件在后台运行,它会自动监控系统,那么这种自动监控就是一个“服务”。通俗地说,“服务”就是计算机可以提供的某一种功能。

PHP服务器脚本

CodeIgniter的缓存机制与使用方法

让CI框架的网站更加高效
数据库缓存类允许你把数据库查询结果保存在文本文件中以减少数据库访问。一旦被激活,每一次含有数据库查询的页面被加载时缓存就会自动发生。Codeigniter 支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU 和数据库读取速度等因素直接影响了网页的加载速度。
4 / 8 首页 < Prev 2 3 4 5 6 Next > 尾页 页码: