【C++】STL——stack&queue模拟实现

主要对deque进行了简要的分析,模拟实现了stack和queue

都2022了,我不允许你还不懂快速排序 <快速排序算法>【附动图详解~】【快排的三种版本~】【快排的优化】

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,最初是以递归形式实现的排序算法。快速排序,作为以’快‘为名字的排序,我们必须要搞清楚他为什么快?本文章一文带你搞懂,快速排序的基本原理,快速排序的3种实现方法还有快速排序的优化,以及如何采用非递归的方法实现快速排序...

【C++】STL——stack&queue的基本使用

stack和queue的基本使用的介绍及内部结构示意图的构成

数据结构与算法——栈和队列

栈和队列是两种重要的线性结构,本篇文章详细总结了数据结构与算法中栈和队列的终点知识,并且结合代码片段实现其基本操作,干货满满,每一句话都是重点,希望能给更多的小伙伴在学习数据结构与算法时带来一定帮助...

数据结构之顺序表

程序运行截图:首先,看到构造方法:add方法:总结,通过上面的源码分析我们可以发现:并且当放满之后,每一次的扩容都是原来的1.5大小。这个时候就是直接给数组开辟了你指定的大小。除此之外,ArrayList还有一个比较特殊的构造方法,你可以直接传入其他的任何实现了Collection接口的实现类作为参

堆的概念和代码实现

目录1. 堆的概念和性质什么是堆:堆的性质:2.堆的实现定义堆主函数向下调整算法堆的创建堆的插入向上调整算法堆的删除获取堆顶元素堆的判空堆内元素个数打印堆内元素堆的销毁建堆的时间复杂度推导3.堆的应用堆排序现实中我们通常把堆使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的

每日刷题记录 (四)

LeetCode: 面试题 01.08. 零矩阵描述:编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。第二题: 合法二叉搜索树LeetCode: 面试题 04.05. 合法二叉搜索树描述:实现一个函数,检查一棵二叉树是否为二叉搜索树。第三题: 特定深度节点链表LeetCode:

堆排序【手写小根堆】

堆排序,小根堆,大根堆,完全二叉树,向下调整,向上调整,down,up堆是一个高效的优先级队列,我们可以把堆看做一棵完全二叉树的数组。性质:根结点最大的堆叫做最大堆或大根堆,根结点最小的堆叫做最小堆或小根堆。将要排序的所有值放到一棵完全二叉树的各个结点中,这时候的二叉树不用具备堆的性质,利用up或者

【C++】STL——list模拟实现

list的模拟实现,主要对list正向迭代器与反向迭代器进行阐述,详细解析

二叉树oj题目

单值二叉树解题思路代码二叉树的最大深度题目描述解题思路代码相同的树题目描述解题思路代码对称二叉树题目描述解题思路代码二叉树的前序遍历题目描述解题思路代码二叉树的中序遍历题目描述代码二叉树的后序遍历题目描述代码另一棵树的子树题目描述解题思路代码二叉树遍历题目描述代码...

map和set

map和set的简介,以及AVL树与红黑树插入的实现,及红黑树封装map和set

浅谈二叉树

一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。遍历方法有:前序遍历、中序遍历、后续遍历

数据结构——堆的实现与应用

我们知道二叉树有两种存储结构:一种是链式结构,一种是数组结构。由于数组结构的特殊性,它通常被用来存储完全二叉树。而数组结构的完全二叉树中又有一个特殊的数据结构,那就是堆。这一节将介绍堆的实现和堆的应用。...

双向带头循环链表之重拳出击

一、 链表的8种结构二、 双向带头循环链表的实现结构的创建和初始化 申请结点初始化尾插打印头插尾删 头删判空 链表长度 在pos位置之前插入结点删除pos位置的结点三、完整代码 总结 双向带头循环链表的结构是这样的:好让我们上手写一下。 首先我们写一下我们所需要的头文件其次我们在创建它的结构时要有

数据结构之泛型

上述代码改进:定义泛型类的时候,可以传入多个参数:✅关于泛型的注意点:三,泛型的使用3.1,语法【类型推导:】3.2,裸类型四,泛型的编译通过查看我们的字节码文件,可以看到我们的占位符T都会被替换成Object。那既然说将泛型T会替换成Object,那么就会有几个问题了?程序运行结果:所以,最为正确

图解迪杰斯特拉(Dijkstra)最短路径算法

【干货满满!】在介绍最短路径之前我们首先要明白两个概念:什么是源点,什么是终点?在一条路径中,起始的第一个节点叫做源点;终点:在一条路径中,最后一个的节点叫做终点;注意!源点和终点都只是相对于一条路径而言,每一条路径都会有相同或者不相同的源点和终点。而最短路径这个词不用过多解释,就是其字面意思:在图

LeetCode 热题 HOT 100 -> 1.两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。LeetCode原题链接方法1:暴力枚举话不多说

数据结构与算法——线性表(链表篇)

本篇文章,主要详细解读和总结线性表的链式存储结构——链表,包括单链表、双链表、静态链表以及循环链表,讲解较为全面,图文并茂,总结各链表的特性以及基本操作,干货满满,各位小伙伴们请细细品读,你会收获你想要的知识的!......

【数据结构】有妙手、本手、俗手?这7道二叉树题,我打赌你们一个都不会

💯秒杀大法:跳出递归的(极端条件)➕左右子树的➕光说不练 假本事,下面我们操刀试试看🔍🏷️力扣地址:🌈965. 单值二叉树💫关键思路:💯圣经秒杀大法:👆综上:💥特别注意:🌠动图解析:👇🏻代码实现💡:1️⃣遍历法:2️⃣递归法🏷️力扣地址:🌈100. 相同的树🏷️解题关

【C语言 - 数据结构】万字详解快速排序、归并排序

你是我黄昏时买到一束花的快乐!1、hoare版本 2、挖坑法3、前后指针法 有了前面的讲解,我们对于hoare版本的快速排序已经有了一定的了解了,我们现在实现其代码部分:(大家可以先理解我对hoare版本的定义再来看其实现代码,或者是结合起来理解) 贴一张图方便大家理解 2.3前后指

登录可以使用的更多功能哦! 登录
作者榜
...
资讯小助手

资讯同步

...
内容小助手

文章同步

...
Deephub

公众号:deephub-imba

...
奕凯

公众号:奕凯的技术栈