【数据结构】Map与Set结构详解
数据结构系列五:Map与Set(一)
一、接口的实现
1.方法上
2.成员上
二、Map的内外双接口结构
1.实现
1.1外部Map接口的实现
1.1.1临摹整体
1.1.2外部类实现整体
1.2内部Entry接口的实现
1.2.1临摹内部
1.2.2内部类实现内部
2.关系
3.意义
3.1逻辑内聚
3.2访问封装
3.3成套对应
三、Map实现类的存储结构
1.包装节点对象
2.数据组织结构
2.1数组+链表/红黑树
2.1.1结构
2.1.2顺序
2.1.3复杂度
2.2红黑树
2.2.1结构
2.2.2顺序
2.2.3复杂度
四、Map接口里的方法使用
1.外接口Map
1.1查询
1.1.1键查询值(无默认值):
1.1.2键查询值(有默认值):
1.2修改:
1.3删除:
1.4判断
1.4.1判断键存在:
1.4.2判断值存在:
1.5获取
1.5.1获取所有键:
1.5.2获取所有值:
1.5.3获取所有包装节点:
2.内接口Entry
2.1获取
2.1.1获取节点的键:
2.1.2获取节点的值:
2.2修改:
五、Set接口
1.复用性
2.定义分类
六、Set接口里的方法使用
1.获取
1.1获取所有元素:
1.2获取元素个数:
1.3获取迭代器:
2.添加
2.1添加一个元素:
2.2添加集合元素:
3.删除:
4.判断
4.1判断是否空:
4.2判断一个元素存在:
4.3判断集合元素存在:
5.清空:
一、接口的实现
接口是在实现类子类里完整实现的
1.方法上
接口处在被使用范围下时,在意义编译的要求下,一定要被连接有此接口的实现类 赋值向上转型 使得里面的抽象方法都被重写 有意义上:
因为这些抽象方法都无方法体的,每个抽象方法设置 有点意义的 也就只有形参类型、返回值类型,无完整意义的,所以抽象方法的完整实现是在实现类子类里完成的
2.成员上
接口里一般不会定义成员变量,更多时候成员变量都是在实现类子类这边 结合临摹要实现的抽象方法,在可创建的各样对象中根据具体需求 选择针对性地自定义实现的,从而达到接口实现的多样化,所以接口设置成在实现类里面创建成员变量是接口能多样化实现的保障
二、Map的内外双接口结构
public interface Map<K, V> {//外部Map整体接口//Map接口临摹 从外部、握整体操作包装节点:V put(K key, V value);V get(Object key);V remove(Object key);void putAll(Map<? extends K, ? extends V> m);void clear();...interface Entry<K, V> {//内部Entry局部接口//Entry接口临摹 每个包装节点对象自己对自身的操作:K getKey();V getValue();V setValue(V value);}
}
1.实现
1.1外部Map接口的实现
1.1.1临摹整体
外部Map整体接口的抽象方法 临摹着 从外部、握整体地能操作着 所有键值成对包装单位体
1.1.2外部类实现整体
对应到具体实现类那边,外部Map整体接口的实现类果真就额外有 操作所有包装单位整体的 入口成员变量,再配着 重写着的操作整体的实现方法,外部Map整体接口的实现类(即实现类整体中不包含内部Entry实现类的 外部Map实现类部分)实现了对包装单位从整体的操作
1.2内部Entry接口的实现
1.2.1临摹内部
内部Entry局部接口的抽象方法 临摹着 从内部包装单位体自身对自己范围内的内部操作
1.2.2内部类实现内部
对应到具体实现类那边,内部Entry局部接口实现类就额外有 包装单位自身的组成信息成员变量,配合着 重写着的包装单位自身内部操作实现方法,内部Entry局部接口实现类就也实现了 它每创的包装单位对象都能实现对自身信息的操作
2.关系
在每个Map实现类中,向整体Map接口向上转型间接实例的 从整体操作所有包装单位的 实例对象就只有它一个,而由它的内部类 向上转型Entry接口间接实例化的包装单位对象 创建得可就多了,即外部实现类Map一个实例对象管理着 内部类Entry的许多实例对象
3.意义
3.1逻辑内聚
接口里面装内部接口,内部接口Entry能访问外部接口Map 就直接固定设置成相同的泛型参数K、V 直接保证上 从整体视角与个体视角管理包装单位都要的 类型恒统一
3.2访问封装
内部接口加层封装于 外部使用者接口里面,使内部接口受正确限访问,包装得更加针对且安全
3.3成套对应
外部接口实例化时,由于抽象相关的 在去使用了的范围内 必须要重写实现上其意义,因此外部接口的实现类 也同时要求着 去重写实现有 内部接口相关的所有抽象的东西,即也要求同时有去实例化内部接口 也实现它的意义,所以这也就使得有内部接口的接口实例化 需要对应 有内部类的实现类来实现,接口与类对应着实现的(接口的实例化都是间接的)
三、Map实现类的存储结构
在Map对应实现类的引用管理对象体系中,最上层Map实现类的实例对象 通过分层向下管理 来组织基本节点对象的数据组织结构 或者由基本对象节点自连串自己 组织成数据组织结构,实现着最上层类引用对象 管理着 成组织数据结构中的每个单位基本节点对象
1.包装节点对象
Map数据结构里面的基本操作单位是 关键字对象与值对象对应两合并成的一个 键值对包装对象(String与Integer两合并包装成一个对象),而其它数据结构的基本操作单位都是一个底层直接对象(以Integer一个对象为基本操作单位)
2.数据组织结构
2.1数组+链表/红黑树
2.1.1结构
HashMap用数组+链表/红黑树的数据组织结构 组织包装节点对象:
- 将包装节点的键值 通过哈希函数计算映射到数组索引 来确定存放,每个数组元素哈希桶里面都是存放包装节点自实现作的一个链表头节点或者根节点
包装节点映射到数组同一位置时,节点会自连接组织 连接进桶里存放,到链表过长时 此数组元素哈希桶里面的链表节点 都会通过Node类extend继承扩展转为TreeNode类 全部转为红黑树节点 转化成装红黑树的哈希桶结构(提高查询效率)来继续存放在 此数组索引位置
2.1.2顺序
通过哈希函数计算映射索引 来确定元素在数组位置的,元素们用此函数来确定的位置之间 是无序的
2.1.3复杂度
一次哈希函数计算映射 就能锁定元素位置,数据操作查插删的时间复杂度都是O(1),哈希结构的存储能实现数据的极速操作
2.2红黑树
2.2.1结构
TreeMap中,通过在包装单位里面 定义自己自连串组织结构,包装单位们能 自组织成红黑树的结构(一种自平衡的二叉搜索树)
2.2.2顺序
包装单位按照键值的顺序 有序地在树中存储
2.2.3复杂度
通过比较搜索来确定元素的,数据操作查插删的时间复杂度都是O(logN),即树的高度次
四、Map接口里的方法使用
Map接口里只有抽象方法的临摹,抽象方法的实现、成员变量的定义存在、数据结构的组织都是在实现类TreeMap、HashMap中才有去实现的
1.外接口Map
外部接口对应实现的外部类 完成从外部整体 对自己里面创建的所有包装节点的 整体操作:
1.1查询
1.1.1键查询值(无默认值):
t/hMap.get(Object key);
—> return V
键查询获取 此map实现类创建的 包装节点数据组织结构里 某键值对象对应的 包装节点里的值
1.1.2键查询值(有默认值):
t/hMap.get(Object key,V defaultValue);
—> return V
键查询获取 此map实现类里面的 此键对应的包装节点的值,如果此创建的数据节点结构中 没有此键值的包装节点,则返回默认值
1.2修改:
t/hMap.put(K key,V value);
—> return V
修改设置 实现类map里面创建存储的 某键对应的 包装节点里的值
1.3删除:
t/hMap.remove(Object key)
—> return V
键查询删除 map里面对应的包装节点,并将此包装节点里的值对象返回
1.4判断
1.4.1判断键存在:
t/hMap.containsKey(Object key);
—> return boolean
判断map实现类里面创建的 所有包装节点中是否含有此键对象
1.4.2判断值存在:
t/hMap.containsValue(Object value);
—> return boolean
判断map实现类里面创建的 所有包装节点中是否含有此值对象
1.5获取
1.5.1获取所有键:
t/hMap.keySet();
—> return Set<K>
将map实现类里面创建的 所有包装节点的键对象 存放在Set集合中返回获取
1.5.2获取所有值:
t/hMap.values();
—> return Collection<V>
将map实现类里面创建的 所有包装节点的值对象 存放在Collection集合中返回获取(Set集合里面不会存放重复的值,value的值是可有重复的,就不要用Set集合接收 来用Collection集合接收了)
1.5.3获取所有包装节点:
t/hMap.entrySet();
—> return Set<Map.Entry<K,V>>
将map实现类里面创建的 所有包装节点向上转型回 接口类型的包装节点,存放在Set集合中返回获取
2.内接口Entry
内部接口对应实现的内部类 完成从内部每个包装节点对自身的操作,HashMap实现类里面用Node内部类 对应实现Entry内部接口,TreeMap实现类里面 用Entry内部类 来对应实现Entry内部接口:
2.1获取
2.1.1获取节点的键:
t/hEntry.getKey();
—> return K
获取该包装节点里面装的键对象
2.1.2获取节点的值:
t/hEntry.getValue();
—> return V
获取该包装节点里面装的值对象
2.2修改:
t/hEntry.setValue(V value);
—> return V
将该包装节点里面的值对象 修改设置为指定值对象
五、Set接口
1.复用性
Set与Map结构都是一样的,只是Set使用时 它的基本节点 键值包装对象 里面的值对象 统一设置成了Object类对象 来填充,相当于 不管查询意义的Object 连着存储,实现的也就是只针对键对象的 不重复数据的存储,它里面的元素 实际上就是包装节点下的键值
2.定义分类
Set实现类的底层 也都是复用Map实现类的那套,定义的基本操作对象 也都还是包装节点,但已忽略掉了值对象,相当于只存一个不会重复的 键对象节点了,所以在集合中把它单独定义分类出来 视为元素了,所以在集合中它的接口Set、它的实现类TreeSet、TreeMap都是定义在Collection接口下的
六、Set接口里的方法使用
Set接口里也是只有抽象方法的临摹,方法的具体实现、方法的操作对象也都在实现类TreeSet、TreeMap中 定义进行的
1.获取
1.1获取所有元素:
t/hSet.toArray();
—> return Object[]
将此set集合中的所有元素 装到数组中返回
1.2获取元素个数:
t/hSet.size();
—> return int
获取此set集合中的元素个数
1.3获取迭代器:
t/hSet.iterator();
—> return Iterator<E>
获取对应迭代此set集合元素的迭代器
2.添加
2.1添加一个元素:
t/hSet.add(E e);
—> return boolean
往此set实现类里面 添加存储一个元素,如果在实现类里面 元素已存储有,则不会添加成功
2.2添加集合元素:
t/hSet.addAll(Colleaction<? extends E> c);
—> return boolean
将集合c中的元素 全部添加到此set集合中,可以达到去重效果
3.删除:
t/hSet.remove(Object o);
—> return boolean
删除set实现的集合中的o对象元素
4.判断
4.1判断是否空:
t/hSet.isEmpty();
—> return boolean
判断此set集合是否为空
4.2判断一个元素存在:
t/hSet.contains(Object o);
—> return boolean
判断此set集合中是否有o对象元素
4.3判断集合元素存在:
t/hSet.containsAll(Collection<?> c);
—> return boolean
判断此set集合中 是否全部包含 集合c里面的所有元素
5.清空:
t/hSet.clear();
—> return void
清空此set集合
相关文章:
【数据结构】Map与Set结构详解
数据结构系列五:Map与Set(一) 一、接口的实现 1.方法上 2.成员上 二、Map的内外双接口结构 1.实现 1.1外部Map接口的实现 1.1.1临摹整体 1.1.2外部类实现整体 1.2内部Entry接口的实现 1.2.1临摹内部 1.2.2内部类实现内部 2.关系 3.意义 3.1逻辑内聚 …...
银河麒麟(内核CentOS8)安装rbenv、ruby2.6.5和rails5.2.6
一、安装 rbenv 和 ruby-build 1.安装 rbenv git clone https://github.com/rbenv/rbenv.git ~/.rbenv 2. 添加 rbenv 到 PATH echo export PATH"$HOME/.rbenv/bin:$PATH" >> ~/.bashrc echo eval "$(rbenv init -)" >> ~/.bashrc source ~…...
豆包桌面版 1.47.4 可做浏览器,免安装绿色版
自己动手升级更新办法: 下载新版本后安装,把 C:\Users\用户名\AppData\Local\Doubao\Application 文件夹的文件,拷贝替换 DoubaoPortable\App\Doubao 文件夹的文件,就升级成功了。 再把安装的豆包彻底卸载就可以。 桌面版比网页版…...
Linux 命令行与 vi/vim 编辑器完全指南
一、Linux 命令行基础 (一)命令与命令行简介 命令:Linux 系统内置的操作指令,以字符化形式使用,用于指示系统执行特定任务。 命令行(终端):提供字符化的操作界面,用户通…...
海量聊天消息处理:ShardingJDBC分库分表、ClickHouse冷热数据分离、ES复合查询方案、Flink实时计算与SpringCloud集成
海量聊天消息处理:ShardingJDBC分库分表、ClickHouse冷热数据分离、ES复合查询方案、Flink实时计算与SpringCloud集成 一、背景介绍 每天有2000万条聊天消息,一年下来几千万亿海量数据。为应对这种规模的数据存储和处理需求,本文将从以下几…...
金融系统上云之路:云原生后端架构在金融行业的演化与实践
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:为什么金融行业也要“云原生”? 金融行业素来以“安全第一、稳定优先”著称,面对每日亿级交易请求、秒级风控响应、PB级数据处理,系统稳定性和性能要求极高。长期以来,大型金融机构往…...
每日c/c++题 备战蓝桥杯 ([洛谷 P1226] 快速幂求模题解)
[洛谷 P1226] 快速幂求模题解 📌 题目链接 https://www.luogu.com.cn/problem/P1226 📝 题目描述 给定正整数 a、b 和质数 p,要求计算: a^b % p其中: 1 ≤ a ≤ 10^90 ≤ b ≤ 10^92 ≤ p ≤ 10^9 💡…...
深度学习小记(包括pytorch 还有一些神经网络架构)
这个是用来增加深度学习的知识面或者就是记录一些常用的命令,会不断的更新 import torchvision.transforms as transforms toPIL transforms.ToPILImage()#可以把tensor转换为Image类型的 imgtoPIL(img) #利用save就可以保存下来 img.save("/opt/data/private/stable_si…...
Spring Boot默认缓存管理
Spring框架支持透明地向应用程序添加缓存,以及对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法,从而减少操作数据的执行次数,同时不会对程序本身造成任何干扰。Spring Boot继承了Spring框架的缓存管理功能ÿ…...
倚光科技:微透镜阵列低成本加工新范式
在光通信、机器视觉、生物医学成像等前沿领域,微透镜阵列凭借其独特的光学特性成为不可或缺的核心部件。然而,传统加工方式往往面临成本高、效率低、精度难控等困境。倚光科技深耕光学加工领域多年,创新运用单点金刚石车床技术,成…...
Vue+Flask豆瓣LSTM影评+推荐算法大数据可视化平台深度学习系统源码
文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! 编号: F011 视频介绍 VueFlask豆瓣LSTM影评推荐算法大数据可视化平台深度学习系统源码(2023重制) 1…...
【MySQL】基本查询
目录 增加 查询 基本查询 where子句 结果排序 筛选分页结果 修改(更新) 删除 普通删除 截断表 插入查询结果 聚合函数 分组查询 这一节的内容是对表内容的增删查改,其中重点是表的查询 增加 语法: INSERT [INTO] table_name [(column [, …...
hive默认的建表格式
在 Hive 中创建表时,默认的建表语法格式如下: CREATE TABLE table_name (column1_type,column2_type,... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY , STORED AS TEXTFILE;在这个语法中: CREATE TABLE table_name:指定要创建…...
配置RSUniVLM环境(自用)
首先git clone这个仓库,但是好像不太行,就直接下载下来吧 创个容器弄,容器里需要conda gpu 镜像的话 在dockerhub找到了一个:docker pull vkashyap10/llava-next 下载在了 ssh root10.12.107.240 amos123 这个机器上。等会看…...
产品经理对于电商接口的梳理||电商接口文档梳理与接入
接口梳理7个注意点总结 ①注意要测试环境和生产环境。生产上线时候要提醒研发换到生产环境调用。 ②注意必输字段和选输字段,要传入字段的含义和校验。枚举值不清楚含义的要询问对方含义,比如说单据类型字段枚举值是B2C发货单,BBC发货单&am…...
深入探索Spark-Streaming:从Kafka数据源创建DStream
在大数据处理领域,Spark-Streaming是一个强大的实时流处理框架,而Kafka作为高性能的分布式消息队列,二者结合能实现高效的数据处理。今天就来聊聊Spark-Streaming中从Kafka数据源创建DStream的相关知识。 早期,Spark-Streaming通过…...
R 语言科研绘图第 41 期 --- 桑基图-基础
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
基于STM32的汽车主门电动窗开关系统设计方案
芯片和功能模块选型 主控芯片 STM32F103C8T6:基于 ARM Cortex - M3 内核,有丰富的 GPIO 接口用于连接各类外设,具备 ADC 模块可用于电流检测,还有 CAN 控制器方便实现 CAN 总线通信。它资源丰富、成本低,适合学生进行 DIY 项目开发。按键模块 轻触按键:用于控制车窗的自…...
Spring Boot 配置处理器深度解析:元数据驱动的工程实践
Spring Boot 配置处理器深度解析:元数据驱动的工程实践 引言:为什么关注配置处理器? 在 Spring Boot 中,spring-boot-configuration-processor 是支撑“配置即文档”“配置即代码”的基础设施。它通过编译期生成结构化的配置元数…...
深入详解人工智能数学基础——概率论中的贝叶斯深度学习
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…...
Bandizip解压缩软件 v7.37 正式版解锁专业版
软件介绍 Bandizip 是一款专业的解压缩软件,号称解压速度最快的压缩和解压缩文件管理器。支持多核快速压缩、文件拖放,可创建带密码和多卷的压缩包,提取包括RAR/RAR5/7Z/ZIP在内30多种格式;支持WinZip、7-Zip和WinRAR及其它压缩格…...
算法笔记.spfa算法(bellman-ford算法的改进)
题目:(来源于AcWing) 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 impossible。 …...
HTML给图片居中
在不同的布局场景下,让 <img> 元素居中的方法有所不同。下面为你介绍几种常见的居中方式 1. 块级元素下的水平居中 如果 <img> 元素是块级元素(可以通过 display: block 设置),可以使用 margin: 0 auto 来实现水平居…...
C#中用 OxyPlot 在 WinForms 实现波形图可视化(附源码教程)
今天给大家安利一个超级实用的绘图控件库——OxyPlot,配合WinForms使用,让你轻松绘制专业级图表! 本文将手把手教你如何搭建一个简单的波形图显示窗口,完整步骤 源码解析,建议收藏! 项目搭建步骤…...
arm-linux emmc镜像备份 和 rootfs镜像备份
介绍 对于系统镜像存储介质,我们更推荐使用eMMC, eMMC具有更快的读写速度和更高的稳定系, 而SD卡会有兼容性较差的问题, 使用部分品牌部分系列的SD卡会导致系统无法启动或运行异常。 另外,安卓系统镜像无法运行在SD卡上。 注意事项 使用野火LubanCat的镜像烧录到SD卡, 只…...
opencv--图像变换
图像变换 图像滤波用于处理像素(去噪),从而改变图像质量。 图像的几何变换是指改变图像的几何位置、几何形状、几何尺寸等几何特征。 <详细了解,看opencv书> 概念 矩阵的运算 链接 齐次坐标 链接 齐次坐标就是用N1维来代表N维坐标ÿ…...
C语言基础(day0424)
目录 一. 键盘输入 1.1 grtchar() 1.2 scanf() 总结: 二. 全局变量/局部变量(函数的分类) 1.全局变量 2.局部变量 三.C语言内存模型(堆栈内存and so on ) 3.1 栈区&#x…...
前端项目搭建集锦:vite、vue、react、antd、vant、ts、sass、eslint、prettier、浏览器扩展,开箱即用,附带项目搭建教程
前端项目搭建集锦:vite、vue、react、antd、vant、ts、sass、eslint、prettier、浏览器扩展,开箱即用,附带项目搭建教程 前言:一、Vue项目下载快速通道二、React项目下载快速通道三、BrowserPlugins项目下载快速通道四、项目搭建教…...
Next.js v15 eslint 规则配置
问题 An empty interface declaration allows any non-nullish value, including literals like 0 and "". If that’s what you want, disable this lint rule with an inline comment or configure the ‘allowInterfaces’ rule option.If you want a type meanin…...
【C语言经典算法实战】:从“移动距离”问题看矩阵坐标计算
🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 【前言】 在C语言算法学习与实践领域中,矩阵相关问题是极具代表性且高频出现的题型。“移动距离”问题将…...
算法题(133):二维差分
审题: 本题需要我们多次对某个矩形区域的数据加k,最后输出加完的数据 思路: 方法一:二维差分 本题涉及的是对二维的区间加同一个数的操作,且只显示一次最终结果,所以我们可以使用差分的方法 二维差分的性质…...
java kafka
安装 安装下载 导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apach…...
数据结构【树和二叉树】
树和二叉树 前言1.树1.1树的概念和结构1.2树的相关术语1.3树的表示方法1.4 树形结构实际运用场景 2.二叉树2.1二叉树的概念和结构2.2二叉树具备以下特点:2.3二叉树分类 3.满二叉树4.完全二叉树5.二叉树性质6.附:树和二叉树图示 前言 欢迎莅临姜行运主页…...
.NET代码保护混淆和软件许可系统——Eziriz .NET Reactor 7
.NET代码保护混淆和软件许可系统——Eziriz .NET Reactor 7 1、简介2、功能特点3、知识产权保护功能4、强大的许可系统5、软件开发工具包6、部署方式7、下载 1、简介 .NET Reactor是用于为.NET Framework编写的软件的功能强大的代码保护和软件许可系统,并且支持生成…...
运维打铁:Centos 7使用yum安装 Redis 5
文章目录 一、安装前信息说明二、安装 Redis三、创建 Redis 相关数据目录四、启动 Redis 服务五、修改 Redis 数据目录和端口1. 修改 Redis 配置文件 /etc/redis.conf2. 拷贝数据到数据目录并授权3. 重启 Redis 并连接访问 六、常见问题及解决办法1. Redis 安装失败2. Redis 服…...
【蓝桥杯】可分解的正整数
可分解的正整数 定义一种特殊的整数序列,这种序列由连续递增的整数组成,并满足以下条件: 序列长度至少为 3。序列中的数字是连续递增的整数(即相邻元素之差为 1),可以包括正整数、负整数或 0。 例如&…...
长城杯铁人三项初赛-REVERSE复现
前言 记录记录 1.LoginToMe int __fastcall main(int argc, const char **argv, const char **envp) {unsigned int v3; // eaxchar s[96]; // [rsp10h] [rbp-70h] BYREFint v6; // [rsp70h] [rbp-10h]int v7; // [rsp78h] [rbp-8h]int i; // [rsp7Ch] [rbp-4h]memset(s, 0, s…...
与终端同居日记:Shell交响曲の终极共舞指南
前言: 《与终端同居日记》特别篇:当文件们开始叠罗汉 亲爱的压缩包驯兽师: 欢迎来到「文件马戏团」!在这里,zip是那个强迫症整理狂,tar是爱玩俄罗斯套娃的魔法师,而gzip——绝对是偷偷给文件喝…...
学习threejs,使用EffectComposer后期处理组合器(采用RenderPass、ShaderPass渲染通道),案例一
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.EffectComposer 后期…...
【AI 加持下的 Python 编程实战 2_10】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(中)
文章目录 DIY 实战:从扫雷小游戏开发再探问题分解能力3 问题分解实战(自顶向下)3.2 页面渲染逻辑3.3 事件绑定逻辑 4 代码实现(自底向上)4.1 页面渲染部分4.2 事件绑定部分 写在前面 本篇将利用《Learn AI-assisted Py…...
【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
Cephalon端脑云:神经形态计算+边缘AI·重定义云端算力
前引:当算力不再是“奢侈品” ,在人工智能、3D渲染、科学计算等领域,算力一直是横亘在个人与企业面前的“高墙”。高性能服务器价格动辄数十万元,专业设备维护成本高,普通人大多是望而却步。然而,Cephalon算…...
CSS简单实用的加载动画、骨架屏有效果图
效果图 .wxml <!-- 骨架屏 --> <view wx:for"{{skeleton}}" wx:key"index" class"container center" style"--w:{{item.w}}rpx;--h:{{item.h}}rpx" /> <!-- 加载 --> <view class"arco-loading center&quo…...
图论算法体系:并查集、生成树、排序与路径搜索全解析
从图论的基础理论入门,到深搜广搜搭建起图论的骨架。 从并查集到最小生成树,从拓扑排序到最短路径。 .... 群星璀璨😉 并查集最小生成树 Prim算法Kruskal算法 拓扑排序(kahn算法)最短路径 Dijkstra算法 Dijkstra朴素Di…...
OpenAI为何觊觎Chrome?AI时代浏览器争夺战背后的深层逻辑
目录 引言:一场蓄谋已久的"蛇吞象"计划 一、Chrome:数字世界的"黄金入口" 1.1 用户规模对比:ChatGPT与Chrome的悬殊差距 1.2 Chrome的生态价值远超浏览器本身 二、OpenAI的"入口焦虑"与战略布局 2.1 AI时…...
DrissionPage 请求一次换一个代理(不重启chrome)
实现原理:通过插件实现 # !/usr/bin/python3 # -*- coding:utf-8 -*- """ author: JHC000abcgmail.com file: switch_ip.py time: 2025/4/23 22:05 desc:"""R""" 1. chrome s商店下载Proxy SwitchyOmega 3 (ZeroOme…...
JBoltAI 赋能金融文档:基于 RAG 的基金招募说明书视觉增强方案
在金融领域,基金招募说明书是投资者了解基金产品关键信息的重要文件。然而,这类文件通常以 PDF 格式呈现,内容繁杂、文本枯燥,对于普通投资者而言,理解起来存在一定难度。而如何利用 AI 技术对这类枯燥文本进行视觉增强…...
【玩转全栈】—— Django+vue3+讯飞星火API 实现前端页面实时AI答复
技术栈:vue3 element-plus axios pinia router Django5 websocket 讯飞星火API 本文将实现一个 AI 聊天对话功能,将前端用户输入问题以及之前对话发送给后端,通过 api 访问大模型,返回前端实时对话数据。 调用 讯飞星火API…...
1.1 java开发的准备工作(入门)
准备工作 一.JDK 开始写java程序之前需要安装jdk jdk是java开发工具,包含着JRE和里面的JVM(虚拟机,可以使得不同环境下都能运行Java程序),和开发工具。 二.了解写程序的三大步骤步骤 java成功运行主要需要经过代码编写,编译&a…...
socket编程基础
上一篇 --- 网络基础概念(下)https://blog.csdn.net/Small_entreprene/article/details/147320155?fromshareblogdetail&sharetypeblogdetail&sharerId147320155&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link 理…...