第一章 开始学习数据结构

为什么要学习数据结构
  • 数据结构研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据。
数据结构可以分成三种结构
  • 线性结构
  • 树结构
  • 图结构
线性结构
  • 数组
  • 队列
  • 链表
  • 哈希表
树结构
  • 二叉树
  • 二分搜索树
  • AVL
  • 红黑树
  • Treap
  • Splay
  • Trie
  • 线段树
  • K-D树
  • 并查集
  • 哈夫曼树
  • ......
图结构
  • 邻接矩阵
  • 邻接表

我们需要根据应用的不同,灵活选择最合适的数据结构

在计算机的世界里,数据结构无处不在

  • 数据库 :

    • 树结构:
      • AVL;红黑树;等之类的
    • 哈希表
  • 操作系统:

    • 快速在多任务间切换
      • 系统栈
    • 优先队列:堆
  • 文件压缩

    • 哈夫曼树 简单文件压缩方法
  • 通讯录

    • Trie-前缀树
  • 图算法:

    • DFS:使用栈
    • BFS:使用队列

名言:数据结构+算法=程序
对于脚本语言可以了解数据结构原理,但是不能去分析性能。因为脚本语言的写法比逻辑更重要

  • ex:
    python语言中

arr=[]
for i in range(10):
arr.append(i)



arr=[i for in range(10)]

写法2的性能明显优于方法1.但方法一是标准的逻辑写法。编译语言java c++ 之类的也有类似问题,但不明显可以忽略。

你可能感兴趣的:(第一章 开始学习数据结构)