【C语言 - 数据结构】万字详解快速排序、归并排序
你是我黄昏时买到一束花的快乐!1、hoare版本 2、挖坑法3、前后指针法 有了前面的讲解,我们对于hoare版本的快速排序已经有了一定的了解了,我们现在实现其代码部分:(大家可以先理解我对hoare版本的定义再来看其实现代码,或者是结合起来理解) 贴一张图方便大家理解 2.3前后指
数据结构课设—C语言实现通讯录管理系统(顺序表实现)
数据结构课设—C语言实现通讯录管理系统(顺序表实现)
滑动窗口__最长不含重复字符的子符串_和为S的连续正整数序列(剑指offer)
滑动窗口是指在数组、字符串、链表等线性结构上的一段,类似一个窗口,而这个窗口可以依次在上述线性结构上从头到尾滑动,且窗口的首尾可以收缩。我们在处理滑动窗口的时候,常用双指针来解决,左指针维护窗口左界,右指针维护窗口右界,二者同方向不同速率移动维持窗口。...
你真的了解二叉树吗?(上篇)
讲二叉树之前先了解一下树的概念,树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。· 有一个特殊的结点,称为根结点,根节点没有前驱结点· 除根节点外,其余结点被分成M(M>0)个互不相交的集合T
数据结构之复杂度
一个算法的好坏我们主要从两个方面来进行定义:1,时间复杂度,2,空间复杂度2.3,推导大O阶方法的标准所以,根据以上的规则,上面的代码的执行次数我们用大O渐进法得到的最终结果就是 O(N^2)。示例一:基本执行次数:2N + 10,时间复杂度O(N)。示例二:基本执行次数:M + N,时间复杂度O(
ArrayList与顺序表
java中的ArrayList容器类
【数据结构与算法】二叉树题目很难?一句话秒杀基础二叉树题目
💛 前情提要💛本章节是的的相关知识~接下来我们即将进入一个全新的空间,对代码有一个全新的视角~以下的内容一定会让你对有一个颠覆性的认识哦!!!❗以下内容以的方式实现,对于来说最重要的是哦❗以下内容干货满满,跟上步伐吧~作者介绍:二叉树链式结构的概念二叉树的三种遍历方式🔥算法思想💡简单来说:二
【数据结构 - 栈】:力扣题:逆波兰表达式求值
逆波兰表达式求值
【图论】—— 最近公共祖先(LCA)
【图论】—— 最近公共祖先(LCA)
【数据结构】图的存储结构—邻接矩阵
因为图中的顶点具有相对概念,没有固定的位置,且顶点和顶点之间通过添加和删除边,维持着不同的关系。考虑图的定义,图是由顶点和边组成的。所以,分别考虑如何存储顶点和边。图常用的存储结构有邻接矩阵、邻接表、十字链表和邻接多重表。那么对于一般情况下该怎么存储图的数据结构呢?这里我们主要分两个章节详细介绍两种
I C语言 I 实现双向循环链表
双向循环链表的实现
<Java>一把云顶的时间,带你认识栈和队列
数据结构 -- 栈和队列
C++实现通讯录管理系统(OOP类,链表,文件读取等操作实现通讯录的基本功能)
> 需求分析 1、具有联系人基本信息的添加、修改、删除、显示信息和查询功能的通讯录管理系统。2、联系人数据:姓名,性别,索引、电话号码和QQ账号,电子邮件。3、可对记录中的姓名和电话号码和QQ账号进行修改。4、可增加和删除联系人。5、可显示所有的联系人信息。6、可按人名或电话号码进行查询联系人基本信
排序算法之交换排序(快排的递归,非递归)
书接上回,我们讲过了三种办法的单趟排序的实现,下一步我们就重点讲解快排的递归,非递归和排序的优化。
如何完美吃下二叉树?——二叉树练习题
下列数据结构中,不适合采用顺序存储结构的是( )A 非完全二叉树B 堆C 队列D 栈在具有 2n 个结点的完全二叉树中,叶子结点个数为( )A nB n+1C n-1D n/2 LeetCode 遍历,拿一个基准值去和树里的每一个值去比较 分别用每个结点与他们的孩子相比较 LeetCode Le
想学好ArrayList,看完这篇就够了
线性表是数据结构很重要的知识,本文对ArrayList进行全方面剖析,举例介绍基本方法的使用,解析底层扩容机制,并对其进行模拟实现
排序算法之交换排序(快排的三种方法的单趟排序)(上)
快速排序上篇,三种常见方法的单趟排序讲解。
数据结构——二叉树
什么是树树的相关概念什么是二叉树特殊的二叉树二叉树的性质链式二叉树二叉树类型的创建二叉树的遍历前序遍历:中序遍历:后序遍历:二叉树节点的个数查找数据为X的节点查找叶子节点的个数第k层节点的个数二叉树的高度二叉树的层序遍历判断二叉树是不是完全二叉树...
回文链表及链表相交问题(和心怡的人相交)你真的会了吗?
1.对应letecode链接:2.题目描述:3.解题思路:4.对应代码这题用栈十分的简单那能不能优化一下空间了。上面的方式需要存n个节点我们是否能够只存n/2个了(假设有n个节点),当然可以我们可以找到链表的中间节点如果将链表的中间节点后半部分放入栈中。然后cur从头遍历链表和栈顶的元素一 一比较即
【数据结构第三讲(二叉树)】应对考试没问题
从零开始,掌握二叉树