数据结构 day1

2024.7.20 数据结构之旅 那么接下来,是笔者每日学习之后的总结,以此来巩固复习,

本次目标  入门 + 中等的数据结构学习,come on

前置知识点: C语言的 (指针、结构、库函数、内存管理等)

数据结构定义:

        用于计算机存储、组织数据的方式,在内存中数据存储

我们的存储方式,有 数组、链表、树、哈希表等

首先,数据结构分为从 时间空间的角度来出发 ,

时间复杂度 看的是算法运行效率的快慢,而空间复杂度 看一个算法运行需要的额外空间

        那么随着时代发展,空间角度慢慢不被人所注意,Because: 这里有个摩尔定律,摩尔说:我们电脑上的晶体管  每3年翻两倍(每18个月翻1倍)

摩尔定律:我们电脑上的晶体管  每3年翻两倍(每18个月翻1倍)

我们买电脑 通常都问几个CPU,CPU是几核几G的啊...... 这就是说 从空间复杂度上出发的
 

所以基本不用担心空间角度,更新换代快        我们注重在时间上

时间复杂度概念

        把它看成一个函数、f(x)    

由于我们的环境不同,导致运行的时间也会不同

 这里环境指(我们计算机配置不同,你1000块钱电脑,我1万电脑)我 算的更快

时间没法算怎么办?

        我们算  算法的执行次数

                100万数据,和  1亿数据     谁算的快?

时间复杂度的函数式

   F(N) = N*N + 2*N + 10           

n=10    n=100    n=1000 我们此时,N越大,后两项对结果的影响越小

        因此,我们不计算精确的执行次数,只计算大概的执行次数,

这里用大O的渐进表示法  (估算值)        保留对结果影响最大的

时间复杂度:  O(N^2)      当我们看到O,就要立马意识到这是一个大概的范围

大O的渐进表示法

        我们说,推导大O阶的方法

1.        常数用1替代                  O(100)        O(1)

2.        只保留最高阶                 O(M+N)        

3.        最高阶的系数去掉不要,只要未知数              O(2N+10)         O(N)      

O(M+N)    一般清空下,时间复杂度用N,但是其他的表示也行

        M远大于N     表示 O(M)

        N远大于M     表示 O(N)

        M等于N     表示  O(M)     O(N)    则选一个表示

for(int k=0;k<100;++k)     时间复杂度 O(1)   表示常数次,不是一次

 变化型

                          hello world        

        假设查找h                  最好情况        运行的最小次数(下界)        1

        假设查找w                 平均情况         运行的平均次数       我们一般说N/2

        假设查找d                  最坏情况        运行的最大次数(上界)        N

我们时间复杂度,往往做的是一个99%悲观的预期,也就是说看最坏的情况

你要提交工期,5天干完,和10天干完,肯定说10天啊  0.0

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

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

相关文章

【系统架构设计 每日一问】一 在单表查询的情况下,ES快还是mysql快

在单表查询的情况下&#xff0c;Elasticsearch&#xff08;ES&#xff09;和MySQL的查询速度对比并非绝对&#xff0c;而是取决于多个因素&#xff0c;包括查询类型、数据量大小、索引策略、系统配置等。以下是对两者在单表查询速度方面的详细分析&#xff1a; 一、查询类型 E…

php-fpm如何配置max_children参数

前言 略 php-fpm 资源耗尽 php-fpm 的子进程耗尽的时&#xff1a; 会导致 502 出现nginx 出现错误日志 2024/07/18 20:19:10 [crit] 36390#0: *1402471 connect() to unix:/tmp/php-cgi-81.sock failed (2: No such file or directory) while connecting to upstream, cli…

Spring Authorization Server实战

Spring Authorization Server实战 Spring Authorizatin Server Spring Authorizatin Server是一个框架&#xff0c;它提供了OAuth2.1和OpenID Connect 1.0规范以及其它相关规范的实现&#xff0c;它是基于Spring Security构建的 OAuth2.0协议介绍 OAuth是一个开放标准的授权…

使用docker swarm搭建ruoyi集群环境

整体目标 项目背景 领导给到了我一个客户&#xff0c;客户商业模式为成本制作&#xff0c;成本核算。其中涉及到大量涉密数据&#xff0c;且与我们现有产品几乎没有兼容点&#xff08;我们是一套低代码的框架&#xff0c;客户有很多业务二开&#xff09; 测试环境给到了我6台…

大模型学习笔记 - LLM模型架构

LLM 模型架构 LLM 模型架构 1. LLM 核心模型 Transformer2. 详细配置 2.1 归一化方法2.2 归一化模块位置2.3 激活函数2.4 位置编码 2.4.1 绝对位置编码2.4.2 相对位置编码2.4.3 旋转位置编码 RoPE2.4.4 ALiBi位置编码 2.5 注意力机制 2.5.1 完整自注意力机制2.5.2 稀疏注意力机…

ChatGPT实战100例 - (20) 如何玩转影刀RPA

