算法
Fitz_p
这个作者很懒,什么都没留下…
展开
-
算法-图的几种表示方法
表示如下的一个图有哪些方法呢,import numpy as np1.邻接矩阵图的一种常见的表示方法就是邻接矩阵了,这种表示的主要不同之处在于,它不在列出每个节点的所有邻居节点,而是会将每个节点的可能的邻居位置排成一排 也就是一个数组,用于对应图的每一个节点,然后用某种值,如True或false来表示相关节点是否是当前节点的邻居。其最简单的形式也可用嵌套list来实现。a,...原创 2018-07-28 18:23:00 · 4349 阅读 · 0 评论 -
算法思维-Demo3 树的实现
树的实现特定的树结构会使得他们更加容易实现 其中最容易实现的就是根的树结构了,这种树的每条边都统根出发,并向下延伸。此类结构所代表的往往是某个数据集拥有所有的层次结构,其根节点代表着全部对象(这些对象获取就被直接包含在叶节点内)而其内部各节点所代表的对象都是以该节点为跟的树结构的叶节点。在这里我们甚至可以直接利用类似直觉,将各个子树组织成一个子树列表 T=[ ["a","b"...原创 2018-07-29 19:10:41 · 492 阅读 · 0 评论 -
每天学点算法->进化策略->遗传算法简单例子解读
假设草原上有一群斑马,这群斑马里面,有些斑马跑的比较快,有的跑的慢,而狮子每次捕猎能抓到跑的慢的斑马,那么经过一代代的繁衍,根据达尔文进化论,留下的大部分斑马都是跑的比较快的。进化策略也是基于这优胜略汰,适者生存的套路,通过模拟一个种群的进化过程,逐步优化参数,最终使得目标函数达到最优.在这个例子中目标函数:max=sin(10*x)*x + cos(2*x)*x ; x属于[0,5]...原创 2018-10-12 00:34:21 · 714 阅读 · 0 评论 -
每天学点算法->强化学习->Q_learning
本文将按照以下顺序进行内容安排: 一.Q_learning 简单示例 二.示例的逻辑思路和代码 三.Q_learning应用拓展 第一部分:Q_learning 简单示例——寻找目标T表示目标位置o表示人物位置人物随机出生在一个地点,人物不知道T的位置,但每次可以向左或向右走一步,走到T位置则完成任务。 第二部分:简单示例的逻辑代...原创 2018-10-08 00:21:16 · 362 阅读 · 0 评论 -
排序算法-冒泡排序
算法原理(默认从小到大排序)1.从前往后依次比较相邻两个元素,如果arr[j-1]>arr[j] ,则交换两元素位置,直到len(arr)-1处停止,记录最后发生交换的位置right=j2.从前向后依次比较相邻两元素,若前一个大于后一个,则交换两元素,直到right位置停止;若此时不发生元素交换,则算法过程结束。3.循环执行2过程,直到right<2 或不在发生元素交换。righ...原创 2019-03-04 21:46:20 · 698 阅读 · 0 评论 -
排序算法--快速排序
快速排序原理1.选择一个基准值,这里我们选arr[0],即52.从右向左找,找到第一个比首元素小的后停止,找到4;记下标为j3.从左向右找,找第一个比首元素大的后停止,我们找到8;记下标为i4.交换4和8的位置5.从刚刚停下的地方继续从右向左找比首元素小的,从左向右找比首元素大的,然后互换位置。…6.直到j=i为止,此时交换基准arr[0]和arr[j]的位置,则得到:在基准的左...原创 2019-03-04 22:49:23 · 214 阅读 · 0 评论 -
排序算法--插入排序
算法原理如数组: [18, 2, 15, 9, 3, 19, 14, 7] ,从index=0开始,拿出18,认为[18]排序排好了。然后拿index=1,得到[18,2],此时找2应当插入的位置,从右向左排依次排搜索,得到[2,18]。然后拿index=2,得到[2,18,15],从右开始排序,18和15比,18>15,18和15互换位置,得到[2,15,18]。然后拿到inde...原创 2019-03-04 20:53:03 · 196 阅读 · 0 评论