小木的算法日记-1

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

本人是一枚大学生,专业是大数据管理与应用,未来想成为一名NLP算法工程师或者数据挖掘师,在网上了解情况后遂学习算法,经历了大大小小的坑后在Github上找到了我的“救命恩人”-labuladong大佬,想学习算法的可以参考一下这位大佬的算法日记。https://labuladong.online/algo/intro/complexity-basic/

我打算写一下我的算法日记来记录自己的学习生活以及自己的一些经验,希望能够给大家一些帮助,利他就是最好的利己。

算法复杂度核心解析

一、核心知识点预览

  1. O(N)的作用
  2. 常见复杂度关系:O(1) < O(\log n) < O(n) < O(n \log n) < O(n^2) < O(2^n) < O(n!)
  3. 分析最坏情况下的复杂度
  4. 时间与空间复杂度的估算

二、算法复杂度详解

1. 作用

O(N) 是衡量算法效率的一种方式,比如时间复杂度(需要花费多少时间)以及空间复杂度(n的数量)
O(N)让你知道你的算法是否需要优化,让你有了优化算法的意识。
“这个数据结构选对了吗?查一次要 O (n),能不能用 O (1) 的结构?”(比如用字典代替列表)。

2. 复杂度

O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(n³) < O(2ⁿ) < O(n!)
ep:
O(5n2+2n+9)等同于O(n2)--因为n增长到一定程度后,一次系数就没什么影响了
O(9999n+9999)等同于O(n)

3. 复杂度估算

时间复杂度就是看有几个for镶套循环(大多数情况)
空间复杂度就看元素或变量占的空间

4. 估算方法(简化版)

 

python复制插入

# 时间复杂度示例:O(n^2)  
for i in range(n):        # 外层循环层数决定复杂度  
    for j in range(n):    # 嵌套循环 -> O(n^2)  
        process(i, j)  

# 空间复杂度示例:O(n)  
arr = [0] * n             # 申请长度为n的数组  

复制插入


PostgreSQL 超详细安装与使用教程:从入门到实战 本文将详细介绍PostgreSQL数据库的安装配置与基础使用。首先从Windows系统安装入手,分步骤讲解17.5版本的安装流程、环境变量配置及服务启动验证。接着重点介绍了pgAdmin4图形化管理工具的安装与使用,包括界面语言设置、数据库连接、创建与管理数据库等操作,同时对比了可视化操作与SQL命令两种方式。最后梳理了PgSQL基础语法,涵盖表的创建、增删改查操作、约束管理等内容,为初学者提供了完整的PostgreSQL入门指南。文章兼顾理论知识与实际操作,既适合数据库新手学习,也可作为开发人员的快速参考 阅读详情

相关推荐

AI人工智能与模拟退火:碰撞出的智慧火花

本文旨在为读者全面介绍模拟退火算法在人工智能领域的应用。我们将涵盖从基础理论到实际实现的完整知识体系,帮助读者理解这一受自然界启发的优化技术如何解决复杂的计算问题。文章首先介绍模拟退火的基本概念,然后深入其工作原理和数学基础,接着通过Python实现展示具体应用,最后讨论实际应用场景和未来发展方向。模拟退火(Simulated Annealing, SA):一种受物理退火过程启发的概率性优化算法能量函数(Energy Function):评估系统状态的函数,对应优化问题的目标函数。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 453

小木的机器学习日记——线性回归算法-1

今天,我们为线性算法这一章的学习绘制了一幅清晰的地图。你已经理解了它“顺势而为”的深刻哲学,认识了它庞大的家族成员,也预览了即将掌握的硬核工具。记住,线性算法不仅是机器学习的基石,更是后续理解SVM、神经网络等更复杂模型的钥匙。请带着这份全局视野,和我一起,正式踏入线性算法的奇妙旅程吧!大家加油!

GetOver_的博客 1043

阿里云大模型 ACP 认证教材内容突变?这些改动藏着通关密码,不看亏大!

