算法如何学习?别想太多,两个字

article/2025/9/15 13:23:53

文章目录

  • 前言
  • 一、语言基础
    • 1、「 光天化日学C语言 」
  • 二、刷题必读
    • 1、「 LeetCode零基础指南 」
    • 2、「 九日集训每日打卡 」
  • 三、语言入门
    • 1、「 C语言入门100例 」
  • 四、算法入门
    • 1、「 算法零基础100讲 」
  • 五、算法进阶
    • 1、「 画解数据结构 」
    • 2、「 LeetCode算法题集汇总 」
    • 3、「 夜深人静写算法 」
  • 六、社区活动
    • 1、「 明年今日 」
    • 2、「 三年之约 」
    • 3、「 英雄算法联盟合伙人 」
  • 七、配套赠送福利

前言

  很多人看到我的博客,太多专栏不知道从何学起,为了广大人民群众的根本利益,我决定写一个阅读指引,按照这个指引进行学习,多加练习,假以时日,势必能够……算了,还是看你自己能学多少以及能够坚持到哪里了。加油吧,少年!坚持就是胜利!迈出第一步就成功了一半!

专栏定位适宜人群
「 光天化日学C语言 」「 入门 」没有任何语言基础
「 LeetCode零基础指南 」「 初级 」零基础快速上手力扣
「 C语言入门100例 」「 中级 」零基础持续C语言练习教程
「 算法零基础100讲 」「 高级 」零基础持续算法练习教程
「 画解数据结构 」「 高级 」「 推荐 」 数据结构动图教程
「 算法进阶50讲 」「 资深 」进阶持续算法练习教程
「 LeetCode算法题集汇总 」「 资深 」全面的力扣算法题练习集锦
「 夜深人静写算法 」「 资级 」竞赛高端算法集锦

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

视频教程系列

一、语言基础

1、「 光天化日学C语言 」

  学习算法,还是需要有一门语言作为基础的,推荐用 C语言,并且可以看下这个专栏,了解一些简单的 C语言语法。虽然没有更新完,但是只要看前五节内容,就能够对 C语言 的语法大体有一个了解。

🌞《光天化日学C语言》🌞

(01)- 初始 C 语言
(02)- 配本地环境
(03)- 变量初体验
(04)- 格式化输出
(05)- 格式化输入

  读完这五节,基本能够了解 C语言 的输入输出 了。对于初学者来说,可以先看这么几节,然后我们继续看下面的内容,等遇到相关知识点时再回来翻开即可。


二、刷题必读

  光看不练肯定是不行的,所以主要还是要刷题,我这里推荐的是 LeetCode,主要原因是因为现在一些大厂面试的时候基本都是在 牛客 或者 LeetCode 上找的题,而 LeetCode 上的题更加系统,如果这里的题能够掌握大部分,那面试刷题这快肯定是不慌了。当然,对于竞赛选手,这个难度肯定是远远不够的。不过,这是后话了,我们先来看简单的。

1、「 LeetCode零基础指南 」

  一开始刷题的时候,一定要刷水题。刷水题是为了让你养成刷题的习惯,一开始就刷难题很容易被劝退。刚开是的时候,建立信心是很重要的事情。
  建立信心的过程是需要逐渐培养的,通过不断刷题,把题目数量提上来,才能不断的建立信心。所以,很多时候,如果遇到题目告诉你一定要用某个方法来做,但是你又想不出来的时候,你就想办法先把它过掉再说。
  例如,下面这道题:

  实现一个函数multiply,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。

