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

【数据结构】励志大厂版·初阶(复习+刷题):复杂度

前引:从此篇文章开始,小编带给大家的是数据结构初阶的刷题讲解 ,此类文章将简略的包含相关知识,详细的思路拆分讲解,分析每一题的难点、易错点,看见题目如何分析,以上就是小编预备的内容,对于数据结构巩固知识的伙伴们来说,可以一试,告别冗杂的知识点,如果伙伴们发现下面哪有有问题,欢迎在评论区指出哦!小编一定会进行修改的!正文开始~

目录

知识点速览

计算时间复杂度

第一题

第二题

第三题

第四题

第五题

第六题

第七题

第八题

计算空间复杂度

第一题

第二题

第三题

复杂度的实际应用

第一题

第二题


知识点速览

复杂度可以分为时间复杂度、空间复杂度,它们都是度量算法优劣的算级说明,通常是估算,采用大O渐进表示法,例如如O(N)

复杂度计算:

                     时间复杂度是计算执行次数(估算);空间复杂度看(变量个数+额外开辟空间数)

复杂度种类:复杂度一般有最坏、最好、平均复杂度之分,我们一般取最坏结果

计算步骤:(1)先算出准确执行次数【时间复杂度】 /(变量个数(函数内)+额外空间数量)                        【空间复杂度】(2)再根据规则修改

时间复杂度、空间复杂度计算规则:

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

                                                     (2)只要高阶项,不用低阶项(取大舍小)

                                                     (3)不要高阶项系数(去系数)

计算时间复杂度

第一题
void Func1(int N)
{int count = 0;for (int i = 0; i < N; i++){for (int j = 0; j < N; j++){++count;}}for (int k = 0; k < 2 * N; k++){++count;}int M = 0;while (M--){++count;}printf("%d\n", count);
}

按照上面的计算步骤:先算总的执行次数,可以算出准确次数为:N*N + 2N,再根据计算规则(取大舍小),最终得到它的时间复杂度用大O渐进表示法得到 O(N^2)

第二题
void Func2(int N)
{int count = 0;for (int k = 0; k < 2 * N; k++){++count;}int M = 0;while (M--){++count;}printf("%d\n", count);
}

根据计算步骤,得到总的执行次数为:2N,再根据计算规则(去系数),得到最后它的时间复杂度用大O渐进表示法表示为O(N)

第三题
void Func3(int N,int M)
{int count = 0;for (int k = 0; k < N; ++k){++count;}for (int k = 0; k < M; ++k){++count;}
}

按照计算步骤,我们先算出准确的执行次数为N+M,这里出现一个问题,如果按照取大舍小,我们是无法判断的,因为M、N都是未知数

分析:如果M较大,那就舍弃N;如果M较小,那就舍弃M;如果M等于N,那就是2M或者2N

对于这种情况,我们是都不能舍弃的,只能都保存,因此最后的时间复杂度是O(M+N)

第四题
void Func4(int N)
{int count = 0;for (int k = 0; k < 100; k++){++count;}printf("%d\n", count);
}

根据计算步骤,我们先算出准确的执行次数为100次,再根据计算规则常数化1,得到最后的时间复杂度用大O渐进表示法表示为O(1)

第五题
const char* strchr(const char* str, char character)
{while (*str != '\0'){if (*str == character){return str;}++str;}return NULL;
}

首先根据计算步骤,我们需要先计算准确执行次数,这题同样有一个问题,就是不知道这个字符串的长度,所以我们需要分类:

最好情况:直接出循环,1次执行次数(总执行次数)

最坏情况:设字符串长度N,它找到底才找到,也就是N次(总执行次数)

按照计算规则,选择最坏情况,时间复杂度表示为O(N)

第六题
void BubbleSort(int* a, int n)
{assert(a);for (size_t end = n; end > 0; --end){int exchange = 0;for (size_t i = 1; i < end; ++i){if (a[i - 1] > a[i]){Swap[&a[i - 1], &a[i]];exchange = 1;}}if (exchange == 0){break;}}return;
}

