数据结构分两块,线性结构和非线性结构
线性结构分数组,链表和递归,队列
非线性结构主要有树和图
基本上以线性结构居多
模块一: 线型结构
连续存储[数组]
离散存储[链表]
线性结构的两种常见应用之一:栈
堆是分配内存的一种方式,不是一种数据结构哦
线型结构的两种常见应用之二:队列
专题:递归
模块二:非线型结构
树
图
数据结构的定义:
数据结构就是研究把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中有哪些方法
例如保存一个班学生的名字,要把这些名字保存到内存中,用一个数组就可以保存了,数组就是一种数据结构
例如保存一万个学生的名字,要想把一万多个名字都保存到内存中,需要用到链表,而不是数组,因为数组是连续的,取数组中的任何一部分,都要启动整个数组
例如人事部保存名单,就不能用数组,因为不同人之间有等级关系,要用树这种数据结构保存
例如地图,要想把若干个站点保存到内存里,要用图这种数据结构,这样方便体现地点和地点之间的关系
保存现实中的事物到内存中需要考虑一个问题:
如何把事物保存到内存中的同时,体现事物个体和事物个体之间的关系
只把事物保存到内存中,而不体现个体和个体之间的关系的话,就不能满足需求了
把事物保存到内存中之后,我们就可以进行各种各样的操作了,就可以在计算机世界中操作它们
写任何一个需求程序分两部分,
先把需要处理的事物保存到内存中
再考虑怎么操作内存中的事物
存储结构和数据类型,数据结构的辨析
不同的数据有不同的数据类型,特定的数据类型是具有特定规律的数据的集合
例如int 整形这种数据类型,保存的都是整数的数据
把各种各样的数据按照不同的存储结构保存起来,就可以生成不同的数据结构,这就是三者之间的关系
例如 int a [] int表明数据的类型, [] 表明数据的存储结构
把数据按照不同的物理结构存起来,就造成不同的数据结构啊,数据有很多种类型啊,所以有数据类型的概念,物理结构也有很多种啊,所以有存储结构的概念
原文:https://www.cnblogs.com/chrr/p/12367832.html