前言

  "为什么算法这么难?而别人不觉得难”
  “为什么别人能想出来?而我却想不出来”
  “为什么即便我想得出来?也写不出来”
  我也曾迷茫,我也曾失落,但是每当通过自己的意念,理解了一个新的算法以后,之前熬过的苦,瞬间烟消云散,带给我的只有无尽的快乐。
  为什么金字塔尖的人,寥寥无几,凤毛麟角,就是因为他们能,忍常人所不能忍,吃常人所不能吃的苦,才得以成就大业!天下无易成之业,亦无不可成之业,各守乃业则业无不成。

LeetCode算法学习路线

完整版视频地址

  首先让我们看下,我们接下来这段时间,我们需要学习的内容,主要有:

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

文章目录

  • 前言
  • 一、语言基础
    • 1、Hello World
    • 2、直接实战
    • 3、及时复盘
    • 4、坚持下去
    • 5、养成习惯
    • 6、九日集训
  • 二、数学基础
    • 1、位运算
    • 2、线性代数
    • 3、计算几何
    • 4、数论
    • 5、组合数学 和 概率论
  • 三、数据结构
    • 1、线性表
      • 1)数组
      • 2)字符串
      • 3)链表
      • 4)栈
      • 5)队列
    • 2、哈希表
    • 3、树
      • 1)二叉树和二叉搜索树
      • 2)堆
      • 3)线段树
      • 4)AVL 树 和 红黑树
      • 5)字典树
      • 6)霍夫曼树
      • 7)并查集
    • 4、图
    • 5、树状数组
  • 五、常用算法
    • 1、枚举
      • 1)一维枚举
      • 2)多维枚举
      • 3)前缀和
      • 4)双指针
      • 5)二分查找
    • 2、排序
    • 3、贪心
    • 4、搜索
    • 5、动态规划
  • 六、杂项算法
  • 七、算法专栏推荐
  • 八、配套福利赠送

一、语言基础

1、Hello World

  想上手一门语言,第一步一定是 Hello World。先不要急着配环境,如若环境配了几个时辰,可能起初的雄心壮志,就被配环境的过程消磨殆尽,更加不要谈日后的丰功伟业了。
  要成大事就必争朝夕,让我们直接进入实战。

2、直接实战

  我们直接在力扣上,进行第一段代码的编写,通过这道题,来了解编码的流程,就算你是算法零基础
想必也能看懂。(題目鏈接)
  题目要求我们不要用加号,实现两个数的加法操作,你让我不要用,那我就偏要用,我就是要逆天而行。看!就是这么简单!让我们来复盘一下。

3、及时复盘

  题目要求返回两个整数的和,并且要求不能用 加号,那如果我用了会怎么样,答案是并不会怎么样。因为平台不会对代码做语法分析,只是调用了你的函数,提供一些输入数据,如果输出数据和它给定的相同,就算通过。
  换言之,作为你接触算法的第一道题,其实这些条件,都无所谓,能过就行,对于新人来说,把问题过掉比问题本身更重要,题数的增加是信心的增加。信心比什么都重要,有了信心你才能继续往下走,只要你能往下推进,你就能继续学习,继续学习你迟早会学到相应的算法。
  好了,过了这题以后,把这道题放入你的重刷列表,等你对算法有一定理解以后,再来用题目要求的方法来过掉它。

4、坚持下去

  仅仅做了这一道题是远远不够的,如果不能坚持学习,那么一切美好的愿景都只是海市蜃楼遥不可及。
  现如今,经济飞速发展,我们要知道 “不进则退,慢进也是退” 的道理。只有当你采取快速高效的行动之后,才能够在残酷的竞争中,拥有自己的一席之地!
  有志者事竟成,破釜沉舟,百二秦关终属楚!
  苦心人天不负,卧薪尝胆,三千越甲可吞吴!
  始终相信 长风破浪会有时,直挂云帆济沧海!

5、养成习惯

  单纯学习语言未免太过枯燥乏味,所以建议一边学习一遍刷题,养成每天刷题的习惯,在刷题的过程中巩固语法,每过一个题相当于是一次正反馈,能够让你在刷题旅途中酣畅淋漓,从而更好的保证你一直坚持下去,在没有任何算法基础的情况下,可以按照我提供的专栏来刷题,这也是上上个视频提到的 九日集训 的完整教材,主要有以下几个内容:

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

