Skip to content

dowell2020/algstrain

Repository files navigation

算法训练

这里的内容是学习算法过程的一些记录,希望能坚持下去。

1.基础数学

2.应用算法

  • 链表

    链表 双向链表

  • 数组

    数组数列问题 数组和链表结构是基础结构,散列表、栈、队列、堆、树、图等等各种数据结构都基于数组和链表结构实现。

  • 队列

    队列 堆栈

  • 哈希表 HashTable

    散列函数 碰撞解决

  • 字符串算法

    子串查找 字符串常见题目参考这里 BF算法 KMP算法 BM算法 正则表达式 数据压缩 排序

    • 二叉树 快速排序就是个二叉树的前序遍历,归并排序就是个二叉树的后序遍历
    • 二叉查找树BST有序的二叉树,中序遍历结果是递增的
    • 平衡二叉树AVL树 绝对平衡二叉树;
    • 红黑树 弱平衡二叉树;使用广泛
    • B树
    • B+树 mysql 索引使用 B+树 的数据结构
    • 字典树trie 字典树也叫前缀树,单词查找树
    • 二叉堆
    • 伸展树
    • 后缀树
    • 斐波那契堆(Fibonacci Heap)
    • 最优二叉树(赫夫曼树)
  • 图的算法

    • 图的存储结构和基本操作(建立,遍历,删除节点,添加节点)
    • 最小生成树
    • 拓扑排序
    • 关键路径
    • 最短路径: Floyd,Dijkstra,bellman-ford,spfa
  • 排序算法

    • 交换排序算法
    • 线性排序算法
    • 桶排序
  • 查找算法

    • 哈希表: O(1) hashtable实现参考这里
    • 有序表查找:二分查找
    • 顺序表查找:顺序查找, 复杂度O(N)
    • 分块查找: 块内无序,块之间有序;可以先二分查找定位到块,然后再到块中顺序查找
    • 动态查找: 二叉排序树,AVL树,B- ,B+(这里之所以叫 动态查找表,是因为表结构是查找的过程中动态生成的)

3.深度学习

About

算法训练

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages