为什么学习数据结构与算法
1、解决实际问题
随着应用程序变得越来越复杂和数据越来越丰富,几百万、几十亿甚至几百亿的数据就会出现,而对这么大对数据进行搜索、插入或者排序等的操作就越来越慢,数据结构就是用来解决这些实际问题的。
2、提高编程能力
学习数据结构和算法对于计算机科学的学习非常重要。掌握数据结构和算法可以提高程序员的编程技能,帮助程序员设计出更、更可靠、更优雅的代码。同时,数据结构和算法也是计算机科学领域的核心概念,掌握它们可以提高程序员的计算机科学素养,从而更好地应对日益复杂的计算机系统和应用。
3、学习其他领域
学习计算机视觉、自然语言处理、机器学习等领域都需要掌握基本的数据结构和算法知识。

学什么,有哪些基础概念
常见的基本概念和术语:
数据:计算机中表示特定信息的单个项或项集合。数据可以是数字、字符、字符串、图像、音频等等。
数据元素:数据结构中的基本单位,通常是一个单独的数据项。例如,整数、字符、字符串等都可以作为数据元素。
数据结构:数据元素之间的逻辑关系和物理关系的组合。数据结构通常可以分为线性结构、树形结构、图形结构等。
线性结构:数据元素之间存在一对一的关系,例如数组、链表、栈和队列等。
树形结构:数据元素之间存在一对多的关系,例如二叉树、B树、堆等。
图形结构:数据元素之间存在多对多的关系,例如有向图、无向图等。
算法:解决特定问题的有序步骤,包括输入、输出和执行过程。算法可以用自然语言、伪代码或具体的编程语言实现。
操作:对数据结构进行的操作,通常包括增、删、改、查等。
存储结构:数据结构在计算机内存中的存储方式,通常包括顺序存储和链式存储等。
时间复杂度:描述算法执行所需时间的量度,通常用大O符号表示。
空间复杂度:描述算法需要占用空间的量度,通常也用大O符号表示。