数据结构与算法概述
数据结构
定义:
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合
- 集合
数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
- 线性结构
数据结构中的元素存在一对一的相互关系
- 树形结构
数据结构中的元素存在一对多的相互关系;
- 图形结构
数据结构中的元素存在多对多的相互关系。
常见的数据结构:数组、队列、栈、链表、树、图、堆、散列表
算法
算法包括:
排序算法:
搜索算法:回溯、递归、剪枝
图论:最短路径、最小生成树、网络流建模
动态规划:背包问题、最长子序列、计数问题
基础技巧:分治、倍增、二分法、贪心算法
宽度优先搜索
深度优先搜索
广度优先
双指针
扫描线
朴素贝叶斯
推荐算法
数据结构和算法的关系
- 数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。
- 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决.
- 程序=数据结构+算法
- 数据结构是算法的基础, 换言之,想要学好算法,需要把数据结构学到位。
数据结构与算法概述