按照计算步骤,先算总的执行次数,通过代码我们看到,还是需要分类考虑

最好情况:进入外面的 for 循环一次,里面的循环需要走 end 次,总的执行次数就是 end+1 次

最坏情况:那就只能把循环走完了!总的执行次数也就是 end^2 次

再根据计算规则,取最坏情况,得到最后的时间复杂度为O(N^2)

易错点:首先小编也经历过这个雷区!经常以为双层for循环就是N^2了,一层for循环就是N次,但是需要避雷这个,具体情况需要具体分析,我们继续向下看!

第七题
int BinarySearch(int* a, int n, int x)
{assert(a);int begin = 0;int end = n;while (begin < end){int mid = begin + ((end - begin) >> 1);if (a[mid] < x){begin = mid + 1;}else if (a[mid] > x){end = mid;}elsereturn mid;}return -1;
}

首先我们先来计算它的总次数,根据这个代码情况,属于二分查找,还是需要分类

最好情况:那肯定就一次找到,总执行次数就是1次

最坏情况:对一组数据一直二分下去,要找的元素在数组最后一个被检查的位置

                 假设数组长度为N,每经过一次二分,剩余元素为N/2,经过 k 次后,剩余元素为N/                       (2^k)

                 最坏情况也就是当剩余元素为1时,即N/(2^k)=1

                 解得k=log N(注意log N在复杂度里面是等于㏒以2为底N的对数的)

按照计算规则,取最坏情况,得到最后的时间复杂度为 log N

第八题
long long Factorial(size_t N)
{return N < 2 ? N : Factorial(N - 1) * N;
}

首先根据计算步骤,计算总的执行次数,我们发现这是一个三目操作符,我先来简答解释一下它的运算思路:

如果N<2,为真就得到结果N,如果为假就得到结果 Factorial(N-1)*N

因此我们发现这是一个计算前 n 项阶层的递归函数,下面我们来分析

最好情况:直接执行一次,即计算 1 的前 n 阶层

最坏情况:假设有N个数字,那么它的阶层就是N*(N-1)*(N-2)*(N-3)......,执行了N次

根据计算规则,保留最坏情况,得到最后的时间复杂度为O(N)

计算空间复杂度

第一题
void BubbleSort(int* a, int n)
{assert(a);for (size_t end = n; end > 0; --end){int exchange = 0;for (size_t i = 1; i < end; ++i){if (a[i - 1] > a[i]){Swap[&a[i - 1], &a[i]];exchange = 1;}}if (exchange == 0){break;}}return;
}

首先我们按照计算步骤,先算(变量个数+额外空间数),上面总共有3个变量,没有开辟额外的空间,因此准确计算得到数量为3

再按照复杂度的计算规则(常数化1),得到最后的空间复杂度为O(1)

第二题
long long* Fibonacci(size_t n)
{if (n == 0){return NULL;}long long* fibArray = (long long*)malloc((n + 1) * sizeof(long long));
}

首先我们按照计算步骤,先算(变量数+额外空间数),这个函数没有变量,但是它额外开辟了(n+1)的空间个数,因此总的数量就是 0+(n+1)= N+1

根据计算规则(舍大取小),得到最后的空间复杂度为O(N)

第三题
long long Factorial(size_t N)
{return N < 2 ? N : Factorial(N - 1) * N;
}

这是一个计算 N 的阶层积的函数,比如N*(N-1)*(N-2)*(N-3)*........

每次递归都需要开辟函数栈帧空间,这里是从N-1开始调用递归函数的,因此是N-1个额外空间,没有其它变量,所以得到总的数量是0+(N-1)= N-1

根据计算规则(舍大取小),得到最后的空间复杂度为O(N)

复杂度的实际应用

话不多说我们通过两道例题来看看复杂度的实际应用

第一题

