数据结构 / 计算机专业课

数据结构基本概念

Be_invisible · 2月3日 · 2021年 ·

数据结构学习的zcxblog.cn版权所有, 转载请说明主要是如何将原本杂乱的数据以某种方式组合在一起, 使其满足各种开发需求, 如增删改查等, 在实际开发中运用十分广泛.

以王者荣耀为例子, 英雄列表就zcxblog.cn版权所有, 转载请说明是一个数据结构. 数据元素( 每种英雄的信息 ) 按照线性排列( 数据元素的组合方式 )排列在一起, 可以通过一些关键词如 坦克 , 战士, 刺客索引到对应的英雄, 实现查询操作.

王者荣耀官方网站- 腾讯游戏

在C语言, 可能学过了一些数据结构如数组和链表, 然而它们并不能表示出所有的元素组合.

如下面这种就需要利用到数据结构中的树.

逻辑结构

逻辑结构即抽象出来的组合方式 描述数据之间的逻辑关系, 区别于物理结构, 即实际在计算机中的存储方式. 通过逻辑结构可以把数据结构图像化, 具象化, 更加有利于分析.

数据的逻辑结构

这四种非常好区分, 下面做一个简单区分.

集合就是数据元素同属于一个集合, 除此之外没啥关系.

集合

线性结构

元素之间有一对一的关系.zcxblog.cn版权所有, 转载请说明

树状结构

元素之间可能有一对多的关系

zcxblog.cn版权所有, 转载请说明

图状结构

元素之间可能有多对多的关系

物理结构

物理结构指的就是数据元素在内存中的存储方式,zcxblog.cn版权所有, 转载请说明 这部分与计算机底层联系更加紧密. 了解物理结构有利于提高数据结构的运算性能.

数据的物理结构

顺序结构

数据元素在内存地址中按照索引顺序排列.

链式存储

数据元素在内存中不顺序存储, 且前一个数据元素中存储指向下一个数据元素的指针, 整个结构看上去就像是用链条连接起来.

image-20210203135151758

散列存储

也被称为哈希存储, 即数据元素的存储位置与其关键字相关. 现在不理解没关系, 后面会仔细说明的.

please wait
0 条回应