- 博客(8)
- 收藏
- 关注
原创 【CUPK小学期】笔记5:局部最优搜索-课后习题
与显式图不同,隐式图不需要使用额外的数据结构来存储图的顶点和边,而是根据规则或算法来判断图中的顶点和边的关系。在这些情况下,我们可以根据规则或算法生成图的结构,并通过相应的算法来进行图的遍历和操作。可能陷入局部最优解:由于局部最优搜索只关注局部解,存在可能陷入局部最优解的问题。迭代优化:局部最优搜索是一个迭代的过程,通过不断地更新当前解,逐步寻找更优的解。通过搜索邻域内的解,可以探索解空间中的局部结构,找到更优的解。局部搜索:局部最优搜索算法只关注当前解的邻域内的解,通过在邻域内搜索来逐步逼近最优解。
2023-07-04 17:36:04
210
原创 【CUPK小学期】笔记4:局部最优搜索-多元函数极值求解
对于多元函数的极值求解,可以使用局部最优搜索来逐步逼近最优解。定义初始解:选择一个初始解作为搜索的起点。定义邻域:根据问题的特点,定义一个邻域函数,用于生成当前解的邻域解。邻域解是在当前解的基础上进行微小的变动得到的。评估解的质量:对于每个邻域解,计算其函数值,并与当前解进行比较,确定是否更新当前解。更新解:如果邻域解的函数值更好(更小或更大,具体取决于问题类型),则将当前解更新为邻域解。判断停止条件:根据问题的特点,设置停止搜索的条件,例如达到一定的迭代次数、函数值变化小于某个阈值等。
2023-07-04 17:08:29
353
原创 【CUPK小学期】笔记3:局部最优搜索-旅行商最短路径求解
为了使用局部优先算法求解旅行商问题的最短路径,我们可以按照以下步骤进行操作:初始化当前解为初始解,选择一个起始城市作为出发点。初始化最优解为当前解。进入循环:4. 生成当前解的邻域解集合,即将当前解中的两个城市交换位置。5. 遍历邻域解集合:6. 若当前邻域解的路径长度优于当前解,则更新当前解为该邻域解。7. 若当前解的路径长度优于最优解,则更新最优解为当前解。8. 判断终止条件:9. 若已经遍历了所有可能的邻域解,即每对城市都进行了交换,且回到了起始城市,则跳出循环。
2023-07-04 16:18:16
246
原创 【CUPK小学期】笔记2:树路径求解
在创建父节点时,我们先在已有的节点指针数组中查找是否已经存在该节点,如果存在则直接使用已有的节点指针,如果不存在则创建一个新的节点并将其加入节点指针数组中。该函数首先将子节点的父节点指针指向目标节点,然后根据目标节点的子节点是否为空来将子节点添加到目标节点的子节点链表中。在创建子节点时,我们使用strtok函数将输入的子节点字符串按照'/'进行分割,并依次创建子节点并将其添加到父节点的子节点链表中。首先,定义一个树的节点结构,包含了节点的数据、父节点指针、子节点指针和兄弟节点指针。样例输入+输出(no)
2023-06-28 20:52:38
223
1
原创 【CUPK小学期】笔记1:文件加密解密(1)
根据用户的选择,程序会打开源文件和目标文件,并调用相应的加密或解密函数将文件内容进行处理。b. 打开目标文件:使用fopen函数打开destFileName指定的文件,并将返回的文件指针赋值给destFile变量。b. 打开目标文件:使用fopen函数打开destFileName指定的文件,并将返回的文件指针赋值给destFile变量。(3). 在循环中,对读取到的字符进行异或操作,密钥为`key`。解密操作与加密操作是互逆的,即通过解密函数对加密后的文件进行解密,可以还原为原始的文件内容。
2023-06-28 15:14:33
310
1
原创 【C语言】探秘神奇的“文件”世界
需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置。//从fp所指的文件中读入count次,每次读size字节,读入的信息存在buffer地址中。就像二次元世界里的魔法书一样,文件能够记录各种各样的信息,是程序员们的得力助手。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。fgets(字符数组名,n,文件指针);文件指针是一个特殊的指针,它用于指向文件中的某个位置。
2023-06-26 22:49:05
99
原创 斐波那契数列-JAVA实现
代码中,fibonacci方法用递归的方式实现了斐波那契数列。当n等于0时,返回0;当n等于1时,返回1;在main方法中,我们可以调用fibonacci方法来输出斐波那契数列的前n项。需要注意的是,递归实现的斐波那契数列具有指数级别的时间复杂度,随着n的增大,运行时间会呈指数级别增长,因此,当n比较大时,递归实现的效率会非常低。即斐波那契数列的第n项等于前两项之和。下面是用Java实现斐波那契数列的代码,附有注释和详细解释。F(n) = F(n-1) + F(n-2),其中n >= 2。
2023-04-24 20:53:20
1213
2
原创 c语言:根据邮件的重量和是否选择加急计算邮费。
超过 10001000 克的部分,每 500500 克加收超重费 44 元,不足 500500 克部分按 500500 克计算;重量在 10001000 以内(包括),基本费 88 元;请根据邮件的重量和用户选择是否加急计算邮费。),之间用一个空格隔开,分别表示重量和是否加急。一行,包含一个正整数 xx 和一个字符 c(如果用户选择加急,多收 55 元。输出一行一个正整数,表示邮费。
2023-01-10 15:01:09
5508
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人