![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法系列
文章平均质量分 62
逗逗逗逗666
这个作者很懒,什么都没留下…
展开
-
【逗哥讲算法】经典算法之选择排序
选择排序 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 概念 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 表现最稳定的排序算法之一,因为.原创 2021-12-15 10:10:34 · 62 阅读 · 0 评论 -
【逗哥讲算法】经典算法之冒泡排序
冒泡排序 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 概念 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法描述 1.比较相邻的元素.原创 2021-12-14 10:29:18 · 77 阅读 · 0 评论 -
【逗哥讲算法】十大基本排序算法,你了解几个?
十大基本算法介绍 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 1、算法分类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能超过Q(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下限, 以线性时间运行, 因此也称为线性时间非比较类排序。 2.原创 2021-12-13 14:18:14 · 70 阅读 · 0 评论 -
【逗哥讲算法】队列算法讲解
队列 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 队列定义 队列是一种先进先出的线性表,在表一端插入(尾部),在另一端(表头)删除,类似我们的排队。队列的存储结构为链队或顺序队(常用顺序循环队) 队列的顺序存储结构 ADT Queue{ 数据对象:D={ai|ai∈ElemSet,i=1,2....n(n≥0)} 数据关系:R=...原创 2021-12-09 14:25:09 · 140 阅读 · 0 评论 -
【逗哥讲算法】栈的定义和特点
栈 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 栈的定义 栈是一种重要的线性结构,栈是前面讲过的线性表的一种具体形式。 栈是一种后进先出的结构,例如子弹的压入和发出。 栈是一种后进先出(Last in first out,LIFO)的线性表,它要求只在表尾进行删除和插入操作。 栈的元素必须“后进先出” 栈的操作只能在这个线性表的表尾进行。.原创 2021-12-08 14:36:33 · 450 阅读 · 0 评论 -
【逗哥讲算法】线性表的表示和实现
线性表表示和实现 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 顺序表示 线性表的顺序表示又称为顺序存储结构或顺序映像。 顺序存储定义: 把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。 线性表的第一个数据元素的存储位置称为起始位置或基地址。依次存储,地址连续,中间没有空的存储单元。 是一个典型的线性表顺序存储结构。 .原创 2021-12-03 10:13:17 · 179 阅读 · 0 评论 -
【逗哥讲算法】线性表的基本操作
线性表的基本操作 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 基本操作(一) InitList(&L) 构造一个空的线性表L。 DestroyList(&L) 初始条件: 线性表L必须存在 操作结果:销毁线性表L ClearList(&L) 初始条件:线性表L必须存在 操作结果:将线性表L重置为空表 基本操作(二.原创 2021-12-01 11:38:14 · 309 阅读 · 0 评论 -
【逗哥讲算法】线性表的定义
线性表 相关视频参考(来自动力节点):https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 什么是线性表? 线性表:由零个或多个数据元素足证的有限序列。 首先,它是一个序列,元素之间有一个先来后到。若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有一个前驱和后继。 另外,线性表强调是有限的,事实上无论计算机发展到多强大,它所处理的数据都是有限的。允许有空表,线性表.原创 2021-11-30 11:12:44 · 173 阅读 · 0 评论 -
【逗哥讲算法】算法时间复杂度的理解
算法时间复杂度(二) 相关视频参考:https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 算法时间复杂度的定义: (1)时间频度: 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数.原创 2021-11-26 11:28:28 · 174 阅读 · 0 评论 -
【逗哥讲算法】关于算法的空间复杂度的理解(一看就懂)
算法的空间复杂度(一) 相关视频参考:https://www.bilibili.com/video/BV13C4y187FT 相关资料下载:http://www.bjpowernode.com/?csdn 算法效率的度量方法 算法采用的策略、方案 编译产生的代码质量 问题的输入规模 机器执行指令的速度 由此可见,抛开计算机硬件,一个程序的运行时间依赖于算法的好坏和输入规模。 int i,sum=0,n=100; for(i=1;i<=n;i++){ sum=sum+i; } .原创 2021-11-25 10:57:43 · 285 阅读 · 0 评论