计算机基础笔记(四)—数据结构

2023-05-16

前言

不必害怕未知,无需恐惧犯错,做一个Creator!

目录

  • 前言
  • 数组
  • 链表
  • 栈(LIFO)
  • 队列(FIFO)
  • 广义线性表

定义
有特殊关系的数据的集合,能被单独或作为一个整体被访问
抽象数据类型
抽象数据类型就是与该数据类型有意义的操作,封装在一起的数据类型

数组

定义: 元素的顺序集合,通常这些元素都具有相同的数据类型
两种标识符: 数组的名字和各个元素的名字
多维数组存储配置: 大多数计算机使用行主序存储
数组的操作:
查找元素、元素插入、元素删除、检索元素、元素遍历(被用于每个元素上的操作)
适用范围: 插入和删除操作少,涉及大量查找和检索操作

链表

定义: 一个数据的集合,每个元素包含下一个元素的地址
链表元素=数据+链指针
链表名: 头指针的名字
节点名: 如果指向节点的指针称为P,我们称节点为*P,数据部分和链部分分别为(*P).data和(*P).link
链表操作
查找链表
链表的查找算法只能是顺序的,因为链表中的节点没有特定的名字。
插入节点
找到节点后,改变插入位置指针值
删除节点
找到节点后,指针从后往前赋值
遍历链表
初始遍历指针,依次操作
适用范围: 如果需要大量的插入和删除,那么链表是合适的结构,但查找一个链表比一个数组要慢

栈(LIFO)

定义: 栈是一种限制线性列表,该类列表的添加和删除只能在“栈顶”完成。
栈的操作: 建栈(stack)、入栈(push)、出栈(pop)、空(empty)
适用范围:
倒转数据项
配对数据项

队列(FIFO)

定义: 队列是一种线性列表,该表中的数据只能在尾部的一段插入,头部删除。
队列的操作: 建队列、入列、出列、空
队列应用: 在线电子商务应用程序,如处理用户需求、任务和指令

广义线性表

插入和删除操作可以在任何地方进行,元素按关键字顺序排列
线性表的操作: 建表、插入、删除、检索、遍历、空
适用范围: 元素被随机存取或顺序存取的状况

一组有限的元素,称为节点
一组有限的有向线段用来连接节点,称为
没有节点进入的弧,称为
没有弧出去的节点,称为叶子
二叉树:
一棵树,且其中没有一个节点所含有的子树的个数超过两个
递归定义:二叉树是一颗空树或由一个根节点和两颗子树构成,而每颗子树也是二叉树
二叉树的遍历
深度优先和广度优先
前序遍历:根左右,中序遍历:左根右,后序遍历:左根右
二叉树的应用与实现
表达式树
二叉搜索树:双指针链表实现

定义: 一组节点和一组顶点间的连线构成的一种抽象数据类型
特点: 图的节点有一个或多个双亲


提示:仅供参考。若有错误不足,欢迎批评指正。该文章仅供参考,欢迎互相学习交流。

感谢你的阅读,期待你的关注收藏点赞!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机基础笔记(四)—数据结构 的相关文章