int multiply(int A, int B){   // (1)return A * B;             // (2)
}
  • ( 1 ) (1) (1) 这里int是C/C++中的一种类型,代表整数,即 Integer,传入参数是两个整数;
  • ( 2 ) (2) (2) 题目要求返回两个整数的乘积,并且要求不能用*,那如果我用了会怎么样?答案是并不会怎么样,因为平台不会去对它做语法分析,只是调用了你的函数,提供一些输入数据,如果输出数据和它给定的相同,就算通过。作为你接触算法的第一道题,其实这些条件都无所谓的,能过就行,他只检测输入输出,不检测你实际代码。

  对于新人来说,把问题过掉比问题本身更重要,题数的增加,是信心的增加,信心比什么都重要,有了信心,你才能继续往下走,只要你能往下推进,你就能继续学习,继续学习你迟早会学到相应的算法。好了,过了这题以后,把这道题放入你的重刷列表,等你对算法有一定理解以后再来用题目要求的方法来过了它。

  这个专栏主要讲解了一些 LeetCode 刷题时的一些难点和要点,主要分为以下几个章节,并且会持续补充一些方法论的文章。文章有试读,可以简单先看一看试读文章。

🍠《LeetCode零基础指南》🍠

(第一讲)导读
(第二讲)函数
(第三讲)循环
(第四讲)数组
(第五讲)指针
(第六讲)排序
(第七讲)贪心
(第八讲)矩阵
(第九讲)二级指针
(第十讲)简单递归

2、「 九日集训每日打卡 」

  「 九日集训 」是博主推出的一个能够白嫖付费专栏「 LeetCode零基础指南 」的活动。通过 「 专栏中的联系方式 」 或者 「 本文末尾的联系方式 」 联系博主,进行报名即可参加。九日一个循环,目前已经进行到第十轮。

  玩法很简单,每天会开启一篇试读文章,要求有三点:
  1)阅读完文章后,课后习题 「 全部刷完 」(都能在文中找到解法,需要自己敲一遍代码);
  2)写 「 学习报告 」 并发布社区 九日集训(每日打卡) 频道
  3)在 「 打卡帖 」 提交 「 学习报告 」 链接;

  完成以上三点后方可晋级到下一天,所有坚持到 9天 的同学,会成为 「 英雄算法联盟合伙人 」 群成员,只限500个名额,优胜劣汰,和精英在一起,无论是沟通,学习,都能有更好的发展,你接触到的人脉也都是不一样的,等找工作的时候,我也会为大家打通 hr 和猎头,让你前程无忧~
  详细规则参见:九日集训规则详解。


三、语言入门

1、「 C语言入门100例 」

  这个专栏的目的是加深对 C语言 的理解,通过看题做题,不断加深每个语法以及简单算法的作用。

🧡《C语言入门100例》🧡

  该专栏每个算法都会提供例题,并且要求玩家实现一个函数,主函数需要自己写,示例如下:

#include <stdio.h>            // (1) 标准输入输出库
int add(int a, int b) {return a + b;             // (2) 这就是一个最简单的算法:加法算法
}
int main() {int a = add(1, 3);        // (3) 算法输入两个参数,输出一个参数;printf("%d\n", a);        // (4) 将算法结果输出到屏幕上来验证结果return 0;
}

  试读文章如下,可以看下是否满足自身需要:

【第01题】A + B | 基础输入输出,开启学习C语言打卡的序章
【第02题】给定 n,求 1 + 2 + 3 + .... n-1 + n 的和 | 四种解法


四、算法入门

1、「 算法零基础100讲 」

🌌《算法零基础100讲》🌌

  如果你只是想学会写代码,或许 「 算法与数据结构 」 并不是那么重要,但是,想要进一步发展自己的事业,「 算法与数据结构 」 是必不可少的。
  现在一些主流的大厂,诸如:字节、网易、腾讯、阿里、美团、京东、滴滴 等等,在面时都会让候选人写一道 「 算法题 」 ,如果你敲不出来,可能你的 「 offer 」 年包就打了骨折,或者直接与 「 offer 」 失之交臂,都是有可能的。
  当然,它不能完全代表你的 「 编码能力 」 ,因为有些算法确实是很巧妙,加上紧张的面试氛围,想不出来其实也是正常的,但是你能确保面试官是这么想的吗?我们要做的是 「 十足的准备 」 ,既然决定出来, 「 offer 」 当然是越高越好,毕竟大家都要养家糊口,房价又这么贵,如果能够在算法这一块取得先机,也不失为一个 「 捷径 」
  所以,你问我算法和数据结构有什么用?我可以很明确的说,和你的年薪息息相关。当然,面试中 「算法与数据结构」 知识的考察只是面试内容的一部分。其它还有很多面试要考察的内容,当然不是本文主要核心内容,这里就不做展开了。试读内容如下:

