agriculture
文章平均质量分 68
IT技术猿猴
这个作者很懒,什么都没留下…
展开
-
基于蚁群算法的路由选择优化算法
内容总览: 路由选择是一种基于网络层的协议,而所有流行的网络层路由选择协议都是距离向量路由算法和链路状态路由算法。 组合优化问题是人们在工程技术、科学研究和经济管理等众多领域经常遇到的问题,其中许多问题如旅行商问题、0-1背包问题、图着色问题、装箱问题等,都被证明为NP-困难问题。用确定性的优化算法求NP完全问题的最优解,其计算时间使人难以忍受或因问题的高难度而使其计算时间随问题规模的增加以指数速度延长。 蚁群算法(ACO)的研究和应用取得了很大的进展,大量结果证明原创 2022-06-04 20:20:46 · 2564 阅读 · 1 评论 -
算法运行时间的计算方法
了解输入数据的量和运行时间之间的关系 算法的不同会导致其运行时间产生大幅变化,本节将讲解如何求得算法的运行时间。使用相同的算法,输入数据的量不同,运行时间也会不同。比如,对10个数字排序和对1 000 000个数字排序,大家很容易就想到后者的运行时间更长。那么,实际上运行时间会长多少呢?后者是前者的100倍,还是1 000 000倍?就像这样,我们不光要理解不同算法在运行时间上的区别,还要了解根据输入数据量的大小,算法的运行时间具体会产生多大的变化。如何求得运行时间...原创 2022-05-30 10:30:00 · 2068 阅读 · 1 评论 -
大学时期压箱底的东西拿出来了-算法合集3
哈喽!大家好,我是IT技术猿猴,最爱海贼王💞💞💞是一位爱好技术的【技术宅男】!😜😜😜💞💞💞 如果有对技术感兴趣的宅友,欢迎关注💞💞💞❤️❤️❤️感谢各位❤️❤️❤️————————————————🏳️🌈下面请看本篇文章目录目录🏳️🌈二叉搜索树的后序遍历序列📢数值的整数次方📣从上往下打印二叉树💞从尾到头打印链表🎉顺时针打印矩阵🔥把数组排成最小的数🏳️🌈按之字形顺序打印二叉树📢把二叉树打印成多行📣复杂链表的复制💞重建二叉树🎉矩形覆盖..原创 2022-05-23 09:15:00 · 236 阅读 · 0 评论 -
大学压箱底的东西拿出来了-算法合集2
哈喽!大家好,我是IT技术猿猴,最爱海贼王💞💞💞是一位爱好技术的【技术宅男】!😜😜😜💞💞💞 如果有对技术感兴趣的宅友,欢迎关注💞💞💞❤️❤️❤️感谢各位❤️❤️❤️————————————————🏳️🌈下面请看本篇文章目录🏳️🌈整数中1出现的次数(从1到n整数中1出现的次数)/*题目名称:整数中1出现的次数(从1到n整数中1出现的次数)题目描述:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包..原创 2022-05-21 09:30:00 · 373 阅读 · 0 评论 -
大学时期的压箱底东西拿出来了-算法合集-1
哈喽!大家好,我是IT技术猿猴,最爱海贼王💞💞💞是一位爱好技术的【技术宅男】!😜😜😜💞💞💞 如果有对技术感兴趣的宅友,欢迎关注💞💞💞❤️❤️❤️感谢各位❤️❤️❤️————————————————本文介绍:大学时期的算法题🏳️🌈下面请看本篇文章目录目录🏳️🌈不用加减乘除做加法📢二叉搜索树与双向链表📣剪绳子💞删除链表中重复的结点🎉数组中重复的数字🔥链表中环的入口结点🔥斐波那契数列🔥二维数组中的查找🔥和为S的连续正数序列🔥两个链表的第一个公共..原创 2022-05-20 21:47:41 · 567 阅读 · 0 评论 -
一文解决关于各种常见排序算法的所有疑惑(性能-原理-源码-动画演示)
冒泡排序简单选择排序简单插入排序希尔排序计数排序堆排序归并排序快速排序基数排序桶排序冒泡排序时间复杂度:O(n^2)空间复杂度:O(1)最好情况:正序有序时,普通冒泡排序仍是O(n^2),优化后的冒泡排序是O(n)最坏情况:逆序有序时,O(n^2)稳定性:稳定优点:简单,稳定,空间复杂度低缺点:时间复杂度高,效率不好冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元..原创 2022-05-16 21:57:03 · 514 阅读 · 13 评论 -
回溯法C语言
回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现 原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法, 而满足回溯条件的某个状态的点称为“回溯点”。例如:找出 n 个自然数(1,2,3,…,n)中 r 个数的组合。例如,当 n=5,r=3 时,所有组合为:将自然数排列在数组 A 中:排数时从 A[1] A[2] A[3],后一个至少比前一个数小1,并且应满足 ri+A[ri]>r。 若 ri+A[ri]≤r 就要回原创 2022-02-26 13:42:33 · 1359 阅读 · 0 评论 -
数制转换C语言十进制转换为其他进制数字
编程输入十进制N(N:-32767~32767),请输出它对应的二 进制、 八进制、十六进制数。例如:十进制数转化为某进制数的转换方法,如下图示:例中 n=222(十进制数),转换成 x 进制数的过程如下图示:将每次所得的余数由下至上排列(逆序取余数),即有:(222)10 转换成二进制数得到:1100010 (222)10 转换成八进制数得到:336 (222)10 转换成十六进制数得到:13、14这时得到的逆序余数串(在数组 B[1]、B[2]、……、B[k]中)的.原创 2022-02-26 13:39:22 · 2984 阅读 · 0 评论 -
算法:回溯算法团灭排列/组合/子集问题
容易让人搞混的算法问题,分别是求子集(subset),求排列(permutation),求组合(combination)。这几个问题都可以用回溯算法解决。问题很简单,输入一个不包含重复数字的数组,要求算法输出这些数字的所有子集。vector<vector> subsets(vector& nums);比如输入 nums = [1,2,3],你的算法应输出 8 个子集,包含...原创 2020-03-08 17:10:09 · 409 阅读 · 0 评论 -
算法:递归解题
前言递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到 Google 的 PageRank 算法都能看到,也是面试官很喜欢的考点最近看了不少递归的文章,收获不小,不过我发现大部分网上的讲递归的文章都不太全面,主要的问题在于解题后大部分都没有给出相应的时间/空间复杂度,而时间/空间复杂度是算法的重要考量!递归算法的时间复杂度普遍比较难(需要用到归纳法等...原创 2020-03-01 21:40:40 · 365 阅读 · 0 评论 -
算法:5 亿整数的大文件如何排序
内部排序3路快排:private final int cutoff = 8;public <T> void perform(Comparable<T>[] a) { perform(a,0,a.length - 1); } private <T> int median3(Comparable<T>[] a,...原创 2020-03-01 20:47:55 · 877 阅读 · 3 评论 -
算法:一行代码解决的算法题
一、2 的幂次方:问题描述:判断一个整数 n 是否为 2 的幂次方对于这道题,常规操作是不断着把这个数除以 2,然后判断是否有余数,直到 n 被整除成 1 。我们可以把 n 拆成二进制看待处理的,如果 n 是 2 的幂次方的话,那么 n 的二进制数的最高位是 1,后面的都是 0,例如对于 16 这个数,它的二进制表示为 10000。如果我们把它减 1,则会导致最高位变成 0,其余全部变成 ...原创 2020-03-01 20:27:47 · 304 阅读 · 0 评论 -
算法:字符串匹配算法:KMP算法
字符串匹配算法暴力算法BF算法,利用哈希值进行比较的RK算法,以及尽量减少比较次数的BM算法next 数组next数组到底是个什么鬼呢?这是一个一维整型数组,数组的下标代表了“已匹配前缀的下一个位置”,元素的值则是“最长可匹配前缀子串的下一个位置”。或许这样的描述有些晦涩,我们来看一下图:当模式串的第一个字符就和主串不匹配时,并不存在已匹配前缀子串,更不存在最长可匹配前...原创 2020-03-01 17:34:35 · 429 阅读 · 0 评论 -
算法:字符串匹配算法:BM算法
当检测到第一个坏字符之后,我们有必要让模式串一位一位向后挪动和比较吗?并不需要。因为只有模式串与坏字符T对齐的位置也是字符T的情况下,两者才有匹配的可能。不难发现,模式串的第1位字符也是T,这样一来我们就可以对模式串做一次“乾坤大挪移”,直接把模式串当中的字符T和主串的坏字符对齐,进行下一轮的比较:只有坏规则条件下的代码:...原创 2020-03-01 17:21:20 · 351 阅读 · 0 评论 -
算法:字符串匹配算法:BF算法、RK算法
方法一:BF算法 暴力算法缺点:某些情况下效率低RK算法:对BF算法的改进具体算法:原创 2020-03-01 17:07:56 · 385 阅读 · 0 评论 -
算法书籍推荐
如果你想编写应用程序,算法就是你关键要掌握的技能之一。但是算法在程序员圈并不是很受待见,为什么呢?归根结底——难!很多程序员学算法,也仅仅只是为了通过面试,除了面试外,很多程序员都没有意识熬算法在提高编程技能方面的作用。实际上,无论是应用程序开发领域,还是如今大火的人工智能,火爆的区块链都离不开算法。这本书在算法书籍里绝对评得上是宗师级别,而且每一个算法入门的人都能够看懂。全面讲述算法和数据...原创 2020-03-01 16:40:56 · 586 阅读 · 0 评论 -
算法:主宰这个世界的10大算法
任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。(《算法导论第3版》)1归并排序(MERGE SORT)、快速排序(QUICK SORT)和堆积排序(HEAP SORT)归并排序算法,是目前为止最重要的算法之一,是分治法的一个典型应用,由数学家John von Neumann于1945年发明。快速排序算法,结合了集合划分算法和分治算法,不是很稳定,但在处理随...原创 2020-02-14 09:55:00 · 269 阅读 · 0 评论 -
算法:最长有效括号
题目描述:给定一个只包含 ‘(‘和’)’ 的字符串,找出最长的包含有效括号的子串的长度。方法一:栈括号相关的问题首先可以尝试使用 栈 这个数据结构去解决,至于原因,想一想应该不难理解,如果进来一个右括号,也就是 ‘)’,它会和之前 最后一次遍历到的左括号 匹配,栈的 先进后出 的特性保证了这一要求。对于这道题目,因为我们要求的是子串的长度,因此我们可以考虑在栈中保存 index,这样子我...原创 2020-02-14 09:42:16 · 379 阅读 · 0 评论