
C/C++
文章平均质量分 65
收录C/C++有趣的内容
杨德杰
今天又双叒叕没学习
展开
-
全网最全排序算法总结(附代码)
本文总结各大排序算法,包括选择排序、冒泡排序、插入排序、快速排序、归并排序、堆排序、桶排序、计数排序、基数排序。原创 2024-11-19 23:40:22 · 1098 阅读 · 0 评论 -
搜索算法——二分查找与哈希搜索
二分查找(binary search)是一种基于分治策略的高效搜索算法。它利用数据的有序性,每轮缩小一半搜索范围,直至找到目标元素或搜索区间为空为止。提示:由于 𝑖和𝑗都是int类型,𝑖 + 𝑗。为了避免大数越界,我们通常采用公式来计算中点。但是二分查找具有一定局限性:二分查找仅适用于有序数据。若输入数据无序,为了使用二分查找而专门进行排序,得不偿失。因为 排序算法的时间复杂度通常为 𝑂(𝑛log𝑛),比线性查找和二分查找都更高。对于频繁插入元素的场景,原创 2024-11-17 23:57:41 · 998 阅读 · 0 评论 -
数据结构:图graph
图(graph)是一种非线性数据结构,由顶点(vertex)和边(edge)组成。我们可以将图𝐺抽象地表示为一组顶点 𝑉和一组边𝐸的集合。以下示例展示了一个包含 5 个顶点和 7 条边的图。原创 2024-11-17 14:06:03 · 572 阅读 · 0 评论 -
数据结构:堆
堆(heap)是一种满足特定条件的完全二叉树,主要可分为两种类型:小顶堆(min heap):任意节点的值≤其子节点的值。大顶堆(max heap):任意节点的值≥其子节点的值。堆作为完全二叉树的一个特例,具有以下特性。‧ 最底层节点靠左填充,其他层的节点都被填满。‧ 我们将二叉树的根节点称为“堆顶”,将底层最靠右的节点称为“堆底”。‧ 对于大顶堆(小顶堆),堆顶元素(根节点)的值是最大(最小)的。。原创 2024-11-17 13:51:27 · 574 阅读 · 0 评论 -
归并排序算法(C语言)
【代码】归并排序算法(C语言)原创 2023-01-08 22:34:44 · 151 阅读 · 1 评论 -
快速排序算法(纯C语言实现)
3、在走的过程中,若end遇到小于key的数,则停下,begin开始走,直到begin遇到一个大于key的数时,将begin和right的内容交换,end再次开始走,如此进行下去,直到begin和end最终相遇,此时将相遇点的内容与key交换即可。5.将key的左序列和右序列再次进行这种单趟排序,如此反复操作下去,直到左右序列只有一个数据,或是左右序列不存在时,便停止操作,此时此部分已有序。4.此时key的左边都是小于key的数,key的右边都是大于key的数。1、选出一个key,一般是最左边。原创 2023-01-08 18:55:34 · 222 阅读 · 0 评论 -
蓝桥杯真题(纯C语言实现):小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。
小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如 02/03/04,可能是 2002 年 03 月 04 日、2004 年 02 月 03 日或 2004 年 03 月 02 日。原创 2023-01-08 15:08:42 · 586 阅读 · 2 评论