1 Star 0 Fork 0

Jim/AlgorithmStudy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

AlgorithmStudy

[toc]

Array

Linked List

All

Stack、Queue、Priority Queue、Dequeue

栈、队列、优先队列、双端队列

哈希表、映射、集合

精选示例:https://shimo.im/docs/R6g9WJV89QkHrDhr/read

树、二叉树、二叉搜索树

VisuAlgo - 二叉搜索树,高度平衡树

泛型递归、树的递归

实战

课后

分治、回溯

预习

参考

· 牛顿迭代法原理

· 牛顿迭代法代码

实战

深度优先搜索、广度优先搜索

  • DFS 代码模板

    # 递归写法
    visited = set() 
    
    def dfs(node, visited):    
        if node in visited: # terminator    	
            # already visited     	
            return     	
        
        visited.add(node) 	
        
        # process current node here. 	
        ...	
        for next_node in node.children(): 		
            if next_node not in visited: 			
                dfs(next_node, visited)
    
    # 非递归写法
    def DFS(self, root): 	
        
        if tree.root is Nonereturn [] 	
        
        visited, stack = [], [root]	
        while stack: 		
            node = stack.pop() 		
            visited.add(node)		
            process (node)         
            # 生成相关的节点		
            nodes = generate_related_nodes(node) 		
            stack.push(nodes) 	
            # other processing work 	
            ...
    
  • BFS 代码模板

    def BFS(root):    
        visited = set()	
        queue = [] 	
        queue.append([root]) 	
        
        while queue: 		
            node = queue.pop() 		
            visited.add(node)		
            
            process(node) 		
            nodes = generate_related_nodes(node) 		
            queue.push(nodes)	
            
            # other processing work 
    
    public class TreeNode {    
        int val;    
        TreeNode left;    
        TreeNode right;    
        TreeNode(int x) {        
            val = x;    
        }
    }
    
    public List<List<Integer>> levelOrder(TreeNode root) {    
        List<List<Integer>> allResults = new ArrayList<>();    
        if (root == null) {        
            return allResults;    
        }    
        
        Queue<TreeNode> nodes = new LinkedList<>();    
        nodes.add(root);    
        while (!nodes.isEmpty()) {        
            int size = nodes.size();        
            List<Integer> results = new ArrayList<>();        
            for (int i = 0; i < size; i++) {            
                TreeNode node = nodes.poll();            
                results.add(node.val);            
                if (node.left != null) {                
                    nodes.add(node.left);            
                }            
                if (node.right != null) {                
                    nodes.add(node.right);            
                }        
            }        
            allResults.add(results);    
        }    
        return allResults;
    }
    

· DFS 代码模板(递归写法、非递归写法)

· BFS 代码模板

实战

课后

贪心算法

· 动态规划定义

课后

二分查找

· 二分查找代码模板

· Fast InvSqrt() 扩展阅读

实战

课后

动态规划

· 递归代码模板

· 分治代码模板

· 动态规划定义

· MIT 动态规划课程最短路径算法

实战

高级DP实战

课后作业

字典树和并查集

· Tire 树代码模板

实战

· 并查集代码模板

实战

高级搜索

· DFS 代码模板

· BFS 代码模板

· AlphaZero Explained

· 棋类复杂度

实战

双向BFS

启发式搜索

· A* 代码模板

· 相似度测量方法

· 二进制矩阵中的最短路径的 A* 解法

· 8 puzzles 解法比较

实战

红黑树和AVL树

· 平衡树

位运算

· 如何从十进制转换为二进制

· N 皇后位运算代码示例

实战

布隆过滤器和LRU缓存

· 布隆过滤器的原理和实现

· 使用布隆过滤器解决缓存击穿、垃圾邮件识别、集合判重

· 布隆过滤器 Python 代码示例

· 布隆过滤器 Python 实现示例

· 高性能布隆过滤器 Python 实现示例

· 布隆过滤器 Java 实现示例 1

· 布隆过滤器 Java 实现示例 2

· Understanding the Meltdown exploit

· 替换算法总揽

· LRU Cache Python 代码示例

实战

排序算法

· 十大经典排序算法

· 快速排序代码示例

· 归并排序代码示例

· 堆排序代码示例

· 直播课回顾: https://pan.baidu.com/s/1sFuZ8GjDCXy5mPCNLZhHxw 提取码: 2rdy

· 十大经典排序算法

· 9 种经典排序算法可视化动画

· 6 分钟看完 15 种排序算法动画展示

实战

高级动态规划

课后

字符串算法

· 不可变字符串

· Atoi 代码示例

字符串基础问题

字符串操作问题

异位词问题

回文串问题

最长子串、子序列问题

字符串 +DP 问题

参考链接

· Boyer-Moore 算法

· Sunday 算法

· 字符串匹配暴力法代码示例

· Rabin-Karp 代码示例

· KMP 字符串匹配算法视频

· 字符串匹配的 KMP 算法

课后

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jim123456/algorithm-study.git
git@gitee.com:jim123456/algorithm-study.git
jim123456
algorithm-study
AlgorithmStudy
master

搜索帮助