二叉树算法的应用(复制,求深度,求(叶子)节点数)
1.二叉树的结构定义typedef char Elemtype;//二叉树的结构定义 typedef struct csNode { Elemtype data; struct csNode*lchild; struct csNode*rchild; } Csnode,*tree;2.二叉树
【数据结构】数组区间更新-线段树
例题:LeetCode699掉落的方块
Heap —— Priority Queue 【堆 / 优先队列】
前言 - 为堆的学习做准备二叉树的顺序存储 前面所讲的二叉树,什么孩子表示法呀,还有 孩子双亲表示法啊,都是链式存储。 而现在讲的是:顺序存储一棵二叉树。 存储方式 使用数组保存二叉树结构,方式即将二叉树用层序遍历的方式放入数组中。一般只适合表示完全二叉树,因为 非完全二叉树会有空间的浪费。【也就是
桶排序(简化版)与冒泡排序
桶排序与冒泡排序
蓝桥杯第十讲--贪心【习题】
蓝桥杯官网:蓝桥杯大赛——全国大学生TMT行业赛事.本博客讲解蓝桥杯C/C++备赛所涉及算法知识,此博客为第十讲:贪心【习题】本篇博客所包含习题有:付账问题,乘积最大,后缀表达式。贪心【例题】见博客:蓝桥杯第十讲–贪心【例题】博客内容以题代讲,通过讲解题目的做法来帮助读者快速理解算法内容,需要注意:
LeetCode刷题笔记-数据结构-day21
文章目录LeetCode刷题笔记-数据结构-day21451. 根据字符出现频率排序1.题目2.解题思路3.代码973. 最接近原点的 K 个点1.题目2.解题思路3.代码LeetCode刷题笔记-数据结构-day21451. 根据字符出现频率排序1.题目原题链接:451. 根据字符出现频率排序2.
数据结构--排序之希尔排序
希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工作。当到达=1时,所有记录在统一组内排好序。
蓝桥杯 floyd算法练习 最短路
问题描述:问题分析:我的难点就在于数据初始化 由于这是个无向图那么必有graph[i][j]=graph[j][i]即临接矩阵对称然后我是手动输入的= =输了大概快7—8分钟然后总结了下面几点规律:对于无向图求最短路径 先把图标上箭头转化为有向图权值用数字标出每个地点用数字标出最后利用对称的性质 大
LeetCode刷题笔记-数据结构-day19
文章目录LeetCode刷题笔记-数据结构-day19997. 找到小镇的法官1.题目描述2.解题思路3.代码1557. 可以到达所有点的最少点数目1.题目描述2.解题思路3.代码841. 钥匙和房间1.题目描述2.解题思路3.代码LeetCode刷题笔记-数据结构-day19997. 找到小镇的法
蓝桥杯第十讲--贪心【例题】
蓝桥杯官网:蓝桥杯大赛——全国大学生TMT行业赛事,本博客讲解蓝桥杯C/C++备赛所涉及算法知识,此博客为第十讲:贪心【例题】本篇博客所包含习题有:股票买卖 II,货仓选址,糖果传递,雷达设备。贪心【习题】见博客:蓝桥杯第十讲--贪心【习题】博客内容以题代讲,通过讲解题目的做法来帮助读者快速理解算法
数据结构:10大经典排序
排序1、冒泡排序2、选择排序3、插入排序4、希尔排序5、快速排序6、归并排序7、堆排序8、计数排序9、桶排序10、基数排序1、冒泡排序// 冒泡排序#include <stdlib.h>#include <stdio.h>// 采用两层循环实现的方法。// 参数arr是待排序
数据结构--排序之选择排序
选择排序即每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。
【牛客网】——数对
题目描述:牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。牛牛希望你能帮他计算一共有多少个可能的数对。输入正整数n和k,输出一个正整数表示可能的输出数量分析:将x和y要满足的条件提取出来1.x&
蓝桥杯第九讲--差分【例/习题】
蓝桥杯官网:蓝桥杯大赛——全国大学生TMT行业赛事,本博客讲解蓝桥杯C/C++备赛所涉及算法知识,此博客为第九讲:差分【例/习题】本篇博客所包含习题有:差分,差分矩阵。有关差分的内容细致讲解见博文:差分;有关差分的模板见博文:差分算法模板。博客内容以题代讲,通过讲解题目的做法来帮助读者快速理解算法内
LeetCode刷题笔记-数据结构-day16
文章目录LeetCode刷题笔记-数据结构-day16199. 二叉树的右视图1.题目描述2.解题思路3.代码113. 路径总和 II1.题目描述2.解题思路3.代码450. 删除二叉搜索树中的节点1.题目描述2.解题思路3.代码LeetCode刷题笔记-数据结构-day16199. 二叉树的右视图
Python数据结构与算法(2.6)——块状链表
块状链表 (Unrolled Linked Lists) 是单链表的变体,其降低了访问单链表中指定位置元素的时间复杂度,块状链表中的每个块结点(简称块)中存储了多个数据元素结点,每个块中的结点使用一个循环链表进行连接。本节讲介绍块状链表的基本概念并实现其基本操作。
Python数据结构与算法(附录)——块状链表的动态调整
块状链表的块的最大容量会随着链表长度的变化动态改变,因此,为了维持块状链表的稳定性,需要对块状链表进行动态调整,本文将就块状链表的动态调整进行详解分析.
数组相关高频算法考点
文章目录一、调整数组顺序使奇数位于偶数前面二、判断二维数组中是否包含某数三、旋转数组的最小数字四、数组中出现次数超过一半的数字一、调整数组顺序使奇数位于偶数前面牛客链接描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证
【算法】力扣第 277 场周赛
文章目录[2148. 元素计数](https://leetcode-cn.com/problems/count-elements-with-strictly-smaller-and-greater-elements/)[2149. 按符号重排数组](https://leetcode-cn.com/p