顺序表小补充

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 的我们这里可以提前使用了解一下。

相关推荐
wanderist.9 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
All for pursuit.10 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
程序员清风11 小时前
哈希表:从键值映射到高效查找
数据结构·哈希算法·散列表
Logic10114 小时前
C语言/数据结构字符串题解:最短循环节——找出能重复构成原串的最短基础子串
c语言·数据结构·字符串·枚举·时间复杂度·算法题·kmp优化
垆边人似月.15 小时前
城市连通性(200分 / 并查集)
数据结构·算法·图论
Gust of wind15 小时前
串与KMP模式匹配:存储结构、基本操作、next数组手算
c语言·数据结构·后端·算法
by2099916 小时前
list:迭代器与资源管理实现的综合叙述(下)
数据结构·c++·笔记·list
我不会起名字32216 小时前
二叉树的遍历与二叉搜索树:把递归、迭代、还原树一次讲透
数据结构·leetcode·二叉树·二叉搜索树
yi01117 小时前
DAY22: LeetCode 733:图像渲染——从二维网格开始理解 DFS 和 BFS
数据结构·笔记·python·算法·leetcode·深度优先·宽度优先
今夜有雨.17 小时前
图像运算、掩膜/ROI 与绘制交互
c语言·数据结构·c++·qt·算法·计算机视觉