Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >什么时候一个代码被认为是紧凑的,它如何提高代码的效率?

什么时候一个代码被认为是紧凑的,它如何提高代码的效率?
EN

Software Engineering用户
提问于 2013-08-30 09:18:27
回答 2查看 2.2K关注 0票数 3

我已经读过很多次,插入排序具有严格的代码,因此其渐近复杂性中隐藏的常数因子较小。我昨天刚刚读到,快速排序有紧凑的代码,就像插入排序,所以它也有较小的隐藏常数因子。这是在O(n lg n)排序算法中被认为是最好的原因之一。

当有人说这个算法的代码很紧时,我不明白这意味着什么。这到底意味着什么?它如何提高算法的效率(渐近复杂性中较小的隐藏常数因子)?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2013-08-30 09:40:56

当一个算法被指定为大O(如O(n log n) )时,它将告诉您该算法将如何扩展;也就是说,当您将n的大小增加到一个大的数字时,它的性能将如何。

假设我有一个算法,就是数据集上的O(n)。这意味着代码中有一个循环在某个地方执行n次数,对数据集中的每个元素执行一次。执行需要多长时间?假设循环的每一次迭代所需的时间都是相同的,则需要花费的时间。

男*n

其中m是处理数据集中的一个元素所需的时间。

很明显,如果m更高,处理数据集将需要更长的时间。大O根本不处理这个时间;它只声明(在本例中),该算法将线性地缩放为数据集大小的函数。

因此,“紧循环”只是一个具有较小m的循环。

这是书中提到的“隐藏不变因素”。减少m会提高效率,因为m中的任何改进都将乘以整个数据集。

票数 12
EN

Software Engineering用户

发布于 2013-08-30 10:00:08

紧密的代码是非常高效的源代码,因为它用最少的资源和没有多余的代码来完成任务。

我想在C#中显示1和3的总和。程序1通过严格的代码来完成这项任务。程序2没有。

方案1:

代码语言:javascript
运行
AI代码解释
复制
class Program
{
    static void Main(string[] args)
    {
        Console.Write(4);
    }
}

方案2:

代码语言:javascript
运行
AI代码解释
复制
class Program
{
    static void Main(string[] args)
    {
        var myAdder = new Adder();
        Console.Write(myAdder.GetSum());
    }
}

class Adder
{
    public Adder()
    {
        this.FirstOperand = 1;
        this.SecondOperand = 3;
    }

    public int FirstOperand { get; set; }
    public int SecondOperand { get; set; }

    public int GetSum()
    {
        return this.FirstOperand + this.SecondOperand;
    }
}
票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/209999

复制
相关文章
小视频动效揭秘
现在最轻松的打发时间的方式莫过于短视频应用了,应用商店里各种短视频App给大家带来了许多新奇有趣的内容。
Player 1
2019/12/12
8810
小视频动效揭秘
学习音视频技术要看什么书?世界读书日图书推荐
 点击上方“LiveVideoStack”关注我们 世 界 读 书 日 世界读书日(World Book Day),也被称为世界图书和版权日,是联合国教科文组织为促进阅读、出版和推进版权保护而设立的节日,在每年的4月23日进行庆祝。之所以将世界读书日设立在4月23日,是因为这一天也是英国文学巨匠莎士比亚、西班牙伟大作家塞万提斯以及秘鲁伟大的编年史家印卡·加西拉索·德拉维加的辞世纪念日。 每年的读书日,来自世界各地的爱书之人都会以不同的方式庆祝这个节日,比如组织读书会一起阅读一本好书、打扮成文学作品中的人物、
