数据结构学习/复习1--时间复杂度计算/异或的几个实际用途

news2024/11/15 8:02:50

一、什么是数据结构和算法

            1注:在内存中的存储管理数据          

                    2注:解决问题的方法

二、时间复杂度

          1.算法的效率

          2.时间复杂度的概念

    

              计算时间复杂度案例1: 

                  计算时间复杂度案例2:  

                计算时间复杂度案例3:   

                 计算时间复杂度案例4:

                   计算时间复杂度案例5: 

                       计算时间复杂度案例6: 

                       计算时间复杂度案例7: 

                     

                        计算时间复杂度案例8: 

                          计算时间复杂度案例9: 

 

                 大O渐进表示法:

                最好最坏与平均:

                 注意事项1:不建议直接数循环,要看具体算法 

                   

3.常见复杂度对比:

           

三、练习题与回顾

        法1:异或

注意事项:异或等按位运算均针对二进制位

1. **交换两个变量的值**:不使用临时变量,可以通过异或运算来交换两个变量的值。

2. **检查一个数是否是2的幂**:一个数是2的幂当且仅当它的二进制表示中只有一位是1,其余位都是0。通过将该数与`n-1`进行异或运算,如果结果为0,则`n`是2的幂

3. **合并两个排序数组**:在归并排序中,可以使用异或运算来合并两个已排序的数组。
4. **计算一个数组中元素的唯一值**:通过异或运算,可以找出数组中只出现一次的元素,而忽略出现两次的元素。

 5. **实现简单的加密算法**:异或运算可以用于简单的加密和解密操作。通过将明文与密钥进行异或运算得到密文,再用相同的密钥与密文进行异或运算即可得到明文

     法2:公式法

                   注: 将0~n用等差求和得出后减去数组中的数可得缺失的唯一数字

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

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

相关文章

如何将本地Android studio项目上传到GitHub

操作步骤: 1、在GitHub上创建账户 2、在androd studio中添加上述创建的GitHub账号 3、在android studio上找到"share project on GitHub",点击此选项上传当前项目到GitHub 上传成功后,会在GitHub上创建默认仓库repository 注&a…

【R语言数据分析】基本运算与数据导入速查

R语言中命名可以包含英文字母,下划线,数字,点,下划线和数字不能作为名字的开头,点可以开头,但是点开头后面不能跟数字。一般的命名就是只使用英文和下划线就够了。 四则运算 R语言的除法是即使给的两个数…

常用算法代码模板 (2) :数据结构

AcWing算法基础课笔记与常用算法模板 (2) ——数据结构 常用算法代码模板 (1) :基础算法 常用算法代码模板 (2) :数据结构 常用算法代码模板 (3) :搜索与图论 常用算法代码模板 (4) :数学知识 算法基础课 动态规划模板题笔记 算法…

857.雇佣K名工人的最低成本

题目说的其实是有点乱的,所以我们可能抓不住重点,甚至都不太清楚规则,比如 eg. quality[3,1,10,10,1] wage[4,8,200,200,7] 这里是选下标0,1,4 ->单价为8 但是想清楚其实就很easy. 就是 贪心(sort) 优先队列 梳理下我们发现其实要让每个人得到最低期望,就要按照当前最贵…

项目管理-高级项目管理

1.高级项目管理--主要内容 高级项目管理,以下主要从5方面介绍:项目集管理、项目组合管理、组织级项目管理OPM、量化组织管理、项目管理实践模型。 2.具体内容 2.1项目集管理 项目管理绩效域: 包括项目集战略一致性、项目集效益管理、项目集干…

ip地址与硬件地址的区别是什么

在数字世界的浩瀚海洋中,每一台联网的设备都需要一个独特的标识来确保信息的准确传输。这些标识,我们通常称之为IP地址和硬件地址。虽然它们都是用来识别网络设备的,但各自扮演的角色和所处的层次却大相径庭。虎观代理小二将带您深入了解IP地…

【记录】Springboot项目集成docker实现一键部署

公司管理平台完成后,为了方便其他不懂开发的同事部署和测试,集成docker进行一键部署,也为后面自动化部署做准备。本文做个简单记录。 1、安装docker yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/cont…

剃齿和磨齿工艺比较

