
数据结构
文章平均质量分 94
努力努力再努力.xx
这个作者很懒,什么都没留下…
展开
-
【C++】Map、Set 模拟实现
map、set 是 C++ 中的关联式容器,由于 map 和set所开放的各种操作接口,RB-tree 也都提供了,所以几乎所有的 map 和set的操作行为,都只是转调红黑树的操作行为。本文对 Map、Set 进行模拟实现,可以深入的理解这两个关联式容器的底层原理!原创 2023-05-28 16:51:12 · 1278 阅读 · 0 评论 -
【C++】红黑树的实现
红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。map 、set 两个关联式容器的底层就是红黑树。原创 2023-05-16 20:52:09 · 705 阅读 · 1 评论 -
【C++】搜索二叉树
有了二叉树的概念,就可以继续学习二叉搜索树,这是为了学习 AVL 树、红黑树打下基础,其中,二叉搜索树的删除是需要特别注意的地方。原创 2023-05-12 20:47:02 · 636 阅读 · 0 评论 -
【C++】AVL树
AVL树是在搜索二叉树的基础上,保证任意一个节点,其左右子树的高度差不超过1,这样子的搜索树又叫做平衡搜索二叉树/AVL树。原创 2023-05-14 20:10:16 · 415 阅读 · 0 评论 -
【数据结构】归并排序、快速排序(递归法和非递归法)
排序算法是基础,但是,对于归并排序和快速排序,其思想方法的理解是重中之重,而且不光要掌握递归法,对非递归法也要有所了解。本文详细介绍了归并排序,以及三种实现快速排序的方法。与此同时,对两种排序算法的非递归法也进行了细致的分析,相信看完一定有所收获!原创 2023-02-01 22:39:47 · 1374 阅读 · 17 评论 -
【数据结构】插入排序、希尔排序、冒泡排序、选择排序
对于排序,插入、选择、冒泡可谓是最基础的排序算法,其中,由插入排序可以延伸出希尔排序,本文主要介绍这四种排序算法。原创 2022-12-30 18:54:40 · 456 阅读 · 2 评论 -
【数据结构】二叉树的节点总个数、叶子节点个数、第K层节点个数、二叉树的深度
这篇文章详细介绍了 二叉树递归方法求其节点总个数、叶子节点个数、第K层节点个数、深度,通过递归展开图,由浅入深地讲解递归方法的过程,看完一定会对二叉树的递归过程有更深层次的掌握。原创 2022-12-18 16:04:39 · 11227 阅读 · 0 评论 -
【数据结构】二叉树的前序遍历、中序遍历、后序遍历、层序遍历
二叉树的遍历是学习二叉树首先要会的,这里从深度优先遍历(前、中、后序)和广度优先遍历(层序)两方面来详细解释如何遍历二叉树,深度优先遍历使用递归方法。原创 2022-12-15 14:19:45 · 7507 阅读 · 0 评论 -
【数据结构】深度剖析堆排序、TopK问题
堆在实际生活中的应用还是比较多,特别是TopK问题,以及堆排序,这篇文章详细介绍了这两方面的内容。原创 2022-12-09 14:35:52 · 513 阅读 · 0 评论 -
【数据结构】堆的实现(简单易懂,超级详细!!!)
堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。本文从堆的概念和规律,到堆的实现,向下调整算法,建堆,向上调整算法等等,详细讲解,图文并茂!原创 2022-11-25 20:50:32 · 5643 阅读 · 0 评论 -
【数据结构】双向带头循环链表的实现
链表相信大家都比较熟悉,但是带头双向循环链表不知道大家是否有所了解,本文详细地介绍了带头双向循环链表的结构以及实现方法。原创 2022-11-15 12:46:47 · 296 阅读 · 2 评论 -
【数据结构】0基础掌握队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。原创 2022-10-16 14:11:24 · 433 阅读 · 0 评论 -
【数据结构】栈的实现(C语言)
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。在程序的运行中,栈区有着举足轻重的作用,用数据结构模拟栈能够大大增加我们对程序的理解,这篇文章从选择栈的实现方式、压栈、出栈、销毁等方面详细介绍了栈的实现。原创 2022-10-07 09:12:04 · 6423 阅读 · 2 评论 -
【数据结构】链表的实现以及应用
在数据结构中,链表是重中之种,后续的树等等数据结构需要用到链表,对链表掌握熟练,就能对数据结构有更深层次的理解。本文从链表的概念及结构,以及链表的头插、尾插、头删、尾删、查询、销毁等接口函数,链表的应用等方面具体介绍了链表这个数据结构,相信对初学链表的朋友一定有所帮助!!原创 2022-10-05 21:47:21 · 3016 阅读 · 0 评论 -
【数据结构】顺序表的实现及应用(0基础)
顺序表是数据结构里的第一种线性表,和数组较为类似。本文从顺序表的定义、逻辑结构、物理结构以及接口实现、以及利用顺序表实现两个集合的归并、两个集合的交、并、差集等功能详细介绍了顺序表。原创 2022-10-04 15:44:27 · 886 阅读 · 0 评论 -
【数据结构】算法的时间复杂度和空间复杂度
初始数据结构,对于时间复杂度和空间复杂度不甚了解的uu们可以阅读本篇文章,本文详细地介绍了时间复杂度和空间复杂度,并有许多的例子,相信看完本文会受益匪浅!!原创 2022-09-24 16:43:12 · 411 阅读 · 7 评论 -
完全理解KMP算法(C语言实现)
KMP算法的完全理解,从其一般规律到next[j]的规律、next[j]数组的代码解读,KMP算法的完全解读以及KMP算法的优化,十分详细地介绍了KMP算法,相信有助于你对于KMP算法的理解!原创 2022-09-13 23:01:42 · 846 阅读 · 12 评论