【数据结构学习笔记】抽象数据类型(个人理解版)

本文只是自己学习笔记的整理,并不具有较强的专业性,对于知识点用的是自己的理解,如果有问题,欢迎指正和质疑。


一、理解数据类型

数据类型包括整型、浮点型、字符型、布尔型。

当然我在网上也看到一些其他的分类,我这里就不一个个列举了,主要是讲我个人对这个知识点的理解,希望可以给正在学习的小伙伴提供一种新的理解思路。

早在最初,程序猿写代码就是0101001······来表示各种各样的数据,但可能是因为懒,也可能是因为量变引起了质变,程序猿们就想着要不归个类吧,于是有了数据类型。(个人猜想,不是事实)

想详细了解数据类型发展史和编程语言发展史的可以自行搜索一下。

所以这世上本没有数据类型,用的人多了,也便有了数据类型。(狗头)

但我个人觉得这其实是个顺其自然的过程,就好比在很早很早以前,我们的祖先是没有锅碗瓢盆的概念的,只是知道用黏土制造这样一个容器很适合装东西,所以就拿它装东西。由于每次制作过程中未知数太多,比如人不一样就导致了和泥时加水量不一样,而且每个人的力气和喜好不同,就使得制作出来的容器大小不一。(这里就像是每个程序猿的编码习惯不同,所以代码样式不同,但结果都是一样的。)经过一段时间的使用,祖先发现在吃方面,小的容器更适合个人使用,中等容器适合盛放食物,大的容器适合炖煮食物,所以碗、盆、锅就诞生了,好耶!结构

所以在制作高级语言时,人们发现编码输入时说到底就这么几样东西,数字,字符,是非。于是干脆就分了类,考虑到数字有整数小数之分,所以分了两类,整型和浮点型,字符分成字符型,是非就是布尔型。

所以数据类型理解起来并不是很麻烦。

二、理解抽象数据类型

抽象数据类型其实是在数据类型的基础之上进行拓展,它其实更像是模板,进行了很模糊的定义,只定义了属性和操作。

就还是拿吃打比方,抽象数据就是菜谱的模板,一个菜谱包括食材和调料以及他们的量,还有步骤。要是一两道菜,你每一个所需要的食材或者调料(变量)可以单独记载一张纸上(单独进行变量命名)。但在大量食谱记录过后,你会发现他们冥冥之中好像有很多相同之处,于是你会开始将共性归纳起来并做成表格,第一列食材(应该用字符型),第二列标注食材的量(应该用整型【一般好像没什么食材会精确到小数吧】),以此类推,这样你就获得了一个抽象数据类型——菜谱的模板。所以抽象数据类型很多时候是通过分析大量数据找出其中的共性整理后形成的,可以一定程度上提高效率。

后续的突发奇想:上面的菜谱模板,其实可以简化为一道菜的制作。我们每个人的口味都有着不同的区别,有些人喜欢吃辣,有些人喜欢吃酸,有些人喜欢吃甜,这就会导致我们每个人做出来的相同的菜会有不同的风味,对应到抽象数据类型里面,就是你可以给它加各种你喜欢/需要的配菜和调料(各种成员变量和相对应配套使用的函数)。所以,为了你达到效果/目的,你就可以按照你的需求来配菜,调料,烹饪。

【加油,希望写完代码的你也能像成功做完一道精美的菜品一样快乐,代码和美食均不可辜负哦】

那么为什么数据结构的第一份笔记要写抽象树数据类型呢?

原因很简单,因为数据结构里面每一种结构都是一种抽象数据类型,是程序员基于大量问题的解决方法总结出来的规律,是量变引起质变的结果,我觉得理解好这个初始概念对于之后学习数据结构里每一种结构的理解与想象都有所帮助。


总结

简单的介绍了什么是数据类型,什么抽象数据类型,一个是归类,一个是归纳。

最后,希望我写的理解能对你有所帮助,谢谢。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值