线性表与数组的根本区别_线性表1

本文探讨了数据结构的重要性,如线性表的抽象概念与关系处理,以及它为何超越语言层面。作者通过比较数组和线性表,解释了数据结构与数据类型的区别,强调了基础方法和逻辑关系在数据操作中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

它是个数据结构,它有抽象的概念,抽象在上文中提到过了,真的很像js里的原型。有原型,有实例这种的感觉。单单构造一个数据的结构不就行咯,为啥要抽象出来一个概念范畴了?

我今天学到了,首先,就是它明确了自己是什么,什么不是自己的同类的!

其次,数据数据,都是一堆堆的数据了,为啥还要有结构一说?结构,这一感觉,意淫一下,是不是很有些意犹未尽的感?对,数据如果只是数据本身,那就没有办法去处理它们,处理它们都需要方法的。这是其二。我刚才想到的其一,就是数据与数据之间,有关系的话,怎么办?如何把纯纯的数据值之间添加逻辑了?就需要构造了,设计一些特定的规则,同时,这些规则可以通过对应的方法,处理,来证明出数据值之间的关系的。

比如,表,它有长度属性,也就是子元素个数,有下标,这里有个坑,下标是从1开始的,为啥?那个老师的意思是,数据结构是面向人的,,,,面向机器的才是从0开始的,,,

我强迫自己意淫了一下,因为是抽象的数据结构,抽象的概念范畴,都是对人而言的,就算解析器去解析,也是人制定好的规则解析的,而在操作数据这里,是人对数据结构的交流了。天呐,,,这样子的话,说真的,学的语言里的那些数据类型,其实是机器性质的,死的。这里,是在把数据结构这个独立于各种语言而存在的伟大存在,单独给个c位么?

不管了,可能是呢,,,

继续说,表的方法们,它像数据一样,当然方法也有些差不多的倾向。添加,查找值相同的子节点,删除子节点。清空。当然,还有创建一个线性表。

然后我发现,它没有像数组一样,进阶的遍历的map,fliter方法,更不要说reduce了。然后,做了一个小任务,两个线性表做并集,直到那一刻,我才回想起,基础方法的重要性,高级的方法,都是基础方法封装而成的。这里给自己捏了一把汗啊,,,好危险!

但是,到了这里,我有些迷惑的,因为,表,与数组,,,有什么区别?难道说,线性表是面向人的数据结构的抽象,数组是面向确切的语言的数据类型?

复盘一下,一个线性表a,指代了一个内存区间的一块的,每个表里的子节点数据随机或者挨着存在这一块里,但是,它们内部的指针都给了这个a了,而a如何储存这些指针,如何体验出指针指代的数据的顺序关系,应该是跟数组差不多的数据结构。数据结构既然是凌驾于语言之上的,那么,就要,任何语言都可以依赖,模仿数据结构,同时实现数据结构的抽象的方法。

因为,数据结构,只是专注于数据以及数据间的关系,为了体现数据间的关系,才有了可以操作数据结构的方法的。所以,任何的语言,也有数据,有变量,模拟一下线性表,线性表的抽象,作为某数据类型的原型,就是为了方便操作数据,或者体现数据间的关系,因为它们间的关系,我可以得到些逻辑判定,可以做些处理,,,这样一想,,,

我做出了,一个推导,起初,数据结构根本就不存在的,语言多了,有了数据类型间的共性了,语言之间的数据类型,都差不多,应该可以算是互相抄来抄去的。发展了一段时间了,我想提炼出来这些经典的数据类们,抽象出来它们的共性。以便于人更好地关注于数据本身的逻辑,而不是语言,语法,语言提供的数据类型的方法,这些太忽略了数据本身的逻辑了,,,

事实上,leetcode的那些算法,是不是各种语言都可以一试的。认知度就是推导到了如今的地步,有些怕怕了,因为全都是靠认知意淫的,,,

0a9be5f585778728d50545ac2f205194.png

还是继续看下一课时,看能否有些收获了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值