`
colen
  • 浏览: 62238 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

语言和软件的本质是数据结构与算法

阅读更多

1.语言是由数据结构算法组成的,软件也一样.


2.语言的数据结构和算法是由语言定义者来定义(写死)的,而软件,除了语言本身的数据结构和算法,还使用了更多的自定义的结构(不管这是一个类,还是一个function)和算法,所谓的自定义,就是由开发者来完成


3.一门语言的数据结构越小,越原子化,预定义的东西越少, 它就越灵活,开发者能够使用它们天马行空的构造出各种各样的更大的数据结构;反正则越僵硬;比如脚本语言和C,最灵活, C++和java,就显得僵硬.


4.同理,软件的灵活性也表现在数据结构(主要是自定义的)是否尽可能的小,是否足够原子化,以及算法是否更简单,容易组装


5.灵活与稳定,在某程度上属于一个天枰的两端, 这么来说, 脚本语言或C写出来的软件, 稳定性有可能更低, 而C++或Java,有可能更高


6.软件写得好不好, 一是看选用什么样的语言, 比如软件要求非常灵活, 如果选定一门僵硬的语言,则会很容易质量低;二是看开发者自定义的数据结构和算法好不好,怎么构造类?构造类的层次?怎么构造方法?方法调用是什么样的序列? 这些高一层的数据结构和算法,很大程度上决定了软件的质量


7.设计模式在本质上来讲,也是一种数据结构和算法, 比如构建型和结构型的,那是数据结构, 而行为型,很多则是算法, 只不过,这类数据结构和算法,看起来更抽象,层面更高;


8.数据结构属于横向,算法属于纵向,横向和纵向,就构成了语言和软件


9.数据结构是节点,节点越多,语言就越强大,而软件中的自定义数据结构也是节点, 节点越多,软件就越大(是否强大还不一定); 算法则把数据结构串起来, 算法的"串"越多,软件就越复杂(是否强大也不一定)


10.良好的设计,最终的体现就是是否是良好的数据结构和算法,是不是结构简单?结构和结构之间的耦合度是不是很低?各种结构是否能灵活的组装?算法是不是调用的结构最少,执行的效率最高? 这些都是衡量设计的根本因素


0
0
分享到:
评论
1 楼 fuwang 2010-02-26  
设计模式在本质上来讲,也是一种数据结构和算法, 比如构建型和结构型的,那是数据结构, 而行为型,很多则是算法, 只不过,这类数据结构和算法,看起来更抽象,层面更高;
---------------------
有见地。

相关推荐

    算法引论+数据结构与算法分析+代码之美

    《数据结构与算法分析>是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、...

    算法与数据结构 Python版

    第一,回顾计算机科学以及算法与数据结构的基本框 架,并特别强调我们学习这些内容的原因以及理解这些内容如何帮助我们更好地解决问题。第二, 了解python语言。尽管无法提供详尽透彻的指导,本章将给出具体案例并对...

    C#数据结构

    从上节我们知道,算法与数据结构和程序的关系非常密切。进行程序设计时, 先确定相应的数据结构,然后再根据数据结构和问题的需要设计相应的算法。由 于篇幅所限,下面只从算法的特性、算法的评价标准和算法的时间...

    数据结构源代码解析 严蔚敏

    计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。运算是由计算机来完成,这就要设计相应的插入、删除和修改的算法 。也就是说,数据结构还需要给出每种结构...

    操作系统+算法导论+计算机网络知识+数据结构(2套)全套视频程序员必备四大技能必学

    操作系统+算法导论+计算机网络知识+数据结构(2套)程序员必备四大技能,无论你是小白还是工作多年的程序员,无论你是什么使用何种语言的developer都会适合你,让你从本质了解什么是计算机,什么是程序

    C++数据结构与程序设计

    这本精心制作的课本结合面向对象程序设计和C++强有力的特性,构建数据结构的基本思想,设计了程序和有趣的应用。在此过程中,本书探讨了作为软件设计基本工具的问题求解和设计原理、数据抽象、递归和算法的比较分析...

    什么是数据结构.docx

    一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。它是算法和程序设计的基本部分,它对程序的质量影响很大。 何谓算法?它与程序有何区别? 广义地说,为解决一个...

    数据结构知识点总结.pdf

    数据结构知识点概括 第一章 概 论 数据就是指能够被计算机识别、存储和加工处理的信息的... 程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。 算法是一个良定义的计算过程,以

    操作系统+算法导论+计算机网络知识+数据结构(2套)程序员必备四大技能

    操作系统+算法导论+计算机网络知识+数据结构(2套)程序员必备四大技能,无论你是小白还是工作多年的程序员,无论你是什么使用何种语言的developer都会适合你,让你从本质了解什么是计算机,什么是程序

    js-data-structures:我的个人学习资源。 使用JavaScript编程语言实现的数据结构,算法和设计模式

    我的目标是使用JavaScript编程语言实现流行的数据结构,算法和设计模式。 我正在一个永无止境的学习旅程中,本质上是“锯锯”。 我还将努力为每种数据结构,算法和设计模式提供文档,使用JSDoc进行测试和实践。 ...

    数据结构基础概念.doc

    第一章 绪论 程序设计的一般过程是"问题——想法——算法——程序",其实质是数据表示和数据处理。 数据结构是研究非数值问题中计算机的操作对象以及它们之间关系和操作的学科。 数据元素是数据的基本单位,在计算机...

    操作系统+算法导论+计算机网络知识+数据结构(2套)程序员全套视频

    操作系统+算法导论+计算机网络知识+数据结构(2套)程序员必备四大技能,全套视频无论你是小白还是工作多年的程序员,无论你是什么使用何种语言的developer都会适合你,让你从本质了解什么是计算机,什么是程序

    算法导论(part1)

    它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例...

    JavaScript中数据结构与算法(四):串(BF)

    串的逻辑结构和线性表很相似的,不同的是串针对是是字符集,所以在操作上与线性表还是有很大区别的。线性表更关注的是单个元素的操作CURD,串则是关注查找子串的位置,替换等操作。 当然不同的高级语言对串的基本...

    4.数据结构知识点(-).pdf

    第一章 数据就是指能够被计算机识别、存储和加工处理的信息的载体。... 程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。 算法是一个良定义的计算过程,以一个或多

    算法导论(part2)

    它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例...

    数据结构课程设计-学生成绩管理系统.docx

    数据结构课程设计-学生成绩管理系统 数据结构课程设计-学生成绩管理系统全文共32页,当前为第1页。...计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和

    数据结构知识点总结.doc

    第一章 概 论 数据就是指能够被计算机识别、存储和加工处理的信息的载体。 数据元素是数据的基本单位,可以由若干个数据项组成。... 程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决 于

    C++算法实现代码集.rar

    闲来无事,翻阅起以前写的代码,无意间找到了大学时写的一套C++工具集,主要是关于数据结构和算法、以及语言层面的工具类。过去好几年了,现在几乎已经回忆不起当年写代码时的情况,不过,通过文件头部注释里的日期...

    软件设计规范

    语言、编译技术、数据结构、设计方法(过程、数据、对象)等可以形式化的计算机科学的任务。对程序能力进行抽象,设计程序自动化生成的一套系统:语言、计算系统、编译系统。这是在静态和活跃部分之间的层次。这里的...

Global site tag (gtag.js) - Google Analytics