数据结构逻辑

一:逻辑关系

        1、线性关系

        2:树型关系

        3:图像关系

二:存储关系

        1:顺序存储、数据在存储中会开辟一块连续的空间进行存储。一般使用数组来存储数据

        2:链式存储、数据在内存中不需要开辟连续的空间进行存储

        3:索引式存储

        算法的复杂度

        分为两种:①时间复杂度、花费的时间越少越好——高效性

                          ②空间复杂度、占用的内存越少越好——低存储

        时间复杂度的

                        1:常数阶(没有循环)  2:线性阶(一次循环)  3:平方阶(两次循环)  4:立方阶(三成循环)  5:对数阶()

                        计算复杂度的公式:f(n) = o((fn)) = o(log2(nn));

        

!!!!!常用的顺序存储,和链式存储

顺序表:线性表的顺序存储

        1、逻辑关系:一对一关系(相邻)

        2、存储关系、物理位置相邻,开辟一块连续的空间

顺序表和数组的区别:

                a:顺序表借助数组来实现,但是不等价于数组

                b:顺序表是线性表的顺序存储

                c:线性表长度:表示顺序表的最大长度,数组容量不可变

                d:顺序表长度:数组中有效数据的个数,可变

        优缺点——————

                优点:①操作简单,本质就是对数组操作、②查找数据方便、③数组有效数据便于确定

                缺点:①效率低、②数组容量确定不能更改,数据超出范围则不能存储        

        单向链表:

                链表优缺点

                优点:①内存利用率高②链表没有满的说法可以一直装③插入删除效率极高

                缺点:①查找数据效率低②占用内存空间多

        单向循环链表:

        

        双向链表:

        双向循环链表:

概念:

  1. 双链表:前一个结点能找到后一个结点,后一个结点也能找到前一个结点。
  2. 双循环链表:前一个结点能找到后一个结点,后一个结点也能找到前一个结点。
    1. 让尾结点的next存储头结点
    2. 头结点中的prev存储着尾结点

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

冯喜运:6.13美盘外汇黄金原油趋势分析及操作策略

【黄金消息面分析】:美国5月生产者价格指数(PPI)的意外下降,为市场带来了通胀可能见顶的积极信号。与此同时,初请失业金人数的上升,为劳动力市场的现状增添了一层不确定性。美国劳工统计局公布的数据显示&a…

供应链与直播的“低价”探戈

文丨郭梦仪 10个月前,梅姐(化名)开启了人生中第一次直播带货,10年的工作经验在镜头前完全“失灵”,个位数观看量更让她一度怀疑人生。 而今年4月,梅姐面朝西沙群岛的湛蓝海域,对着400万人侃侃而…

Elasticsearch 第二期:倒排索引,分析,映射

前言 正像前面所说,ES真正强大之处在于可以从无规律的数据中找出有意义的信息——从“大数据”到“大信息”。这也是Elasticsearch一开始就将自己定位为搜索引擎,而不是数据存储的一个原因。因此用这一篇文字记录ES搜索的过程。 关于ES搜索计划分两篇或…

细说MCU串口函数及使用printf函数实现串口发送数据的方法

目录 1、硬件及工程 2、串口相关的库函数 (1)串口中断服务函数: (2)串口接收回调函数: (3)串口接收中断配置函数: (4)非中断发送&#xff…

python:faces swap

# encoding: utf-8 # 版权所有 2024 ©涂聚文有限公司 # 许可信息查看: 两个头像图片之间换脸 # 描述: https://stackoverflow.com/questions/902761/saving-a-numpy-array-as-an-image?answertabvotes # Author : geovindu,Geovin Du 涂聚文. #…

低成本,高性能:10 万美元实现Llama2-7B级性能

高性能的语言模型如Llama2-7B已经成为推动自然语言处理技术进步的重要力量。然而,这些模型往往需要昂贵的计算资源和庞大的研发投入,使得许多研究团队和小型企业望而却步。现在,JetMoE架构以其创新的设计和优化策略,不仅成功地在只…

PC微信逆向) 定位微信浏览器打开链接的call

首发地址: https://mp.weixin.qq.com/s/Nik8fBF3hxH5FPMGNx3JFw 前言 最近想写一个免费的微信公众号自动采集的工具,我看公众号文章下载需求还挺多的。搜了下github,免费的工具思路大多都是使用浏览器打开公众号主页获取到需要的请求参数,例…

云化XR什么意思,Cloud XR是否有前景?

云化XR(CloudXR)什么意思? 云化XR(CloudXR)是一种基于云计算技术的扩展现实(XR)应用方式,将XR体验从本地设备转移到云端进行处理和交付。它通过将计算和渲染任务放置在云端服务器上…

