Skip to content

ShuaiShuai-Code/algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

algorithm

算法学习心得

十年程序员应该知道的算法

排序算法

  • 快速排序(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)
  • 神经网络基础

About

算法学习心得

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published