2024年9月3日嵌入式学习

数据结构

 

1定义


     一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)
     
     程序的设计:将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,
     并在此基础上实现某个特定的功能的操作;

    程序 = 数据结构 + 算法
    

     
  2.数据与数据之间的关系 


  
    数据的逻辑结构:数据元素与元素之间的关系
           集合:关系平等
           线性结构:元素之间一对一的关系(表(数组,链表),队列。栈。。。)
           树型结构:元素之间一对多的关系(二叉树)
           图形结构:元素之间多对多的关系(网状结构)
        
    数据的物理结构:数据的逻辑结构在计算机内存中的存储形式
    
            顺序存储:采用一段连续的内存空间保存元素
            
                    优点:空间连续,访问方便
                    缺点:插入删除需要移动大量的元素
                          需要预分配内存空间
                          容易造成存储空间碎片
            
            链式存储:采用一组非连续的内存空间保存元素
                    
                    缺点:访问元素效率低
                    
                    优点:插入和删除数据方便
                          不需要预分配内存
            
            索引存储:通过关键字构建索引表,通过索引表来来找到数据的存储位置
            散列存储(哈希存储):将数据元素的存储位置与关键码之间建立确定对
                     应关系从而实现查找的存储方法


   3. 储备知识


       指针
       结构体
       动态内存分配
 

主要学习的函数

1创建链表对象

2头插

3遍历链表

4尾插

5头删

6尾删

7查找对应数据

8修改链表的元素

9销毁链表

10查找中间节点

11查找倒数节点

12删除指定节点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot集成WebSocket客户端,发送消息并监测心跳

jar包&#xff08;主要jar包&#xff09; <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.5.7</version></dependency>服务类 import cn.hutool.json.JSONUtil; impor…

「Python程序设计」条件控制:if-elif-else语句

我们在进行程序设计的过程中&#xff0c;基本上遵循的过程是&#xff0c;找出变量和常量&#xff0c;通过python编程语言&#xff0c;设置变量和常量&#xff0c;以及考虑是否需要赋予初始值。 设计变量和常量&#xff0c;其实就是为了模拟和计算我们的现实世界中&#xff0c;…

学习笔记--Docker

安装 1.卸载旧版 首先如果系统中已经存在旧的Docker&#xff0c;则先卸载&#xff1a; yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 2.配置Docker的yum库 首先要安…

深入理解 JavaScript DOM 操作

一、DOM 操作分类 &#xff08;一&#xff09;元素查找 根据 ID 值查找&#xff1a;getElementById()&#xff0c;返回符合条件的第一个对象。 var aa document.getElementById("aa");console.log(aa);根据类名查找&#xff1a;getElementsByClassName()&#xff…

IntelliJ IDEA 自定义字体大小

常用编程软件自定义字体大全首页 文章目录 前言具体操作1. 打开设置对话框2. 设置编辑器字体3. 设置编译软件整体字体 前言 IntelliJ IDEA 自定义字体大小&#xff0c;统一设置为 JetBrains Mono 具体操作 【File】>【Settings...】>【Editor】>【Font】 统一设置…

C++:list篇

前言: 观看C的list前需要对链表有一些了解&#xff0c;如C语言的链表结构。本片仅介绍list容器中常用的接口函数概念以及使用。 list的概念&#xff1a; 简而言之&#xff0c;C的list是一个双向带哨兵位的链表容器模板 list的构造&#xff1a; 1.list():默认构造 2.li…

spring之异常和测试相关注解

原文地址 ControllerAdvice和ExceptionHandler 通常组合使用&#xff0c;用于处理全局异常&#xff0c;示例代码如下&#xff1a; ControllerAdvice Configuration Slf4j public class GlobalExceptionConfig {private static final Integer GLOBAL_ERROR_CODE 500;Excepti…

认识git和git的基本使用,本地仓库,远程仓库和克隆远程仓库

本地仓库 #安装git https://git-scm.com/download/win #git是什么&#xff1f;有什么用&#xff1f; git相当于一个版本控制系统&#xff0c;版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 作用: 记录&#xff08;项目&#…

[Qt5] 使用QtConcurrent::run在异步线程中执行耗时函数

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…

