0%

数据结构学习笔记 - 01 介绍

数据结构的分类

  • 线性结构:数组、栈、队列、链表、哈希表……
  • 树结构:二叉树、二分搜索树、AVL、红黑树、Treap、Splay、堆、Trie、线段树、K-D 树、并查集、霍夫曼树……
  • 图结构:邻接矩阵、邻接表。

数据结构的应用

  • 数据库中大量使用各种树结构(如 AVL、红黑树、Treap、伸展树、B 树等)以及哈希表等;
  • 操作系统中会有系统栈、优先队列(堆);
  • 霍夫曼树用于文件压缩算法;
  • 微软实习生,通讯录联系人很多时,查找联系人变慢,使用 Trie 查找就会非常好;
  • 图论算法:
    • DFS(深度优先遍历)使用栈
    • BFS(广度优先遍历)使用队列

简单的关于时间复杂度分析

  • O(1), O(n), O(lgn), O(nlogn), O(n^2)
  • 简单的说,大O描述的是算法的运行时间和输入数据之间的关系;

本次学习涉及的数据结构

  • 数组
  • 队列
  • 链表
  • 二分搜索树
  • 线段树
  • Trie
  • 并查集
  • AVL
  • 红黑树
  • 哈希表