数据结构与算法概述

数据结构

定义:

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合

  • 集合

数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;

  • 线性结构

数据结构中的元素存在一对一的相互关系

  • 树形结构

数据结构中的元素存在一对多的相互关系;

  • 图形结构

数据结构中的元素存在多对多的相互关系。

常见的数据结构:数组、队列、栈、链表、树、图、堆、散列表

算法

算法包括:

  1. 排序算法:

    冒泡排序选择排序插入排序希尔排序归并排序快速排序堆排序计数排序桶排序基数排序

  2. 搜索算法:回溯、递归、剪枝

  3. 图论:最短路径、最小生成树、网络流建模

  4. 动态规划:背包问题、最长子序列、计数问题

  5. 基础技巧:分治、倍增、二分法、贪心算法

  6. 宽度优先搜索

  7. 深度优先搜索

  8. 广度优先

  9. 双指针

  10. 扫描线

  11. 朴素贝叶斯

  12. 推荐算法

数据结构和算法的关系

  1. 数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。
  2. 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决.
  3. 程序=数据结构+算法
  4. 数据结构是算法的基础, 换言之,想要学好算法,需要把数据结构学到位。
作者

buubiu

发布于

2021-07-13

更新于

2024-01-25

许可协议