菜鸟笔记
提升您的技术认知

数据结构与算法

阅读 : 3944
数据结构与算法数据结构(英语:data structure)是计算机中存储、组织数据的方式。它不仅存储数据,还支持访问和处理数据的操作。
算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。
不同种类的数据结构适合于不同种类的应用,而部分甚至专门用于特定的作业任务。例如,计算机网络依赖于路由表运作,B 树高度适用于数据库的封装。

数据结构与算法

数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。

数据结构是为算法服务的,算法是要作用再特定的数据结构上的。

常用的数据结构

  • (Stack):栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。
  • 队列(Queue):队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作。
  • 数组(Array):数组是一种聚合数据类型,它是将具有相同类型的若干变量有序地组织在一起的集合。
  • 链表(Linked List):链表是一种数据元素按照链式存储结构进行存储的数据结构,这种存储结构具有在物理上存在非连续的特点。
  • (Tree):树是典型的非线性结构,它是包括,2 个结点的有穷集合 K。
  • (Graph):图是另一种非线性数据结构。在图结构中,数据结点一般称为顶点,而边是顶点的有序偶对。
  • (Heap):堆是一种特殊的树形数据结构,一般讨论的堆都是二叉堆。
  • 散列表(Hash table):散列表源自于散列函数(Hash function),其思想是如果在结构中存在关键字和T相等的记录,那么必定在F(T)的存储位置可以找到该记录,这样就可以不用进行比较操作而直接取得所查记录。

常用的算法

  • 递归
  • 排序
  • 二分查找
  • 搜索
  • 哈希算法
  • 贪心算法
  • 分治算法
  • 回溯算法
  • 动态规划
  • 字符串匹配算法