Java-树形图工具类TreeUtil

TreeUtil 工具类,包括列表转树形结构、遍历、查找和删除节点等功能。 import java.util.*;public class TreeUtil {/*** 将列表转换为树形结构。** @param target 扁平化的节点列表* @param getId 获取节点ID的函数* @param getParentId 获取节点父ID的函数* @…

物联网(IoT)支持的小型水处理厂实时硬件在环(HIL)仿真

这篇论文的标题是《Real-Time Hardware-In-The-Loop Simulation of IoT-Enabled Mini Water Treatment Plant》&#xff0c;作者是 Mohamad Taib Miskon 等人&#xff0c;发表在 2024 年 IEEE 自动控制与智能系统国际会议&#xff08;I2CACIS&#xff09;上。以下是该论文的主要…

【Agent】Agent Q: Advanced Reasoning and Learning for Autonomous AI Agents

1、问题背景 传统的训练Agent方法是在静态数据集上进行监督预训练&#xff0c;这种方式对于要求Agent能够自主的在动态环境中可进行复杂决策的能力存在不足。例如&#xff0c;要求Agent在web导航等动态设置中执行复杂决策。 现有的方式是用高质量数据进行微调来增强Agent在动…

学习日志29

论文阅读&#xff1a;IBM Q Experience as a versatile experimental testbed for simulating open quantum systems 引言部分&#xff1a; 引言部分首先介绍了开放量子系统的理论研究的重要性&#xff0c;这些理论描述了量子系统与其环境相互作用的动力学。这种理论对于理解量…

C++复习day01

这篇博客主要复习C语言的数组和指针 1.指针数组和数组指针 问&#xff1a;指针数组和数组指针&#xff0c;哪一个是指针&#xff0c;哪一个是数组&#xff1f; 我们来类比一下&#xff0c;整型数组是存放整型的数组&#xff0c;那么指针数组就是一个存放指针的数组&#xff0…

经验笔记:进程、线程与协程的理解与应用

经验笔记&#xff1a;进程、线程与协程的理解与应用 1. 引言 在软件开发中&#xff0c;特别是在涉及并发编程的场景下&#xff0c;进程、线程和协程是非常重要的概念。理解它们各自的定义、特点以及彼此之间的联系对于有效地设计和实现高效的应用程序至关重要。 2. 定义与特…

vector 常见函数

目录 一.vector 构造函数 二 . Iterators 迭代器&#xff08;random access iterator&#xff09; 三.Capacity: 空间 3.1 resize 3.2 reserve 四.Element access: 元素访问 方式 4.1 operator[] 类似于数组的 [] 4.2 front 和back 五.Modifiers: 六.vector 的 二…

【工业AI】寻优算法的思考

遗传算法GA 本质上来讲&#xff0c;就是找随机点x&#xff0c;通过公式或者回归模型构成的映射函数获得y。 区别于其他搜索寻优算法之处在于&#xff1a;遗传算法的一轮一轮迭代中&#xff0c;新的随机点x的生成&#xff0c;是靠交叉变异01而来的。 初始的DNA_size不管设置为多…

vue3+ts文件流导出xlsx表格需要token

封装方法post请求 import { ElLoading } from element-plus; import axios from axios; export const exportFilePost (params: any) > {const loadingInstance ElLoading.service({background: rgba(255, 255, 255, 0),});axios.post(params.url, params.data, {headers…

redis内存数据库的专业术语雪崩、击穿、穿透的名词解释

redis作为一个内存数据库&#xff0c;其作用主要体现在可以提供高速的访问处理。 redis在内存层面工作&#xff0c;一个字&#xff0c;快。 这也是redis区别于其他类型数据库的一个主要特点。 与之配合使用的是后端持久化存储数据库&#xff0c;比如结构化的数据库mysql mysql的…

18、Gemini-Pentest-v2

难度 中 目标 root权限 一个flag 靶机启动环境为VMware kali 192.168.152.56 靶机 192.168.152.63 信息收集 web测试 访问80端口 上面介绍了一下这个系统是一个内部系统&#xff0c;让员工查看他们的个人资料还可以导出为PDF 页面还有一个链接是UserList可以访问但是页面什…