Skip to content

hunmix/Algorithm-DataStructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

排序(sorting)

  • 00-冒泡排序 O(n²)
  • 01-选择排序 O(n²)
  • 02-插入排序 O(n²) 对近乎有序的数组效率非常高
  • 03-归并排序, 归并自底向上 O(nlogn)
  • 04-快速排序
  • 05-双路快速排序 避免数组几乎有序时效率变低
  • 06-三路快速排序 避免数组中有大量重复元素时效率变低
  • 07-堆排序
  • 08-堆排序
  • 09-希尔排序
  • 10-计数排序 O(n+k)
  • 11-桶排序
  • 12-基数排序

数据结构(dataStructure)

  • 堆(heap)
    • 01-最大二叉堆 父节点的值总是大于子节点的值, 动态数据维护
    • 02-最大索引堆
    • 03-最大索引堆优化 增加堆索引数组
    • 04-最小二叉堆
    • 04-最小索引堆
  • 树(tree)
    • 01-二分搜索树 数据近乎有序的情况下可能退化成链表, 解决: 平衡二叉树(红黑树, 2-3 tree, AVL tree, splay tree...)。todo: 拓展问题
  • 集合(set)
    • 01-并查集 操作时间复杂度近乎O(1)
  • 图(graph)
    • 01-稠密图 邻接矩阵
    • 02-稀疏图 邻接表
    • 03-最小生成树 lazy prim
    • 04-最小生成树 prim
    • 05-最小生成树 kruskal
    • 06-单源最短路径(无负权边) dijkstra
    • 07-单源最短路径(无负权环) bellman ford

算法(algrothm) 没做的 or 不熟悉部分备忘

  • 数组相关算法(array)
    • 76-MinimumWindowSubstring
  • 查找表相关算法(hashTable)
  • 链表相关算法(linkedList)
    • 234-PalindromeLinkedList 优化: 第二部分链表反转时比较
  • 栈相关算法(stack)
    • 145-BinaryTreePostorderTraversal 迭代算法
    • 279-PerfectSquares 尝试转换成图
    • 127-WordLadder 双向bfs优化
    • 126-WordLadderII (不想做了)!!!放放
  • 动态规划(dynamicProgramming)
    • 343-IntegerBreak 优化: 贪心
    • 198-HouseRobber 不熟
    • 337-HouseRobberIII
    • 416-PartitionEqualSubsetSum 理解起来有点脑壳疼 后面再过一遍
    • 494-TargetSum dp写法
  • 堆(heap)
  • 树相关(tree)
  • 回溯(backtracking )
    • 401-BinaryWatch 弟弟题目, 不知道哪里有问题, 明儿再整
    • 52-N-QueensII 使用位运算优化
  • 贪心(greddy)

About

数据结构、算法、js相关内容

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published