![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法入门
文章平均质量分 93
小崔努力
这个作者很懒,什么都没留下…
展开
-
遗传算法求解TSP问题
文章目录遗传算法求解TSP问题问题描述遗传算法参数编码初始群体的设定适应度函数的设计遗传操作设计交叉变异选择控制参数设定完整代码遗传算法求解TSP问题问题描述使用遗传算法求下图中从北京出发经过其他四个城市之后回到北京的最短路径,两个城市之间的距离如图所示:遗传算法遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码原创 2022-04-12 22:17:30 · 3298 阅读 · 4 评论 -
算法入门之递归
递归在正式介绍递归之前,我们首先要先来了解以下递归的定义是什么。其实,递归就是反复的调用自身的函数,以此达到将问题规模一步步缩小的结果。好了,下面开始说人话。还是用一个引例来进入今天的主题。引例相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自上而下、由小到大按顺序放置n个金盘。游戏的目标:把A杆上的金盘全部移到...原创 2020-05-09 14:28:53 · 232 阅读 · 0 评论 -
算法入门之Hash
HashHash又称为散列,是常用的算法之一。下面让我们来看一个简单的引例。给你NNN个数字,再给出MMM个数字(N,M<105N,M<10^5N,M<105)。判断这MMM个数字中有哪些数字在NNN个数字中出现过。看到这个问题我起初的思路比较简单直观,直接对这N个数字进行M次循环不就好了吗,但是很显然,如果这么做的话,时间复杂度将会是O(NM)O(NM)O(NM)。那...原创 2020-05-05 20:27:17 · 210 阅读 · 0 评论 -
算法入门之排序
排序最初接触算法,最先见到的想必就是排序了,各种各样的排序算法层出不穷。下面是总结的一些常见的排序:冒泡排序冒泡排序就像它的名字一样,重复的遍历元素,每次只比较相邻的两个元素,进行相应的交换即可,下面是图示(自己画的,比较简单):看完这个图示,是不是脑海中大致有了代码的思路呢?我们一起来写一下看看吧代码我们假设有n个数字需要排序:那么我们一共需要遍历n-1次(因为最后一次只剩下一个...原创 2020-04-10 17:41:38 · 93 阅读 · 0 评论 -
《算法竞赛入门经典》第二版课后习题(持续更新)
第二章课后习题习题2-1:水仙花数(daffodil)输出100~ 999中的所有水仙花数。 若3位数ABC满足ABC= A3+ B3+ C3, 则称其为水仙花数。 例如153= 13+ 53+ 33, 所以153是水仙花数。#include<stdio.h>int main() { int n, m, sum = 0; for(n = 100; n < 1000...原创 2019-11-30 21:19:08 · 899 阅读 · 4 评论