导读
(第1讲) 幂和对数
(第2讲) 数列

  本专栏适宜对算法没有什么概念,但是对某一门语言有一些简单基础的同学,如果语言基础较为薄弱,建议先选择一门语言学习一段时间。当然,如果直接开始学算法,也不是不可以,只要坚持把该专栏的 100 讲 攻克完毕,基本上语言那关也可以过了。

五、算法进阶

1、「 画解数据结构 」

  以动图的形式,更加生动形象的阐释每个数据结构的思想和实现。

🌳《画解数据结构》🌳

  线性表 和 树 的内容已经大致更新完毕,图相关的内容目前还未更新。已更新内容如下:

顺序表
链表
队列
双端队列
哈希表
二叉树
二叉搜索树
平衡二叉树

2、「 LeetCode算法题集汇总 」

  这一部分主要是给有大块时间,并且想自学成才的同学准备的,里面的题集也在不断完善整理中。

🌌《算法入门指引》🌌



在这里插入图片描述
在这里插入图片描述

3、「 夜深人静写算法 」

  这个专栏是我五年前写的,有一定难度,但是对于竞赛的同学是个不错的选择。

💜《夜深人静写算法》💜

夜深人静写算法》总纲

  以下是几篇优质文章的试读:
夜深人静写算法(十九)- 背包总览
夜深人静写算法(二十三)- 最短路
夜深人静写算法(二十六)- 记忆化搜索

六、社区活动

1、「 明年今日 」

  由于【付费专栏】购买后,只有一年的阅读权限,很多用户反馈不知道,为了维护消费者的利益,回馈广大用户,作者打算将付费文章制作成 pdf,并且在 【明年今日】(2022.11.11日) 将 一年内过期的文章通过文件的形式开放出来。
  由于制作过程会比较繁琐,而且需要各种的查错纠正,较为烧脑,具体细则如下:

【用户范围】今日购买的付费专栏的用户直接享有对应的专栏精装版 pdf(在这之前,已经购买过对应付费专栏需要添加作者后提供凭据);
【专栏范围】《LeetCode零基础指南》《C语言入门100例》《算法零基础100讲》《画解数据结构》《夜深人静写算法》。

2、「 三年之约 」

  作者在此承诺!只要你不舍,我不弃,你我同心协力,以三年为期,引万人之势气,共筑未来美好三年!三年之后,算法刷满 1000 题,你我字节见,你不来,我不走!

3、「 英雄算法联盟合伙人 」

  「 万人千题 」社区,打造 「 英雄算法联盟合伙人 」,让天下没有难学的算法。以下是我未来十年的愿景,以求志同道合者,共勉。

带领 10000 人刷满一千道算法题
内推 1000 人进大厂
带领 100 人成功打造个人IP
10 人一起财务自由

七、配套赠送福利

语言入门:《光天化日学C语言》(示例代码)
语言训练:《C语言入门100例》试用版
数据结构:《画解数据结构》源码
算法入门:《算法入门》指引
算法进阶:《夜深人静写算法》算法模板

👇🏻 添加 博主 获取资料验证码👇🏻

http://chatgpt.dhexx.cn/article/N3l0h92W.shtml

相关文章

YOLOv5剪枝✂️| 模型剪枝实战篇

本篇博文所用代码为开源项目修改得到,且不适合基础太差的同学。 本篇文章主要讲解代码的使用方式,手把手带你实现YOLOv5模型剪枝操作。 文章目录 0. 环境准备1. 使用YOLOv5训练自己的模型2. 对训练好的模型进行稀疏训练3. 对稀疏训练后的模型进行剪枝4. 对剪枝后的网络模型微…

决策树——预剪枝和后剪枝