众所周知,剃齿加工和磨削加工是两种不同的齿轮精加工方法。剃齿是在热处理前进行的(这也是剃齿加工受限的原因),而磨齿是在热处理之后进行的。近几年来,随着机械加工精度的不断提高、数控机床的不断完善以及加工软件的…

软件项目总体测试方案

测试目标:确保项目的需求分析说明书中的所有功能需求都已实现,且能正常运行;确保项目的业务流程符合用户和产品设计要求;确保项目的界面美观、风格一致、易学习、易操作、易理解。 软件全套文档过去进主页。 一、 前言 &#x…

AngularJS 的生命周期和基础语法

AngularJS 的生命周期和基础语法 文章目录 AngularJS 的生命周期和基础语法1. 使用步骤2. 生命周期钩子函数3. 点击事件4. if 语句1. if 形式2. if else 形式 5. for 语句6. switch 语句7. 双向数据绑定 1. 使用步骤 // 1. 要使用哪个钩子函数,就先引入 import { O…

【跟我学RISC-V】(一)认识RISC-V指令集并搭建实验环境

写在前面 现在计算机的体系架构正是发展得如火如荼的时候,占领桌面端市场的x86架构、占领移动端市场的arm架构、在服务器市场仍有一定地位的mips架构、国产自研的指令集loongarch架构、还有我现在要讲到的新型开源开放的RISC-V指令集架构。 我先说一说我的学习经历…

区块链 | IPFS 工作原理入门

🦊原文:What is the InterPlanetary File System (IPFS), and how does it work? 🦊写在前面:本文属于搬运博客,自己留存学习。 1 去中心化互联网 尽管万维网是一个全球性的网络,但在数据存储方面&#…

LeetCode热题100:双指针

283.移动零 题目链接:移动零 题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 解题思路: 创建两…

三种滤波(EKF、UKF、CKF)的对比,含MATLAB源代码

使用MATLAB模拟三维的滤波,包含扩展卡尔曼滤波EKF、无迹卡尔曼滤波UKF、容积卡尔曼滤波CKF。 状态更新和观测更新均为非线性的,模拟一定强度的机动性,可用于卡尔曼滤波方法的对比学习,自己修改成需要的运动模型后,可以用于组合导航(GPS+DVL形式)。 运行结果 真值的三轴…

c#word文档:3.向Word文档中插入表格/4.读取Word文档中表格

--向Word文档中插入表格-- (1)在OfficeOperator项目的WordOperator类中定义向Word文档插入换页的函数NewPage (2)在WordOperator类中定义向Word文档插入表格的函数InsertTable using Microsoft.Office.Interop.Word;// 引入Mic…

不小心格式化固态硬盘之后,数据能恢复吗?小白实测

前言 这段时间突然想到一件事情:固态硬盘一旦坏了,数据恢复的可能性基本上是0。 这件事情是小白自己亲身经历的,所以使用固态硬盘的小伙伴一定要注意数据备份,至少备一份到机械硬盘里,还会稍微可靠一些。 这几天小白…

node.js的常用内置库(1)共128节

我说假如node.js 一路杀出,成为一种后端主要选型的时候,你再次去了解晚么,不晚,但给你的时间肯定不多~😄 跟着我一起开始认识node吧,今日份不多3个API ,加油 1.assert 在 Node.js 环…

水稻病害检测(YOLO数据集,多分类,稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫)

是自己利用LabelImg工具进行手工标注,数据集制作不易,请尊重版权(稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫) 如果需要yolv8检测模型和数据集放在一起的压缩包,可以关注:最新最…

Pandas入门篇(三)-------数据可视化篇3(seaborn篇)(pandas完结撒花!!!)

目录 概述一、语法二、常用单变量绘图1. 直方图(histplot)2. 核密度预估图(kdeplot)3. 计数柱状图(countplot) 三、常用多变量绘图1.散点图(1) scatterplot(2)regplot 散点图拟合回归线(3)jointplot 散点图…

DVWA 靶场命令注入通关解析

介绍 命令注入(Command Injection)是一种常见的安全漏洞,它允许攻击者通过在应用程序中执行恶意命令来获取系统权限或执行非授权操作。 命令注入通常发生在需要将用户输入作为命令执行的地方,例如Web应用程序的输入框、参数传递…