数据结构初阶——堆
麻烦一个月终于过去了,又可以继续写博客了,跟着我进入树的世界吧。
二叉树相关操作---纯代码实现详解
二叉树相关操作---纯代码实现详解,快来看看吧!
图解数据结构——链表(一)
学习数据结构的方法:多画图——多思考——多敲代码,一起加油吧,少年!
【LeetCode每日一题——消失的数字】
面试题 17.04. 消失的数字思路一:开辟一个新数组,将新数组下标为nums[ i ]的元素赋值为-1;再遍历新数组,将新数组中不为-1的下标返回。时间复杂度:O(N)空间复杂度:O(N)思路二:亦或;定义x=0;x跟数组中的元素都亦或一遍,然后再和0~N之间的数字亦或一遍,x就是缺失的数字。(亦
每日刷题记录 (十三)
LeetCode: 剑指 Offer II 015. 字符串中的所有变位词描述:给定两个字符串 s 和 p,找到 s 中所有 p 的 变位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。变位词 指字母相同,但排列不同的字符串。第二题: 剑指 Offer II 025. 链表中的两数相加Le
万字详解八大排序 必读(代码+动图演示)
U.S.News2022年的大学排行榜交换函数,后面会用到2.1插入排序基本思想动图展示 代码实现 复杂度分析基本思想动图展示希尔排序的特性代码实现 复杂度分析每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。基本思想 动图展示代码实现
手撕——排序
排序插入排序希尔排序选择排序堆排序冒泡排序快速排序归并排序
Python实现约瑟夫生者死者游戏可视化(单向循环链表实现)
约瑟夫生者死者问题是数据结构与算法中的经典问题,本文基于单向循环链表这一数据结构实现约瑟夫生者死者游戏,并使用 tkinter技术实现约瑟夫问题的可视化,现就该问题总结,供学习参考!...
【图论】拓扑排序
拓扑排序
二叉树终章
二叉树结尾
哈希结构的实现
哈希表的实现,以及封装map和set,位图与布隆过滤器的实现
<数据结构>停车场管理系统,利用栈和队列实现,包含纯c语言版和C++版的全注释源码
数据结构的课程设计一般都不是很好理解,于是我花时间总结了一下c和c++版本的常见栈和队列的的停车 爆肝万字的两个版本的停车场管理程序你爱了吗 纯c语言版 包含的功能运行效果源码c++版包含的功能运行效果源码✨写在后面停车功能测试:离开停车场并打印收据测试:c++版包含的功能运行效果停车功能测试:离
数据结构——顺序表
步骤:a. 判断顺序表是否为空.b. 判断key是否存在.c. 盖(elem[i]=elem[i+1]).d. usedSize自减(如果是引用类型,则把最后的引用置为null).
【C++】STL——priority_queue的使用及模拟实现
priority_queue的使用及模拟实现,仿函数的介绍
【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或者