广州模板建站哪家好/建立网站的流程

广州模板建站哪家好,建立网站的流程,个人主页哪个网站好,哪个网站做批发最便宜吗【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p3&v…

【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p=3&vd_source=04ee94ad3f2168d7d5252c857a2bf358

目录

1、认识复杂度和简单排序算法

1.1 常数时间操作 & 时间复杂度

1.2 基础排序算法

1.2.1 选择排序

1.2.2 冒泡排序

补充:异或运算

1.2.3 插入排序

1.3 二分查找

1.4 对数器

1.5 master公式


笔记:

1、认识复杂度和简单排序算法

1.1 常数时间操作 & 时间复杂度

常数时间的操作:与数据量无关的操作,每次都是固定时间完成

数组查数是,链表不是?

数组是记录在案的,有目录可供直接取用,与数据量无关;而链表没有记录在案的目录,只能一个个查找,因此与数据量有关

时间复杂度:忽略最低项后只要最高项,且忽略掉系数。

忽略系数的原因,当数据量N足够大的时候,它的系数对它造不成影响。

评估一个算法流程的好坏,先比较时间复杂度指标,当指标相同时再实际运行去测哪个算法更好。

1.2 基础排序算法

选择排序&冒泡排序:都是O(N^2),实现方式不同但本质没区别

1.2.1 选择排序

选择排序:从i=0开始++,每加一次,从arr[i]开始遍历到arr[n-1]并把最小值交换到arr[i]上。

(遍历:0到n-1、1到n-1、2到n-1等等)

1.2.2 冒泡排序

冒泡排序:两个位置间比较,慢慢把数字升序或降序

从i=0开始++,如果arr[i]大于arr[i+1],它俩交换。这个方法每次遍历后,右边的数都是前面最大的。

(遍历:0到n-1、0到n-2、0到n-3等等)

补充:异或运算

可以理解为无进位相加,二进制中:0^0=0;1^0=0^1=1;1^1=0

N进制中:N^0=0^N=N;N^N=0

异或运算满足交换律、结合律

//使用前提:a和b各自指向的内存空间必须不同(a和b的数值可以一样,但a的地址不能等于b的地址,否则异或运算就会把a和b都抹为0)int a= 某个值;int b= 某个值;a=a^b; //(a=a^b, b=b)b=a^b; //(a=a^b, b=a^b^b=a^(b^b)=a^0=a)a=a^b; //(a=a^b^a=b, b=a)

【异或运算】例题:

(1)136. 只出现一次的数字 - 力扣(LeetCode)

描述:只有一个数字出现奇数次,找出它。

思路:用“异或 a^a=0”消除所有偶数次的数。

(2)描述:有两个数a和b都出现奇数次,找出它们两个。

思路?:先边遍历边异或得到targets=a^b,再将targets再和整个数组异或一遍,得到其中一个奇数次的数a。然后a和targets再异或得到b。

1.2.3 插入排序

插入排序:简而言之就像打扑克,按数字顺序整理好手中的牌,抽新牌后插入到对应位置上。

由于在数组中插入一个位置时,后面的数都要整体往后移,所以干脆在比较的同时就交换了位置,因此看着像冒泡排序。

从int i=1开始,因为再i=0上已经做到了有序。

数据状况不同,会导致算法流程的时间复杂度不同。

时间复杂度是按最差情况估计算法表现。

1.3 二分查找

时间复杂度:O(logN)

无论数组是否有序,都可以二分

例题:

(1)在有序数组中,找某数是否存在

(2)在有序数组中,找≥某数的最左侧位置

(3)在无序数组中,找局部最小值问题

1.4 对数器

原理:利用随机样本产生器去测试方法a和方法b,检查二者的输出和性能。修改样本大小和随机程度之后多测几次。

方法a:想测的方法

方法b:好实现但性能不太好的方法

java实现:

​Math.random()是等概率返回[0,1)区间内的一个小数。

而(int)Math.random() * N则是等概率返回[0, N-1]区间内的一个整数。

// 数组长度随机int[] arr = new int[ (maxSize+1) * (int)Math.random() ];// 数组数值随机,使用相减来概率得到负数for(int i=0; i<arr.length; i++){arr[i] = (int) ( (maxValue+1) * Math.random() - (int) ( maxValue * Math.random() );}

然后创建两个空数组分别存储调用方法a和b之后的结果,比较结果是否相同。

1.5 master公式

master公式:T(N) = a*T(N/b) + O(N^d)

