谈谈计算机编程思维的培养

好久之前一直有种困惑,感觉计算机编程很难,是一个跨不过的坎,特别是利用相应的算法解决某个问题,排序,二叉树,红黑树,哈希算法,KMP模式匹配,一些列问题,毫无头绪,现在想想确实只有当你遇到实际问题域模型的时候自然而然就会驱动你去寻找一种解决方案,首先你先以你自己的方法解决这个问题,而不考虑处在计算机的角度来思考,以我们人类特有的思维能力解决它,然后思考一下这个方案的可行性,比如是否能在一分钟,一个小时,甚至更长的时间去完成,然后考虑经济成本,如果这个方案确实产生了实际效益,自然而然你可以联想到计算机的视角,考虑时间和空间成本问题,是否在现有的时间内完成它,会不会造成内存溢出的问题,栈溢出,等等的问题,实际上,不需要首先强转自己去学习算法,算法体现在你编程的每个步骤,比如在处理Servlet的时候,首先一个请求到来,服务器发现并处理,实际上这是一个阻塞状态的线程,当请求达到的时候,阻塞态转变为就绪态,等待CPU按照一定的调度算法,让CPU去执行处理,然后根据反射机制,运行服务器调用这个Servlet,并调用其具体的方法,比如service去装载这个请求的信息进入request,然后利用你的网络知识,可以知道,这里面具有相应获取的方式,如get,post,head,put,delete等等,其实这就是一个简单的算法问题,你可以上编程实现,按照这个处理机制,你可以去写相应的算法,这样的实际作用比你看具体的数据结构,然后实施你的算法更加高效,然后你回头就会发现这样的算法确实存在种种问题,比如在处理数据库有多个连接请求的问题时,对于那些超过连接池数量的请求时,该怎样处理以后的连接请求,思考你的数据结构,可以很快想到使用双端队列,或者其他技术,创建一个缓冲队列。。。。等等问题。未完!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值