暂时未有相关云产品技术能力~
暂无个人介绍
【MySQL数据库笔记 - 进阶篇】(三)SQL优化
剑指offer 57. 数组中数值和下标相等的元素
【PAT甲级 - C++题解】1123 Is It a Complete AVL Tree
【MySQL数据库笔记 - 基础篇】(三)函数
【MySQL数据库笔记 - 基础篇】(二)SQL
【C++知识点】值拷贝&地址拷贝
【C++知识点】类型转换
【C++项目实现】俄罗斯方块
【C++项目实现】推箱子(含数据库实现)
【华为云原生入门级认证】第 2 章 云原生基础设施之容器技术
程序员技巧 —— 内存泄漏检测工具
【C/C++知识点】变量的4种存储类型
【C/C++知识点】程序内存分区
【C++知识点】浮点数据的输出控制
【微机原理笔记】第 6 章 - 输入输出和中断技术
【微机原理笔记】第 5 章 - 存储器系统与接口
【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
【微机原理笔记】第 3 章 - 8086/8088的指令系统
第 2 章 微处理器与总线
【微机原理笔记】第 1 章 - 微型计算机基础概论
Go语言编程快速入门
go01 简介和准备
第十一届蓝桥杯省赛 C++ B组 - 成绩统计
第十二届蓝桥杯省赛第二场 C++ B组 - 负载均衡
第十二届蓝桥杯省赛第二场 C++ B组 - 特殊年份
第十二届蓝桥杯省赛 C++ B组 - 砝码称重
第十二届蓝桥杯省赛 C++ B组 - 双向排序
第十二届蓝桥杯省赛 C++ B组 - 杨辉三角形
今天我们继续来整理与 O(n+k) 有关的三个排序算法,即计数排序、桶排序和基数排序。
今天我们继续来整理平均时间复杂度为 O(nlogn) 的三个排序算法,即归并排序、堆排序和快速排序。
从这一讲开始,我们整理一下常见的十大排序算法,可以按照它们的时间复杂度进行大致的分类。今天先来讲讲平均时间复杂度为 O(n^2^) 的四个排序算法。
前面我们其实已经涉及到了查找算法,比如二叉排序树和平衡二叉树等。这一讲我们来补充一下其它常见的查找算法,下面我会依次讲解并实现顺序查找、二分查找和哈希查找算法。
我们上一讲详细的讲述了拓扑排序的实现,为了就是给这一讲打下基础,因为这一讲我们将会讲关键路径,它就要用到拓扑排序的知识。
今天来讲另一个非常重要的知识点 —— 拓扑排序。咋一看好像是一个排序算法,然而它和排序扯不上半点关系,它可以用于判断我们的图中是否存在有向环。
今天我们来看看图论中另一个非常重要的问题 —— 最短路径,正如其名就是要再图中找到起点到终点的最短路径,这就需要不断地去比较每条边的权值。这一讲我们将会具体介绍迪杰斯特拉算法和弗洛伊德算法的实现。
这一讲来讲一个图中非常重要的内容 —— 最小生成树,在此之前我们先来回顾一下生成树的概念。
上一讲我们对图有了一个大概的了解,但是只讲了如何存储图,还没有讲如何遍历图。这一讲我们来介绍图的遍历方式,一共分为深度优先搜索(DFS)和宽度优先搜索(BFS)。
这一讲我们来讲一个非常实用的小技巧即并查集,一开始理解起来可能需要一点时间,但是它的实际代码其实非常的短,在后面的内容中我们也会用到。
这一讲我们来讲讲目前为止难度最大的一种树,当然后面要有 B 树、B+ 树和红黑树等着我们。同样,我会将详细的代码附到详解的最后。
前面我们讲的数据结构都是针对于一对一或一对多的情形,如果涉及到多对多的复杂情况就要用到我们接下来讲解的图了,这一讲我们重点讲解邻接表、邻接矩阵、十字链表以及邻接多重表的代码实现。如果已经对图的概念比较熟悉的小伙伴,可以拉到下面看相关的代码实现。
这一讲我们来学习一个比较有趣的树 —— 哈夫曼树,在许多非常知名的算法里也出现了哈夫曼树,这一讲我们就好好来唠唠什么是哈夫曼树。
上一讲我们实现了代码量较大的二叉排序树,这一讲我们讲一个新的类型 —— 线索二叉树。这一讲代码量不多,但在理解上需要大家花一点功夫~
通过前面两讲的学习,大家可能对二叉树有了比较深的感悟,但可能会发现一个小问题,我们在构建二叉树的时候都是一个个插入的,非常的不方便。那么这节课我们就来看看,如何通过输入一个数组来快速构建起一个二叉树。这里会介绍通过顺序数组、前序数组和后序数组如何构建二叉树。
上一讲我们介绍了二叉树的代码实现以及其遍历方法,这一讲我们来看一看进阶版的二叉树 —— 二叉排序树(二叉搜索树)。第一次接触这一讲知识点的朋友一时反应不过来不用太焦虑,其实是非常正常的,看讲解以及代码的同时动手画一画或者实现以下会让你更容易理解~
这一讲我们来看看二叉树的实现,还不清楚树的结构的小伙伴建议先看看上面一讲关于树的定义。
今天我们开始进入树的学习啦,在学习高级搜索树之前,我们先看看一些简单树的实现,先理解好概念,入门就很快了。另外,本讲将会为大家介绍双亲表示法、孩子表示法和孩子兄弟表示法的代码实现。
上一讲,我们用的是数组来实现队列的功能,这一讲我们尝试用链表来实现,其实我认为链表实现比数组实现更容易理解一些。
今天我们来学习一下队列结构,这也是我们讲线性表的最后一个部分了,这里会分成两节来讲,先讲数组的实现,再讲链表的实现。由于双端队列是包含了单端队列的操作,所以我们这里为了讲的更全一些,代码实现为双端队列。
今天我们来学习一下栈结构,栈在C++的STL中同样可以直接调用,但是我们可以用C++自己实现栈的结构。
上一讲我们学会了如何创建一个单链表,这一讲我们来看看双向循环链表是如何进行操作的,我相信经过上面的学习,这一讲对你来说不会太吃力~