计算机科学中的 Big-O 表示法有什么大不了的?

2024-02-14

Big-O 表示法对我的日常 C# 编程有何帮助?这只是一个学术练习吗?


Big-O 通过输入的大小来告诉您算法的复杂性。这是基本的如果你想知道算法将如何扩展。如果您正在设计一个大型网站并且拥有大量用户,那么处理这些请求所需的时间就很重要。如果您有大量数据并且想要将其存储在结构中,并且要编写不需要一百万年才能运行的东西,则需要知道如何有效地做到这一点。

这不是 Big-O 表示法itself会帮助你。如果您了解 Big-O 表示法,您就了解了算法最坏情况的复杂性。从本质上讲,Big-O 让您对哪些算法快、哪些算法慢以及需要权衡什么有一个高层次的认识。如果您不理解这一点,我不知道您如何理解 .NET 集合库中的任何内容对性能的影响。

我不会在这里详细讨论,因为这个问题已经被问到了多次 https://stackoverflow.com/search?q=Big+O,但只要说这是你的事情就足够了should理解。这是一个投票率相当高的之前的大O问题 https://stackoverflow.com/questions/107165/big-o-for-eight-year-olds让您开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机科学中的 Big-O 表示法有什么大不了的? 的相关文章

  • python 中的大 O 表示法

    有谁知道有什么学习大符号的好资源吗 特别是学习如何遍历一些代码并能够看到它会是 O N 2 或 O logN 最好能告诉我为什么这样的代码等于 O N log N def complex numbers N len numbers resu
  • 确定递归函数的复杂性(大 O 表示法)

    我明天有计算机科学期中考试 我需要帮助确定这些递归函数的复杂性 我知道如何解决简单的情况 但我仍在努力学习如何解决这些更困难的情况 这些只是我无法解决的一些示例问题 任何帮助将不胜感激 并对我的学习有很大帮助 谢谢 int recursiv
  • 教科书上的长除法如何是 O(n^2) 算法?

    Premise This 维基百科页面 http en wikipedia org wiki Computational complexity of mathematical operations建议 的计算复杂度 教科书 长除法 http
  • C 易失性变量和高速缓存

    缓存是由缓存硬件对处理器透明地控制的 因此如果我们在C程序中使用易失性变量 如何保证我的程序每次都从指定的实际内存地址读取数据而不是缓存 我的理解是 Volatile 关键字告诉编译器不应优化变量引用 而应按照代码中的编程方式读取变量引用
  • 这段代码的复杂度是多少? (大O)这是线性的吗?

    for int i 0 i
  • 找出数组中重复的元素

    有一个大小为 n 的数组 数组中包含的元素在 1 到 n 1 之间 每个元素出现一次 只有一个元素出现多次 我们需要找到这个元素 尽管这是一个非常常见的常见问题解答 但我仍然没有找到正确的答案 大多数建议是我应该将数组中的所有元素相加 然后
  • 为什么循环比循环体多执行一次?

    摘自算法教科书的一段话 当 for 或 while 循环以通常的方式退出时 即 由于循环头中的测试 测试的执行次数比循环体多执行一次 因此 例如 一个 for 循环以for j 1 to 3会被执行不是3次 而是4次 问题 为什么这样的循环
  • Big O 用于有限、固定大小的可能值集

    这个问题 https stackoverflow com questions 12305028 java what is the best way to find first duplicate character in a string引
  • 如何求解:T(n) = T(n - 1) + n

    我已经解决了以下问题 T n T n 1 n O n 2 现在 当我解决这个问题时 我发现界限非常松散 我是否做错了什么 或者只是这样 您还需要一个递归关系的基本情况 T 1 c T n T n 1 n 为了解决这个问题 您可以首先猜测一个
  • 带 If 的嵌套 For 循环的时间复杂度

    void f int n for int i 1 i lt n i if i int sqrt n 0 for int k 0 k lt pow i 3 k do something 我的思考过程 执行if语句的次数 sum i 1 to
  • 所有编程语言都是按顺序读取的吗?

    我似乎无法找到对此的直接答案 使用多个搜索引擎给我的结果非常模糊 或者只回答了一半的问题 那么 详细来说 当您编写一个程序并对其进行编译 解释时 计算机是按时间顺序顺序读取每一行还是默认情况下跳过 Example 使用 C 风格的源代码 因
  • 了解嵌套循环将运行多少次

    我试图了解下面的代码中语句 x x 1 作为 n 的函数执行了多少次 for i 1 i lt n i for j 1 j lt i j for k 1 k lt j k x x 1 如果我没记错的话 第一个循环就会被执行n次 还有第二次n
  • 为什么Python中pop()的大O与pop(0)不同[重复]

    这个问题在这里已经有答案了 他们不应该都是O 1 因为从 Python 列表中的任何位置弹出一个元素涉及销毁该列表并在新的内存位置创建一个元素 蟒蛇的list实现使用动态调整大小的 Carray在引擎盖下 删除元素usually要求您移动后
  • 如何解决素数函数的大O表示法?

    我正在尝试理解 Big O 表示法 很抱歉 如果我问的问题太明显了 但我似乎无法理解这一点 我有以下 C 代码函数 我正在尝试为其计算 Big O 表示法 for i 2 i lt 100 i for j 2 j lt i j j if i
  • 为什么《破解编码面试》这个例子的时间复杂度是O(k c^k)?

    该问题来自 破解编码面试 第 6 版 问题 V1 11 以下代码打印长度为 k 的所有字符串 其中字符 是按排序顺序排列的 它通过生成所有长度的字符串来做到这一点 k 然后检查每个是否已排序 什么是运行时间 package QVI 11 P
  • 表达式的大 O 表示法

    如果我有一个需要 4n 2 7n 步才能完成的算法 它的 O 是多少 O 4n 2 O n 2 我知道 7n 被截断 但我不知道是否应该保留 n 2 系数 Thanks 您应该删除任何系数 因为问题实际上是在 按顺序 询问 它试图将其描述为
  • while循环的时间复杂度是多少?

    我正在尝试找出 while 循环的时间复杂度 但我不知道从哪里开始 我了解如何找到 for 循环的复杂性类别 但是当涉及到 while 循环时 我完全迷失了 关于从哪里开始有什么建议 提示吗 这是一个问题的示例 x 0 A n some a
  • Python:通过乘法运算符时间复杂度创建列表

    Python 使用的时间复杂度是多少 a 1 n vs for i in range n a append 1 两者都是 O n 还是第一个 O 1 前者是 O n 因为使用了PyList New http docs python org
  • 单调性和启发式的可接受性之间有什么区别?

    我正在阅读我的人工智能教科书 我很好奇启发式的单调性和可接受性之间有什么区别 我知道它们并不相互排斥 据我所知 可接受的启发式方法仅仅意味着您可以确保获得解决方案的最短路径 如果存在 我正在努力解决的是单调属性的概念 有人可以用我可以理解的
  • 读写器的信号量解决方案:更新读取器计数和等待或发出读/写二进制信号量信号之间的顺序?

    从操作系统概念来看 在解决第一个读者 作者问题时 读者 进程共享以下数据结构 semaphore rw mutex 1 semaphore mutex 1 int read count 0 do wait rw mutex writing