Linux基础IO【II】真的很详细

目录 一.文件描述符 1.重新理解文件 1.推论 2.证明 2.理解文件描述符 1.文件描述符的分配规则 3.如何理解文件操作的本质? 4.输入重定向和输出重定向 1.原理 2.代码实现重定向 3.dup函数 ​编辑 4.命令行中实现重定向 二.关于缓冲区 1.现象 …

Modbus转Profinet网关的IP地址怎么设置

在工业自动化领域,Modbus和Profinet是两种常用的通信协议,而网关可以实现不同协议之间的转换,使得不同设备能够互相通信。本文将详细介绍如何设置Modbus转Profinet网关(XD-MDPN100)的IP地址,让您轻松实现设…

vue相关的2个综合案例,网页打字练习

for循环的应用 /* 1. 用for循环控制台打印0到100 */ for (var i 0; i < 100; i) {console.log(i) } /* 2. 用for循环控制台打印100到0 */ for (var i 100; i > 0; i--) {console.log(i) }网页打字练习案例练习 <template><div class"main"><…

洛谷P1305 新二叉树(树的基本遍历)

题目描述 输入一串二叉树&#xff0c;输出其前序遍历。 输入格式 第一行为二叉树的节点数 &#x1d45b;。(1≤&#x1d45b;≤26) 后面 &#x1d45b; 行&#xff0c;每一个字母为节点&#xff0c;后两个字母分别为其左右儿子。特别地&#xff0c;数据保证第一行读入的节点…

IPTCP知识

1. IP&#xff1a; IP地址是一个32位的二进制数&#xff0c;通常被分割为4个“8位二进制数”IP地址分类&#xff1a;A类地址、B类地址、C类地址、D类地址、E类地址 A类地址分配给规模特别大的网络使用&#xff0c;B类地址分配给一般的中型网络&#xff0c;C类地址分配给小型网…

STM32无法烧写程序的故障排除

如果你在使用STM32微控制器时遇到无法烧写程序的问题&#xff0c;可以按以下步骤进行故障排除&#xff1a; 1. 确认硬件连接 检查电源&#xff1a;确保STM32板子正确供电。调试器连接&#xff1a;确认ST-LINK调试器或其他编程工具与STM32开发板的连接无误&#xff0c;尤其是S…

如何基于 Python 快速搭建 QQ 开放平台 QQ 群官方机器人详细教程(更新中)

注册 QQ 开放平台账号 账号注册 QQ 机器人&#xff1a;一个机器人可以被添加到 群聊/频道 内对话&#xff0c;QQ 用户也可以直接跟机器人 单独对话。 开发者账号主体要求 单聊对话&#xff1a;【定向邀请】 群聊场景&#xff1a;仅支持企业主体【个人主体暂不支持】 频道场…

基于uni-app与图鸟UI打造的各领域移动端模板大赏

随着移动互联网的迅猛发展&#xff0c;各类移动端应用层出不穷&#xff0c;为了帮助企业快速搭建高效、美观的移动平台&#xff0c;我们基于强大的uni-app与图鸟UI&#xff0c;精心打造了不下于40套覆盖多个领域的移动端模板。今天&#xff0c;就让我们一起领略这些模板的风采吧…

淘宝镜像地址失效

1. 使用nvm安装node时候报错 报错内容 Get "https://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt": tls: failed to verify certificate: x509: certificate has expired or is not yet valid:报错原因 淘宝镜像地址的证书过期了 解决 找到nvm安装的根目…

Java-集合类-Arrays.asList()使用需要注意的大坑

Arrays.asList使用需要注意的大坑 大坑1.不可修改列表大小&&原始数组与列表共享数据2.对于基本类型数组的使用限制 两个错误案例wrong1wrong2 ​ Arrays.asList() 是 Java 中一个常用的方法&#xff0c;它 用于将数组转换为列表&#xff08;List&#xff09;。这个方…

Bybatis动态SQL的绑定和公共sql语句片段

Mybatis除了大部分动态标签&#xff0c;最后还有三个标签&#xff0c;分别是bind&#xff0c;sql和include&#xff1a; ①bind&#xff1a;这个标签作用就是将OGNL标签里的值&#xff0c;进行二次加工&#xff0c;在绑定到另一个变量里&#xff0c;供其他标签使用 调用getUse…

Java—集合简述

集合类继承结构图 Collection|---------------------| | | Set List Queue| | | SortedSet ArrayList Deque| LinkedList | NavigableSet Vector ArrayDeque| Stack | TreeSet …