LiveVideoStack
2022/04/22
1.3K0
学习音视频技术要看什么书?世界读书日图书推荐
推荐视频:gameboy
这个视频太棒啦!!!简直是应该作为游戏入门课的一个视频!讲了任天堂时代GameBoy的内核构成和基本渲染技巧,包括且不限于:
radaren
2018/08/28
5410
短视频推荐视频时长bias问题
短视频(比如快手、抖音和视频号等)日益成为人们日常生活中最重要娱乐方式。短视频推荐需要解决的一个基础问题是,如何准确地预估用户对某个视频的观看时长。观看时长建模的精准度一定程度反映了推荐的质量,对提升用户粘性意义重大。
炼丹笔记
2022/10/27
4.9K0
短视频推荐视频时长bias问题
推荐一款神器在线GIF动图制作
小编收集了多款非常好用的在线工具,可能你已经开始在用了,可能你还不知道它的存在 。如果你已经在用了,说明你很有远光,好用的工具将大大提高我们平时的工作效率 。
程序员小猿
2021/01/18
1.1K0
推荐一款神器在线GIF动图制作
用Python轻松搞定视频转gif动图
不知道大家是不是有过类似的经历,在看视频的时候觉得某段非常有意思想弄成动图,但是无从下手!或可以在网上找一些在线工具但是多多少少需要付费或者带有水印之类的,那么!?
可以叫我才哥
2022/04/12
1.1K0
用Python轻松搞定视频转gif动图
推荐一款神器在线GIF动图制作
小编收集了多款非常好用的在线工具,可能你已经开始在用了,可能你还不知道它的存在 。如果你已经在用了,说明你很有远光,好用的工具将大大提高我们平时的工作效率 。 现在动态图是越来越多了,今天推荐给大家一
Rookie
2018/07/02
1.7K0
世界读书日之际推荐几本书
电影《卡萨布兰卡》里有一句话:“你现在的气质里,藏着你走过的路,读过的书和爱过的人”,那么你想培养自己的的气质吗。
王新栋
2019/06/24
3930
音视频书籍推荐!
前言: 大家好,今天给大家推荐一些音视频相关书籍! 一:音视频编解码 《深入理解视频编解码技术:基于H.264标准及参考模型》 《新一代视频压缩编码标准-H.264_AVC(第二版)》 《基于H.264的视频编/解码与控制技术》 《FFmpeg从入门到精通》 《WebRTC权威指南》 《现代电视原理》《数字电视广播原理与应用》 《FFmpeg从入门到精通 FFMPEG视音频编解码基础书籍 》《ffmpeg基础库编程开发》 《音视频开发进阶指南:基于Android与iOS平台的实践》 《视频编解码技术原理
用户6280468
2022/03/21
3.6K0
音视频书籍推荐!
mac视频录制工具推荐[通俗易懂]
AVAide Screen Recorder for Mac是一款mac视频录制工具,可帮助用户可以选择录制整个屏幕或自定义区域,支持声音的同步录制,以 1080p 等高清质量以高达 60 fps 的速度录制屏幕活动、视频和游戏。
全栈程序员站长
2022/07/05
1.4K0
mac视频录制工具推荐[通俗易懂]
轻松剪辑视频:开源视频处理工具推荐
这些开源视频编辑器在用户界面友好性和功能性方面做出了突出贡献。无论您是新手还是专业人士,这些项目都提供了直观的工具和功能,使您能够轻松地进行视频编辑和制作。它们支持多种平台,具有处理高清、4K甚至8K视频的能力,并提供了丰富的音频效果和过渡效果。选择这些项目,您将能够以高质量和专业的方式编辑您的视频。
小柒
2023/08/10
4910
轻松剪辑视频:开源视频处理工具推荐
大会推荐:6月10日、11日GMTC全球大前端技术大会
经常关注 GMTC 全球大前端技术大会的同学应该会发现,今年的 GMTC 没有单独策划 Flutter 和小程序相关的专题了,跟跨端这一主题相关的,只保留了一个跨端技术专题,关注 React Native 新架构的落地,也关注 Kotlin、WebAssembly 如何在跨端中发挥作用,以及其他跨端的新思路。 看到这里,你也许会有几个问题想要问我们。 第一个问题,为什么没有 Flutter、小程序了?是它们不火了吗?不,是它们暂时没有大的更新了。 Google 近期的动作,大多是对之前的 Flutter
ThoughtWorks
2022/05/17
1.4K0
大会推荐:6月10日、11日GMTC全球大前端技术大会
世界读书日,推荐几本专业书籍
一、Verilog是必学的语言,一般只关心可综合的部分。这部分是硬件思维,是用来搭电路的。写代码要考虑综合出来的电路是什么样子。这是与软件最大的区别。
ExASIC
2022/04/28
5430
世界读书日,推荐几本专业书籍
如何破解YouTube视频推荐算法
如果你是某个发行渠道(比如电影、戏剧、电视节目、网络视频)的内容工作者,那么内容的成败就取决于发行机制的运转逻辑。比如说,你制作了一档电视节目,你很想它能火起来,那么你就得知道该在哪里切入广告,怎么宣传节目,上哪个频道播放,所选的频道能被多少家庭收看,等等,诸如此类。 如果你的发行渠道是YouTube,那么你最应该搞清楚的是YouTube的算法是怎么工作的。然而,全天下所有由算法来运营的平台,要搞清楚这一点那不是一般的困难。 YouTube没有把他们算法用到的变量公之于众。要搞清楚其算法的运转原理,即使数据
用户1289394
2018/02/28
2.5K0
如何破解YouTube视频推荐算法
cytoscape中文手册推荐(配视频)
我们之前也有过一个专辑:《cytoscape十大插件》,详见:cytoscape十大插件之九 - 转录调控王者 iRegulon,而且在b站有配套视频操作演示,可以任意快进快退的学习它。
生信技能树
2023/09/04
8870
cytoscape中文手册推荐(配视频)
推荐⼀款超好⽤的UI⾃动化⼯具: UiAutomator2!
做过Android自动化测试的同学想必都知道,最开始用的UiAutomator是Google提供的⽤来做安卓⾃动化测试的⼀个Java库,基于Accessibility服务,功能强⼤,但仅⽀持Java语⾔,并原生框架一开始并不⽀持Python。
测试开发技术
2022/09/28
8890
活动推荐 | 全球AI技术开放日,7月14日上海(含优惠码)
全球AI技术开放日,是由AICamp发起的学习和练习AI技术的一系列交流学习活动。组织国内外AI专家学者走进优秀的AI技术公司,一起交流学习AI技术具体实践。 7月14日走进携程专场,将探索携程在线旅游业务背后的AI大脑。由来自硅谷和携程的讲师围绕相关业务发展过程中遇到的问题和解决方案展开,从技术挑战与选型、架构设计与阶段性演进、新技术应用探索等多个层面进行分享。 活动信息 ---- 【时间】7月14日(周六)12:30-17:00 【地点】上海市长宁区金钟路968号,凌空SOHO12号楼 【报名】点击文
携程技术
2018/07/05
1.3K0
推荐系统——(论文阅读笔记)YouTube的视频推荐系统
《The YouTube video recommendation system》是一篇详细介绍YouTube视频推荐的论文,在整个系统中没有复杂的算法,使用了一些简单有效的策略,这也符合工业界的应用,在工业界,为了考虑算法复杂度,数据量,可维护性等等一些因素,在工业界中,通常会选择一些简单有效的方法。
felixzhao
2022/03/04
1.8K0
推荐系统——(论文阅读笔记)YouTube的视频推荐系统
世界读书日,推荐几本我读过的好书
首先说 Go 语言相关的书,最近两年 Go 比较火,出版社肯定也是紧跟热点出了好几本书。这里真心推荐两本,有这两本我觉得就够了。
KevinYan
2022/05/23
4710
学习Java好书及视频推荐
要想在java领域成为大牛,除了不断进行项目实战以外,还要不断的进行进修和学习,以下将本人学习java多年使用的好书和一些好的视频推荐给大家,这些书和视频都是本人在网络找了很久,后来又经过实践证明的好书和视频。希望对大家学习java有帮助
全栈程序员站长
2022/09/07
7410

相似问题

将一系列MR case转换为numpy数组

121

将numpy数组类型: float32转换为char

12

如何将numpy数组从numpy.int64转换为datetime?

10

将numpy数组转换为numpy数组

26

如何将一系列数组转换为二维numpy数组

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档