概念
- 数据结构是什么东东呢?
我们的祖先很早就想到了用一些符号或者记号来帮助他们记忆当时发生的时间、事件、年份等等诸多信息。然后就日渐发展成了我们的文字,数字。所以数据结构也是一样的,为了让计算机认识和并应用的一种概括性很大的学科。
书上是这样定义的:
简单的是说:我们初中都学过分子结构吧,每个分子都是排列不同就会形成不同的结构。数据结构也是一样。数据元素之间不是独立,他们形成的特定的关系的话就成了数据结构。
1.1 数据:就是计算机能够认识的符号。
1.2 数据元素:这个概念是一个大类。就像数据库里面的专业名词–记录。比如人,动物,禽兽。这些概念都叫数据元素
1.3 数据项:这是数据的最小单位。比如说人有耳朵、鼻子、嘴巴。这些都叫数据项。
1.4 数据对象:是指性质相同的数据元素的集合。是数据的子集。比如人都用眼睛、头发、或者相同的年龄。这些都可以称做一个数据对象。
- 逻辑结构和物理结构
2.1 逻辑结构就是我们数学上的集合。集合都有几种关系,比如说并集,交集、包含等。逻辑结构也是一样的。不过在数据上还是有特殊性:比如说链式结构、树状、图。这是常见的数据结构。
2.2 物理结构:简单粗暴的理解就是实际的存储,数据该刚在你的内存、硬盘。光盘等的那个位置。那么上述的逻辑结构怎么实现在物理结构上–这就成了一个大难题了。
数据元素的存储只有两种:①顺序结构,就是我们的数组,缺点就是不好进行插入、删除等操作。你可能会想哎呀,数组不是提供了一些删除。添加方法吗?对呀,但你想想,你的数组每次是不是只存那么几个数据,随意删你肯定感觉不到什么。但是数据多了呢?现在给你一亿条数据,你删除了第100条数据,后面的数据是不是都是要往前走,那你要等多久才能处理完呢?
②链式结构,可以想成我们在医院叫号,你拿到了号可以不用一直在那排队,可以坐着打王者,。也可以出去买瓶江小白。等护士叫到你号,就到你了。所以应用到计算机上就是每个数据元素存放的位置是不同的,随意的你喜欢在那就在那。但是每个数据元素之间有一定的暧昧关系–这个叫指针。所以我们要把指针好好的放着,拿到了指针就找到你的暧昧。现在就比前面的顺序结构灵活多了,中间删除一个数据,我只要改一下我的暧昧不就行了吗?不懂就回头在看看,你品你细品。不过链式还是存在一个小问题的。什么问题呢?你看过《无间道》吗?当UC的han导哪挂老称了,那么UC的身份谁知道呢?是吧,是吧。
所以结论就是逻辑结构处理的是问题,物理结构处理的是计算机。统一目的就是将数据及其逻辑结构存到内存中。
3.数据类型
数据类型就是我们经常用的int这些。注意注意:每个类型都是有范围的。
抽象是指抽取出事物具有普遍性的本质,抽象还不会的还需要去恶补语言。
抄袭的图
注:这是我自己的学习笔记,不喜勿喷。