Git Product home page Git Product logo

bigsai-algorithm's Introduction

前言

本仓库主要是个人数据结构与算法文章(慢慢优化同步)和力扣剑指offer等题解。内容绝对丰富,欢迎star哦!

本仓库后面还会接纳其他优秀数据结构与算法的文章、题解。如果有问题请联系笔者vx:bigsai66

资源会会整理成pdf送给大家!欢迎大家扫码关注公众号:bigsai

数据结构与算法

基础线性

标题 tips 重要性
绪论基础知识 搞懂数据结构相关概念,认清时间复杂度、空间复杂度 ❤️❤️
写给小白硬核递归 从阶乘、斐波那契、汉诺塔搞懂递归,妙用记忆化递归 ❤️❤️❤️❤️
图解线性表(顺序表、链表) 手写顺序表、链表,搞懂带头结点、不太头结点链表实现区别。 ❤️❤️❤️
图解双链表 手写双链表,考虑好节点直接联系(基础,考研重点) ❤️❤️
栈,不就后进先出 首先掌握后进先出规则,实现上分别用顺序表和链表考虑区别 ❤️❤️❤️
队列,不就先进先出 队列先进先出(FIFO),用循环数组链表分别实现 ❤️❤️❤️
跳表,会跳的链表 能够了解跳表的增删改查原理和流程 ❤️❤️
约瑟夫环问题 约瑟夫环步步进阶,链表法、List模拟、公式法 ❤️❤️❤️

标题 tips 重要性
二叉树层序遍历 学会使用队列进行层序遍历,高效解决二叉树之字形(锯齿)遍历 ❤️❤️❤️
二叉树前中后遍历 学会中序和后序非递归方式遍历 ❤️❤️❤️❤️
二叉搜索(查找)树 学会二叉查找树查找方式、删除节点逻辑 ❤️❤️
二叉平衡(AVL)树 了解AVL树左旋、右旋方式,以及RR,RL,LL,LR的平衡方式 ❤️❤️
哈夫曼树 了解哈夫曼树weight计算方式、了解哈夫曼编码 ❤️❤️❤️
字典(Trie)树 能够手写字典树,熟悉字典树的应用场景和优势, ❤️❤️
优先队列 了解优先队列借助堆运行原理 ❤️❤️
并查集(不想交集合) 能够手写并查集,理解压缩路径的优势 ❤️❤️
并查集写走迷宫游戏 全网爆火:我花了一夜给女朋友写了个走迷宫游戏 ❤️❤️❤️❤️

其他

标题 tips 重要性
回溯算法(八皇后) 回溯是一个不断尝试还原的过程,借助递归,经典八皇后问题 ❤️❤️❤️
分治算法 先分后合并,经典二分搜索、快排、归并排序、最近点对等问题 ❤️❤️❤️
dfs,bfs搜索 深度优先搜索、广度优先搜索,蓝桥杯想拿奖得靠他 ❤️❤️❤️❤️
拓扑排序 图论算法,得到一个前后的顺序序列(不唯一) ❤️❤️
Dijkstra 图论单源最短路径,队列+贪心实现 ❤️❤️
Floyd 图论多源最短路径,短小精悍,代码简短但是需要理解 ❤️❤️
Prim,Kruskal 图论最小生成树,不同贪心策略,Prim基于Dijkstra,Kruskal基于并查集 ❤️❤️
全排列系列 回溯算法,涉及全排序、排列、子集的重复/不重复情况 ❤️❤️❤️
原码反码补码 二进制基础,原码是给人看的,补码是给计算机看的,反码中间过渡 ❤️❤️❤️
经典位运算 二进制提高,介绍几种位运算,讲解覆盖大部分经典位运算问题 ❤️❤️❤️
求素数(素数筛) 数论算法,掌握普通优化、埃氏筛,了解欧拉筛 ❤️❤️
快速幂 数论算法,掌握非递归、递归写法,了解矩阵快速幂 ❤️❤️
大数加减乘除 能够手写大数加法、减法、乘法,了解大数除法** ❤️❤️❤️

十大排序

标题 tips 重要性
冒泡排序、快速排序 交换类排序 ❤️❤️❤️❤️
插入排序、希尔排序 插入类排序 ❤️❤️
归并排序 归并类排序 ❤️❤️❤️❤️
简单选择排序、堆排序 选择类排序 ❤️❤️❤️
桶排序 桶类排序 ❤️❤️
计数排序 桶类排序 ❤️❤️❤️
基数排序 桶类排序 ❤️❤️
十大排序汇总 搞清各种排序之间的区别 ❤️❤️❤️❤️
双轴快排 快排的优化 ❤️❤️

力扣题解 下面有分类

算法分类

搜索

数学

双指针

二分

分治

动态规划

排序

贪心

数据结构分类

链表

哈希

字符串

数组

图论

刷题tips

  • LeetCode 167两数之和② 双指针
  • LeetCode 152 乘积最大子数组 动态规划
  • LeetCode 198 打家劫舍 动态规划
  • LeetCode 213 打家劫舍② 动态规划
  • LeetCode 377 打家劫舍③ 动态规划 (树形DP)

资源会优先在公众号发布,本文档后期也会整理成pdf送给大家!欢迎大家扫码关注公众号:bigsai

欢迎关注

bigsai-algorithm's People

Contributors

javasmall avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.