随机推荐

  • 如何将菜单项添加到 iOS 中的共享菜单

    我刚刚开始进行 iOS 开发 但我必须尽早做的事情是向系统菜单添加一个按钮 就像 Dropbox 在与电子邮件附件交互时添加按钮一样 该应用程序将用于视频 因此在共享菜单上为 QuickTime 播放器添加一个按钮将是理想的选择 我浏览了文
  • 使用 HMAC 或 OpenSSL 进行 URL 签名

    我对 url 签名感兴趣 例如 但我有一些要求 但我还没有解决方案 我将使用PHP or Python对于页面 所以我需要能够使用两者之一来签名和验证签名 我的计划是使用 priv pub 密钥方案来签署一些数据 并能够验证签名是否有效 但
  • 在用户因超时注销之前显示一条消息

    我们有一个使用 Devise 进行身份验证的 Rails 4 应用程序 我们想 在用户会话自动过期前 1 分钟向用户发送消息 让用户单击此消息上的按钮以继续他 她的会话 自动将用户发送到登录页面 并在其会话过期时显示一条消息 是否有任何 D
  • 在图片框中运行另一个应用程序

    这是我用来在图片框中运行另一个应用程序的示例代码 Imports System Diagnostics Imports System Runtime InteropServices Public Class Form1
  • Go 中在 EOF 上重新连接 TCP

    我有以下内容 In an init func if logStashHost lsconn err net Dial tcp logStashHost ToLogStash rec lsconn 然后两个函数 func ReadLogSta
  • 解压内容应用内购买ios

    如果进行应用内购买 Apple 托管的内容将以 zip 格式下载 我尝试解压缩这些内容 但提交使用 zipArchive 打开 zip 文件 ZipArchive za ZipArchive alloc init za delegate s
  • 针对类实现 QProgressBar

    我的 PyQt 程序有 2 个小部件 选择文件等 然后是一个显示解析文件结果的主窗口 该程序非常适合小型样本文件 但是当尝试解析较大的文件时 它会挂起 显示 未响应 然后在大约 30 秒左右后显示结果 我想在主窗口打开之前实现一个 QDia
  • 触摸时 ACTION_CANCEL

    我有以下类 它代表一个可触摸的视图并绘制一个滑动条 public class SlideBar extends View private int progress private int max private Paint backgrou
  • PHP COM口与DIO的连接

    我正在尝试用 PHP 连接称重机 我已经用超级终端测试过它工作正常 但是当我使用 PHP 代码时fopen or dio open它被执行但是当fgets or dio read被调用时 它挂起并且不显示任何内容 Fopen 示例 exec
  • 多个按键不起作用

    我在使用时遇到了密钥问题freeglut功能 所有按键都工作正常 除了ctrl alt D 我不知道为什么我做错的事情不起作用 这是代码 include
  • 一张表有多少个字段是正常的?

    好的 我正在创建一个游戏 我有一个表 其中保存了有关会员的大量信息 因此其中有很多字段 一张表有多少个字段是正常的 有关系吗 也许我应该将该信息分成二三四表 你怎么认为 规范化数据库 如果您觉得列太多 您可能有重复组 这建议您应该规范化数据
  • Python 套接字 gethostbyname() 仅返回一个 IP 地址

    我正在使用Python套接字做一些简单的实验 其中我有一个主机名 它用两个IP地址解析 但是当我使用时 socket gethostbyname demo sample com 我只获得一个 IP 地址 为什么会这样显示 有没有其他方法可以
  • 在 WinRT 中选择 XAML 的 ListView 和 GridView

    XAML中的GridView和ListView似乎是同一个控件 开发商如何在两者之间做出选择 GridView 控件通常水平滚动 此外 您还会看到项目之间的一些本机间距大于 ListView 中的间距 之所以存在这种间距 是为了考虑如何在
  • android:从应用程序代码检测应用程序的重新安装

    有没有办法在重新安装应用程序代码时进行检测 我看到可以通过监听广播接收器中的 PACKAGE REPLACED 事件来检测来自市场的应用程序更新 但是 如果从编辑器 eclipse 重新安装应用程序 这些事件不会传递到应用程序 我的要求是禁
  • 快速添加:执行被中断,原因:EXC_BAD_INSTRUCTION(代码= EXC_l386_INVOP,子代码= 0x0)

    我正在尝试在 Swift 中添加两个数字并打印其总和 import Foundation func solveMefirst firstNo Int secondNo Int gt Int return firstNo secondNo l
  • 如何修改log4j JsonLayout字段名称

    我已经使用此配置文件配置了 log4j 2 来编写我的MapMessage控制台
  • C二叉树,如何从树叶创建列表

    我需要建立树中所有叶子的列表例如 我有以下树 6 4 3 1 2 5 7 树节点类型定义 typedef struct treeNode int data struct treeNode parent struct treeNode lef
  • 如何在 Kubernetes 中移除(删除)注解

    有没有什么不同的方法kubectl edit删除 Kubernetes 中的注释 我不喜欢互动性kubectl edit 我更喜欢脚本中可用的东西 使用减号 在注释末尾签名kubectl annotate Example kubectl a
  • 字符串和字符数组之间的区别

    这些声明有何不同 String s MY PROFESSION char c MY PROFESSION 每种情况下的内存分配情况如何 要更正编译错误 请替换为以下内容之一char 陈述 String s MY PROFESSION cha
  • 计算机科学中的 Big-O 表示法有什么大不了的?

    Big O 表示法对我的日常 C 编程有何帮助 这只是一个学术练习吗 Big O 通过输入的大小来告诉您算法的复杂性 这是基本的如果你想知道算法将如何扩展 如果您正在设计一个大型网站并且拥有大量用户 那么处理这些请求所需的时间就很重要 如果