【摘要】核心章节大换血,安全合规融入实战场景,大模型微调用数学深度解析,部署章节带来阿里云产品对比实战攻略,甚至整章内容被替换成藏满学习彩蛋的行业趋势指南。这些改动不仅重塑考试重点,更暗藏官方命题风向——安全合规考场景方案,微调原理考几何解析,部署设计考分析框架。无论你是数学小白还是部署新手,这篇攻略都将带你吃透变动逻辑,附赠急救包和考点清单,帮你抓住这些“隐形加分项”,速来解锁通关秘籍!

davidkorhenn的博客 1755

小木的算法日记-二叉堆

恭喜你!你已经完成了从理论到实践的全面学习。知识点重要性关键描述优先级队列⭐⭐⭐⭐⭐二叉堆最核心的应用,实现动态数据集合中取最值。数组实现⭐⭐⭐⭐理解如何用数组下标计算父子关系,是实现堆的关键。堆排序⭐⭐⭐重要的排序思想,但实战中多用内置函数。堆的性质⭐⭐⭐大顶堆/小顶堆的定义,是所有操作的基础。核心操作⭐⭐⭐⭐push (swim) 和 (),复杂度均为。现在,你不仅知道了二叉堆是什么,更理解了它为何如此设计以及如何在实际中发挥巨大作用。

GetOver_的博客 999

一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码

本文详细介绍了如何将STM32程序从Keil迁移到国产免费工具Trae,并利用AI进行代码修改的全过程。

水滴爬呀爬 4886

《点亮创新灯塔!AI应用架构师与中小学初等教育AI智能体,共筑智能化教育辅助创新灯塔》

中小学AI智能体,是基于AI技术,能感知教育场景、理解教育规律、辅助教师教学和学生学习的智能系统。做老师“做不了”的事:比如5分钟批改45本作业,精准统计每个学生的易错点;做老师“做不好”的事:比如根据学生的学习风格(视觉/听觉/动觉)推荐个性化内容;绝不做老师“该做的事”:比如情感交流、价值观引导、创意教学设计——这些“人的温度”,AI永远无法替代。我是林宇,资深AI应用架构师,专注教育AI领域8年,参与过10多个中小学AI智能体项目,曾为北京、上海、深圳等城市的100多所学校提供AI教育解决方案。

Java大师兄的博客 433

小木的算法日记-线段树

你好,未来的算法大师!想象一下,你正在处理一个巨大的数据集,比如某个电商网站一整天的用户点击流。老板突然问你:“下午2点到3点之间,我们的总点击量是多少?” 几分钟后,他又问:“把10点到11点之间的数据,因为系统故障,全部乘以0.5,然后再告诉我下午的总点击量。”如果用普通的数组,每次查询都需要遍历,每次修改更是灾难。面对这种需求,我们该怎么办?频繁的区间查询和区间修改答案,就是我们今天的主角——。线段树 (Segment Tree)这篇文章将带你:直击痛点:理解普通数组在区间问题上的局限性。掌握神器:了

GetOver_的博客 1466

PyQt5开发编译器安装(PyCharm安装)

PyCharm 提供了最完整的 PyQt5 开发体验,特别是其集成的调试工具和 Qt Designer 支持,能显著提高开发效率。是最受欢迎和功能最完整的 IDE。它专门为 Python 开发优化,对 PyQt5 有很好的支持。右键运行该文件,如果出现窗口说明配置成功。对于 PyQt5 开发,

啊渊的专栏 419

小木的机器学习日记-KNN算法实战

模型学完了,现在我们要用“模拟考卷”(X_test)来测试它,看看它的预测结果(y_predict)和“真实答案”(y_test)相差多少。你把“课本”(X_train)和“标准答案”(y_train)交给模型,它就会去学习其中的规律。观察原始的y向量,你会发现它是[0,0,...,0, 1,1,...,1, 2,2,...,2]这样。在本文中,我们会对关键的函数和概念进行星级评定,帮助你快速识别哪些是必须牢记的,哪些是了解即可。: 这是理解随机化核心思想的好方法,但在实战中,我们有更方便的“瑞士军刀”。

GetOver_的博客 923

FPGA实践教程: 使用HLS将C程序生成IP核心进行FPGA开发

