算法学习笔记

数据结构(线性结构/树形结构/图结构)

  1. 数组 array
  2. 链表(动态数据结构)
  3. 散列表 hashtable
  4. 栈 stack(后进先出)(系统栈-子函数)
  5. 队列 queue(先进先出)(循环队列,对普通队列进行优化)
  6. 堆 heap
  7. 树 tree
  8. 二叉树 binary tree(动态数据结构)
  9. 二分搜索树 binary search tree(每个节点的值大于其左子树所有节点的值,小于其右子树说有节点的值)(存储的元素必须有可比较性)
  10. 集合 set (每个元素只能存在一次) (去重)(使用二分搜索树实现)
  11. 映射 map (key value)
  12. 优先队列 Priority Queue (使用堆可以高效实现)
  13. 二叉堆 binary heap (使用树实现的堆,是一棵完全二叉树)(最大堆父节点的值大于子节点的值)(最小堆)(用数组可以实现)
  14. 满二叉树
  15. 完全二叉树

查找算法

  1. 简单查找
  2. 二分查找

排序算法

  1. 选择排序(selection sort)
  2. 插入排序(insertion sort)
  3. 希尔排序(shell sort)
  4. 快速排序()
  5. 归并排序(merge sort)
  6. 堆排序(heap sort)
  7. 冒泡排序(bubble sort)
  8. 计数排序(counting sort)
Yvan Zhu wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
0%