01 什么是数据结构

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/java_xxxx/article/details/82113429

本篇作为博主的数据结构与算法的第一篇,主要什么是数据结构。后面的博客会慢慢讲到各种算法与数据结构。

数据结构和算法这门计算机必修课,非常重要的(现在感触越来越深)。以后如果你要想在这条路上走的远一些和深一些,那就好好打好数据结构和算法的基础。学好这门课,你的编程会有一个质的飞跃。

1、什么是数据结构?
程序设计 = 数据结构+算法
所谓数据结构就是关系。什么关系呢,就是数据元素相互之间存在的一种或多种特定关系的集合。

2、逻辑结构和物理结构
我们把数据结构分为逻辑结构和物理结构。

2.1逻辑结构:是指数据对象中元素之间的相互关系。
其中逻辑结构又分为4种
1 、集合结构:集合中的元素除了同属于一个集合外他们之间没有其他的关系。
2 、线性结构:线性结构中的数据元素之间是一对一的关系。
3 、树形结构:树形结构数据与元素之间存在一种一对多的层次关系,就像一棵树(如叉树)。
4 、图形结构:图形结构的数据元素是多对多的关系。(如图的遍历,就是一张图很多点,)
集中数据结构的图:
这里写图片描述
这里写图片描述
这里写图片描述

2.2物理结构:是指数据的逻辑结构在计算机中的存储形式,也就是怎么把数据元素存储在计算器的寄存器中。
数据的存储方式有两种:顺序存储和链式存储
1 、 顺序存储:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一直的。例如编程语言中的数组。现实生活中的例子如排队。
2、 链式存储结构:是把数据元素存放在任意的数据单元里,这组存储单元可以是连续的也可以是不连续的。所以这种存储关系并不能反映元素间的物理关系。于是每个元素在存储自己地址的同时还要存储下一个元素的地址(也可以称该地址存储在指针中),通过该地址就可以得到下一个元素。就是我们的链表。

注:图片来源于小甲鱼数据结构与算法。很不错的视频,大家可以去网上搜一下

猜你喜欢

转载自blog.csdn.net/java_xxxx/article/details/82113429