数据结构详细教程绪论

server/2024/9/22 22:47:18/

在这里插入图片描述
🌏个人博客主页:意疏-CSDN博客
在这里插入图片描述

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

阅读指南:


开篇说明

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

一、数据结构绪论

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

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

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

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

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

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

线性表

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


意气风发,漫卷疏狂
学习是成长的阶梯,每一次`的积累都将成为未来的助力。我希望通过持续的学习,不断汲取新知识,来改变自己的命运,并将成长的过程记录在我的博客中

如果我的博客能给您带来启发,如果您喜欢我的博客内容,请不吝点赞、评论和收藏,也欢迎您关注我的博客。
您的支持是我前行的动力。听说点赞会增加自己的运气,希望您每一天都能充满活力!

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


http://www.ppmy.cn/server/102229.html

相关文章

1.Java基础概念-注释和关键字

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 Facts speak louder than words&#xff01; 注释是在程序的指定位置…

Browserless 网页抓取:在 Selenium 中使用 NodeJs

Selenium 是否有效&#xff1f; Selenium 是一个流行的开源网页自动化框架&#xff0c;主要用于浏览器测试自动化。此外&#xff0c;它也可以用来解决动态网页抓取问题。 Selenium 有三个主要组件&#xff1a; Selenium IDE&#xff1a;一个浏览器插件&#xff0c;提供了一种…

XML外部实体注入

1.DTD实体及引用 DTD(文档类型定义)是一种用于定义XML文档结构和元素约束的方法。它可以描述一个XML文档的元素、属性、实体、注释等&#xff0c;从而规定了文档的结构和语法规则。DTD 通常是一个单独的文件&#xff0c;可以被多个XML文档所共享。 而在DTD中&#xff0c;实体…

当链表反转时,ListNode newHead = head;无法将原链表保存的原因

当使用链表的过程中反转链表的操作时&#xff0c;我们会发现ListNode newHead head;提前保存的链表的头节点并没有保存下来&#xff0c;而是发生了变化&#xff0c;那这是为什么呢&#xff1f; 在链表反转的过程中&#xff0c;传入的head节点&#xff08;即原链表的头节点&am…

MySQL 安装与配置指南

MySQL 是一种广泛使用的关系型数据库管理系统&#xff0c;为各种应用程序提供高效的数据存储和管理解决方案。本文将介绍如何在不同的操作系统中安装 MySQL&#xff0c;以及如何进行基本的配置&#xff0c;以确保数据库系统的最佳性能和稳定性。 一、环境准备 1.1 系统要求 …

牛客网SQL进阶129 :月均完成试卷数不小于3的用户

月均完成试卷数不小于3的用户爱作答的类别_牛客题霸_牛客网 0 问题描述 基于试卷作答记录表exam_record、试卷信息表examination_info &#xff0c;统计出 “月均完成试卷数”不小于3的用户作答的类别及作答次数&#xff0c;按次数降序输出。 1 数据准备 drop table if exis…

python动画:三维空间中创建各种形状和场景【下】

一&#xff0c;曲面 三维曲面是指在三维空间中定义的曲面&#xff0c;其通常用数学方程来描述。三维曲面的例子包括平面、球面、圆柱面、锥面等。它们可以通过参数方程或隐式方程进行定义。 常见的三维曲面类型 平面&#xff1a; 形式&#xff1a;( )例子&#xff1a;( ) 球…

服务通讯--简述 Command

微服务&#xff08;Microservices&#xff09;是一种软件架构风格&#xff0c;在这种架构中&#xff0c;应用程序被设计为一组松耦合、独立部署的服务&#xff0c;每个服务都负责单一的业务能力。微服务之间的通讯可以通过多种方式进行&#xff0c;常见的方式包括HTTP REST API…