《算法和数据结构》LeetCode 篇相关推荐

  1. 算法与数据结构+LeetCode题解-Js版

    LeetCode题解Js版 https://webbj97.github.io/leetCode-Js/ 题外话 LeetCode题解:传送门 前端笔记:传送门 项目背景 旨在提高自己对算法的理解,将 ...

  2. java回文数算法for_【Java】【每日算法/刷穿 LeetCode】9. 回文数(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]9. 回文数(简单) 宫水三叶发布于 今天 15:30 题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从 ...

  3. 整数反转leetcode java_【Java】【每日算法/刷穿 LeetCode】7. 整数反转(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]7. 整数反转(简单) 宫水三叶发布于 今天 12:10 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数 ...

  4. java编写字母z算法_【Java】【每日算法/刷穿 LeetCode】6. Z 字形变换(中等)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]6. Z 字形变换(中等) 宫水三叶发布于 今天 12:03 题目描述 将一个给定字符串 s 根据给定的行数 numRows , ...

  5. java 最长回文_【Java】【每日算法/刷穿 LeetCode】5. 最长回文子串(中等)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]5. 最长回文子串(中等) 宫水三叶发布于 今天 12:00 题目描述 给你一个字符串 s,找到 s 中最长的回文子串. 示例 ...

  6. 【每日算法/刷穿 LeetCode】25. K 个一组翻转链表(困难)

    题目描述 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序. 示例: ...

  7. 数据结构与算法?看这篇就够了!!!

    程序 = 数据结构 + 算法 --图灵奖得主,计算机科学家N.Wirth(沃斯) 作为程序员,我们做机器学习也好,做Python开发也好,Java开发也好. 有一种对所有程序员无一例外的刚需 -- 算 ...

  8. 算法与数据结构入门一篇就搞定

    算法与数据结构开篇 你真的会数据结构吗? 公司开发一个客服电话系统,小菜需要完成客户排队模块的开发,经过三次修改: 第一次:小菜使用了数据库设计了一张客户排队表,并且设置了一个自动增长的整型id字段, ...

  9. 一周刷爆LeetCode,算法da神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记

    一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记 教程与代码地址 P1 出圈了!讲课之外我们来聊聊 ...

  10. Kiner算法刷题记(二十一):字典树与双数组字典树(数据结构基础篇)

    字典树与双数组字典树(数据结构基础篇) 系列文章导引 系列文章导引 开源项目 本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star. GitHub传送门:Kiner算法算题 ...

最新文章

  1. 自己设计大学排名-数据库实践
  2. 你真的了解OKR吗?
  3. unittest框架执行用例
  4. 5G UE — UE 的位置信息
  5. NLP通用模型decaNLP诞生,一个模型搞定十大自然语言常见任务
  6. DataBinding 学习系列(2)详解DataBinding在xml中的使用
  7. 后怎么恢复_爬山后小腿肌肉酸痛怎么办 ?这样来恢复!|新生活公社
  8. linux php项目启动_Linux上实现Node.js项目自启动
  9. 第三章 springboot + jedisCluster(转载)
  10. rup 裁剪_裁剪师是什么意思
  11. ubuntu12.04 启动mysql_ubuntu 12.04 mysql 改utf8 启动不了
  12. bootstrap个人简历毕业作品模板
  13. 我的世界服务器怎么修改名称,我的世界端游怎么改名字
  14. 戴尔计算机无法安装Win10,dell电脑安装win10 识别不了硬盘
  15. java 数字排列组合
  16. android中AudioRecord使用详解
  17. STP——BPDU报文
  18. 判断程序是否正在运行
  19. 考研:中国科学院地理所历年GIS研究生入学考试真题汇总
  20. Android 300行代码实现经典小游戏贪吃蛇

热门文章

  1. 【RSS】我的RSS使用介绍
  2. SASE , sdp等
  3. RSA解密-提供enc和pem文件类
  4. Android实现word模板套打功能
  5. 机器学习中的数学——随机变量
  6. 【路径规划】FMM快速行进法船舶路径规划【含Matlab源码 2291期】
  7. 学位证书,学历证书,毕业证书有什么区别?
  8. 最全!互联网大厂的薪资和职级一览
  9. 某985学历程序员嫌弃女朋友高职毕业学历低,但女朋友实在太漂亮,好犹豫!...
  10. 如何免费安装并激活序列号iMazing软件