算法
中科院提名者
C/C++/Java/Python领域优质创作者
前端/后端领域优质创作者
xianyu平台同名哦~有问题来找我
粉丝群:573653666
展开
-
查找算法你知道哪些?
表示斐波那契数列中的第k个数)。如果数组长度本身就是斐波那契数,则直接使用;如果不是,则选择第一个大于或等于数组长度的斐波那契数。:由于斐波那契数列中的数可能大于数组的实际长度,算法通常会在原数组末尾添加一些与数组最大元素相同的值,直到数组长度等于。时,查找失败,返回-1。但在实际实现中,由于扩展了数组,如果最后。指向了扩展部分的某个位置,也需要返回-1或进行相应调整。:在返回结果之前,需要移除扩展部分的元素,恢复原数组。:首先,需要确定斐波那契数列中第一个>=数组长度的数。原创 2024-09-06 20:44:32 · 865 阅读 · 0 评论 -
快速幂算法——求解大指数幂
快速幂算法(Fast Exponentiation)是一种高效的计算幂的方法,特别适用于计算形如 a^b的表达式,其中a 是底数,b 是指数,且 b 可能非常大。原创 2024-09-05 00:15:00 · 534 阅读 · 0 评论 -
图的拓扑排序
拓扑排序不唯一,因为可能同时存在多个入度为0的结点。每次选取入度为0的结点,删除该结点及其所有出度边。原创 2024-08-05 15:20:00 · 122 阅读 · 0 评论 -
堆排序算法思想及代码实现
倒序遍历数组,当数组下标小于等于0且深度小于0时跳出循环。交换位置后,判断数组下标是否为奇数,若是则深度减一(观察上述子树序列可知,当数组下标为奇数时,数组下标减一就到下一颗子树)i--) {// arr[i]固定 也就是说数组最后一个元素下标-1 再重新构造大根堆// 当数组下标为奇数时深度需要减一if(i%2!=0) high--;原创 2024-08-04 00:00:20 · 364 阅读 · 0 评论 -
希尔排序算法思想及代码实现
希尔排序是根据增量序列划分成组后对组内的元素进行直接插入排序。原创 2024-08-01 18:23:56 · 513 阅读 · 0 评论 -
折半插入排序算法思想及代码实现
折半插入排序(Binary Insertion Sort)是插入排序算法的一种优化版本。插入排序的基本思想是将一个记录插入到已经排序好的有序表中,从而得到一个新的、记录数增加1的有序表。传统的插入排序在寻找插入位置时,采用的是顺序比较的方式,即逐个与有序表中的元素进行比较,直到找到比待插入元素大的元素或达到有序表的末尾。而折半插入排序则是在这个查找过程中使用了二分查找(Binary Search)的思想,从而减少了比较的次数,提高了排序的效率。原创 2024-08-01 15:09:30 · 422 阅读 · 0 评论 -
选择插入排序改进思路加算法实现
若待排元素小于最后一个元素 将最后一个元素的值赋值给a[j+1] 然后j-- 继续比较倒数第二个元素和待排元素...若待排元素大于等于最后一个元素则直接跳出循环 将待排元素赋值给a[j+1]首先默认第一个元素是已排序的,剩下元素是待排序的,从第二个元素开始遍历。和已排序区域的最后一个元素a[j]往前开始比较大小。取出待排序区域的第一个元素element。原创 2024-07-31 21:44:07 · 261 阅读 · 0 评论 -
来未来面试真题:根据树形表输出树形结构
根据以下所给代码补充完printNode方法,要求输出如下形式的树形结构。原创 2024-07-31 17:02:52 · 466 阅读 · 0 评论 -
选择排序算法改进思路和算法实现
在未排序的数组中,用第一个数去和后面的数比较,找出最小的数,和第一个数交换。第一个数已为已排序的数。从0~7中找到最小的数放在0。从1~7中找到最小的数放在1。从2~7中找到最小的数放在2。从6~7中找到最小的数放在6。原创 2024-07-30 10:40:44 · 102 阅读 · 0 评论 -
冒泡排序的具体思想和算法实现以及改进
改进——记录最后一次交换的索引位置,作为下一次冒泡的比较次数(该位置后的元素均已有序原创 2024-07-30 10:35:11 · 581 阅读 · 0 评论 -
快速排序(单边循环和双边循环)
pv指向分区中最后一个元素,i,j指向分区中第一个元素,j所指向的元素和pv指向的元素比较大小,如果比pv所指大,则j++,否则与i所指元素交换位置,i++,j++;当j=pv时,j与i所指元素交换位置。一直分区直到分区元素为1。pv和i指向第一个元素,j指向最后一个元素,j从后往前找到第一个比pv小的元素,i从前往后找第一个比pv大的元素,然后i和j所指元素交换位置,直到i和j重合,pv和i交换位置,i即分区位置。如果内层循环不加上i原创 2024-04-11 22:14:57 · 253 阅读 · 0 评论 -
用递归和循环分别求A、B的最大公约数
详细解析在代码中:(附加算法执行时间)原创 2023-11-24 22:29:37 · 61 阅读 · 0 评论 -
分治法求整数序列的最大最小值
详细解析均在代码中:(附加算法执行时间)原创 2023-11-24 22:26:26 · 247 阅读 · 0 评论 -
算法装载问题:n个人,第i个人的体重为wi,每艘船的最大载重均为C,且最多只能乘2人,用最少的船装所有的人 ,求船数
详细解析均在代码中:(附带算法执行时间)原创 2023-11-24 22:22:28 · 118 阅读 · 0 评论