1.语言是由数据结构和算法组成的,软件也一样.
2.语言的数据结构和算法是由语言定义者来定义(写死)的,而软件,除了语言本身的数据结构和算法,还使用了更多的自定义的结构(不管这是一个类,还是一个function)和算法,所谓的自定义,就是由开发者来完成
3.一门语言的数据结构越小,越原子化,预定义的东西越少, 它就越灵活,开发者能够使用它们天马行空的构造出各种各样的更大的数据结构;反正则越僵硬;比如脚本语言和C,最灵活, C++和java,就显得僵硬.
4.同理,软件的灵活性也表现在数据结构(主要是自定义的)是否尽可能的小,是否足够原子化,以及算法是否更简单,容易组装
5.灵活与稳定,在某程度上属于一个天枰的两端, 这么来说, 脚本语言或C写出来的软件, 稳定性有可能更低, 而C++或Java,有可能更高
6.软件写得好不好, 一是看选用什么样的语言, 比如软件要求非常灵活, 如果选定一门僵硬的语言,则会很容易质量低;二是看开发者自定义的数据结构和算法好不好,怎么构造类造类的层次么构造方法法调用是什么样的序列这些高一层的数据结构和算法,很大程度上决定了软件的质量
7.设计模式在本质上来讲,也是一种数据结构和算法, 比如构建型和结构型的,那是数据结构, 而行为型,很多则是算法, 只不过,这类数据结构和算法,看起来更抽象,层面更高;
8.数据结构属于横向,算法属于纵向,横向和纵向,就构成了语言和软件
9.数据结构是节点,节点越多,语言就越强大,而软件中的自定义数据结构也是节点, 节点越多,软件就越大(是否强大还不一定); 算法则把数据结构串起来, 算法的”串”越多,软件就越复杂(是否强大也不一定)
10.良好的设计,最终的体现就是是否是良好的数据结构和算法,是不是结构简单构和结构之间的耦合度是不是很低种结构是否能灵活的组装法是不是调用的结构最少,执行的效率最高这些都是衡量设计的根本因素
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34189 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!