当前位置: 首页 > news >正文

顺序表与Myarraylist

对于所有编程语言来说,数据结构都是精华

一个计算机程序=数据结构+算法;

我在之前的博客中写了关于集合框架与泛型,这就是数据结构的开始,我今天说的便是数据结构的第一个线性数据结构--顺序表

顺序表是一种线性数据结构,它使用连续的内存空间来存储数据元素。顺序表的每个元素在内存中是紧挨着的,可以通过索引快速访问任意位置的元素。顺序表是实现线性表的一种常见方式,通常可以用数组来实现。

一.顺序表的核心特点

  1. 存储方式

    • 顺序表使用连续的内存空间来存储数据元素,通常通过数组实现。

    • 所有元素在内存中是紧挨着的,因此顺序表支持随机访问

  2. 随机访问

    • 可以通过索引直接访问任意位置的元素,时间复杂度为 O(1)。

    • 这使得顺序表在需要频繁访问元素的场景中非常高效。

  3. 插入和删除操作

    • 插入操作:在中间位置插入一个元素时,需要将插入点之后的所有元素向后移动一个位置,时间复杂度为 O(n)。

    • 删除操作:在中间位置删除一个元素时,需要将删除点之后的所有元素向前移动一个位置,时间复杂度为 O(n)。

  4. 空间利用率

    • 静态顺序表:空间大小固定,可能会造成空间浪费。

    • 动态顺序表:可以通过动态扩容来解决空间不足的问题,但扩容操作本身会带来额外的时间开销。

二.顺序表的实现

顺序表的实现可以分为静态顺序表动态顺序表

(1)静态顺序表

静态顺序表使用固定大小的数组来存储数据元素,其大小在创建时确定,不能动态改变。

示例代码

java

复制

public class StaticArrayList<T> {private T[] elements; // 存储元素的数组private int size; // 当前元素个数// 构造方法,指定数组大小public StaticArrayList(int capacity) {elements = (T[]) new Object[capacity];size = 0;}// 添加元素public void add(T element) {if (size == elements.length) {throw new IllegalStateException("Array is full");}elements[size++] = element;}// 获取元素public T get(int index) {if (index < 0 || index >= size) {throw new IndexOutOfBoundsException();}return elements[index];}// 删除元素public T remove(int index) {if (index < 0 || index >= size) {throw new IndexOutOfBoundsException();}T removedElement = elements[index];for (int i = index; i < size - 1; i++) {elements[i] = elements[i + 1];}size--;return removedElement;}// 获取当前元素个数public int size() {return size;}
}
(2)动态顺序表

动态顺序表使用动态数组来存储数据元素,其大小可以根据需要动态扩容。

示例代码

java

复制

public class DynamicArrayList<T> {private T[] elements; // 存储元素的数组private int size; // 当前元素个数// 构造方法,初始容量为10public DynamicArrayList() {elements = (T[]) new Object[10];size = 0;}// 添加元素public void add(T element) {if (size == elements.length) {ensureCapacity(); // 动态扩容}elements[size++] = element;}// 插入元素public void add(int index, T element) {if (index < 0 || index > size) {throw new IndexOutOfBoundsException();}if (size == elements.length) {ensureCapacity();}for (int i = size; i > index; i--) {elements[i] = elements[i - 1];}elements[index] = element;size++;}// 获取元素public T get(int index) {if (index < 0 || index >= size) {throw new IndexOutOfBoundsException();}return elements[index];}// 删除元素public T remove(int index) {if (index < 0 || index >= size) {throw new IndexOutOfBoundsException();}T removedElement = elements[index];for (int i = index; i < size - 1; i++) {elements[i] = elements[i + 1];}size--;return removedElement;}// 动态扩容private void ensureCapacity() {int newSize = elements.length * 2;T[] newElements = (T[]) new Object[newSize];System.arraycopy(elements, 0, newElements, 0, size);elements = newElements;}// 获取当前元素个数public int size() {return size;}
}

