论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
物联网
›
物联网
›
《重生到现代之从零开始的数据结构生活》—— 复杂度 ...
《重生到现代之从零开始的数据结构生活》—— 复杂度 ...
勿忘初心做自己
论坛元老
|
2024-10-8 09:35:34
|
显示全部楼层
|
阅读模式
楼主
主题
1718
|
帖子
1718
|
积分
5154
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
媒介
进入代码天下已经有一阵了,C语言学的差不多了计划看看数据结构
以前都没想过我能学到这嘞哈哈哈哈
所以,《重生到现代之从零开始的数据结构生活》开始啦
数据结构
我们天天说数据结构怎么怎么了,那什么是数据结构你知道吗
数据结构(Data Structure)是计算机存储、组织数据的⽅式,指相互之间存在⼀种或多种特定关系的数据元素的聚集
这么说可能有点抽象了,但是如果举一个例子:int arr[3]={0};不就是数据元素的聚集吗,没错,他就是数据结构的一种,不过我们会有很多更为复杂的情况,只要这种简单的肯定是不够的,这就是我们学习数据结构的缘故起因
算法
算法(Algorithm):就是定义精良的计算过程,他取⼀个或⼀组的值为输⼊,并产⽣出⼀个或⼀组值作为 输出。简单来说算法就是⼀系列的计算步骤,⽤来将输⼊数据转化成输出结果。
简单来说就是我们写的每一个成熟的代码,都是某种算法
但是我对他的相识也不深,所以只能解说到这了
复杂度
之前在牛客上面刷题的时候,我写的代码就经常和讨论区的不一样
我的代码就会很复杂,逻辑也会很冗杂
但是当时的我并不care,想着把题目完成就行了,管他这么多,反正又不是我算
等到我打开一些对复杂度有要求的的题的时候我就懵了
不是哥们,我咋写代码你也管啊
至于那他怎么管,用什么管,管的标准是什么
让我们看看复杂度吧
算法在编写成可执⾏程序后,运⾏时需要耗费时间资源和空间(内存)资源 。因此衡量⼀个算法的好坏,⼀般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。
时间复杂度
重要衡量⼀个算法的运⾏快慢,⽽
空间复杂度
重要衡量⼀个算法运⾏所需要的额外空间
实在从开始我说的大家也能看出来,有很多的地方都有在使用复杂度这一概念
在时间复杂度和空间复杂度中,由于现代科技的发达,让我们对空间的要求没有这么高,所以,复杂度根本指的就是时间复杂度
时间复杂度
在计算机科学中,算法的时间复杂度是⼀个函数式T(N),它定量描述了该算法的运⾏时间
实际上空间复杂度是在描述程序的时间服从
,因为没有固定的时间,运行的时间可能会随着环境,cpu,内存等因素改变,所以重要算的就是运行的服从
时间复杂度的计算
计算复杂度的时候,我们不能精确的算出来程序实验的次数,因为很贫苦,所以我们只需要算出大概的实验次数然后比较他们实验次数的量级就行了
实验次数就是程序运行了多少次,程序没运行一次都算
复杂度的表⽰通常使⽤⼤O的渐进表现法
大O的渐进表现法
⼤O符号(Big O notation):是⽤于描述函数渐进⾏为的数学符号
大O的规则
时间复杂度函数式T(N)中,只保存最⾼阶项,去掉那些低阶项,因为当N不断变⼤时, 低阶项对结果影响越来越⼩,当N⽆穷⼤时,就可以忽略不计了
如果最⾼阶项存在且不是1,则去除这个项⽬的常数系数,因为当N不断变⼤,这个系数 对结果影响越来越⼩,当N⽆穷⼤时,就可以忽略不计了
T(N)中如果没有N相关的项⽬,只有常数项,⽤常数1取代所有加法常数
举个例子
void Func2(int N)
{
int count = 0; //1(后面的数字就是运行的次数)
for (int k = 0; k < 2 * N ; ++ k)
{
++count; //2n
}
int M = 10; //1
while (M--)
{
++count;//10
}
printf("%d\n", count);//1
复制代码
T (N) = 2N + 13
但是根据大O渐进表现法来看
时间复杂度就是:O(N)
这就是时间复杂度计算的过程
本日的知识解说完啦,如果觉得有效可以点一下赞和关注,也可以先收藏以防需要时找不到哦,当然如果作者写的哪里有题目欢迎指出,我们一起进步!!!
祝看到这里的人天天开心哦(笔芯)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
勿忘初心做自己
论坛元老
这个人很懒什么都没写!
楼主热帖
新一代企业级安全OneDNS
记一次有意思的业务实现 → 单向关注是 ...
集合论第6-8章
将git仓库从submodule转换为subtree ...
DNS协议
redis 工具类
SignalR 2 与mvc 5实现实时聊天功能 ...
Python 开发 漏洞的批量搜索与利用.(G ...
反射 p1 反射机制
数字工厂介绍
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
网络安全
中间件
SQL-Server
人工智能
虚拟化与私有云
开源技术
Oracle
快速回复
返回顶部
返回列表