如何衡量字符串的复杂度?

2024-05-22

我有一些长字符串(~ 1.000.000 个字符)。每个字符串仅包含定义字母表中的符号,例如

A = {1,2,3}

示例字符串

string S1 = "1111111111 ..."; //[meta complexity] = 0
string S2 = "1111222333 ..."; //[meta complexity] = 10
string S3 = "1213323133 ..."; //[meta complexity] = 100

Q我可以使用什么样的措施来量化这些字符串的复杂性?我可以看到 S1 没有 S3 复杂,但如何从 .NET 以编程方式做到这一点?任何算法或指向工具/文献的点都将不胜感激。

Edit

我尝试了香农熵,但事实证明它对我来说并没有多大用处。我也会有同样的H这些序列的值AAABBBCCC and ABCABCABC and ACCCBABAB and BBACCABAC


This is what I ended up doing https://stackoverflow.com/a/12116265/706456

使用标准技术(例如 zip)压缩字符串可以很好地表明复杂性。

良好的压缩率 ≈ 较低的复杂度
不好的压缩率 ≈ 更高的复杂度

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

如何衡量字符串的复杂度? 的相关文章

  • 使用空值初始化枚举

    如何创建具有空值的枚举 ex public enum MyEnum StringValue X MyX StringValue Y MyY None 其中 None 值为 null 或 String Empty 你可以尝试这样的事情 pub
  • 自动跟踪算法

    我正在尝试写一个simple跟踪例程来跟踪电影中的某些点 本质上我有一系列 100 帧长的电影 在黑暗背景上显示一些亮点 我每帧有大约 100 150 个点 它们在电影的过程中移动 我想跟踪它们 所以我正在寻找一些有效的 但可能不会过度实施
  • Visual Studio 多个启动项目之间存在延迟?

    如何在解决方案中的启动项目之间添加一些延迟 我希望客户端项目在启动 WindowsService 后 2 3 秒后启动 为什么我需要这个 WindowsService运行socket服务器 Client运行socket来连接服务器 Wind
  • 安装了哪个版本的 .NET Core SDK

    如何知道安装了哪些版本的 NET Core SDK 我如何知道正在使用哪一个 dotnet version 显示正在使用的版本 dotnet list sdks 列出已安装的版本 需要 NET Core SDK 2 1 及更高版本 另请参见
  • Python Pandas:沿一列比较两个数据帧,并返回另一个数据帧中两个数据帧的行内容

    我正在处理两个 csv 文件并作为数据框 df1 和 df2 导入 df1 有 50000 行 df2 有 150000 行 我想将 df2 的 时间 与 df1 求时间差并返回所有列的值 对应相似的行 保存在df3中 时间同步 例如 35
  • 在 Windows 窗体应用程序 (.net) 中单击图像的 X/Y 坐标

    有没有办法知道在 FORMS 应用程序中单击了哪些 x y 坐标 看看鼠标事件参数 http msdn microsoft com en us library system windows input mouseeventargs memb
  • 转换BitmapImage后内存未释放

    我遇到以下 C 测试 代码的问题 public static void TestBitmap2ByteArray BitmapImage bitmap JpegBitmapEncoder encoder new JpegBitmapEnco
  • 服务具有零个应用程序(非基础设施)端点

    我最近创建了一个WCF服务 dll 和一个服务主机 exe 我知道我的 WCF 服务工作正常 因为我能够成功地将服务添加到 WcfTestClient 但是 当我从服务主机 exe 使用 WCF 时 我似乎遇到了问题 我可以将对 WCF d
  • 使用 ITextsharp 将 Html 导出为 PDF

    我已经尝试了下面的代码 我也遇到了错误 我正在使用最新的 DLL String strSelectUserListBuilder h1 My First Heading h1 p My first paragraph p String ht
  • 用于查找字符串差异的位运算

    我的以下字符串试图找出两个字符串之间的差异 但当它迭代字符串的长度时 速度非常慢 include
  • 如何正确复制/克隆结构?我应该使用一个类吗?

    假设我有那个 Structure myStruct Public myPoint As Point Public myBool As Boolean End Structure 如何复制 克隆该结构 我现在解决了这个问题 我使用的代码示例
  • 从 C# 检测 powerpoint 形状上的事件

    是否有可能检测在 Powerpoint 形状 例如箭头 上发生的事件 到目前为止 我发现唯一的可能性是 selectitemchanged beforerightclick 和 beforedoubleclick 但无法找到检测其他内容的方
  • 为什么 IsAssignableFrom() 不适用于 int 和 double?

    这是错误的 typeof double IsAssignableFrom typeof int 这是错误的 typeof int IsAssignableFrom typeof double 但这有效 double a 1 0 int b
  • System.Drawing.Image.Save 抛出ExternalException:GDI 中发生一般错误

    我有一个函数 它需要一个位图 复制它的一部分并将其保存为 8bpp tiff 结果图像的文件名是唯一的并且文件不存在 程序有权写入目标文件夹 void CropImage Bitmap map Bitmap croped new Bitma
  • IL 的仿制药?

    是否可以在 IL 生成器中使用泛型 DynamicMethod method new DynamicMethod GetStuff typeof int new Type typeof object ILGenerator il metho
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 运行 t4 脚本作为 resx 文件的自定义工具

    我有一个资源文件MyResource resx 我想改变MyResource Designer cs文件生成 我有一个 t4 脚本 它接受 resx 文件作为输入并给出结果转换 但是 我必须手动运行此 t4 才能使其工作 我看到 resx
  • 不使用 length() 方法的字符串长度[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何在不使用字符串的情况下找到字符串的长度length String类的方法 str toCharArray length应该管用 或者怎么
  • StreamReader,C#,peek

    我有一个 StreamReader 它偶尔会检查它是否有更多内容可以从简单的文本文件中读取 它使用 peek 属性 问题是 当我使用 peek 时 位置发生了变化 尽管不应该发生 FileStream m fsReader new File
  • 该组件没有由 uri 标识的资源

    我想创建一个通用数据网格以在我的所有视图 用户控件上使用 这是我的结构 Class Library called Core Class called ViewBase public class ViewBase UserControl pu

随机推荐

  • ASP MVC 3 RequireHttps 属性将所有链接更改为 https

    我有一个 ASP MVC 3 网站 其中包含反馈表并且应该需要 SSL 现在 我在名为 ContactUs 的控制器内有一个名为 反馈 的操作 负责查看和处理反馈 当我使用 RequireHttps 该操作上的属性 效果很好 并将 URL
  • Flask SQLAlchemy 无法在 venv 中设置属性错误[重复]

    这个问题在这里已经有答案了 我正在学习身份验证功能Flask SQLAlchemy 因此构建非常基本的应用程序 用户 属性 姓名 电子邮件和密码 能够注册和登录 重定向到虚拟个人资料页面 仅此而已 令人费解的行为是 如果我使用虚拟环境 我所
  • 如何让 TypeScript 从 node_modules 捆绑第 3 方库?

    我想要使 用 TypeScript 编译器node modules firebase firebase d ts检查我的代码并捆绑node modules firebase firebase js到我从 firebase 导入内容的一些文件
  • 将多个 Future[Seq] 连接成一个 Future[Seq]

    如果没有 Future 这就是我将所有较小的 Seq 组合成一个大 Seq 的方式flatmap category getCategoryUrlKey id Int Seq Meta main method val appDomains S
  • Python for ios解释器[重复]

    这个问题在这里已经有答案了 可能的重复 iOS 上的 Python 或 Ruby 解释器 https stackoverflow com questions 4772591 python or ruby interpreter on ios
  • 实体类型处于“影子状态”意味着什么?

    在我的 ASP NET Core 1 0 MVC6 EF7 Web 应用程序中 我添加了一个迁移 该迁移添加了新的相关表 和相应的模型 我有以下模型快照 DbContext typeof ApplicationDbContext parti
  • nginx上传client_max_body_size问题

    我正在运行 nginx ruby on rails 并且有一个简单的多部分表单来上传文件 一切正常 直到我决定限制要上传的文件的最大大小 为此 我设置了 nginxclient max body size to 1m 1MB 并且当该规则被
  • 如何诊断和修复 git fatal: 无法读取树

    我在用着git管理项目上的文件 并不断遇到这个问题 当我跑步时git status我收到消息 fatal unable to read tree e2d920161d41631066945a3cbcd1b043de919570 据我了解 我
  • 检查SQS队列是否为空的有效方法

    我有一个SQS Queue多个主机从中读取消息 我想在处理队列中的所有消息后运行一些作业 业务逻辑 如何检查队列是否为空 是的 我可以检查ApproximateNumberOfMessages and ApproximateNumberOf
  • 比较 jdbc 中的结果集

    在我的java代码中 我获得了两个结果集rs1和rs2 如下所示 rs1 statement executeQuery select from tableA rs2 statement executeQuery select from ta
  • 如何使用 C# 了解 Excel 中的分页符 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 C 创建并格式化 Excel 电子表格 因此我需要格式化 合并单元格 更改字体等 直到第一页的最后 如何知道 Excel 电子
  • 关于*多键*外连接的默认/填充值

    注意 下面的帖子是 多键 对应的先前的问题 https stackoverflow com q 39748976 559827我的 先前问题的解决方案仅适用于连接位于单个键上的情况 并且我不清楚如何将这些解决方案推广到下面介绍的多键情况 因
  • 具有默认值artifactID的Maven原型属性

    我想创建一个使用要创建的参数的原型 坚果我不知道以这种方式创建的参数是否正确
  • 多次调用方法的 Python Mock 对象

    我正在测试一个类 它具有另一个类的依赖项 该类的实例被传递给 CUT 的 init 方法 我想使用 Python Mock 库来模拟这个类 我所拥有的是这样的 mockobj Mock spec MyDependencyClass mock
  • 使用 CSS 的样式选择选项

    我正在尝试使用 CSS 设置选择选项列表的样式 我希望列表的时间之间有更多的填充 因为它们似乎被压在一起 我尝试向选项元素添加填充 但这似乎不起作用 有任何想法吗 这是我的代码 HTML
  • 如何将 .env 文件变量传递给 webpack 配置?

    我是 webpack 的新手 几乎完成了所有构建部分 但现在的问题是我想将环境变量从 env 文件传递 到 webpack 配置 以便我可以通过以下方式将该变量传递到我的构建文件webpack DefinePlugin plugin 目前我
  • 更新 Visual Studio 2017 15.6.2 时出错

    我试图将 VS 2017 更新到 15 6 2 版本 像往常一样 VS 要求我更新安装程序 但是安装程序更新失败 现在 当我尝试再次启动 VS 更新时 收到以下错误消息 加载 vs installershell exe 时出错 主题中不存在
  • 如何从 data.frame 中删除列?

    不是 你怎么 但更多的是 你怎么 如果有人给你一个包含 200 列的文件 并且你想将其减少到分析所需的少数列 你会如何做呢 一种解决方案是否比另一种解决方案更有优势 假设我们有一个包含列 col1 col2 到 col200 的数据框 如果
  • R 中的“右”滚动平均值和“左”滚动平均值是什么?

    如果我想计算之前的n意味着年份滞后于当年 我将如何实现这一点 它像 右 滚动平均窗口一样简单吗 或者它是一个 左 滚动平均窗口 我不确定这里使用哪个窗口 样本数据 set seed 1234 dat lt data frame year c
  • 如何衡量字符串的复杂度?

    我有一些长字符串 1 000 000 个字符 每个字符串仅包含定义字母表中的符号 例如 A 1 2 3 示例字符串 string S1 1111111111 meta complexity 0 string S2 1111222333 me