自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SamYu

有空就记录记录

  • 博客(12)
  • 收藏
  • 关注

原创 八大排序算法

插入排序:1.直接插入排序:平均时间复杂度O(n2),最好O(n),最差O(n2),空间O(1)思路:从前往后扩大范围,只移动一个元素void SwapInt(int *a, int *b){ int temp = *a; *a = *b; *b = temp;}void InsertSort(int data[], int length, int start, int end...

2020-03-17 02:30:34 256

原创 四大查找算法

顺序查找算法:O(n)//length需要在外部进行sizeof(array)/sizeof(int)来获取,因为传入数组之后,array已经退化成指针类型了,sizeof结果永远是4。(详情见sizeof,在3.数据结构-数组)int SeqSearch(int array[], int length, int val){ if (array == nullptr || length &...

2020-03-17 02:25:25 286

原创 如何解决端口占用问题

最近在用pycharm调试一个cherrypy的web server,但是在python程序不正常退出(或者切换不同项目)的情况下,并没有正常释放掉所占用的端口,下一次启动时就会提示“Timeout: Port xxx not free on 127.0.0.1”解决办法如下:打开cmd并查看进程的端口使用情况:#查看所有进程的PID以及占用端口netstat -ano#查看某个特定...

2019-10-23 11:37:35 390

原创 遗传算法(五)——模式定理

在前面《遗传算法(二)——编码》中我们提到了,二进制编码的优点之一是可以利用模式定理对算法进行理论分析。本文就来简单介绍一下模式定理是什么东西。模式(Schema)我们将个体基因串中的相似样板称为模式(Schema),用HHH来表示。在二进制编码的串中,模式是基于三个字符集(0,1,*)的字符串,符号*称作是通配符,代表任意字符,即0或1。模式HHH中确定字符(0和1)的个数称为模式HHH的...

2019-09-29 17:15:04 8449 1

原创 遗传算法(四)——交叉、变异与替换

交叉(Crossover)在上一篇文章所描述的选择过后,我们在一个population中选出了一部分可以用作交配的父母个体,而染色体交叉操作,就是指我们在这些父母个体中,选择两个进行相互交配,将他们的染色体按照某种方式相互交换部分基因,形成两个新的个体的过程。实际上交叉操作还分为无性、有性、多亲重组三种:无性:子代由一个父个体产生有性:子代由两个父个体产生一个/两个子个体多亲重组:多余...

2019-09-29 15:36:01 75010 3

原创 遗传算法(三)——适应度与选择

适应度(fitness)含义:个体的适应度(fitness)指的是个体在种群生存的优势程度度量,用于区分个体的“好与坏”。适应度使用适应度函数(fitness function)来进行计算。适应度函数也叫评价函数,主要是通过个体特征从而判断个体的适应度。评价一个个体的适应度的一般过程:对个体编码串进行解码处理后,可得到个体的表现型。由个体的表现型可计算出对应个体的目标函数值。根据最优...

2019-09-27 17:18:42 83299 1

原创 遗传算法(二)——编码

在实现遗传算法时,首要遇到的关键问题就是编码(encode)。编码的方法直接影响到了遗传算法的交叉算子、变异算子等遗传算子的运算,因此很大程度上决定了遗传进化的效率。编解码过程图示:这篇文章就主要总结一下最主流的一些编码方法:二进制编码含义:个体基因型使用二值符号集{0,1}来构成,整个基因型是一个二进制编码符号串。二进制编码符号串的长度与问题所要求的求解精度有关。举例1:x是属于...

2019-09-27 15:08:13 30059 6

原创 遗传算法(一)——简介

什么是遗传算法**遗传算法(Genetic Algorithm, GA)**的灵感来自于达尔文生物进化论的生物进化过程——“物竞天择,适者生存”,是一种模拟自然界进化过程的蕴含遗传学机理的进化算法(Evolutianary Algorithm, EA),用于“高效解决困难的优化问题”,简单地说,就是用来搜索最优解的。遗传算法的一般过程遗传算法是从代表问题可能潜在的解集的一个种群(popul...

2019-09-27 11:51:21 2922

原创 如何理解“伪随机”以及“随机种子”

“真随机”与“伪随机”真随机:就是我们传统意义上理解的“随机”,随机事件如今天是否下雨,抛硬币的正反面,家门口的十字路口今天发生车祸等等。这些看似毫无规律而言的事件发生的概率是“随机的”。所谓的“真随机”,是完全杂乱的,不存在统计学参杂的,具有不可预测性和不可重现性。伪随机:观点在于“万物皆有起因”,就像福尔摩斯所说的,如果将世界一切物质都能量化成“参数”,那么“一切都可以预测”,就好象“今...

2019-09-25 11:19:07 3930

原创 Hadoop - 入门

简介Hadoop是用于海量数据处理和分析的分布式平台。实际上Hadoop除了最初的HDFS和MapReduce两个组件,现在已经发展到六十多个组件,覆盖了从数据存储、执行引擎到数据访问框架等各个层面。“Hadoop”有时被人们用来指代一个更大的、多个项目组成(多指分布式计算和大规模数据处理范畴)的生态系统,而不仅仅是HDFS和MapReduce。特点适合大规模的数据处理适合少量的大容...

2019-02-26 17:06:20 224

原创 读书笔记:Distributed Systems for Fun and Profit

读书笔记:Distributed Systems for Fun and Profit分布式系统是一个宽泛的研究领域。我们常常会听到一些关于分布式的很多技术、系统之类的名词但又不太清楚它们真正的内涵,比如说Hadoop、Spark、Paxos、Raft之类。对于分布式系统的初学者来说,更好入门的方法可能是快速了解分布式领域的一些已解决或未解决的问题、较为经典的一些方法和定理以及它们之间的关系。...

2018-10-18 21:44:28 1121

原创 .bat脚本初体验——使用批处理bat清洗文件名

.bat脚本初体验——使用批处理bat清洗文件名虽然说bat批处理脚本就是连续执行一条条DOS命令,相对于C语言等编程语言来说显得十分有限,但对多个文件进行批量操作是非常方便的。这篇文章旨在记录一下我无意中想到的使用bat的一个小实例。 对批处理和DOS命令熟悉的大神可以直接跳过。使用场景本人喜欢看电影,习惯了将电影在各大资源网站上面下载下来有空看看。下载下来的视频文件就会遇...

2018-08-15 18:20:30 1020

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除