上面我们看到它的要求是时间复杂度不能超过O(N),这就是复杂度在实际的应用,题目可能会规定一定的时间复杂度、空间复杂度,下面我们开始解决这个问题!

(1)最简单的方法就是:计算 0~N 的数字之和,再减去题目中已有的数字,这样我们就找到了             那个缺失的数字,大家不能理解的话欢迎在评论区留言啊!下面我们来实现代码:

int missingNumber(int* nums, int numsSize)
{int sum = 0;//求和for (int i = 0; i <= numsSize; i++){sum += i;}//求差for (int i = 0; i < numsSize; i++){sum -= nums[i];}return sum;
}

(2)算法解法:我们先来了解一个运算符^ ,它比较的是二进制位,相同为0,相异为1,例如:

 3的二进制是:00000000 00000000 00000000 00000011

 1的二进制是:00000000 00000000 00000000 00000001

  1^2^3的二进制是:00000000 00000000 00000000 00000011

将1^2^3的二进制分别与3、2的二进制去异或,这样我们就得到了中间的2的二进制

算法实现:我们把0~N的数字去分别异或,然后再将异或得到的结果与题目中数组的每个元素异或,那样就找到了少的那个数字(一般用0去开始异或,因为0与任何数异或都为那个数字)

int missingNumber(int* nums, int numsSize)
{//0与任何数异或都为那个数,不会产生影响int n = 0;//分别异或0~N的数字for (int i = 0; i <= numsSize; i++){n ^= i;}//再与0~N-1的数字异或,得到差值for (int i = 0; i < numsSize; i++){n ^= nums[i];}return n;
}
第二题

首先我们我们来说一下几种解法:

(1)暴力解法:一次旋转一位数字,通过移动其余元素达到目标,但是效率上无法通过 

(2)间接解法:将后k个元素拷贝到另外一个数组,再将前n-k个元素拷贝过来,再进行整体拷                                 贝,但是这样就不是原地了,也无法达到更高的进阶要求

(3)算法解法:我们先将数组的前n-k个元素旋转交换位置,再将后k个元素旋转位置,再整体旋                             转交换位置,拿时间换取空间。例如下面这样:

void Exchange(int* p1, int* p2)
{int num = *p1;*p1 = *p2;*p2 = num;
}
int* missNumber(int* nums, int numsSize)
{//旋转前numsSize-k个元素int i = 0;int j = numsSize - k - 1;while (i < j){Exchange(&nums[i], &nums[j]);i++;j--;}//旋转后k个元素i = numsSize - k - 1;j = numsSize - 1;while (i < j){Exchange(&nums[i], &nums[j]);i++;j--;}//旋转整体i = 0;j = numsSize - 1;while (i < j){Exchange(&nums[i], &nums[j]);i++;j--;}return nums;
}

相关文章:

【数据结构】励志大厂版·初阶(复习+刷题):复杂度

前引&#xff1a;从此篇文章开始&#xff0c;小编带给大家的是数据结构初阶的刷题讲解 &#xff0c;此类文章将简略的包含相关知识&#xff0c;详细的思路拆分讲解&#xff0c;分析每一题的难点、易错点&#xff0c;看见题目如何分析&#xff0c;以上就是小编预备的内容&#x…...

Nginx底层架构(非常清晰)

目录 前言&#xff1a; 场景带入&#xff1a; HTTP服务器是什么&#xff1f; 反向代理是什么&#xff1f; 模块化网关能力&#xff1a; 1.配置能力&#xff1a; 2.单线程&#xff1a; 3.多worker进程 4.共享内存&#xff1a; 5.proxy cache 6.master进程 最后&…...

Golang|Channel 相关用法理解

文章目录 用 channel 作为并发小容器channel 的遍历channel 导致的死锁问题用 channel 传递信号用 channel 并行处理文件用channel 限制接口的并发请求量用 channel 限制协程的总数量 用 channel 作为并发小容器 注意这里的 ok 如果为 false&#xff0c;表示此时不仅channel为空…...

智能合约安全审计平台——以太坊虚拟机安全沙箱

目录 以太坊虚拟机安全沙箱 —— 理论、设计与实战1. 引言2. 理论背景与安全原理2.1 以太坊虚拟机(EVM)概述2.2 安全沙箱的基本概念2.3 安全证明与形式化验证3. 系统架构与模块设计3.1 模块功能说明3.2 模块之间的数据流与安全性4. 安全性与密码学考量4.1 密码学保障在沙箱中…...

趣说区块链隐私智能合约Shielder 实现原理

目录 核心理念 Deposit Withdraw Shielder 是 Aleph Zero 上的智能合约,它利用 zk-SNARK 技术实现隐私支付以及与 DeFi 的隐私交互。这与常规区块链的完全透明性形成鲜明对比,常规区块链允许追踪单个用户与链上合约以及其他用户的所有交互。Shielder 通过使第三方链观察者…...

TCPIP详解 卷1协议 五 Internet协议

5.1——Internet协议 IP是TCP/IP协议族中的核心协议。所有TCP、UDP、ICMP和IGMP数据都通过IP数据报传输。IP 提供了一种尽力而为、无连接的数据报交付服务。“尽力而为”的含义是不保证 IP 数据报能成功到达目的地。任何可靠性必须由上层&#xff08;例如TCP&#xff09;提供。…...

基于Oracle ADG通过dblink创建物化视图同步数据到目标库

基于Oracle ADG通过dblink创建物化视图同步数据到目标库 环境说明&#xff1a;源端环境Oracle ADG一主一备&#xff0c;版本11.2.0.4&#xff0c;目标端版本11.2.0.4&#xff0c;测试通过dblink方式在目标库创建物化视图同步ADG备库的数据。 PROD --> STANDBY – > TAR…...

openGauss新特性 | 自动参数化执行计划缓存

目录 自动化参数执行计划缓存简介 SQL参数化及约束条件 一般常量参数化示例 总结 自动化参数执行计划缓存简介 执行计划缓存用于减少执行计划的生成次数。openGauss数据库会缓存之前生成的执行计划&#xff0c;以便在下次执行该SQL时直接使用&#xff0c;可…...

qt中的正则表达式

问题&#xff1a; 1.在文本中把dog替换成cat&#xff0c;但可能会把dog1替换成cat1&#xff0c;如果原本不想替换dog1&#xff0c;就会出现问题 2文本中想获取某种以.txt为结尾的多有文本&#xff0c;普通的不能使用 3如果需要找到在不同的系统中寻找换行符&#xff0c;可以…...

开源项目 | 17款云原生安全相关的扫描和平台类开源工具

“ 随着云计算技术的不断发展&#xff0c;越来越多的企业开始将应用程序和数据存储到云上。然而&#xff0c;云安全问题也随之而来&#xff0c;因此&#xff0c;开源云原生安全工具的需求也越来越大。在本文中&#xff0c;我们将介绍一些流行的开源云原生安全工具&#xff0c;以…...

力扣面试150题—旋转图像和矩阵置零

