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

本文主要是介绍数据结构学习/复习1--时间复杂度计算/异或的几个实际用途,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

            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用等差求和得出后减去数组中的数可得缺失的唯一数字

这篇关于数据结构学习/复习1--时间复杂度计算/异或的几个实际用途的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951985

相关文章

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Java 枚举的基本使用方法及实际使用场景

《Java枚举的基本使用方法及实际使用场景》枚举是Java中一种特殊的类,用于定义一组固定的常量,枚举类型提供了更好的类型安全性和可读性,适用于需要定义一组有限且固定的值的场景,本文给大家介绍Jav... 目录一、什么是枚举?二、枚举的基本使用方法定义枚举三、实际使用场景代替常量状态机四、更多用法1.实现接