log(b,a) > d,复杂度为O( N^log(b,a) )

log(b,a) = d,复杂度为O( N^d * logN )

log(b,a) < d,复杂度为O( N^d )

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

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

相关文章

软考高级《系统架构设计师》知识点(一)

计算机硬件 校验码 码距&#xff1a;就单个编码A:00而言&#xff0c;其码距为1&#xff0c;因为其只需要改变一位就变成另一个编码。在两个编码中&#xff0c;从A码到B码转换所需要改变的位数称为码距&#xff0c;如A:00要转换为B:11&#xff0c;码距为2。一般来说&#xff0c;…

基于vue3实现的课堂点名程序

设计思路 采用vue3实现的课堂点名程序&#xff0c;模拟课堂座位布局&#xff0c;点击开始点名按钮后&#xff0c;一朵鲜花在座位间传递&#xff0c;直到点击结束点名按钮&#xff0c;鲜花停留的座位被点名。 课堂点名 座位组件 seat.vue <script setup>//组合式APIimpo…

数论补充 之 前后缀分解问题

文章目录 [0,i-1] 和 [i1,n-1] 共同作用3334,数组的最大因子得分238.除自身以外数组的乘积 对于前缀分解问题&#xff0c;我愿把它分为几个大问题&#xff1a;[0,i] 或 [i,n-1] 或 [l,r],或 [0,i-1] 和 [i1,n-1] 共同作用的问题 一般都是求解区间的和&#xff0c;乘积&#xff…

Winform禁止高分辨下缩放布局成功方法

Windows自动缩放布局会导致窗体上的按钮和文本挤在一起根本看不清楚。 那么该如何解决呢&#xff1f; 具体操作步骤如下&#xff1a; 1、在项目属性上切换到【安全性】菜单&#xff0c;勾选【启用ClickOnce安全设置】&#xff0c;然后立刻取消勾选&#xff1b; 为了生成app.…

分享 UniApp 中超好看的卡片阴影样式

在 UniApp 开发中&#xff0c;页面的视觉效果对于提升用户体验至关重要。一个设计精美的卡片样式往往能让页面更加美观和吸引人&#xff0c;而阴影效果则是为卡片增添立体感和层次感的关键元素。今天&#xff0c;我就来和大家分享一个在 UniApp 中实现的卡片阴影样式&#xff0…

教程 | 从零部署到业务融合:DeepSeek R1 私有化部署实战指南

文章目录 1. 什么是 DeepSeek R1&#xff1f;a. 主要介绍a. 版本区别 2. 部署资源要求a. 硬件资源要求 3. 本地安装DeepSeek-R1a. 为什么选择本地部署&#xff1f;b. 部署工具对比c. 演示环境配置d. Ollama安装流程 4. 可视化工具a. 工具对比b. Open-WebUI部署 5. AI API应用a.…

数据结构——队列、哈希存储(2025.2.11)

目录 一、队列 1.定义 2.应用 3.分类 &#xff08;1&#xff09;逻辑结构 &#xff08;2&#xff09;物理结构 顺序队列 链式队列 二、哈希存储 1.定义 2.哈希冲突 &#xff08;1&#xff09;开放定址法 &#xff08;2&#xff09;再哈希法 &#xff08;3&#xf…

【做一个微信小程序】校园地图页面实现

前言 上一个教程我们实现了小程序的一些的功能&#xff0c;有背景渐变色&#xff0c;发布功能有的呢&#xff0c;已支持图片上传功能&#xff0c;表情和投票功能开发中&#xff08;请期待&#xff09;。下面是一个更高级的微信小程序实现&#xff0c;包含以下功能&#xff1a;…

npm安装时无法访问github域名的解决方法

个人博客地址&#xff1a;npm安装时无法访问github域名的解决方法 | 一张假钞的真实世界 今天在用npm install的时候出现了github项目访问不了的异常&#xff1a; npm ERR! Error while executing: npm ERR! /bin/git ls-remote -h -t https://github.com/nhn/raphael.git np…

J Exp Clin Cancer Res (IF:11.4)|上海九院张建军团队发现SPP1+巨噬细胞在头颈癌中的促肿瘤机制

巨噬细胞是肿瘤免疫微环境&#xff08;TIME&#xff09;的重要组成部分&#xff0c;在不同癌症类型中表现出功能的多样性以及与预后的紧密联系。在多种癌症中&#xff0c;SPP1巨噬细胞已被发现是一种常见的肿瘤相关巨噬细胞&#xff08;TAM&#xff09;亚群&#xff0c;且与不良…