Day21 题目描述 思路 矩阵转置 在将列反转 1 2 3 4 5 6 7 8 9 转置 1 4 7 2 5 8 3 6 9 反转 7 4 1 8 5 2 9 6 3 class Solution {public void rotate(int[][] matrix) { //分为两步 矩阵转置&#xff0c;将列倒序 int x0; int nmatrix.length; //转…...

ScholarCopilot:“学术副驾驶“

这里写目录标题 引言&#xff1a;学术写作的痛点与 AI 的曙光ScholarCopilot 的核心武器库&#xff1a;智能生成与精准引用智能文本生成&#xff1a;不止于“下一句”智能引用管理&#xff1a;让引用恰到好处 揭秘背后机制&#xff1a;检索与生成的动态协同快速上手&#xff1a…...

Node.js项目开启多进程的2种方案

当node项目只部署一个单进程单实例时,遇到异常发生后程序会崩溃,此时杀掉进程在重启单这段时间会导致服务不能正常使用,这显然会影响用户体验。 所以需要以多进程的模式去部署应用,这样当某一个进程发生异常重启时,此时有其他请求被接受后,其他进程依旧可以对外提供服务…...

论文导读 | 基于GPU的子图匹配算法

摘要 大规模图上的子图匹配在社交网络挖掘&#xff0c;生物信息学&#xff0c;知识图谱等领域具有关键作用。近年来随着以GPU为代表的新硬件的发展&#xff0c;研究人员开始尝试在GPU上实现这一NP难的任务。GPU提供了大量的计算单元和高速的显存带宽&#xff0c;可以显著提升算…...

中天科技旗下的中天智能装备有限公司,在立库方面有哪些优势?

中天科技旗下的中天智能装备有限公司在立库方面优势显著&#xff0c;主要体现在产品与方案、技术研发、项目经验和服务质量管控等多个维度&#xff0c;能够为客户提供全方位、高品质的立库相关服务。 产品与解决方案优势 多种立库解决方案&#xff1a;提供托盘式立库、料箱式立…...

HTML5+CSS前端开发【保姆级教学】+超链接标签

一、引入&#xff1a; Hello&#xff01;&#xff0c;各位编程猿们&#xff01;一个页面可以跳转到其他页面&#xff0c;去访问其他资源&#xff0c;使得我们的文档更加的灵动&#xff0c;那我们如何实现不同页面的跳转呢&#xff1f;本期主要介绍超链接标签 那么什么是超链接…...

【游戏安全】文本校验类风险

文本风险定义: 在游戏中除了动画,声音参与和玩家的交互之外,游戏中的文本也属于和玩家交互中一项重要的元素。由玩家操作触发任何不同于游戏自身逻辑设定,进而破坏游戏平衡的文本内容都可以称之为文本类风险漏洞。(这个定义自己瞎写的…) 文本风险危害(漏洞举例): …...

快速排序及其应用

快速排序及其应用 标准写法改成稳定版本求第k小值O(n)做法快排的另一种写法 标准写法 #include <bits/stdc.h>using namespace std;using ll long long;int a[] {8, 5, 18, 11, 7, 2, 21, 15, 3, 8};void quickSort(int l, int r) {if (l > r) return ; // 元素个数…...

南柯电子|新能源汽车EMC电磁兼容性测试整改:突破行业规范之路

随着新能源汽车产业的蓬勃发展&#xff0c;车辆电子化、智能化程度不断提高&#xff0c;电磁兼容性&#xff08;EMC&#xff09;问题日益凸显。作为衡量汽车电子系统稳定性的关键指标&#xff0c;EMC性能不仅影响车辆功能安全&#xff0c;更关乎道路交通的整体安全性。 一、EM…...

LabVIEW 程序持续优化

LabVIEW 以其独特的图形化编程方式&#xff0c;在工业自动化、测试测量、数据分析等众多领域发挥着关键作用。为了让 LabVIEW 程序始终保持高效、稳定&#xff0c;并契合不断变化的实际需求&#xff0c;持续改进必不可少。下面将从多个关键维度&#xff0c;为大家细致地介绍通用…...

裂缝检测数据集,支持yolo,coco json,pasical voc xml,darknet格式的标注,1673张原始训练集图片,正确识别率99.4%

数据集详情: 裂缝检测数据集,支持yolo,coco json,pasical voc xml,darknet格式的标注,1673张原始训练集图片,正确识别率99.4% 2394总图像 数据集分割 训练集占比 70% 1673图片 有效集20% 477图片 测试集...

Webrtc让浏览器实现无服务器中转的安全私密聊天

私密聊天平台的应用介绍 在当今数字时代&#xff0c;隐私和安全成为人们日益关注的焦点。许多人发现&#xff0c;他们的聊天记录、个人信息甚至行为习惯都可能被第三方平台记录、分析甚至滥用。无论是出于保护个人隐私的需要&#xff0c;还是希望实现真正的点对点直接通信&…...

数据结构-限定性线性表 - 栈与队列

栈和队列是数据结构中非常重要的两种限定性线性表&#xff0c;它们在实际应用中有着广泛的用途。这篇文章将深入讲解栈和队列的概念、抽象数据类型、实现方式、应用场景以及性能分析&#xff0c;并通过代码示例帮助大家更好地理解和实践。 一、栈的概念与抽象数据类型 1.1 栈…...

接口的集成测试步骤

一、集成测试是什么 ‌接口的集成测试‌是指在软件开发过程中&#xff0c;将各个模块或组件按照设计要求组合在一起&#xff0c;并测试它们之间的接口是否能够正确交互和协同工作的过程。集成测试是软件开发中的一个重要阶段&#xff0c;通常在单元测试之后进行&#xff0c;目的…...

Python 实现的运筹优化系统数学建模详解(多目标规划模型)

一、引言 在数学建模的广阔领域中&#xff0c;多目标规划模型占据着极为重要的地位。它致力于在复杂的实际场景里&#xff0c;同时优化多个相互冲突的目标&#xff0c;寻求一组决策变量&#xff0c;让多个目标函数在满足特定约束条件下达到某种平衡。这种模型广泛应用于生产调度…...

AJAX原理与XMLHttpRequest

目录 一、XMLHttpRequest使用步骤 基本语法 步骤 1&#xff1a;创建 XHR 对象 步骤 2&#xff1a;调用 open() 方法 步骤 3&#xff1a;监听 loadend 事件 步骤 4&#xff1a;调用 send() 方法 二、完整示例 1. GET 请求&#xff08;带查询参数&#xff09; 2. POST 请…...

css中的3d使用:深入理解 CSS Perspective 与 Transform-Style

在前端开发的奇妙世界中&#xff0c;CSS 不仅负责页面的布局和样式&#xff0c;还能赋予元素生动的动态效果。要实现引人入胜的 3D 变换&#xff0c;perspective 和 transform-style 这两个属性扮演着至关重要的角色。本文将带您深入了解这两个属性&#xff0c;揭开它们如何协同…...

在 JMeter 中,Active Threads Over Time 是一个非常有用的监听器(Listener)

在 JMeter 中,Active Threads Over Time 是一个非常有用的监听器(Listener),它可以帮助你实时观察测试过程中活跃线程数(并发用户数)的变化趋势,从而分析系统的并发处理能力和负载情况。 1. Active Threads Over Time 的作用 实时监控并发用户数:显示测试过程中活跃线程…...

未来七轴机器人会占据主流?深度解析具身智能方向当前六轴机器人和七轴机器人的区别,七轴力控机器人发展会加快吗?

六轴机器人和七轴机器人在设计、功能和应用场景上存在明显区别。六轴机器人是工业机器人的传统架构&#xff0c;而七轴机器人则在多自由度和灵活性方面进行了增强。 本文将在理解这两者的区别以及为何六轴机器人仍然是市场主流&#xff0c;从多个方面进行深入解读六轴和七轴区…...

spark-SOL简介

Spark-SQL简介 一&#xff0e;Spark-SQL是什么 Spark SQL 是 Spark 用于结构化数据(structured data)处理的 Spark 模块 二&#xff0e;Hive and SparkSQL SparkSQL 的前身是 Shark&#xff0c;Shark是给熟悉 RDBMS 但又不理解 MapReduce 的技术人员提供的快速上手的工具 …...

【今日三题】经此一役小红所向无敌(模拟) / 连续子数组最大和(动态规划) / 非对称之美(贪心)

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;每日两三题 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 经此一役小红所向无敌(模拟)连续子数组最大和(动态规划)非对称之美(贪心) 经此一役小红所向无敌(模拟) 经此一役小红所向无…...

MYSQL MVCC详解

这里写自定义目录标题 **一、MVCC 解决的核心问题****二、MVCC 的核心实现机制****1. 隐藏字段与版本链****2. Undo Log****3. ReadView&#xff08;一致性视图&#xff09;** **三、MVCC 的可见性判断过程****四、不同隔离级别下的 MVCC 行为****五、MVCC 的优缺点****六、示例…...

Trinity三位一体开源程序是可解释的 AI 分析工具和 3D 可视化

一、软件介绍 文末提供源码和程序下载学习 Trinity三位一体开源程序是可解释的 AI 分析工具和 3D 可视化。Trinity 提供性能分析和 XAI 工具&#xff0c;非常适合深度学习系统或其他执行复杂分类或解码的模型。 二、软件作用和特征 Trinity 通过结合具有超维感知能力的不同交…...

用 Deepseek 写的uniapp血型遗传查询工具

引言 在现代社会中&#xff0c;了解血型遗传规律对于优生优育、医疗健康等方面都有重要意义。本文将介绍如何使用Uniapp开发一个跨平台的血型遗传查询工具&#xff0c;帮助用户预测孩子可能的血型。 一、血型遗传基础知识 人类的ABO血型系统由三个等位基因决定&#xff1a;I…...

展示数据可视化的魅力,如何通过图表、动画等形式让数据说话

在当今信息爆炸的时代&#xff0c;数据的量级和复杂性不断增加。如何从海量数据中提取有价值的信息&#xff0c;并将其有效地传达给用户&#xff0c;成为了一个重要的课题。数据可视化作为一种将复杂数据转化为直观图形、图表和动画的技术&#xff0c;能够帮助用户快速理解数据…...

解决安卓开发“No Android devices detected.”问题

解决安卓开发“No Android devices detected.”问题 ​ 当我们插入移动设备的USB时&#xff0c;却发现这并未显示已连接到的设备 点击右侧的Assistant,根据提示打开移动设备开发者模式并启用USB调试模式,然后发现我们未连接到移动设备的原因是ABD服务的原因 问题确定了&…...

Android13 WIFI调试(rtl8821cs)

一、WiFi框架概述 1、Wi‑Fi 是一种无线通信技术&#xff0c;在 Linux 系统上一般可处于三种工作模式&#xff0c;分别是: STATION、AP、MONITOR。 station &#xff1a;工作sta模式&#xff0c;类比手机主动连网。 ap&#xff1a;工作ap模式&#xff0c;类比手机开热点。 mon…...

Android常见界面控件、程序活动单元Activity练习

第3章 Android常见界面控件、第4章程序活动单元Activity 一. 填空题 1. (填空题)Activity的启动模式包括standard、singleTop、singleTask和_________。 正确答案&#xff1a; (1) singleInstance 2. (填空题)启动一个新的Activity并且获取这个Activity的返回数据&#xff…...

过拟合、归一化、正则化、鞍点

过拟合 过拟合的本质原因往往是因为模型具备方差很大的权重参数。 定义一个有4个特征的输入&#xff0c;特征向量为,定义一个模型&#xff0c;其只有4个参数&#xff0c;表示为。当模型过拟合时&#xff0c;这四个权重参数的方差会很大&#xff0c;可以假设为。当经过这个模型后…...

关于多agent多consumer架构设想

多个agent接入设备 每个agent对接同一个消费队列&#xff0c;非竞争设置&#xff0c;通过判断consumer中的参数如果是发给自己的&#xff0c;则下发&#xff0c;如果不是&#xff0c;则快速跳过。每个消费者接收消息时通过Header中值判断是来着哪个agent服务器的&#xff0c;发…...

国内互联网大厂推出的分布式数据库 的详细对比,涵盖架构、性能、适用场景、核心技术等维度

以下是 国内互联网大厂推出的分布式数据库 的详细对比&#xff0c;涵盖架构、性能、适用场景、核心技术等维度&#xff1a; 一、主流分布式数据库列表 大厂数据库名称类型适用场景发布时间腾讯云TDSQL分布式HTAP金融、电商、游戏、政企2010年阿里云OceanBase分布式HTAP银行核…...

【深度学习】自定义实现DataSet和DataLoader

dataset数据集 作用&#xff1a; 存储数据集的信息获取数据集长度 __len__获取数据集某特定条目的内容 __getitem__ dataloader 数据加载器 作用&#xff1a; 从数据集中随机加载数据, 并拼接为一个 batch实现迭代器, 可以使用时, 迭代获取数据内容 代码实现&#xff1a;…...

spark简介和核心编程

简介 1. Spark-SQL概述&#xff1a;Spark SQL是Spark处理结构化数据的模块&#xff0c;前身是Shark。Shark基于Hive开发&#xff0c;提升了SQL-on-Hadoop的性能&#xff0c;但对Hive的过度依赖制约了Spark发展。SparkSQL抛弃Shark代码&#xff0c;汲取其优点后重新开发&#x…...

47、Spring Boot 详细讲义(四)

六. Spring Boot 与数据库 目录 ​ JDBC 集成 ​ Spring Data JPA ​ MyBatis 集成 ​ 事务管理 1、JDBC 集成 1.1 JDBC简介 1.1.1 定义和作用 JDBC(Java Database Connectivity)是Java中用于与关系型数据库进行交互的API。它为Java程序提供了一个标准的、统一的接口…...

Dify - 整合Ollama + Xinference私有化部署Dify平台(01)

文章目录 总体方案服务器在Ubuntu 20.04上安装Docker更新软件包索引安装一些必要的软件包&#xff0c;以便apt能够通过HTTPS使用仓库&#xff1a;添加Docker的官方GPG密钥设置稳定的仓库再次更新软件包索引从新添加的仓库中安装Docker CE验证Docker是否安装成功&#xff08;可选…...

【RocketMQ】关于RocketMQ配置好了jdk环境变量却一直报需要配置环境变量的问题

正如上图所示&#xff0c;我明明已经配置好了环境变量&#xff0c;也显示配置好了&#xff0c;jdk与我的rocketmq的版本也是适配的&#xff0c;可每次启动namesrv和broker却一直显示要去配置环境变量&#xff0c;其实很简单&#xff0c;配置环境变量时特殊符号会影响路径查找&a…...

【信息系统项目管理师】高分论文:论信息系统项目的范围管理(投资信息化全流程管理项目)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 1、规划范围管理2、收集需求3、定义范围4、创建wbs5、确认范围6、控制范围2018年2月,我有幸参加了 XX省自贸区财政投资信息化全流程管理项目的假设,作为项目发起单位,省自贸办经过审时度势,及时响应国家自贸…...

Jmeter创建使用变量——能够递增递减的计数器

Jmeter创建使用变量——能够递增递减的计数器 如下图所示&#xff0c;创建一个 取值需限定为0 2 4这三个值内的变量。 Increment&#xff1a;每次迭代后 递增的值&#xff0c;给计数器增加的值 Maximum value&#xff1a;计数器的最大值&#xff0c;如果超过最大值&#xff0…...

数据分析不只是跑个SQL!

数据分析不只是跑个SQL&#xff01; 数据分析五大闭环&#xff0c;你做到哪一步了&#xff1f;闭环一&#xff1a;认识现状闭环二&#xff1a;原因分析闭环三&#xff1a;优化表现闭环四&#xff1a;预测走势闭环五&#xff1a;主动解读数据 数据思维&#xff1a;WHY-WHAT-HOW模…...

批量将文件夹名称、文件夹路径提取到 Excel 清单

在日常工作中&#xff0c;管理大量文件夹和文件路径可能变得十分繁琐。无论是在进行文件整理、备份还是数据分析时&#xff0c;提取文件夹的名称与路径信息&#xff0c;能够帮助你更高效地管理文件。本文将为您提供如何快速提取文件夹名称与路径&#xff0c;并将这些信息整理到…...