数据结构概述

1、为什么要学习数据结构

(1)数据结构是所有计算机专业的同学必学的课程;

(2)数据结构研究的是数据如何在计算机中进行组织和存储的,使得我们可以高效的获取数据或者修改数据;

 

2、数据结构分类

(1)线性结构

       数组;栈;

 

       队列;链表;

 

       哈希表……

(2)树结构

       二叉树;二分搜索树;

 

       AVL;红黑树

      

       Treap;Splay;

 

       堆;Trie;

 

       线段树;K-D树;

 

       并查集;哈夫曼树……

 

(3)图结构

       邻接矩阵;邻接表;

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

 

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

(1)数据库场景

数据库底层是通过很多数据结构制作而成的,数据库主要目的就是用来存储数据的。

数据结构概述

(2)操作系统场景

操作系统底层也是通过很多数据结构制作而成的。

系统栈:递归调用就需要借助系统栈空间。

堆:主要用于组建优先队列数据结构,通过比较优先队列优先级来进行多任务切换。

数据结构概述

操作系统支持快速在多任务间切换

(3)文件压缩场景

简单的压缩算法可以使用哈夫曼树数据结构,但是下面文件格式并不是全部使用哈夫曼树数据结构。

数据结构概述

(4)通讯录场景

通讯录产品:微软当时的一款使用链表数据结构来存储联系人,但是当联系人数量越来越大的时候,查询联系人是非常缓慢的。后来这个问题被微软一个实习生解决了,他使用了一种Trie-前缀树数据结构来解决的。不管你的通讯录数量有多大,查询联系人都是毫秒级别的。

数据结构概述

(5)游戏场景

DFS:深度优先算法;

BFS:广度优先算法;

数据结构 + 算法 = 程序

数据结构概述

4、常用数据结构学习

数据结构概述

 

(1)面向面试数据结构

       数组;栈;队列;链表;二分搜索树;堆;

(2)面向竞赛数据结构

       线段树;Trie;并查集;

(3)世界性的计算机题库网站

       https://leetcode.com/

数据结构概述

后面章节笔记主要内容:

  1. 递归;调试;简单的复杂度分析;
  2. 底层实现;创建自己的小型数据库;
  3. 数据结构的优化和比较;

 

 

 

相关文章:

  • 2022-01-06
  • 2021-09-09
  • 2021-07-24
猜你喜欢
  • 2021-12-04
  • 2021-06-30
  • 2022-01-09
  • 2021-09-01
相关资源
相似解决方案