东方博宜OJ网站
CSP文档
1967 输出字符的ASCII码
1968 输出ASCII码对应的字符
1970 判断是什么字符
1971 大小写转换
1093 打印小写字母表
1093. 打印小写字母表
1435. 数池塘(八方向)
1432. 走出迷宫的最少步数
INT_MAX : int 类型最大值
INT_MIN : int类型最小值
详细:C/C++之最值limits.h(climits)和limits头文件
1431. 迷宫的第一条出路
1360. 卒的遍历
1739. 迷宫的所有路径
1308.全排列的结果
1358.素数环
1236. 二分查找
分查找(Binary Search)是一种在有序数组中查找特定元素的高效算法。在讨论二分查找的最佳结果时,我们通常是在讨论其最佳时间复杂度,即在最理想的情况下,算法需要比较的次数。
在最佳情况下,二分查找的时间复杂度是 O(1),这发生在要查找的元素正好是数组的中间元素时。也就是说,在最佳情况下,你只需要进行一次比较就能找到目标元素。
二分查找算法的最坏情况时间复杂度是 O(log n),其中 “n” 是数组中的元素数量。这种情况发生在所查找的元素位于数组的一端或根本不存在于数组中。
解法一:(非递归解法——二分)
解法二:(递归解法)
1010 数组元素的排序
一题多结!
1、快速排序
这是一个经典的快速排序(Quick Sort)算法的实现。快速排序的平均时间复杂度为O(n log n),但最坏情况下时间复杂度为O(n^2)。 在你的代码中,快速排序递归调用的方式可能导致最坏情况的发生,因此最坏情况下时间复杂度为O(n^2)。
快速排序的时间复杂度的平均和最坏情况取决于选择的基准元素以及数据的分布情况。在最好情况下,每次选择的基准元素都能将数组均匀地分成两部分,此时时间复杂度接近O(n log n)。
解法一:
解法二:
2、冒泡排序
普通解法:
改良解法:
3、选择排序(冒泡排序改良版——减少交换次数!)
错误写法!
4、桶排序(非常简单!)
5、插入排序