三.顺序表的操作

  1. 添加元素

    • 尾部添加:直接将元素放在数组的末尾,时间复杂度为 O(1)。

    • 中间插入:需要将插入点之后的所有元素向后移动一个位置,时间复杂度为 O(n)。

  2. 删除元素

    • 尾部删除:直接移除数组末尾的元素,时间复杂度为 O(1)。

    • 中间删除:需要将删除点之后的所有元素向前移动一个位置,时间复杂度为 O(n)。

  3. 查找元素

    • 按索引查找:直接通过索引访问,时间复杂度为 O(1)。

    • 按值查找:需要遍历数组,时间复杂度为 O(n)。

  4. 遍历

    • 顺序表支持快速遍历,可以通过循环依次访问每个元素,时间复杂度为 O(n)。

四.顺序表的优缺点

优点
  1. 随机访问高效

    • 通过索引可以快速访问任意位置的元素,时间复杂度为 O(1)。

  2. 内存利用率高

    • 静态顺序表的内存利用率较高,适合存储大量数据。

  3. 实现简单

    • 基于数组实现,代码简单易懂。

缺点
  1. 插入和删除效率低

    • 在中间位置插入或删除元素时,需要移动大量元素,时间复杂度为 O(n)。

  2. 空间固定

    • 静态顺序表的大小固定,可能会造成空间浪费。动态顺序表虽然可以动态扩容,但扩容操作本身会带来额外的时间开销。

  3. 线程不安全

    • 顺序表本身不是线程安全的,需要额外的同步机制来保证线程安全。

五.顺序表的应用场景

  1. 数据量较大且频繁访问

    • 适合存储大量数据,并且需要频繁通过索引访问元素的场景。

  2. 插入和删除操作较少

    • 如果数据结构的插入和删除操作较少,顺序表是一个很好的选择。

  3. 学习数据结构

    • 顺序表是学习线性表和数组操作的基础,适合用于教学和学习。

六.总结

顺序表是一种基于数组实现的线性数据结构,具有随机访问高效、内存利用率高、实现简单等优点。然而,它的插入和删除操作效率较低,且空间大小固定(静态顺序表)或需要动态扩容(动态顺序表)。在实际应用中,顺序表适合用于数据量较大且频繁访问的场景,尤其是在插入和删除操作较少的情况下。

相关文章:

顺序表与Myarraylist

对于所有编程语言来说&#xff0c;数据结构都是精华 一个计算机程序数据结构算法&#xff1b; 我在之前的博客中写了关于集合框架与泛型&#xff0c;这就是数据结构的开始&#xff0c;我今天说的便是数据结构的第一个线性数据结构--顺序表 顺序表是一种线性数据结构&#xf…...

Redis 版本变更的变化

Redis 版本变更的变化 以下是 Redis 主要版本的清单及其核心功能变化的梳理&#xff0c;按时间顺序整理关键版本演进 8版本没有整理&#xff1a; Redis 1.0 (2009) 初始版本&#xff1a;发布首个稳定版本&#xff0c;支持基本键值存储。 核心特性&#xff1a; 支持字符串&…...

kubernetes》》k8s》》ConfigMap 、Secret

configmap官网 ConfigMap是一种 API 对象&#xff0c;使用时&#xff0c; Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。ConfigMap将配置和Pod解耦&#xff0c;更易于配置文件的更改和管理。ConfigMap 并不提供保密或者加密功能。 如果你想存储的数据是机密的…...

【React】基本语法

基本语法 通过jsx的语法可以在js中写html函数组件 / class组件的语法、父子组件传参、事件react 生命周期根据状态(数据)动态渲染组件 / 列表渲染 / 表单渲染class组件中的ref、ref回调函数 什么是react &#xff1f; 用于构建用户界面的 JavaScript 库&#xff0c;主要用于构建…...

ubunut24.04 bash和zsh同时使用conda

文章目录 ubunut24.04 bash和zsh同时使用conda功能一、安装miniconda3二、bash中初始化conda以及安装命令补全1. bash中初始化conda2. bash中安装conda命令补全功能 三、zsh中初始化conda以及安装命令补全1. zsh中初始化conda2. zsh中安装conda命令补全功能3. 在~/.zshrc文件中…...

深度学习入门:神经网络

