数据结构和算法基础概述

我们为什么要学习数据结构和算法?

在面试中面试官越来越喜欢考察算法了,一方面是考察程序员是否对数据结构熟悉,另外还能考察一个人的逻辑思维能力。
算法能力优秀,无疑能为我们拿到更高的技术评级和薪水,跟钱挂钩,怎么能够不好好学习呢?

什么是数据结构?
算法离不开数据结构,数据结构是构成算法的基石,是数据的存储结构,其目的是为了高效地访问和修改数据。

常用数据结构
1、线性结构
数组、链表,以及由他们衍生出来的栈、队列、哈希表
2、树
二叉树、二叉堆
3、图
4、其他数据结构
跳表、哈希链表、位图

什么是算法?

我们应该都听过高斯的故事,高斯计算1加到100的计算方式就是一种算法。
在数学领域中是为了解决某一类问题的公式和思想。
但是在计算机中,算法是一系列程序指令,用于解决特定的运算和逻辑问题。

那么在我们日常的敲代码过程中都有哪些应用呢?
1、运算
常规运算就不说了,如果计算两个超大数,导致变量溢出该怎么做呢?

2、查找
思考一下搜索引擎的搜索。

3、排序
数据库中的各种排序

4、最优决策
美团外卖中根据满减条件和各种优惠来计算最优价格的满减神器。

5、面试
这个对我们是最实际的,哈哈!

衡量算法的优劣,有两个维度:时间复杂度、空间复杂度。

下面会分别介绍时间复杂度和空间复杂度。
有用的话,关注一下!谢谢!
在这里插入图片描述

你可能感兴趣的:(数据结构)