![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 88
…狂奔的蜗牛~
孤独成就算法
展开
-
AVL树介绍
二叉搜索树虽然可以提高我们查找数据的效率,但如果插入二叉搜索树的数据是有序或接近有序的,此时二叉搜索树会退化为单支树,在单支树当中查找数据相当于在单链表当中查找数据,效率是很低下的**。因此,两位俄罗斯的数学家G.M.A delson-Velskii和E.M.Landis在1962年发明了解决上述问题的方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可降低树的高度,从而减少平均搜索长度。原创 2023-04-13 16:25:48 · 536 阅读 · 0 评论 -
二叉搜索树
二叉树在前面已经讲过,本节介绍二叉搜索树。原创 2023-04-12 10:39:48 · 312 阅读 · 0 评论 -
【链表】无头单向非循环链表
概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。今天我们来讲常用的:无头单向非循环链表实际中链表的结构非常多样,以下情况组合起来就有8种链表结构原创 2023-01-15 21:07:58 · 563 阅读 · 9 评论 -
顺序表 —— 初始化、销毁、打印、增加、删除、查找、修改
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。原创 2022-12-31 16:36:02 · 1759 阅读 · 1 评论 -
【算法基础】单调栈与单调队列
本节,我们简单做两道单调栈和单调队列的题,来理解原理。原创 2022-11-07 22:13:29 · 141 阅读 · 0 评论 -
【算法基础】用数组模拟栈和队列
本节,我们实现用数组模拟实现栈和队列,接下来,我们以题带知识点。原创 2022-11-05 08:59:25 · 498 阅读 · 1 评论 -
【编程强训】删除公共字符(哈希映射)+组队竞赛(贪心)
【解题思路】:将第二个字符串的字符都映射到一个hashtable数组中,用来判断一个字符在这个字符串。判断一个字符在第二个字符串,不要使用删除,这样效率太低,因为每次删除都伴随数据挪动。这里可 以考虑使用将不在字符添加到一个新字符串,最后返回新新字符串。...原创 2022-06-28 13:11:03 · 158 阅读 · 0 评论 -
【八大排序详解~C语言版】直接插入排序-希尔排序- 直接选择排序-堆排序-冒泡排序-快速排序-归并排序-计数排序
排序算法想必大家不陌生,今天就来详细的做个总结,包括排序算法的复杂度,稳定性,实现方式。原创 2022-02-21 16:29:03 · 2623 阅读 · 15 评论 -
【万字好文】二叉树从入门到精通(树、二叉树、堆、深度广度优先遍历、二叉树练习题.....)
【本节目标】1.树概念及结构2.二叉树概念及结构3.二叉树顺序结构及实现4.二叉树链式结构及实现原创 2022-02-09 23:25:18 · 1008 阅读 · 7 评论 -
【数据结构和算法】二叉树基础oj练习
这里写目录标题1. 单值二叉树2.检查两颗树是否相同3.对称二叉树4.另一颗树的子树5.二叉树的构建及遍历6.二叉树的前序遍历7.二叉树的中序遍历8.二叉树的后序遍历1. 单值二叉树–oj链接题解:1.判断根的左孩子的值与根结点是否相同。2.判断根的右孩子的值与根结点是否相同。3.判断以根的左孩子为根的二叉树是否是单值二叉树。4.判断以根的右孩子为根的二叉树是否是单值二叉树。 若满足以上情况,则是单值二叉树。注:空树也是单值二叉树。代码:/** * Definition for原创 2022-02-09 23:00:53 · 724 阅读 · 0 评论 -
【数据结构与算法】队列的介绍与实现(详细+经典例题)
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。队列遵守先进先出FIFO(First In First Out)的原则。原创 2022-01-04 11:59:27 · 686 阅读 · 8 评论 -
【数据结构与算法】栈的介绍与实现(详解)
【本节目标】1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶原创 2021-11-20 14:32:47 · 536 阅读 · 7 评论 -
带你了解算法 01 ——算法的时间复杂度和空间复杂度
数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。原创 2021-07-27 22:15:18 · 560 阅读 · 2 评论