目录 1. 从感知机到神经网络1.1 神经网络的例子1.2 复习感知机1.3 激活函数登场 2 激活函数2.1 sigmoid函数2.2 阶跃函数的实现2.3 阶跃函数的图形2.4 sigmoid函数的实现2.5 sigmoid函数和阶跃函数的比较2.6 非线性函数2.7 ReLU函数 3 多维数组的运算3.1 多维数组 恒等函数soft…...

Unity有限制状态机FSM

我是标题 前言有限制状态机框架框架图&#xff1a;主要代码&#xff1a; 前言 一般的小型游戏的状态机会使用一个枚举类来枚举所有的状态&#xff0c;然后使用一个switch case来处理所有状态的行为逻辑&#xff0c;但是用这种方式会形成大量的冗余&#xff0c;因为所有的行为逻…...

bash的特性-命令和文件自动补全

在Linux或Unix操作系统中&#xff0c;Bash&#xff08;Bourne Again SHell&#xff09;是最常用的命令行解释器之一。它提供了丰富的功能来提升用户的交互体验&#xff0c;其中命令和文件名的自动补全是提高效率的一大利器。本文将详细介绍Bash中的自动补全功能&#xff0c;包括…...

聊聊价值投资

投资的必要性 如果手上现在有10w元&#xff0c;投资时间是50年&#xff0c;就算年化收益率只有15%&#xff0c;最终的财富值也会超过1亿元。而且通货膨胀会让你的存款购买力越来越少&#xff0c;如果你有无法及时花出去的钱&#xff0c;投资是必要的。05年的时候我家楼下的包子…...

ADI的BF561双核DSP怎么做开发,我来说一说(十六)触摸屏的设计

作者的话 ADI的双核DSP&#xff0c;最早的一颗是Blackfin系列的BF561&#xff0c;这颗DSP我用了很久&#xff0c;比较熟悉&#xff0c;且写过一些给新手的教程。 硬件准备 ADZS-BF561-EZKIT开发板&#xff1a;ADI原厂评估板 AD-ICE20000仿真器&#xff1a;ADI现阶段性能最好…...

基于labview的2PSK调制与解调

前面板如上图所示。 以上为产生随机序列的程序 以上为星座图程序 如需要源代码可联系我...

2021-11-01 C++输入十个数求最大最小和第二大第二小的值

缘由c语言输入十个数求最大最小和第二大第二小的值-编程语言-CSDN问答 这是个有意思的题目&#xff0c;考虑可扩展...如果是4个元素的数组&#xff0c;实现O&#xff08;N&#xff09;排序 void 输入十个数求最大最小和第二大第二小的值() {//缘由https://ask.csdn.net/ques…...

红人矩阵化运营策略:2025跨境电商如何高效布局海外红人营销

在全球社交媒体营销日益精细化的今天&#xff0c;跨境电商品牌正从单一红人合作转向系统化、团队化的“红人矩阵化运营”。尤其在TikTok、Instagram、YouTube等主流平台逐渐成熟的背景下&#xff0c;如何构建高效的海外红人营销矩阵&#xff0c;成为品牌实现全域曝光与精准转化…...

c# Kestrel

Kestrel 是 .NET 中用于 ASP.NET Core 应用程序的跨平台 Web 服务器。它是轻量级且高性能的&#xff0c;能够处理大量并发连接&#xff0c;常被用作 ASP.NET Core 应用的默认服务器。以下为你介绍 Kestrel 的基本使用和配置&#xff1a; 基本使用 创建一个简单的 ASP.NET Cor…...

算法训练之贪心

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...

ThreeJs实现裸眼3D地球仪

一、实现效果 使用Three.js实现裸眼3D地球仪 二、实现代码 代码如下&#xff1a; <!DOCTYPE html> <html> <head><title>3D Earth</title><style>body { margin: 0; }canvas { display: block; }</style> </head> <body…...

0x07.Redis 的 hash 是什么?

回答重点: Redis 的 Hash 是一种键值对集合,允许将多个字段与其对应的值存储在同一个键中,从而方便管理和操作关联数据。它的主要特点包括: 高效存储:Hash 采用哈希表实现,能够在内存中高效地存储和操作小规模的数据集,非常适合存储对象的属性。快速操作:支持对字段的…...