文章目录 ChatGPT实战100例 - (20) 如何玩转影刀RPA背景需求需求分析与流程设计一、需求收集二、流程梳理三、可行性分析流程设计(详细步骤)具体步骤的影刀RPA实现流程图总结AIGC在影刀RPA中的使用总结其他RPA步骤中可能用到AIGC的地方展望总结ChatGPT实战100例 - (20) 如何玩…

LeYOLO, New Scalable and Efficient CNN Architecture for Object Detection

LeYOLO, New Scalable and Efficient CNN Architecture for Object Detection 论文链接&#xff1a;http://arxiv.org/abs/2406.14239 代码链接&#xff1a;https://github.com/LilianHollard/LeYOLO 一、介绍 本文关注基于FLOP的高效目标检测计算的神经网络架构设计选择&am…

【Vite】快速入门及其配置

概述 Vite是前端构建工具。vite 相较于webpack,vite采用了不同的运行方式&#xff1a; 开发时&#xff0c;并不对代码打包&#xff0c;而是直接采用ESM的方式来运行项目在项目打包部署时&#xff0c;使用 rollup 对项目进行打包除了速度外&#xff0c;vite使用起来也更加方便…

2024-7-20 IT新闻

目录 微软全球IT系统故障 中国量子计算产业峰会召开 其他IT相关动态 微软全球IT系统故障 后续处理&#xff1a; 微软和CrowdStrike均迅速响应&#xff0c;发布了相关声明并部署了修复程序。CrowdStrike撤销了有问题的软件更新&#xff0c;以帮助用户恢复系统正常运作。微软也…

对Spring、SpringMVC、MyBatis框架的介绍与解释

目录 Spring、SpringMVC、MyBatis框架的介绍与解释 一、Spring框架概述 1. 控制反转&#xff08;IoC&#xff09; 2. 面向切面编程&#xff08;AOP&#xff09; 3. 模块化设计 二、SpringMVC框架概述 1. 请求处理 2. 视图解析 3. 数据绑定与验证 三、MyBatis框架概述 1.…

前端性能优化--懒加载

前端性能优化–懒加载 1&#xff09;图片懒加载 图片压缩网站 TinyPNG 网站: https://tinypng.com/ 1、它的大致实现方式是首先把图片的真实路径存储在 data-src 的自定义属性中&#xff0c;同时将图片的默认 src 设置为 1 张 1px*1px 的透明图片用作占位符&#xff0c;以防止…

驱动程序在\device\raidport1 上检测到控制器错误

&#x1f3c6;本文收录于《CSDN问答解答》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

全新UI自助图文打印系统小程序源码/自助云打印机前后端源码

全新UI自助图文打印系统小程序源码&#xff0c;自助云打印机前后端源码。最新的自助图文打印系统和证件照云打印小程序源码采用了PHP作为后端开发语言&#xff0c;旨在为用户提供全面的自助打印服务。 这些服务覆盖了多种文件格式&#xff0c;包括文档、图片、表格等。除此之外…

pipeline:无题

这里写自定义目录标题 复盘我是如何做的撰写评审文档O-KR-KA任务网络图与计划资源需求 && 风险项资源需求风险项 其他 讨论、评审文档撰写评审纪要、结论 反思 复盘 目前工作中的一个现状是&#xff0c;在季度开始的时候需要自己思考方向、规划工作&#xff1b;可能还需…

探索现代Web开发:WebKit的剪贴板API革新

探索现代Web开发&#xff1a;WebKit的剪贴板API革新 在当今的Web开发领域&#xff0c;用户体验的提升是开发者们不懈追求的目标。其中一个关键的交互点便是剪贴板操作&#xff0c;它允许用户在网页与本地系统之间复制和粘贴数据。WebKit&#xff0c;作为Safari、QQ浏览器等众多…

手机接Usb hub再连接电脑下D+D-波形

&#x1f3c6;本文收录于《CSDN问答解答》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

医联体信息平台建设方案PPT(54页)

文章摘要&#xff1a; 医联体信息平台现状当前医联体信息平台存在脱离医疗业务建设的倾向&#xff0c;导致信息孤岛&#xff0c;业务协同困难。 建设存在的问题主要问题包括健康档案无法动态更新和共享&#xff0c;信息系统之间信息共享和协同不足。 医联体信息平台建设方案方…

堆及堆的管理

堆的作用 堆是用来作为存储空间的 堆的创建与释放 分离的空闲空间的管理建议使用链表 在链表中指定空间大小及下一块空闲链表

2.3 大模型硬件基础:AI芯片(上篇) —— 《带你自学大语言模型》系列

本系列目录 《带你自学大语言模型》系列部分目录及计划&#xff0c;完整版目录见&#xff1a;带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型&#xff08;科普向&#xff09; 第一章 走进大语言模型 1.1 从图灵机到GPT&#xff0c;人工智能经历了什么&#xff1…

【笔记-Java】LinkedHashMap

Author&#xff1a;赵志乾 Date&#xff1a;2024-07-19 Declaration&#xff1a;All Right Reserved&#xff01;&#xff01;&#xff01; 1. 简介 LinkedHashMap实现了Map接口&#xff0c;内部维护了一个双向链表来记录插入顺序或访问顺序&#xff08;却决于构造函数的配置&…