目录 简析 为什么要剪枝&#xff1f; 剪枝的基本策略 预剪枝 后剪枝 剪枝的优缺点 预剪枝的优缺点 后剪枝的优缺点 实现 数据集 剪枝前 预剪枝 分析 代码 简析 为什么要剪枝&#xff1f; “剪枝”是决策树学习算法对付 “过拟合” 的主要手段 可通过“剪枝”来…

网络剪枝通俗解释

论文链接&#xff1a;Learning Efficient Convolutional Networks through Network Slimming 视频链接&#xff1a;唐宇迪 基本思想 我们在模型生成通道数为[64,128,256,512]的特征图&#xff0c;但是这些特征图不一定都重要&#xff0c;我们希望能够体现特征图的主次之分&…

α、β剪枝法

在讲α、β剪枝法之前&#xff0c;我们先了解一下极大极小值算法&#xff1b;因为α、β剪枝法是为了简化极大极小值的计算而提出的。 极大极小值法 Minimax算法 又名极小化极大算法&#xff0c;是一种找出失败的最大可能性中的最小值的算法&#xff08;即最小化对手的最大得益…

决策树的剪枝

目录 一、为什么要剪枝 二、剪枝的策略 1、预剪枝&#xff08;pre-pruning&#xff09; 2、后剪枝&#xff08;post-pruning&#xff09; 三、代码实现 1、收集、准备数据&#xff1a; 2、分析数据&#xff1a; 3、预剪枝及测试&#xff1a; 4、后剪枝及测试&#xff1…

决策树算法和剪枝原理

决策树算法和剪枝原理 本节我们对决策算法原理做简单的解析&#xff0c;帮助您理清算法思路&#xff0c;温故而知新。 我们知道&#xff0c;决策树算法是一种树形分类结构&#xff0c;要通过这棵树实现样本分类&#xff0c;就要根据 if -else 原理设置判别条件。因此您可以这…

决策树(decision tree)(二)——剪枝

决策树&#xff08;decision tree&#xff09;(二)——剪枝 **注&#xff1a;本博客为周志华《机器学习》读书笔记&#xff0c;虽然有一些自己的理解&#xff0c;但是其中仍然有大量文字摘自周老师的《机器学习》书。 决策树系列博客&#xff1a; 决策树&#xff08;一&#x…

机器学习--决策树二(预剪枝和后剪枝)

一、什么是决策树的剪枝 对比日常生活中&#xff0c;环卫工人在大街上给生长茂密的树进行枝叶的修剪。在机器学习的决策树算法中&#xff0c;有对应的剪枝算法。将比较复杂的决策树&#xff0c;化简为较为简单的版本&#xff0c;并且不损失算法的性能。 二、为什么要剪枝 剪枝…

关于剪枝对象的分类(weights剪枝、神经元剪枝、filters剪枝、layers剪枝、channel剪枝、对channel分组剪枝、Stripe剪枝)

文章目录 剪枝对象分析&#xff1a;1.weights剪枝&#xff1a;2.神经元剪枝&#xff1a;3.Filters剪枝&#xff1a;4.通道剪枝5.Group-wise剪枝6.Stripe剪枝 剪枝对象分析&#xff1a; 剪枝分为结构化剪枝和非结构化剪枝&#xff0c;细化可分为weights剪枝、神经元剪枝、filte…

决策树——剪枝处理

剪枝处理 1&#xff1a;剪枝处理的原因 “剪枝”是决策树学习算法对付“过拟合”的主要手段&#xff0c;因此&#xff0c;可通过“剪枝”来一定程度避免因决策分支过多&#xff0c;以致于把训练集自身的一些特点当做所有数据都具有的一般性质而导致的过拟合 2&#xff1a;剪…

【ML】决策树--剪枝处理(预剪枝、后剪枝)

1. 剪枝&#xff08;pruning&#xff09;处理 首先&#xff0c;我们先说一下剪枝的目的——防止“过拟合”。 在决策树的学习过程中&#xff0c;为了保证正确性&#xff0c;会不断的进行划分&#xff0c;这样可能会导致对于训练样本能够达到一个很好的准确性&#xff0c;但是…