今日一记:逆序打印字符、五人年龄计算、对N个数排序

今日进行三道题的练习 题目一&#xff1a;逆序打印字符 核心需求&#xff1a;将输入的n个字符以相反顺序输出。 算法分析&#xff1a; 递归思想&#xff1a; 递归函数先读取字符&#xff0c;直到输入结束&#xff08;如换行符或EOF&#xff09;。 在递归返回时打印字符&…...

【笔记】对抗训练-GAN

对抗训练-GAN 深度学习中 GAN 的对抗目标函数详解与最优解推导一、GAN 的基本对抗目标函数二、判别器与生成器的博弈目标三、判别器的最优解推导四、最优判别器的含义五、总结六、WGAN 的动机&#xff08;为后续铺垫&#xff09; 深度学习中 GAN 的对抗目标函数详解与最优解推导…...

Python六大数据类型与可变类型

数字类型包括整型&#xff08;int&#xff09;&#xff0c;浮点型&#xff08;float&#xff09;&#xff0c;布尔型&#xff08;bool&#xff09;&#xff0c;复数型&#xff08;complex&#xff09;。整型只能存储整数&#xff0c;浮点型可以存储整数和小数&#xff0c;布尔型…...

回溯-day65

回溯 什莫事回溯 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式 回溯的本质是穷举&#xff0c;穷举所有可能&#xff0c;然后选出我们想要的答案&#xff0c;如果想让回溯法高效一些&#xff0c;可以加一些剪枝的操作&#xff0c;但也改不了回溯法就是穷举的本…...

(2)VTK C++开发示例 --- 绘制多面锥体

文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;VTK开发 &#x1f448; 1. 概述 VTK C开发示例程序&#xff1b; 使用C 和VTK绘制一个多面锥体。 环境说明系统ubuntu22.04、windows11cmake3.22、3.2…...

合同智能审核技术的发展与应用

一、背景与行业现状 合同审查作为企业合同管理的关键环节&#xff0c;其核心价值在于确保合同内容符合法律法规要求并契合企业内部政策。随着企业业务规模扩张带来的合同数量激增&#xff0c;传统人工审查方式在效率和成本方面的局限性日益凸显。这一现状为人工智能技术在合同…...

cryptozombies合约7

我们的合约几乎就要完成了&#xff01;让我们加上一个事件. 事件 是合约和区块链通讯的一种机制。你的前端应用“监听”某些事件&#xff0c;并做出反应。 例子: // 这里建立事件 event IntegersAdded(uint x, uint y, uint result);function add(uint _x, uint _y) public…...

DeepSeek 接入 Word 完整教程

一、前期准备 1.1 注册并获取 API 密钥 访问 DeepSeek 平台&#xff1a; 打开浏览器&#xff0c;访问 DeepSeek 官方网站&#xff08;或您使用的相应平台&#xff09;。注册并登录您的账户。 创建 API 密钥&#xff1a; 在用户控制面板中&#xff0c;找到“API Keys”或“API…...

ARCGIS PRO DSK 利用两期地表DEM数据计算工程土方量

利用两期地表DEM数据计算工程土方量需要准许以下数据&#xff1a; 当前地图有3个图层&#xff0c;两个栅格图层和一个矢量图层 两个栅格图层&#xff1a;beforeDem为工程施工前的地表DEM模型 afterDem为工程施工后的地表DEM模型 一个矢量图层&#xf…...

大数据学习栈记——Redis安装及其使用

本文介绍NoSQL技术&#xff1a;Redis的安装及其使用。操作系统&#xff1a;Ubuntu24.04 Redis介绍 Redis是一个键值&#xff08;key-value&#xff09;存储系统&#xff0c;即键值对非关系型数据库&#xff0c;和Memcached类似&#xff0c;目前正在被越来越多的互联网公司采用…...

前端工程化之自动化构建

自动化构建 自动化构建的基本知识历史云构建 和 自动化构建 的区别&#xff1a;部署环境&#xff1a;构建&#xff1a;构建产物构建和打包的性能优化页面加载优化构建速度优化 DevOps原则反馈的技术实践 encode-bundlepackage.json解读src/cli-default.tssrc/cli-node.tssrc/cl…...

