Skip to content
On this page

概述

数据结构和算法的关系

  • 数据结构是研究组织数据方式的学科。

  • 程序 = 数据结构 + 算法

  • 数据结构是算法的基础

数据结构

  • 线性结构
    • 数据元素之间一对一的线性关系
    • 存储结构
      • 顺序存储结构——连续(数组)
      • 链式存储结构——不连续(链表)
    • 数组、队列、 链表、栈
  • 非线性结构
    • 二维数组、多维数组、广义表、树、图

起步

几个经典的算法面试题

  • 字符串匹配问题
    • 暴力匹配「简单,效率低」
    • KMP算法「部分匹配表」
  • 汉诺塔问题
    • 分治算法
  • 八皇后问题
    • 回溯算法
  • 马踏棋盘算法(骑士周游问题)
    • 图的深度优先遍历算法(DFS)+贪心算法优化
  • 修路问题
    • 最小生成树(普利姆算法)
  • 最短路径问题
    • 弗洛伊德算法