深度学习剪枝

一般来说&#xff0c;神经网络层数越深、参数越多&#xff0c;所得出的结果就越精细。但与此同时&#xff0c;问题也来了&#xff1a;越精细&#xff0c;意味着所消耗的计算资源也就越多。这个问题怎么破&#xff1f;这就要靠剪枝技术了。言下之意&#xff0c;把那些对输出结果…

决策树后剪枝算法(一)代价复杂度剪枝CPP

​  ​​ ​决策树后剪枝算法&#xff08;一&#xff09;代价复杂度剪枝CPP  ​​ ​决策树后剪枝算法&#xff08;二&#xff09;错误率降低剪枝REP  ​​ ​决策树后剪枝算法&#xff08;三&#xff09;悲观错误剪枝PEP  ​​ ​决策树后剪枝算法&#xff08;四&…

机器学习-预剪枝和后剪枝

一棵完全生长的决策树会面临一个很严重的问题&#xff0c;即过拟合。当模型过拟合进行预测时&#xff0c;在测试集上的效果将会很差。因此我们需要对决策树进行剪枝&#xff0c; 剪掉一些枝叶&#xff0c;提升模型的泛化能力。 决策树的剪枝通常有两种方法&#xff0c;预剪枝&a…

【机器学习】Python实现决策树的预剪枝与后剪枝

决策树是一种用于分类和回归任务的非参数监督学习算法。它是一种分层树形结构&#xff0c;由根节点、分支、内部节点和叶节点组成。 从上图中可以看出&#xff0c;决策树从根节点开始&#xff0c;根节点没有任何传入分支。然后&#xff0c;根节点的传出分支为内部节点&#xff…

决策树的预剪枝与后剪枝

前言&#xff1a; 本次讲解参考的仍是周志华的《机器学习》&#xff0c;采用的是书中的样例&#xff0c;按照我个人的理解对其进行了详细解释&#xff0c;希望大家能看得懂。 1、数据集 其中{1,2,3,6,7,10,14,15,16,17}为测试集&#xff0c;{4,5,8,9,11,12,13}为训练集。 2、…

YOLOv5剪枝✂️ | 模型剪枝理论篇

文章目录 1. 前言2. 摘要精读3. 背景4. 本文提出的解决方式5. 通道层次稀疏性的优势6. 挑战7. 缩放因素和稀疏性惩罚8. 利用BN图层中的缩放因子9. 通道剪枝和微调10. 多通道方案11. 处理跨层连接和预激活结构12. 实验结果12.1 CIFAR-10数据集剪枝效果12.2 CIFAR-100数据集剪枝效…

决策树及决策树生成与剪枝

文章目录 1. 决策树学习2. 最优划分属性的选择2.1 信息增益 - ID32.1.1 什么是信息增益2.1.2 ID3 树中最优划分属性计算举例 2.2 信息增益率 - C4.52.3 基尼指数 - CART 3. 决策树剪枝3.1 决策树的损失函数3.2 如何进行决策树剪枝3.2.1 预剪枝3.2.2 后剪枝3.3.3 两种剪枝策略对…

剪枝

将复杂的决策树进行简化的过程称为剪枝&#xff0c;它的目的是去掉一些节点&#xff0c;包括叶节点和中间节点。 剪枝常用方法&#xff1a;预剪枝与后剪枝两种。 预剪枝&#xff1a;在构建决策树的过程中&#xff0c;提前终止决策树生长&#xff0c;从而避免过多的节点产生。该…

(剪枝)剪枝的理论

剪枝参考视频 本文将介绍深度学习模型压缩方法中的剪枝&#xff0c;内容从剪枝简介、剪枝步骤、结构化剪枝与非结构化剪枝、静态剪枝与动态剪枝、硬剪枝与软剪枝等五个部分展开。 剪枝简介 在介绍剪枝之前&#xff0c;首先来过参数化这个概念&#xff0c;过参数化主要是指在训…