camx的xml解析

ls out/target/product/<product>/gen/STATIC_LIBRARIES/libcamxgenerated_intermediates/generated g_chromatix g_facedetection g_parser g_sensorg_chromatix/ tuning相关xml的解析codeg_facedetection/ 人脸检测相关xml的解析codeg_parser/ 主要的解析manager 流…...

虚幻引擎 Anim To Tex| RVT | RT

本文上篇分为4个部分&#xff1a;动画驱动材质&#xff0c;虚拟纹理&#xff0c;Rendertarget&#xff0c;以及其他杂项的地编ta干货整理。&#xff08;其中RT部分基本为UOD重要截图摘录&#xff09; 本文下篇为&#xff1a;skylight和directional light的区别&#xff0c;未完…...

计算机视觉与深度学习 | 钢筋捆数识别

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 钢筋捆数 1、初始结果2、处理效果不佳时的改进方法‌1、预处理增强2、后…...

关于PHP开源CMS系统ModStart的详细介绍及使用指南

关于PHP开源CMS系统ModStart的详细介绍及使用指南&#xff1a; &#x1f50d; ModStart是什么&#xff1f; 基于Laravel框架开发的模块化CMS系统采用Apache 2.0 开源协议&#xff0c;完全免费可商用特别适合需要快速搭建企业级网站/管理系统的开发者 &#x1f680; 核心优势…...

VMware vCenter Server 安全漏洞升级方案一则

一、安全漏洞情况 根据VMware提供的安全建议&#xff08;VMSA-024-0012&#xff09;&#xff0c;VMware vCenter Server可能经受以下漏洞的威胁&#xff1a; 漏洞一为VMware vCenter Server堆溢出漏洞&#xff08;CVE-2024-37079&#xff0c;CVE-2024-37080&#xff09;&…...

Linux服务之网络共享

目录 一.存储类型 二.NFS 2.1定义 2.2工作原理 2.3优势 2.4NFS工具 2.4.1exportfs 2.4.2showmount 2.5NFS相关软件及命令 2.6模拟实现NFS 准备工作&#xff08;服务端和客户端都需要&#xff09; 服务端位置 客户端配置 测试 补充&#xff1a;设置自动挂载 一.存…...

接口幂等性问题

幂等性问题出现在创建和更新数据时&#xff1a; 一、创建 1、在创建数据时&#xff0c;数据库方面&#xff0c;创建有效的唯一索引&#xff0c;用来数据兜底&#xff0c;并在程序中做异常捕获。 2、在插入数据时可以创建一个防重表做过滤&#xff0c;如果防重数据比较小又需…...

LeetCode每日一题4.14

1534. 统计好三元组 问题分析 遍历数组&#xff0c;满足好三元组定义&#xff0c;count1 思路 枚举i&#xff0c;j&#xff0c;k 代码 class Solution:def countGoodTriplets(self, arr: List[int], a: int, b: int, c: int) -> int:n len(arr)count 0for i in range…...

活动安排问题 之 前缀和与差分

文章目录 D. Robert Hood and Mrs Hood 考虑到一个活动开始时间和结束时间s,e&#xff0c;那么可以影响到的范围就是 s-d1,e,所以我们只需对这个每一个活动可以影响到的区域进行标记即可&#xff0c;当然为了降低时间复杂度&#xff0c;我们将使用前缀和与差分 t int(input()…...

HTTP 和 HTTPS 协议的区别及使用场景

在互联网的世界里,HTTP 和 HTTPS 是我们经常接触到的两种网络协议,它们在数据传输、安全性等方面存在诸多差异,适用的场景也各有不同。​ 一、HTTP 和 HTTPS 的基本概念​ HTTP,即超文本传输协议(Hyper - Text Transfer Protocol),是一种用于分布式、协作式和超媒体信息…...

SAP 供应链:采购订单ME21N创建关键点

一、ME21N创建采购订单关键点 采购组织/采购组 字段&#xff1a;EKORG&#xff08;采购组织&#xff09;、EKGRP&#xff08;采购组&#xff09;关键点&#xff1a;采购组织必须与公司代码&#xff08;Company Code&#xff09;关联&#xff0c;采购组对应采购员职责范围示例&…...

