一.算法效率

算法效率分为两种:第一种为时间效率,第二种为空间效率。时间效率称为时间复杂度,空间效率称为空间复杂度。时间复杂主要衡量一个算法的运行速度,空间复杂度主要衡量一个算法所需的 额外的空间(现在不需要特别关注,现在的磁盘空间特别大

二.时间复杂度

1.概念:

算法中基本操作的执行次数,为算法的复杂度

2.大O的渐进表示法

算法复杂度存在最好、平均、最坏情况:

最坏情况:任意输入规模的最大运行次数(上界)

平均情况:任意输入规模的期望运行次数

最好情况:任意输入规模的最小运行次数(下界)

例如:    在一个长度为N数组中搜索一个数据x

最好情况:1次找到

最坏情况:N次找到

平均情况:N/2次找到

在实际情况中,我们并不需要精确的执行次数,一般关注最坏情况,用大O的渐进表示法表示

大O的渐进表示法规则:

1、用常数1取代运行时间中的所有加法常数

2、在修改后的运行次数函数中,只保留最高阶项。

3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。

举例:

三.空间复杂度

空间复杂度是算法在运行过程中临时占用存储空间大小(即新增变量的个数)。也使用大O的渐进表示法

举例:

四.包装类(Java最开始讲过)

再Java中,由于基本类型不是继承于Object类,为了在泛型代码中支持基本类型,所以个每个基本类型都对应一个基本类型

1.装箱和拆箱

装箱:将基本类型变为包装类型的过程,分为自动装箱和显示装箱

拆箱:将包装类型变为基本类型的过程,分为自动拆箱和显示拆箱

举例:

注意:

五.泛型

概念:从代码上讲就是对类型实现了参数化

主要目的:就是指定当前的容器,要持有什么类型的对象。让编译器去做检查。此时,就需要把类型,作为参数传递。需要什么类型,就传入什么类型。

语法:

利用Object举例:

利用泛型举例:

六.泛型的上界

语法·:

举例:

接口也是如此:

七.泛型方法

语法:

举例:

八.擦除机制

概念:在编译的过程中,将所有的泛型类型T替换成他的上界类型(默认为Object)

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

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

相关文章

HTML 入门教程:从零开始学习网页开发基础

一、HTML简介 1.1 什么是HTML? HTML全称是Hyper Text Markup Language(超文本标记语言),由Tim Berners-Lee和同事Daniel W. Connolly于1990年创立。它是一种用于创建网页的标准标记语言,而不是编程语言。 1.2 HTML的…

使用 bat 批量创建带有项目前缀名的文件夹结构

在项目管理中,经常需要为每个新项目创建一套标准化的文件夹结构。如文档中所述,用户希望为每个项目(如"Project 1"、“Project 2”)创建以下结构的文件夹: project-1_export\project-1_DWG project-1_expo…

Python类中魔术方法(Magic Methods)完全指南:从入门到精通

文章目录Python类中魔术方法(Magic Methods)完全指南:从入门到精通一、魔术方法基础1. 什么是魔术方法?2. 魔术方法的特点二、常用魔术方法分类详解1. 对象创建与初始化2. 对象表示与字符串转换3. 比较运算符重载4. 算术运算符重载5. 容器类型模拟6. 上下…

H3CNE综合实验之五角星

H3CNE综合实验之五角星 实验拓扑图交换机地址规划表:SW6G1/0/1Vlan100:10.1.3.2/24G1/0/2Vlan90:10.1.4.2/24G1/0/3Vlan50:10.1.5.1/24G1/0/4Vlan60:10.1.6.1/24SW7G1/0/1Vlan50:10.1.5.2/24G1/0/2Vlan30:192.168.3.1/24G1/0/6Vlan70:10.1.1.2/24G1/0/3-…

Android EventBus使用方法与底层原理详解

EventBus 是什么? EventBus 是一个基于发布/订阅(Publish/Subscribe) 模式的开源库(主要由 greenrobot 开发维护)。它的核心目的是简化 Android 应用中不同组件(如 Activity, Fragment, Service, Thread 等…

初等数论简明教程

初等数论简明教程 本文给出初等数论中的一些重要的定理与例题,证明风格采用 整除线法 与 命题节点法。 整除线法 指推理的第 nnn 步左边的字符可由前面左边的字符得到,右边的字符可由前面右边的字符得到,整除线变成了推理线,既少…

Spring之核心容器(IoC,DI,基本操作)详解

Spring之核心容器IoC/DI/基本操作详解一、核心概念:IoC与DI的本质1.1 IoC(Inversion of Control,控制反转)传统开发模式(无IoC)IoC模式(Spring容器管理)1.2 DI(Dependenc…

【论文阅读】基于注意力机制的冥想脑电分类识别研究(2025)

基于注意力机制的冥想脑电分类识别研究💡 Meta DataTitle基于注意力机制的冥想脑电分类识别研究Authors周梓涵Pub. date2025📜 Research Background & Objective背景: 现代生活压力导致心理问题日益突出,冥想作为一种有效的心…

GitHub 上 Star 数量前 8 的开源 Web 应用项目

原文链接:https://www.nocobase.com/cn/blog/github-open-source-web-applications。 近期,我们发布了多篇「Top GitHub Star 开源项目推荐」系列文章,受到了大量点赞与收藏,很多开发者留言表示希望能看到更多不同领域的开源工具推…

FATFS文件系统原理及其移植详解

一、FATFS简介 FATFS 是一个完全免费开源的 FAT/exFAT 文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准 C 语言(ANSI C C89)编写,所以具有良好的硬件平台独立性,只需做简单的修改就可以移植到 8051、PIC、A…

KubeRay 和 Ray

KubeRay 和 Ray 不是替代关系,而是互补的协作关系。两者在分布式计算生态中扮演不同角色,共同构成完整的云原生 AI 解决方案。以下是具体分析:🔧 1. 核心定位差异Ray 是分布式计算引擎,提供底层 API(如 ray…

破解轮胎仓储高密度与柔性管理难题

轮胎作为特殊的大件异形工业品,其仓储管理长期面临多重挑战:规格型号繁杂导致SKU数量庞大,重型载重对货架承重提出极高要求,橡胶材质对防压变形、避光防老化等存储环境存在严苛标准。传统平置堆垛或普通货架方案不仅空间利用率不足…

EVA series系列(上)

目录 一、EVA 1、概述 2、方法 二、EVA-02 1、概述 2、架构 三、EVA-CLIP 1、概述 2、方法 四、EMU 1、概述 2、架构 3、训练细节 4、评估 一、EVA 1、概述 为探寻大规模表征学习任务的MIM预训练任务在ViT基础上扩展到1B参数量规模,结合10M级别&am…

ABP VNext + EF Core 二级缓存:提升查询性能

ABP VNext EF Core 二级缓存:提升查询性能 🚀 📚 目录ABP VNext EF Core 二级缓存:提升查询性能 🚀引言 🚀一、环境与依赖 🛠️二、集成步骤 ⚙️2.1 安装 NuGet 包2.2 注册缓存服务与拦截器2…

3.1k star!推荐一款开源基于AI实现的浏览器自动化插件工具 !

大家好!今天,我要给大家介绍一款超实用的开源工具——Chrome MCP Server!这款工具不仅能大幅提升我们的工作效率,还能让AI助手(如Claude)直接操控浏览器,实现自动化操作、内容分析等强大功能。 …

关于 OpenAI 的反思

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Python爬虫库性能与选型对比

Python常用爬虫库的优势对比。这是一个非常实用的问题,很多Python开发者都会面临选择合适爬虫工具的困惑。我根据网络很多搜索结果,整理出这些信息,为用户提供一个全面且清晰的对比分析。以下是Python中常用爬虫库的核心优势对比及选型建议&a…

NAT作业

拓扑图 实验要求 1.按照图示配置IP地址,公网地址100.1.1.1/24..较网“说过?,使“掩入到互联网,私服究的不到公的,使阳接入无三。.私网A通过NAPT,使R1接入到互联网,私网B通过EASY,IP,使R3接入到互联网实验思…

JAVA进阶--JVM

一.JVM的概述java语言有跨平台特点, 写一次java程序,可以在不同的平台上运行.(JVM虚拟机的作用)前提条件: 在不同的平台上安装不同的虚拟机(虚拟机就是一个翻译).java--->.class--->不同的虚拟机--->机器码1.jvm作用:负责将字节码翻译为机器码, 管理运行时内存2.jvm的…

基于Alpine构建MySQL镜像

文章目录基于Alpine构建MySQL镜像一、基础镜像选择与初始化1. 基础镜像选型2. 系统初始化二、核心配置构建1. 目录与权限配置2. 配置文件优化三、安全增强配置1. 密码策略强化2. 非root运行四、数据持久化与启动配置1. 数据卷声明2. 入口脚本优化五、完整Dockerfile示例六、关键…