【笔记】数据结构与算法

前言

数据结构与算法概念

什么是数据结构

  • 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科

数据结构的分类

逻辑结构

集合结构

  • 集合结构中数据元素出了属于同一个集合外,他们之间没有任何其他的关系

线性结构

  • 线性结构中的数据元素之间存在一对一的关系

树形结构

  • 树形结构中的数据元素之间存在一对多的层次关系

图形结构

  • 图形结构的数据元素是多对多的关系

物理结构

  • 逻辑结构在计算机中真正的表达方式

顺序结构

  • 数据单元所占用的地址是连续的
优缺点
  • 查找操作效率更高
  • 修改(增加、删除)操作效率更低

链式结构

  • 数据单元可以是连续的,也可以是不连续的
  • 通过指针指向下一个元素
优缺点
  • 修改(增加、删除)操作效率更高
  • 查找操作效率更低

什么是算法

  • 算法是指阶梯方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法解决问题的策略机制,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出

数据结构的分类

  • 数据结构在编程中的分类

  • 线性表 - 顺序表

  • 线性表 - 链表 - 单向链表

  • 线性表 - 链表 - 双向链表

  • 线性表 - 栈

  • 线性表 - 队列

  • 符号表

  • 树 - 二叉树

  • 树 - 堆

  • 树 - 平衡树 - 2-3查找树

  • 树 - 平衡树 - 红黑树

  • 树 - B树

  • 树 - B+树

  • 图 - 有向图

  • 图 - 加权无向图

  • 图 - 最小生成树

  • 图 - 加权有向图

完成

参考文献

哔哩哔哩——黑马程序员