重构无人机动力控制范式:Breeze 55A FOC 电调技术深度测评 ——全新Vfast 观测器如何突破效率与精度双重瓶颈

一、引言 在无人机动力系统中&#xff0c;电调&#xff08;电子调速器&#xff09;作为连接电池与电机的核心枢纽&#xff0c;其控制精度、效率及可靠性直接影响飞行性能。南昌长空科技的Breeze 55A FOC 电调凭借全新 Vfast 观测器技术与成熟的 FOC&#xff08;矢量控制&#…...

LLM做逻辑推理题-哪一项圈出后不用找零

题目:   某天&#xff0c;两男两女走进一家自助餐厅&#xff0c;每人从机器上取下一许如下图所示的标价单。   50、95   45、90   40、85   35、80   30、75   25、70   20、65   15、60   10、55   &#xff08;1&#xff09;四人要同样的食品&#xf…...

第十章 json操作

第十章 json操作 文章目录 第十章 json操作一、Marshal 序列化二、Unmarshal 反序列化1 已知数据解析2 未知数据解析3 json测试 一、Marshal 序列化 package mainimport ("encoding/json""fmt" ) type Animal struct {Name string json:"name"…...

Python-Django集成yolov识别模型摄像头人数监控网页前后端分离

程序示例精选 Python-Django集成yolov识别模型摄像头人数监控网页前后端分离 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《Python-Django集成yolov识别模型摄像头人数监控网页前后端分离…...

「出海匠」借助CloudPilot AI实现AWS降本60%,支撑AI电商高速增长

&#x1f50e;公司简介 「出海匠」&#xff08;chuhaijiang.com&#xff09;是「数绘星云」公司打造的社交内容电商服务平台&#xff0c;专注于为跨境生态参与者提供数据支持与智能化工作流。平台基于大数据与 AI 技术&#xff0c;帮助商家精准分析市场趋势、优化运营策略&…...

tsconfig.json配置不生效

说明一下我遇到的问题&#xff0c;这是我的配置文件代码的 {"compilerOptions": {"module": "none","target": "ES5","outFile": "./dist/bundle.js"} } 和我想象不同的是&#xff0c;我编译成 js 没…...

WebFlux应用中获取x-www-form-urlencoded数据的六种方法

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

GPT4O画图玩法案例,不降智,非dalle

网址如下&#xff1a; 玩法1&#xff1a;吉卜力&#xff08;最火爆&#xff09; 提示词&#xff1a;请将附件图片转化为「吉卜力」风格&#xff0c;尺寸不变 玩法2&#xff1a;真人绘制 提示词&#xff1a;创作一张图片&#xff0c;比例4:3&#xff0c;一个20岁的中国女孩…...

【Python爬虫】简单案例介绍1

目录 三、Python爬虫的简单案例 3.1 网页分析 单页 三、Python爬虫的简单案例 本节以科普中国网站为例。 3.1 网页分析 单页 在运用 Python 进行爬虫开发时&#xff0c;一套严谨且有序的流程是确保数据获取高效、准确的关键。首先&#xff0c;深入分析单个页面的页面结构…...

【CAPL实战:以太网】MAC地址由整数形式转换为字符串形式的自定义函数

我在文章MAC地址在字符串形式、数字形式和byte数组中的转换中讲过MAC地址在字符串形式、数字形式和byte数组中的转换方法和思想。如果你仔细阅读过这篇文章,那么MAC地址的形式要如何转换,自定义函数要如何实现它肯定也能信手拈来。如果你还不会也没有关系,今天我们尝试用另一…...

#4 我们为什么使用物联网? 以及 物联网的整体结构

设备不物联是否可以&#xff1f; 答案 是可以的&#xff0c;从项目实战的角度&#xff0c;还是有很多包括分拣&#xff0c;控制&#xff0c;检测等应用是分立的&#xff0c;这个和成本&#xff0c;场景&#xff0c;客户接受度等因素有关。 局部看&#xff0c;一些系统的确很简…...