算法的时间复杂度
算法的时间复杂度算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。 那么我们应该如何去衡量不同算法之间的优劣呢? 主要还是从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,有的时候时间和空间却又是「鱼和熊掌」,不可兼得的,那么我们就需要从中去取一个平衡点。 下面我来分别介绍一下「时间复杂度」的计算方式。 常见的时间复杂度量级有: 常数阶 $ O(1) $ 对数阶 $ O(\log{N}) $ 线性阶 $ O(n) $ 线性对数阶 $ O(n\log{N}) $ 平方阶 $ O(n^2) $ 立方阶 $ O(n^3) $ K 次方阶 $ O(n^k) $ 指数阶 $ (2^n)...
提高 C/C++ 网络编程能力的开源项目推荐
提高 C/C++ 网络编程能力的开源项目推荐车牌识别系统 EasyPR 项目简介:EasyPR 是一个中文的开源车牌识别系统,其目标是成为一个简单、高效、准确的车牌识别引擎。相比于其他的车牌识别系统,EasyPR 有如下特点: 它基于 openCV 这个开源库。这意味着你可以获取全部源代码,并且移植到java等平台。 它能够识别中文。例如车牌为 苏EUK722 的图片,它可以准确地输出std:string类型的”苏EUK722”的结果。 它的识别率较高。图片清晰情况下,车牌检测与字符识别可以达到80%以上的精度。 项目地址:https://github.com/liuruoze/EasyPR 高性能中文车牌识别库 HyperLRP项目简介:HyperLRP 是一个开源的、基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP、C/C++、Python语言,Windows/Mac/Linux/Android/IOS...
自主研发国产 CEC-IDE ,数字科技创新产品?
国产 CEC-IDE 明牌换皮开源项目 VSCode 宣称自主研发事件时间线梳理 全国首款支持多环境开发的 IDE —— CEC-IDE 2023-06-20 广东羊城晚报发布文章:6月20日,广东省数字政府科技创新发展论坛在广东大厦举办。论坛上发布了包括“ CEC-IDE ”软件研发工具… 2023-08-24 OSCHINA 发布文章:全国首款支持多环境开发的 IDE —— CEC-IDE 。CEC-IDE 是一款安全、专业且功能强大的集成开发工具。CEC-IDE 以 “做好数字政府创新应用的孵化器和技术管理的总抓手” 为使命,自主研发,提供多种主流语言的开发环境,是国内首款同时支持麒麟、统信、Windows、Mac OS 等多环境的 IDE 工具… 2023-08-25 ...
日本核污水排海
日本在质疑声中宣布 8 月 24 日起核污染水排海,计划排放 30 年,事件缘由东京电力公司24日在临时记者会上宣布,今天的核污染水排放量预计为200到210吨,每天的排放情况将在次日公布。首次排海每天将排放约460吨,持续17天,合计排放约7800立方米核污染水。 据日本共同社,福岛第一核电站的核污染水约有134万吨,2023年度将把约3.12万吨核污染水分4次排放,每次约排放7800吨。根据东电计算,用海水稀释过的核污染水将缓慢流过约1公里的隧道,约1000秒之后抵达大海。根据计划,排海时间至少持续30年。 中国生态环境部核与辐射安全中心首席专家刘新华表示:由于福岛第一核电站退役需要数十年,这个过程中还会持续产生大量核污染水,排放时间可能远超30年,核污染水排海将会对海洋生态产生长期影响。 日本强推核污染水排海计划主要时间轴 ● 2021年4月13日日本政府正式决定将福岛核污染水经过滤并稀释后排放入海。 ● 2022年7月22日日本原子能规制委员会正式批准了东京电力公司有关福岛第一核电站事故后的核污染水排海计划。 ●...
《隐入尘烟》影评
...
如何在 Github 上规范提交 PR
如何在 Github 上规范提交PRGitHub 官方项目协作流程整理0. GitHub 基础操作从GitHub克隆 12# 克隆项目到本地git clone 项目链接 在该文件夹可以通过 ls -al 查看本地库情况 将现有项目提交到 GitHub 先将所有文件添加到版本控制 1git add . 然后在本地执行提交操作 1git commit -m "First commit" 最后将提交的东西同步到远程版本库github上 1git push origin master(main) 刷新GitHub能看见上传的文件 其他 将GitHub上的东西同步回本地 1git fetch origin master(main) 查看本地或GitHub上改了什么 1git diff origin/master 从GitHub获取最新代码并整合到本地 1git pull origin master(main) 1. 找项目 (Finding...
一文带你看懂 2FA 的密码学原理
一文带你看懂 Two-factor authentication(2FA) 的密码学原理熟悉 GitHub 的小伙伴都知道,前段时间, GitHub 宣布,到 2023 年底,所有用户都必须要启用双因素身份验证 (2FA) ,不能只使用密码进行高风险操作了。 GitHub宣布启用双因素身份验证 (2FA)Software security starts with the developer: Securing developer accounts with 2FA. 开启2FA后,除了输入密码外,还需要通过一次性密码 (OTP) 等方式做二次身份验证,才能成功登录账号以及进行相关操作。这样做能有效避免因为密码泄露,而导致账号被盗用。 什么是 2FA 它如何工作,以及它的原理是什么2FA 双因素认证2FA 中文名称:双因素认证。一般来说,我们在大多数场景下都是使用帐号和密码来进行身份验证,而 2FA 就是除了建立帐号密码之外的第二个关卡。就算账号和密码不小心外泄了,也不至于马上被盗用(但还是要养成定期修改密码的好习惯)。而 2FA 又可以分为硬件版本和软件版本两种形式。 硬件型...
2023年了,聊聊我为什么还在写博客
2023 年了,聊聊我为什么还在写博客前言以前的博客中,我发了几篇文章介绍了一下自己当时所使用的博客系统的搭建流程及组件,有很多朋友跟着我的教程也搭建了自己的博客。同时,也有一些朋友提出了疑问,在 2023 年这个时间节点,已经有那么多成熟的个人写作与发布平台,为什么我们还要那么大费周章,搭建与更新自己的博客呢? 我从高二(2019 年)开始写公众号,分享一些关于C++开发技术与个人生活的文章。2020 年开始使用 B3log 旗下的 Solo 搭建了一个自己的个人博客,于 2022 年年初,由于高昂的服务器及维护费用停止了更新。期间至今,我一直使用 Obsidian 在本地记录一些必要的技术文档和资料。但在记录期间也因为 iCloud 多台设备同步的原因,丢了不少笔记。 前段时间我在闲鱼买了一台 Dell R720 实体服务器,而且在我的店铺内为它装了电信千兆宽带和 ipv4 业务,但由于种种原因 v4 业务一直没办下来,我就联系电信要到了宽带超级管理员账号和密码,自己设置了 ipv6 。后来经验证,这条宽带 v6...