算法学习心得
- 快速排序(Quick Sort)
- 归并排序(Merge Sort)
- 堆排序(Heap Sort)
- 插入排序(Insertion Sort)
- 选择排序(Selection Sort)
- 冒泡排序(Bubble Sort)
- 二分搜索(Binary Search)
- 线性搜索(Linear Search)
- 深度优先搜索(Depth-First Search, DFS)
- 广度优先搜索(Breadth-First Search, BFS)
- 最短路径算法:Dijkstra 算法、Bellman-Ford 算法
- 最小生成树算法:Prim 算法、Kruskal 算法
- 图的遍历算法:DFS、BFS
- 解决具有重叠子问题和最优子结构特性的问题
- 经典问题:背包问题、最长公共子序列、最长递增子序列等
- 在每一步选择中都采取当前状态下最好或最优的选择
- 将问题分解成多个小问题,递归解决小问题,然后合并结果
- 通过函数自己调用自己解决问题
- 通过试错的方式尝试分步解决问题
- KMP 算法(Knuth-Morris-Pratt 字符串搜索算法)
- Rabin-Karp 算法
- 正则表达式匹配算法
- AVL 树的插入和删除
- 二叉搜索树(BST)的操作
- Trie 树(前缀树)
- 哈希表的实现和冲突解决策略
- 散列函数的设计
- LRU(最近最少使用)缓存淘汰算法
- LFU(最少频繁使用)缓存淘汰算法
- 栈(Stack)
- 队列(Queue)
- 链表(Linked List)
- 散列表(Hash Table)
- 堆(Heap)
- 图(Graph)
- 线程同步机制:互斥锁(Mutex)、信号量(Semaphore)
- 死锁的预防、避免、检测和解除策略
- 线性回归、逻辑回归
- 决策树、随机森林
- 支持向量机(SVM)
- 神经网络基础