请根据您使用的FPGA开发板和供应商选择适当的HLS工具,并按照他们的安装指南进行安装。根据您使用的FPGA开发板和供应商选择适当的HLS工具,并按照他们的安装指南进行安装。通过本教程,您了解了如何使用HLS工具将C程序生成IP核心,并将其用于FPGA开发。在HLS项目中,您可以对C程序进行设计和优化,以生成对应的IP核心。在HLS项目中,您可以对C程序进行设计和优化,以生成相应的IP核心。将导出的IP核心导入到FPGA项目中。使用FPGA开发环境的菜单中的"导入"或"添加文件"选项导入IP核心。

CqpFsharp的博客 455

LeRobot 官方论文:一个用于端到端机器人学习的开源库

本文介绍了一个名为LeRobot的开源库,旨在解决机器人学习领域的碎片化问题。该库提供了端到端的技术栈,包括统一的机器人中间件API、标准化的数据集格式(LeRobotDataset)、优化的推理栈以及多种最先进机器人学习算法的实现。LeRobot支持多种低成本开源机器人平台(如SO-10X、ALOHA-2等),通过共享中间件实现便捷的遥操作和数据收集。其数据集格式已广泛应用于社区,截至2025年9月已有16,000多个数据集公开共享。该库还支持流式处理大规模数据,降低了研究门槛。在模型方面,LeRobot

2506_90492529的博客 907

小木的机器学习日记——KNN

核心知识点总结与星级排序我为你梳理了这节课的精髓,并按照重要性进行了星级评定(★★★★★为最高)。

GetOver_的博客 846

YOLOv11 环境配置全流程 | 从零开始搭建训练与推理环境

YOLOv11环境配置与训练全流程指南 本文详细介绍了YOLOv11目标检测模型的环境配置、训练与推理全流程。内容包括: 环境要求:列出GPU、CUDA、Python等组件的版本要求,提供快速检查脚本 Windows配置: CUDA 12.6和cuDNN 8.9.7安装步骤 使用Conda创建隔离环境 PyTorch GPU版本安装方法 IDE环境配置 Linux配置:提供Ubuntu 22.04下的CUDA、cuDNN安装命令和Conda环境搭建 Docker方案:提供一键式容器化部署命令 训练实战: 数

shrgegrb的博客 2017

小木的算法日记-2-二叉树基础及常见类型

1/ \2 34 5 6。

GetOver_的博客 1435

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

小木的算法日记-亲手揭秘 TreeMap/TreeSet 背后的魔法 —— 二叉搜索树

核心引擎:TreeMap 的高效和有序性源于其底层的二叉搜索树(BST)。性能关键:BST 的性能取决于其平衡性。理想情况下是 O(logN),最坏情况下是 O(N)。工业级方案:实际的 TreeMap 使用红黑树等自平衡结构来保证性能。独门绝技:通过维护 size 字段,可以高效实现 rank 和 select 等高级功能。工作中常用 TreeMap/TreeSet 功能星级排序。

GetOver_的博客 1362

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

小木的算法日记——合成两个有序链表

接下来我们从本质上对这道题目进行一个拆解。我们先讲解开头的两行代码。

GetOver_的博客 751

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

小木的算法日记-DFS和BFS的适用场景(深度和广度)

先介绍一下二叉树的这两个常见的算法,DFS算法(递归)以及BFS算法(层序)。DFS常用来进行穷举所有路径,而BFS算法常用来寻找最短路径。比如给你出个问题,让你求最短路径,那么接下来让我们看看用DFS算法与BFS算法求的区别在哪里?DFS递归遍历算法:(一条路走到黑,遍历完一个树枝再遍历另外一个树枝)BFS层序遍历算法--逐层扩散(搜完1层搜1层而不是像D那样搜完一个树枝再搜另一个)BFS相比于DFS更适合寻找。

GetOver_的博客 1087

小木的算法日记-多叉树的递归/层序遍历

恭喜你,坚持看到了最后!从二叉到多叉:多叉树是二叉树的泛化,遍历逻辑从处理固定的 left/right 变成了 for 循环处理 children 列表。DFS (深度优先):使用递归,代码优雅,有前序和后序两个关键操作位置,适合“一条路走到黑”的场景。BFS (广度优先):使用队列,逐层扫描,适合寻找最短路径等场景。基础版:最简单,但无法获知深度。size 进阶版:巧妙地按层处理,能记录深度,是面试高频写法。State 终极版:将节点与状态(如深度)绑定,扩展性极强,是通向更高级算法的钥匙。

GetOver_的博客 1278

小木的复盘日记

这是一个问题,因为晚上要进行吃饭以及喝药所以我决定在心情不好时直接去对面爬楼(爬六层往返8次) 一天还可以就去操场跑一个2.5km,大概在6.30-7.00,然后吃饭,之后吃药,回家。我决定在明天尝试绝对锁机服务!从早上开始,注意复盘的作用,是提出正确的更加完善的方案,而不是回忆错误的行为。同时我也要对自己的任务进行限时,就比如下午的coze工作流花费了我几乎2个小时的时间,因为我没有紧迫感(类似于高考)所以我应该培养。小说,短视频,游戏都具有成瘾性,,会大幅度的提高多巴胺,会减少自己的快乐。

GetOver_的博客 173

小木的算法日记-LeetCode之巧用虚拟头节点:轻松解决链表分割问题

给定一个链表的头节点head和一个特定值x所有小于 x的节点排在前面,所有大于或等于 x的节点排在后面,并且保留各节点的初始相对顺序。链表操作的核心思维:拆分复杂问题为 "遍历 - 处理 - 合并" 的标准流程,虚拟头节点的万能技巧:这把 "瑞士军刀" 能解决 90% 的链表边界问题(如合并、删除、插入)。记住:链表操作的本质是指针的舞蹈,而虚拟头节点就是这场舞蹈中最稳定的支点。多练习、多思考,你会发现更多链表问题的解法都藏在这个核心技巧中!评论区告诉我!

GetOver_的博客 572

小木的算法日记-链表面试杀手锏:快慢指针技巧精讲 (从“查找”到“删除”)

你好,未来的算法大神!链表问题,看似简单,实则暗藏玄机。面试官常常用它来考察你思维的灵活性。今天,我们要征服的是一个经典问题:“如果你还在想“先遍历一遍算总数 n,再遍历 n-k+1 步”,那么请坐好,因为接下来这个技巧将刷新你的认知。

GetOver_的博客 1565

社交风格与销售培训讲师培训师唐兴通谈社交销售大客户营销DISC销售大五人格MBTI销售方法论实践

干劲型的人,是社交媒体上的“行动信号源”。他们讨厌模糊、节奏快、目标明确、输出强。他们发帖不是为了被理解,而是为了被看到、被执行。名字往往简洁、干练、带有目标感或职业标签。如:“李川Growth”、“Anna·行动派”、“TechHunter”——动词与专业名词频繁出现。他们的ID本身就是一种宣言:我是谁、我在做什么、我要去哪。通常清晰、正面、对比强烈,常见职场照、LOGO化头像、简洁配色。头像不是展示个性,而是传递信号:“我值得信任”“我在推进事情”。句子短、节奏快、常用祈使语气。

Akibfrycc的博客 740

博士在读时,把暗恋的师兄变成了老公是种怎样的体验?

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达本文来源:小木虫作者:zxh08 先说说基本情况~本人现已博士毕业六年,老公与我今年刚评上副教授,六年生了两个宝宝,没人带,两人互相扶持,今年才刚攒够评职称条件,当然基金两人早早就有,只是不努力文章和其他条件没凑够,不能怨孩子,不能怨父母,唯怨自己不努力。完全可以白天带孩子晚上写文章的,可是前几年自己懒,这两年才找到孩子和...

zandaoguang的博客 166

荐书 | 攻克世纪难题,拒绝领取菲尔兹奖的孤独数学天才的一生

今天小木给大家介绍五本数学科普文,了解了一些数学家研究数学、证明猜想的经历,他们的专研精神简直让小木五体投地!这也验证了一句经典名言“念念不忘,必有回响”。希望我们都能把时间奉献给自己喜欢的事情上。下面,让我们一睹数学大家的风范~(PS:由于春节期间快递停运,下单后于2月26日开始发货。)01《庞加莱猜想:追寻宇宙的形状》[日] 春日真人 著内容简介 :2006年的菲尔兹奖颁奖仪式宣布,该奖授予证

数据与算法之美 2590

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 228

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 316
下一篇: 小木的学习日记-SQL查询
木旭林晖
博客等级 码龄2年 159粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值