数据结构详细教程绪论

举报
意疏 发表于 2025/08/06 14:17:13 2025/08/06
【摘要】 数据结构绪论

希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,==点赞 + 关注+ 收藏==支持一下笔者吧~


开篇说明

数据结构是计算机科学中的一个重要概念,它涉及如何组织和存储数据以便高效地进行访问和修改。
本身致力于给新手小白一个间接明了的教程(包括我)。

一、数据结构绪论

首先我们要知道什么是一个程序:
程序就是由数据结构+算法组成的
我们先来看数据结构:
数据结构是指:相互之间存在一种或多种特定关系的数据元素的集合。
包括三个方面:逻辑结构、物理结构和数据运算。

逻辑结构是对数据之间关系的描述,与数据的存储结构无关。
逻辑结构分为两大类:线性结构和非线性结构。
数据元素之间的逻辑结构有四种基本类型:

  1. 集合:结构中的数据元素除“同属一个集合外”,没有其他关系。
  2. 线性结构:结构中的数据元素存在一对一关系。
  3. 树型结构:结构中的数据元素之间存在一对多关系。
  4. 图状结构或网状结构:结构中的数据元素存在多对多的关系。

物理结构 / 存储结构:是数据的逻辑结构在计算机中的表示(映像)。描述数据具体在内存中的存储。

数据结构的四种存储方式:

  1. 顺序存储:顺序存储是指把逻辑上相邻结点存储在物理位置上相邻的存储单元中(按顺序)。借助C++中的数组来表示。
  2. 链式存储:链式存储不要求逻辑上相邻结点在物理位置也相邻。结点间的逻辑关系(链式)。是由附加的指针字段表示的。借助C++指针表述。
  3. 索引存储:在存储结点信息时,除建立存储结点信息外,还建立附加的索引表,来标记结点的地址。索引项的一般形式为<关键字结点,地址指针>关键字标识唯一 一个结点,地址作为指向结点的指针。
  4. 散列存储:是根据结点关键字通过散列函数直接计算出该结点的存储地址,本质上为顺序存储方法的拓展。

线性表
线性表:是具有相同回溯句类型的n(n>0)个数据元素的有限序列,它是典型的线性结构。除第一个元素外,每个元素仅有一个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继。


意气风发,漫卷疏狂
==学习是成长的阶梯,每一次的积累都将成为未来的助力。我希望通过持续的学习,不断汲取新知识,来改变自己的命运,并将成长的过程记录在我的博客中==。
如果我的博客能给您带来启发,如果您喜欢我的博客内容,请不吝点赞、评论和收藏,也欢迎您关注我的博客。
您的支持是我前行的动力。听说点赞会增加自己的运气,希望您每一天都能充满活力!

愿您每一天都快乐,也欢迎您常来我的博客。我叫意疏,希望我们一起成长,共同进步。
我是意疏 下次见!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。