第一章 开始学习数据结构

为什么要学习数据结构
  • 数据结构研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据。
数据结构可以分成三种结构
  • 线性结构
  • 树结构
  • 图结构
线性结构
  • 数组
  • 队列
  • 链表
  • 哈希表
树结构
  • 二叉树
  • 二分搜索树
  • 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++ 之类的也有类似问题,但不明显可以忽略。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 6,045评论 0 13
  • 1)这本书为什么值得看: Python语言描述,如果学的Python用这本书学数据结构更合适 2016年出版,内容...
    孙怀阔阅读 12,648评论 0 15
  • 目录 1.各种表的对比参考基本数据结构ADT及其实现1.1 三种表1.2 表的两种实现(数组、链表)之间的对比1....
    王侦阅读 15,446评论 0 11
  • 焦点网络班第一期 郑州何琴 坚持分享第875天 昨天去学校加班的时候听说我们学校的校长和六一小学的校长对换了,去六...
    依然化蝶阅读 307评论 0 0
  • 那年,我们在不同的时刻来到这个世界,今年,我们在相同的时刻在这个世界相遇。还未互诉真情,就已为彼此心动,两颗相隔甚...
    北叶林阅读 645评论 2 1