随机推荐

  • 栈的基本内容

    一 栈的定义 栈是限定仅在表尾进行插入和删除操作的线性表 通常把允许插入和删除的一端称为栈顶 xff0c 另一端称为栈底 xff0c 不含任何数据元素的栈称为空栈 栈又称为后进先出的线性表 xff0c 简称为LIFO结构 xff08 Las
  • 关于ERROR: error loading sources list: The read operation timed out 的解决方法

    在ubuntu 20 04系统下ROS平台安装时 xff0c 初始化rosdep报错 xff0c 在进行 rosdep update 出现超时报错 reading in sources list data from etc ros rosd
  • Http 解析url 各种参数类型工具类(文件,json,xml)

    1 http post请求传参数 43 文件 import java nio charset Charset import java util import org apache http HttpEntity import org apa
  • 一字节内的位序(bit)大端小端分析

    相信字节序 大端 小端的概念相关资料很多 xff0c 大家都比较清楚了 这里说明下一字节内部位序 xff08 bit xff09 的概念 在计算机中底层一个存储单元是字节 xff0c 因此你的指令寻址是不可能找到一字节内部的bit的 xff
  • RPLIDAR十分钟极速入门教程

    本教程由 臭皮匠机器人 原创 转载请注明出处 收到一个RPLidar后 xff0c 干的第一件事应该是先让雷达跑起来 xff0c 边做边学是最高效的 本教程 xff0c 将教你只用简单的三步 xff0c 花10分钟即可上手 本教程RPLid
  • RPLIDAR最强参数详解

    本教程由 臭皮匠机器人 原创 转载请注明出处 有的同学跟我们说 xff0c RPLIDAR的参数看不懂 xff0c 感觉理解起来困难 其实也不难懂的 xff0c 本篇将带你了解这些重要的指标 xff0c 给你讲清说透 由于RPLIDAR还在
  • 如何避免头文件被重复包含?

    在实际的工程中我们很有可能重复包含某一个头文件 xff0c 比如下面这种情况 xff1a 开发人员B和开发人员C在自己的头文件中都包含了开发人员A的头文件 xff0c 而开发人员D在自己的编译单元中包含了B和C的头文件 xff0c 此时D就
  • VScode配置C/C++编程总结(GCC+Clang+CMake)

    VScode配置C C 43 43 编程总结 xff08 GCC 43 Clang 43 CMake xff09 自己存下档纪念一下2019 12 18 Visual Studio Code VScode全称Visual Studio Co
  • 关于锂电池的二三事

    为了解释的更清楚 xff0c 我录制了一个视频 xff0c 详情可以参看 xff1a 我的这个B站视频 这是目录0 0 背景参数指标一些使用方法 背景 锂电池是我们日常生活中和制造东西时经常见到和使用的一种东西 xff0c 但是有很多细节可
  • 单片机堆栈知识总结

    堆栈 在片内RAM中 xff0c 常常要指定一个专门的区域来存放某些特别的数据 它遵循顺序存取和后进先出 LIFO FILO 的原则 xff0c 这个RAM区叫堆栈 其实堆栈就是单片机中的一些存储单元 xff0c 这些存储单元被指定保存一些
  • STM32串口发送中断试验、在初始化时不能使能串口发送中断

    问题描述 在测试STM32串口发送完成中断的应用中 xff0c 遇到了一个很奇怪的问题 xff0c 在初始化完成之后直接就进入了串口中断函数的发送完成服务中断函数部分 本测试代码是在原来的基础上更改的 xff0c 原来只使能了接受中断 xf
  • java,http post请求,多个不同方式请求示例

    以下是 Java 中进行 HTTP POST 请求的示例代码 xff0c 包括使用 HttpURLConnection 和 HttpClient 两种方式 xff0c 供您参考 使用 HttpURLConnection 发送 POST 请求
  • 【STM32】HAL库开发教程(一)—基本使用

    前言 提示 xff1a 本系列本章针对STM32F207 xff0c 基于Cubemx和Keil进行程序开发 本系列文章并不是一步一操作的傻瓜式教程 xff0c 而更希望是一个向导 xff0c 引导读者去思考去开发 做为一个开发者应该是在思
  • 【STM32】HAL库开发教程(五)—RTC使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 一 RTC简介 STM32F2的实时时钟 RTC 是一个独立的BCD Binary Coded Decimal 定时器 计时器 xff0c 提供了一
  • 【STM32】HAL库开发教程(七)—SPI使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 本文主要介绍STM32 HAL库开发中SPI通信的使用 一 开发步骤 1 STM32CubeMX配置 在左侧引脚配置处勾选SPI进行配置在SPI模式
  • 【通信技术】信噪比及单位

    信噪比 xff1a 一个电子设备或者电子系统中信号与噪声的比例 计量单位 dB xff0c 其计算方法是10lg Ps Pn xff0c 其中Ps和Pn分别代表信号和噪声的有效功率 功率单位 xff1a dBm是一个考征功率绝对值的值 xf
  • 【C语言】字符串打印(定长)

    目的 xff1a 打印长度可控的字符串 char ucBuf uint8 t ucLen char ucString 256 memcpy ucString ucBuf ucLen ucString ucLen 61 39 0 39 pri
  • 【卫星】卫星通信基本概念与知识

    不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 卫星通信基本概念与知识 上行链路 xff1a 从地球站发射信号到通信卫星所经过的通信路径成为上行链路 下行链路 xff1a 通信卫星将信号再转发到其他地球
  • 计算机基础笔记(三)—操作系统

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言一 概述二 操作系统分类三 组成部分用户界面内存管理器进程管理进程同步设备管理文件管理 四 主流操作系统UNIXLinuxWindows
  • 计算机基础笔记(四)—数据结构

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言数组链表栈 xff08 LIFO xff09 队列 xff08 FIFO xff09 广义线性表树图 定义 有特殊关系的数据的集合 xff