<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ice___cream的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ice___cream</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ice___cream]]></copyright><item><title><![CDATA[大作业：圆排列问题]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/106602683</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/106602683</guid><author>ice___cream</author><pubDate>Sun, 07 Jun 2020 16:02:42 +0800</pubDate><description><![CDATA[问题 给定n个大小不等的圆c1,c2,…,cn，现要将这n个圆排进一个矩形框中，且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。

解析主要部分分为三个函数：
1.center求每个圆的圆心坐标，利用直角三角形的定理，可以得出横坐标x的计算公式x^2 = sqrt((r1+r2)2-(r1-r2)2)推导出x = 2sqrt(r1r2)。如下图，三个圆半径分别为1，1，2cm，可得总长为4根号2+2，只要大小合适，目标圆就有可能与排列中的任意一个圆相切

所以只要大.]]></description><category></category></item><item><title><![CDATA[遗传算法读书笔记]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/106534696</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/106534696</guid><author>ice___cream</author><pubDate>Wed, 03 Jun 2020 22:37:54 +0800</pubDate><description><![CDATA[遗传算法读书笔记                        
-读《人工智能导论》（王万良）有感在近代的几百年间，我们从大自然的现象中学习到了无数富有价值的推理，像是飞机的飞行，由萤火4102虫发明了人工冷光，根据鱼的来潜浮方法发明的潜水艇......数不胜数 ，而今天在我阅读人工智能导论时我发现了一种神奇的算法，一种根据以达尔文的进化论思想为核心，依托自然选择而改良出的算法在如今有着相当广泛的应用。
中学时大家都学过生物中的自然选择，生物进化是通过繁殖，变异，竞争和选择实现的，而进化算法则主要通过选择]]></description><category></category></item><item><title><![CDATA[作业12图的着色问题]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/106441153</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/106441153</guid><author>ice___cream</author><pubDate>Sat, 30 May 2020 14:34:55 +0800</pubDate><description><![CDATA[问题图的m着色问题。给定无向连通图G和m种颜色，用这些颜色给图的顶点着色，每个
顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方
案；如果不存在，则回答“NO”。
解析首先，使用邻接矩阵存储无向连通图；其次，明确color数组代表的含义：color[n],大小为n,下标肯定代表顶点，里面的值代表这个顶点放的是哪种颜色。还要判断当前顶点和哪些顶点有着色冲突，若有return false;否则return true。将颜色初始化，遍历搜索下一个颜色。根据着色情况输出、处理下一个顶点或.]]></description><category></category></item><item><title><![CDATA[作业11:最优前缀码]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/106355547</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/106355547</guid><author>ice___cream</author><pubDate>Tue, 26 May 2020 14:28:32 +0800</pubDate><description><![CDATA[问题给定字符集C={x1,x2,…,xn}和每个字符的频率f(xi)，求关于C的一个最优前缀码。


解析哈夫曼算法：
1）初始化n个单节点的树，每个字符的概率记在树的根中，用作树的权重。
2）找到两棵权重最小的树，把它们作为新树中的左右子树，并把权重和记作新的权重记录在新树的根中。
3）重复第二步直到只剩一颗单独的树。




设计
第一步:初始化n个单节点的树，并为它们标上字母表中的字符。把每个字符的概率记在树的根中，用来指出树的权重(更一般地来说， 树的权重等于树中所有叶子的概率之和)。第二步:重..]]></description><category></category></item><item><title><![CDATA[实验十 相容问题]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/106034641</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/106034641</guid><author>ice___cream</author><pubDate>Sun, 10 May 2020 12:39:16 +0800</pubDate><description><![CDATA[问题
相容问题，解析时给出其他几种贪心策略（如按开始时间从小到大、每个活动时间的占用时间等），并给出这些贪心策略无法实现最优的反例。
有n项活动申请使用同一个礼堂，每项活动有一个开始时间和一个截止时间。如果任何两个活动不能同时举行，问如何选择这些活动，从而使得被安排的活动数量达到最多。
解析


设计
A={1} j = 1 for i = 2 to n do if Si &gt;= f then A=A∪{i} j = i return A
分析
算法时间复杂度为O(n)
源码[github源码地址]
.]]></description><category></category></item><item><title><![CDATA[作业9：lcs算法]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/105825281</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/105825281</guid><author>ice___cream</author><pubDate>Tue, 28 Apr 2020 21:53:42 +0800</pubDate><description><![CDATA[问题 


解析



设计




分析[算法复杂度推导]
复杂度为O(mn)


源码[github源码地址]
https://github.com/hackkkkkk/calculate



]]></description><category></category></item><item><title><![CDATA[实验八矩阵链乘法]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/105665550</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/105665550</guid><author>ice___cream</author><pubDate>Tue, 21 Apr 2020 19:19:05 +0800</pubDate><description><![CDATA[问题
设A1，A2···An为n个矩阵的序列，其中Ai为Pi-1*Pi阶矩阵，这个矩阵链的输入用向量P=&lt;P0，P1,···Pn&gt;给出；给定向量P，确定一种乘法次序，使得基本运算的总次数达到最小。
解析
设A[i][j]A[i][j]为∏jk=ia[k]∏k=ija[k]设F[i][j]F[i][j]为A[i][j]A[i][j]的最少运算次数。F[i][j]=min(f[i][k]...]]></description><category></category></item><item><title><![CDATA[投资问题]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/105516823</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/105516823</guid><author>ice___cream</author><pubDate>Tue, 14 Apr 2020 17:32:05 +0800</pubDate><description><![CDATA[问题
投资问题
解析

递推公式: 设 Fk(x) 表示 x 万元投给前 k 个项目的最大效益，
k = 1，2…n，x = 1，2，…，m。
递推方程：Fk (x) = max {fk(xk) + Fk-1(x-xk)} ,
k = 2,3…,n边界条件：F1(x) = f1(x), Fk(0) = 0 , k = 1,2,…,n
设计

分析[算法复杂度推导]
复杂度： o(nm^2)
源码...]]></description><category></category></item><item><title><![CDATA[求第k小元素：采用特定分治策略]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/105369302</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/105369302</guid><author>ice___cream</author><pubDate>Tue, 07 Apr 2020 17:30:42 +0800</pubDate><description><![CDATA[问题[描述算法问题，首选形式化方式（数学语言），其次才是非形式化方式（日常语言）]设L是n个元素的集合，从L中选取第k小的元素，其中1&lt;=k&lt;=n.这里的第k小元素是指，当L按从小到大排好序之后，排在第k个位置的元素。
解析[问题的理解和推导，可用电子版直接在此编写，也可用纸笔推导，拍照嵌入本文档]


将所有元素5个一组，分成n/5(上界)组。
取出每一组中位数。
递归调用sele...]]></description><category></category></item><item><title><![CDATA[作业5-最近对问题]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/105227573</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/105227573</guid><author>ice___cream</author><pubDate>Tue, 31 Mar 2020 17:29:50 +0800</pubDate><description><![CDATA[问题[描述算法问题，首选形式化方式（数学语言），其次才是非形式化方式（日常语言）]
设P1(x1, y1)，P2(x2, y2)，P3(x3, y3), P4(x4, y4) …，是平面上n个散列点构成的集合S，最近对问题就是找出集合S中距离最近的点对。
解析[问题的理解和推导，可用电子版直接在此编写，也可用纸笔推导，拍照嵌入本文档]
将集合S分成两个子集S1和S2，每个子集中有n/2个点。然后...]]></description><category></category></item><item><title><![CDATA[归并算法]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/105020581</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/105020581</guid><author>ice___cream</author><pubDate>Sun, 22 Mar 2020 00:11:24 +0800</pubDate><description><![CDATA[问题[描述算法问题，首选形式化方式（数学语言），其次才是非形式化方式（日常语言）]
归并排序（MERGE-SORT）是建立在归并操作上的一种有效的排序算法,该算法是采用分治法（Divide and Conquer）的一个非常典型的应用。将已有序的子序列合并，得到完全有序的序列；即先使每个子序列有序，再使子序列段间有序。若将两个有序表合并成一个有序表，称为二路归并。归并排序是一种稳定的排序方法。
...]]></description><category></category></item><item><title><![CDATA[两种检索算法]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/104930528</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/104930528</guid><author>ice___cream</author><pubDate>Tue, 17 Mar 2020 20:47:05 +0800</pubDate><description><![CDATA[在一个排好序的数组T[1…n]中查找x，如果x在T中，输出x在T的下标j；如果x不在T中，输出j=0.按实验模板编写，“分析”部分仅给出复杂度结果即可1.顺序查找
void search(int x){
    int j=0,i;
    for(i=1;i&lt;=n;i++){
        if(a[i]==x){
            j=i;
            break;
...]]></description><category></category></item><item><title><![CDATA[Floyd算法实验报告]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/104779304</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/104779304</guid><author>ice___cream</author><pubDate>Tue, 10 Mar 2020 17:50:24 +0800</pubDate><description><![CDATA[问题[描述算法问题，首选形式化方式（数学语言），其次才是非形式化方式（日常语言）]
弗洛伊德算法定义了两个二维矩阵：  矩阵D记录顶点间的最小路径   例如D[0][3]= 10，说明顶点0 到 3 的最短路径为10；  矩阵P记录顶点间最小路径中的中转点   例如P[0][3]= 1 说明，0 到 3的最短路径轨迹为：0 -&gt; 1 -&gt; 3。
解析[问题的理解和推导，可用电子版直接...]]></description><category></category></item><item><title><![CDATA[Dijkstra算法实验报告]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/104778967</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/104778967</guid><author>ice___cream</author><pubDate>Tue, 10 Mar 2020 17:43:23 +0800</pubDate><description><![CDATA[问题[描述算法问题，首选形式化方式（数学语言），其次才是非形式化方式（日常语言）]
迪杰斯特拉算法主要特点是从起始点开始，采用贪心算法的策略，每次遍历到始点距离最近且未访问过的顶点的邻接节点，直到扩展到终点为止。
解析[问题的理解和推导，可用电子版直接在此编写，也可用纸笔推导，拍照嵌入本文档]

Dijkstra的核心思想是贪心算法的思想。贪心算法（又称贪婪算法）是指，在对问题求解时，总是做出在...]]></description><category></category></item><item><title><![CDATA[prim算法构建最小生成树]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/104580896</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/104580896</guid><author>ice___cream</author><pubDate>Sat, 29 Feb 2020 20:17:32 +0800</pubDate><description><![CDATA[问题[描述算法问题，首选形式化方式（数学语言），其次才是非形式化方式（日常语言）]
在一给定的无向图G = (V, E) 中，(u, v) 代表连接顶点 u 与顶点 v 的边（即），而 w(u, v) 代表此边的权重，若存在 T 为 E 的子集（即）且为无向循环图，使得的 sum(w(u, v))最小，则此 T 为 G 的最小生成树。
解析[问题的理解和推导，可用电子版直接在此编写，也可用纸笔推...]]></description><category></category></item><item><title><![CDATA[Kruskal算法构造最小生成树]]></title><link>https://blog.youkuaiyun.com/ice___cream/article/details/104580734</link><guid>https://blog.youkuaiyun.com/ice___cream/article/details/104580734</guid><author>ice___cream</author><pubDate>Sat, 29 Feb 2020 20:09:26 +0800</pubDate><description><![CDATA[问题[描述算法问题，首选形式化方式（数学语言），其次才是非形式化方式（日常语言）]
在一给定的无向图G = (V, E) 中，(u, v) 代表连接顶点 u 与顶点 v 的边（即），而 w(u, v) 代表此边的权重，若存在 T 为 E 的子集（即）且为无向循环图，使得的 sum(w(u, v))最小，则此 T 为 G 的最小生成树。
解析[问题的理解和推导，可用电子版直接在此编写，也可用纸笔推...]]></description><category></category></item></channel></rss>