算法笔记 (4)算法的逻辑结构

来源:互联网 发布:四维单子数据看男女 编辑:程序博客网 时间:2024/06/05 00:56

逻辑

     逻辑一词在定义的时候有狭义和广义之分。
     狭义的逻辑可以理解为思维逻辑,再大一点就是研究思维活动规律的学科,即逻辑学。

     广义的概念不仅仅指思维方面,还指事物客观规律、从形式上又分为形式逻辑和辩证逻辑等等,说的更具体一些逻辑是事物的因果规律,有一定的关联或者类似学说。

     上面这些是逻辑以及逻辑学范围内的定义,随着各个学科以及科学知识的发展,有的学科中也逐渐引入了逻辑一词,并给逻辑在自己学科中重新阐述定义解释,但是我们要清楚在某个学科中的解释是带有这个学科的特点、特色的,我们要注意区分他们之间的细微区别与联系,对于理解概念有帮助。

     换句话说它是一个抽象概念,没有特指一个具体对象的时候的定义,具体意思即它前面需要有一个具体对象作为主语,如A的逻辑、B的逻辑等。

结构

     结构一般含义表示建筑物结构,即各个部分或者局部组成在一起形成了一个整体,大的建筑物体等,各个部分的搭建和安排之意。

逻辑结构

     说了逻辑和结构之后,将两者结合在一起可以给出表象定义,即事物各个组成部分按照有某种逻辑关系的形式组织在一起,而不是无规律、无定性的罗列,有一种因果或者先后或其它关系在里面,为了更形象的表示逻辑结构,假如只谈结构不谈逻辑,里面欠缺了一些关系在里面,而只是结构化的东西,显着更死板缺乏组织、灵活性。

     在数据结构领域中逻辑结构的定义
数据的逻辑结构就特别形象的特指了数据这一对象的逻辑结构,即数据内在的一种相互有关联关系,这种关联关系可以成为逻辑结构。

数据的逻辑结构

     再提到逻辑结构有时候也指数据的逻辑结构,‘把数据的’省略了这几个字其实是不该省略的要不容易发生歧义,从主谓宾构成来说缺少了主语,逻辑结构是对什么什么的关系的描述,这里既是对数据之间关系的描述,数据的逻辑结构现在就比较好理解是由数据和逻辑结构组成,我们可以给它下一个定义。

     数据的逻辑结构=(D,R)D 表示数据元素的有限集合,R表示数据元素之间关系的有限集合,结合在一起便是数据以及数据之间关系的集合。有时也简称为数据结构,即是相互之间存在一种或多种关系的元素集合。

人们的认知与逻辑

     人们的认知与逻辑也是经常容易弄混的两个概念,例如对于数据结构中的树、图、线性来说,表面上我们看到的是一个像树形状的结构,这是我们的认知,觉得它像树节点,属于认知范围;当谈到树上父节点与子节点之间关联关系时,换句话说我知道了上一个节点我就可以知道下一个节点数据,这种前驱节点与后继节点之间的关联称为树的逻辑结构,当然树也可以使用一维数组来存储,数组存储的结构在内存地址上面是连续的物理内存地址即物理存储,树也可以是物理存储,因此,可以说树是完美的展示了元素之间的逻辑结构。我们对比一下逻辑结构与物理结构,如下图所示:

逻辑结构 物理结构 线性结构 顺序存储结构 集合结构 链接存储结构 树形结构 图形结构

科学成果的认知

     想一下如下这几个问题:
- 1.1+1 为什么等于2?
- 2.为什么会出现四则运算?加法乘法?
- 3.为什么会有时间的概念?

     举这些例子只是想表达我们现在所熟悉、认为本身就存在的事物只是我们认识世界、认识自然、认知不断提升的产物,是从人的角度所阐述而来,人的特性是主观能动性有思维、有逻辑,如时间并不是一下产生,开始可能是根据太阳日出日落来计算一天,后来为了更精确,有人人提出时间概念的人,认为规定一年365天、一天24小时等觉得这样分有意义,经过自然规律的检验留存到了最后,我们要从发展的角度来认识事物、认识科学,要不容易把知识学成死的,认为就是这样那样的束缚。

     这些是我们人为定义,人为认知的结果,随着时代的发展进步积淀下来的东西,它们也是从无到有,创新出来的东西要符合客观发展规律,并为人们认识所接受的事实,并且可以更好的服务于社会、产生更大的价值,才会被人们接受。
只有我们的认知不断提升、在客观存在的事物基础上去发明创造才能找到新的方法、新的科学成果出来。

     我们要明白一个道理即每个领域现有符合客观实际成果、知识的积累都是人为的积累、总结、提炼出来的,想象一下远古时代像时间、水、午时三刻、朝九晚五等等都没有这些概念,是随着人们认知不断进步,人为规定出来的时间、水等,前提是这些规定要符合自然发展规律也是常常说的客观规律,我们发现规定了这些词语对我们日常还是生活生产都是非常有好处的事情,在人们认知中也就积淀了下来,逐步成为了我们认为的知识,知识是活的。

     如果想发明、创新新的规定或知识,对知识或算法要有一个合理的认知才行,学习算法并不仅仅是学习现有算法,算法以及算法公式都是灵活多样、变化的要以动态变化的思想来看待。

空间论认识

     对于空间理论来说在我们的生活中,一维、二维、三维空间好理解,对于思维空间不好理解,至于存不存在我也不理解,看从哪个角度来理解吧。
一维空间可以从一条直线来理解,活动范围也是一条直线只能向前或者向后,例如A B 排成一排,A在B后面,那么A只能看到B的后面,看不到前面因为他们的活动在一维空间受到限制。

     假如他们进入了二维空间,增加了一个维度就可以向左或者向右活动,因此A可以看到B的每个面,如果再引入C、D、E、F等,把整个二维空间占满了,A的活动范围又受到了影响,它并不知道二维以外的空间,也看不到感觉不到。

     增加了三维空间以后,A遍可以坐着飞机或者其它超越二维不受二维空间里面的内容限制,这个三维空间可以根据我们日常生活的空间大小来理解,容易想象出来。
     按这个层次关系他们已经进入了四维空间后,由于我们没有生活经验是比较难想象出来的。

原创粉丝点击