悬赏分:5 浏览:847 次
运用。Net技术也有相当一段时间了,但在是开发过程中,由于算法上还不够精简,经常是写些性能不高代码量又大的程序 ,所以想请教各位大哥大姐,有没有提高算法的方法?
|
算法精简!=性能高
性能高!=代码量小 给楼主建议:学习算法先学习数据结构,然后面向对象。一般而言,代码结构好了,性能也不会差到那里。 翻大学的课本就可以了 是啊,大学课本 有一本叫数值算法的书,是一本不错的教材,不过你要看明白它的话,你的数学功力要不错才好,还有熟练掌握常用的数据结构方面的知识也是前提条件。 不一定非要看算法书,扩大知识面最重要 一味 兄 说得好 算法精简!=性能高 性能高!=代码量小 ~~~~~~~~~~~~~~~~~~~~~~~~ 这是一个误区! 比如StringBuilder和String,谁快?这个问题本身就有毛病,因为不是什么时候都是StringBuilder快的。要知道为什么,则首先要了解StringBuilder跟String的区别,从中可以发现内存使用的不同,然后就看看内存使用方面究竟有哪些区别,然后自然就能发现什么时候用谁更合适了。而这些知识,在学校里面的《操作系统原理》、《数据结构》、《计算机组成原理》……等教材里面说得非常清楚。 还有SQL的运用,很多人也没搞明白咋回事,就是网上一通乱搜,然后这里设置一下那里设置一下,这当然没有错,不过当你静下来好好的看看《数据库原理》,你会“哦~~~原来是这样~~~”(这里,我可没有说特定的数据库就不用管了) 综上,提高的办法其实很简单——“静下来看看基础的东西,切忌浮躁” 楼上的精典 支持我楼上的楼上 支持楼上的楼上的楼上 学好数据结构,掌握好编程思想,当然也得多动手,才是出路 推荐使用Math.NET,其中有很多的算法可以帮你完成常规的任务。如果这里面没有的话,估计就要立专门的课题来研究了。 Math.NET还是第一次听, 能推荐点介绍磨? 看你在做什么。如果是一般的商务逻辑,界面漂亮了,算法不必太精,易读以维护就好; 如果要做大型系统应用,那么最好掌握核心的几个算法,比如数据库查询。 如果专门做数值计算,那就好好学学数学吧。 数据结构设得合理,就会省很多代码,也能提高性能 研究一下 算法导论 换个更快的服务器呗~ 开个玩笑;该说的 都说玩了,不过某些时候也是一个很好的解决办法,呵呵 除了看数据结构与算法的书以外,要提高.NET程序的性能,可以看看李健忠翻译的.NET 框架程序设计(修订版),相信会给楼主一些启发 个人认为,算法不用很高,越是平凡简单的代码,越容易理解和维护。 高度优化的代码,反而不好。 即是在一些比较严格的场合,对于优化这个问题也讲求针对性,尽量少优化,抓住重点。 对于面向对象设计来说,算法优化只是实现的一环,他不应该影响对象结构,而面向对象的结构的优化,其实比算法优化更加重要,开发容易维护的代码,易于扩展的框架,才是在面向对象设计中一个最基本的追求。 程序的首要问题是解决业务需求,其次才是在保证正确性的基础上进行优化, 在性能可以满足的情况下就不需要进行过度优化或过度设计了. 数据结构是一定要学的. 基础的确实很重要,不过我们做应用软件的,长时间不用很多都忘了 |