关于结构的思考

最简单,最原始的结构是,单个数据,也就是语言所提供的基本数据类型,然后出现了数组,容器,然后又是结构体,进而结构体演化出类。随着需求的变化,在数组的基础上演化出了队列,栈。进一步随着结构的成熟,出现了更高层次的结构-- 树,树形结构已经是完全脱离了程序语言的一种东西,他是人对世界认识的一部分,是一种组织形式。但是树形还是有他所不能描述的东西,比如网状。网状在世界非常常见,但是人们实现网状结构的方式,多是讲其拆解成不同的树,然后通过拼接组成,并没有像对树形结构那样有非常好的解决方案。比如,在族谱描述中,人们用的是树形,但是真实的社会中没有哪个家族能够独立存在,也没有哪个家族在发展庞大到一定数量级后不发生族内通婚的事情,禁止通婚的层次深度,是这个即将变成网状的族谱的网孔的最小尺度。对于环形结构,它是比树形略低,却比容器、栈高阶的数据结构,虽然环形很普遍,但是人们的思维认识却对环形的认识没有对树形认识深刻。对于网状认识的不深刻,也是由于环的存在,网状可以描述为无数环的嵌套,也可以描述为多棵树的交叉。

我们在设计程序的时候都会避免出现环,都会把问题切割成树状,将多对多的问题变成多对一加一对多。人类对环形结构的认识加深,会提高人类思维的深度,并进一步提高对网状的认识,会使得本身复杂的程序逻辑变得简单。

人们对事物的认识顺序,历来是由特殊到一般。

你可能感兴趣的:(关于结构的思考)