顺序表小补充

1. 时间复杂度

我们顺序表在插入和删除元素的时候,时间复杂度又该怎么变化呢?

1.1 插入的时间复杂度

这里我们使用的就是位序,我们以后遇到一定要记得位序是从1开始的;顺序表的插入我们可以分为最好,最坏,平均情况,平均情况的时间复杂度也是O(n)。

1.2 删除的时间复杂度

我们再删除的时候,删除的概率是1/n,因为我们一共有n个元素,那我们可以插入的地方就有n+1个这就是为什么我们插入的概率是1/(n+1)。

1.3 查找的时间复杂度

1.3.1 下标查找的时间复杂度

我们可以直接找到下标下的值。

1.3.2 按值查找的时间复杂度

像这种时间复杂度我们知道怎么做到就很好算了,我们前面的按值找查找就是使用一个简单的循环,一层循环时间复杂度就是O(n)。

2. opencode完成unit testing(单元测试)

我们在需要进行单元测试的路径下打开opencode,询问一下单元测试有啥用。

单元测试是对软件中最小可测试单元(函数、方法、类)进行验证的自动化测试。每个测试独立验证一个功能单元在给定输入下是否产生预期输出。

我们做单元测试就是对我们的代码进行查漏补缺,可以帮我们优化自己的代码。

但是我们在做单元测试的时候,又可以定义使用那种框架来测试。

我们让它来推荐一种框架,我们使用那个框架来进行单元测试。

我们这里选用google的gtest,这个我们后续的数据结构项目也是使用的这个框架进行unit testing,而且这也是公司常用的框架。

执行完成之后,我们要将测试项目先设为启动项目

设为启动项目之后,运行起来就看到测试结果了

如果出现了,红色说明程序有错误,我们同样可以借助opencode来修改我们的程序。

3. opencode实现增删查改菜单功能

我们直接在下项目的路径下,依旧打开opnecode

我们现在Plan的情况下实现程序设计,执行完成之后,如需微调也可以通过这种方式来调整。

4. 总结

我们将opencode用到实际的项目中,这样可以让我们能够更快的上手opencode,并且这里介绍了unit testing单元测试,我们以后在项目中都是要些unit testing 的我们这里可以提前使用了解一下。

相关推荐
wabs6661 小时前
关于二叉树【力扣101.对称二叉树的思考】
数据结构·c++·算法·leetcode·二叉树
LuminousCPP2 小时前
数据结构-排序(五):计数排序与排序专题阶段总结|从外部归并到线性排序,再看算法边界与选型
c语言·数据结构·笔记·算法·排序算法
linx2953 小时前
第七章 · 标准库容器、算法与 ranges
c语言·开发语言·数据结构·c++·算法
Logic1013 小时前
C语言/数据结构位运算题解:异或XOR找出独特数字的索引位置——成对数字在两侧
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
橘子汽水1683 小时前
Leetcode 763,45 划分字母区间 跳跃游戏II
数据结构·算法·leetcode
kiracrimson3 小时前
建堆的两种算法:O(N) 和 O(N log N) 差在哪里
数据结构
天天喝旺仔4 小时前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
Edward The Bunny4 小时前
Leetcode Hot 100
数据结构·算法
xiangyun6116 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法