Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 1.22 KB

README.md

File metadata and controls

60 lines (41 loc) · 1.22 KB

基础算法用golang实现

线性排序

  1. 插入排序, 冒泡排序, 选择排序
  2. 快速排序, 堆排序, 归并排序

链表

  1. 链表的反转
  2. 两个链表是否相交问题
  3. 链表的倒数第K个数
  4. 两个有序链表的合并

动态规划

  1. 最长公共子串
  2. 最长公共子序列
  3. 最长递增序列
  4. 最大子串和
  5. 最长不含重复字符的子串
  6. 字符串相似度问题
  7. 最大连续乘积子串

深度优先遍历(DFS)

  1. 寻找任意个数的和等于给定的值
  2. 寻找树的最大深度
  3. 所有满足条件的路径
  4. 寻找最小的K个数
  5. 划分数组任意等分使和相同
  6. 数组的全排列问题

0-1背包问题(LOS - Local optimal solution)

  1. 交换两数组元素,使得两数组的和差值最小
  2. 从n数列中随意取出几个数,使其和等于m

BigData

  1. 从n多数组里面选择出m个最大的数

Bloom

  1. Bloomfilter简易实现

树(Tree)

  1. 体会红黑树(Red-Black-T)的实现过程
  2. Trie树(Trie-T)的简易实现

设计模式(Design Patterns)

  1. 单例模式(Singleton)
  2. 工厂模式(Factory)
  3. 原型模式(Prototype)
  4. 适配器模式(Adapter)
  5. 装饰器模式(Decorator)
  6. 迭代器模式(Iterator)