系列文章目录
第一章 时间复杂度和空间复杂度
第二章 顺序表,列表
第三章 栈和队列
第四章 二叉树
第五章 排序
目录
作者:🎈乐言🎈
简介:🎈大一学生,目前在致力于c/c++/python,高数的学习,有问题尽管问我,关注后私聊!
持续更新专栏:《c进阶》,《数据结构修炼》🚀(优质好文持续更新中)🎈
🏆文章目录
🏆前言
数据结构
(Data Structure)
是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的
数据元素的集合。而数据结构和算法在校招,考研,企业面试中,一般都占据大部分内容,占比极大,因此我们十分有必要学好数据结构
有人问,如何学好数据结构,我想说的是,学成这样就行了:
![](https://img-blog.csdnimg.cn/263cc1b9ead84482a2c2bf7fe34c1e8f.png)
🏆一、算法的复杂度
算法在编写成可执行程序之后,需要花费时间资源和空间资源,而这正式衡量一个算法好坏的标准之一。因此衡量一个算法的复杂度,通常是由这两方面决定的,即是时间复杂度和空间复杂度
时间复杂度主要指的是代码运行的快慢
空间复杂度主要指的是代码运行所耗费的内存
我们需要注意的是,在经过计算机的迭代发展后,计算机的储存容量已经达到了很高的程度,所以我们应该更加注意时间复杂度,空间复杂度已经并没有那么重要了
🏆二、时间复杂度的概念
时间复杂度的定义:在计算机科学中, 算法的时间复杂度是一个函数 ,它定量描述了该算法的运行时间。一 个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知 道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个 分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法 的时间复杂度。