盛铂科技 SCP4006/4018/4040:国产袖珍式功率计 射频微波功率探头 平均功率计

在通信、电子测量等领域&#xff0c;功率计是确保信号稳定、系统高效运行的关键设备。盛铂科技自主研发的 SCP4000 系列自带 USB 接口的袖珍式 CW 信号平均功率计&#xff0c;以其卓越的性能、高性价比和便捷的操作&#xff0c;在众多同类产品中脱颖而出&#xff0c;成为行业内…

Docker+Jenkins自动化部署SpringBoot项目【详解git,jdk,maven,ssh配置等各种配置,附有示例+代码】

文章目录 DockerJenkins部署SpringBoot项目一.准备工作1.1安装jdk111.2安装Maven 二.Docker安装Jenkins2.1安装Docker2.2 安装Jenkins2.3进入jenkins 三.Jenkins设置3.1安装jenkins插件3.2全局工具配置全局配置jdk全局配置maven全局配置git 3.3 系统配置安装 Publish Over SSH …

基于角色访问控制的UML 表示

Michael E. Shin、Gail-Joon Ahn 著&#xff0c;UMLChina 译 摘要 在基于角色访问控制&#xff08;role-based access control&#xff0c;RBAC&#xff09;中&#xff0c;权限和角色相关&#xff0c;用户被当作相应角色的成员而获得角色的权限。RBAC 背后的首要动机是为了简…

大数据SQL调优专题——Hive执行原理

引入 Apache Hive 是基于Hadoop的数据仓库工具&#xff0c;它可以使用SQL来读取、写入和管理存在分布式文件系统中的海量数据。在Hive中&#xff0c;HQL默认转换成MapReduce程序运行到Yarn集群中&#xff0c;大大降低了非Java开发者数据分析的门槛&#xff0c;并且Hive提供命令…

计算机网络(1)基础篇

目录 1.TCP/IP 网络模型 2.键入网址--->网页显示 2.1 生成HTTP数据包 2.2 DNS服务器进行域名与IP转换 2.3 建立TCP连接 2.4 生成IP头部和MAC头部 2.5 网卡、交换机、路由器 3 Linux系统收发网络包 1.TCP/IP 网络模型 首先&#xff0c;为什么要有 TCP/IP 网络模型&a…

c++ 多线程知识汇总

一、std::thread std::thread 是 C11 引入的标准库中的线程类&#xff0c;用于创建和管理线程 1. 带参数的构造函数 template <class F, class... Args> std::thread::thread(F&& f, Args&&... args);F&& f&#xff1a;线程要执行的函数&…

LabVIEW用户界面(UI)和用户体验(UX)设计

作为一名 LabVIEW 开发者&#xff0c;满足功能需求、保障使用便捷与灵活只是基础要求。在如今这个用户体验至上的时代&#xff0c;为 LabVIEW 应用程序设计直观且具有美学感的界面&#xff0c;同样是不容忽视的关键任务。一个优秀的界面设计&#xff0c;不仅能提升用户对程序的…

【工业场景】用YOLOv8实现火灾识别

火灾识别任务是工业领域急需关注的重点安全事项,其应用场景和背景意义主要体现在以下几个方面: 应用场景:工业场所:在工厂、仓库等工业场所中,火灾是造成重大财产损失和人员伤亡的主要原因之一。利用火灾识别技术可以及时发现火灾迹象,采取相应的应急措施,保障人员安全和…

STM32_USART通用同步/异步收发器

目录 背景 程序 STM32浮空输入的概念 1.基本概念 2. STM32浮空输入的特点 3. STM32浮空输入的应用场景 STM32推挽输出详解 1. 基本概念 2. 工作原理 3. 应用场景 使能外设时钟 TXE 和 TC的区别 USART_IT_TXE USART_IT_TC 使能串口外设 中断处理函数 背景 单片…

利用IDEA将Java.class文件反编译为Java文件:原理、实践与深度解析

文章目录 引言&#xff1a;当.class文件遇到源代码缺失第一章&#xff1a;反编译技术基础认知1.1 Java编译执行原理1.2 反编译的本质1.3 法律与道德边界 第二章&#xff1a;IDEA内置反编译工具详解2.1 环境准备2.2 三步完成基础反编译2.3 高级反编译技巧2.3.1 调试模式反编译2.…