快速排序注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 https://github.com/mohuishou/go-sort 说明快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(n log n)次比较。在最坏状况下则需要 Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(n l 2017-09-18 Go数据结构与算法 二、排序算法 Go 排序
插入排序注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 插入排序说明插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 步骤 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序的元素序列中从后向前扫描 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复步骤 3,直 2017-09-18 Go数据结构与算法 二、排序算法 Go 排序
选择排序注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 https://github.com/mohuishou/go-sort 说明选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾 2017-09-18 Go数据结构与算法 二、排序算法 Go 排序
百度面试总结注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 一面(40min)0. 自我介绍1. 介绍 ImageOCR 的项目2. 知道有哪些排序算法?冒泡、插入、shell、归并、快排、堆排序、选择排序等等 有没有不会写的,排雷排掉了堆排序 3. 手写插入排序并解释4. 上面的排序算法哪些是稳定的,哪些是不稳定的还有一些忘了二面(1.2h 2017-09-18 面试 秋招 百度
遗传算法注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 实现示例-Golanggithub 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676 2017-04-17 Go数据结构与算法 四、其他 go 算法 遗传算法
最短路径算法SPFA注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 前面说了单源最短路径算法 Dijkstra,以及多源最短路径算法 Floyd,但是都不能适用于有负权边存在的情况,这里实现一下是西南交通大学段凡丁于 1994 年发表的 SPFA(Shortest Path Faster Algorithm)算法。该算法在 Bellman-ford 算 2017-04-16 Go数据结构与算法 四、其他 go 算法 图 最短路径 spfa
最短路径算法-Floyd注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 在上一篇当中讲了 Dijkstra 算法,Dijkstra 适用于对于单源路径的求取,但是对于任意两个点之间的最小路径呢?首先想到的当然是直接使用多次的 Dijkstra 算法来求取任意两点之间的最短路径,但是这样下来时间复杂度会比较大,所以使用一种新的算法,Floyd 算法来求取最短 2017-04-12 Go数据结构与算法 四、其他 go 算法 图 最短路径
邻接表-Golang注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 最简单直接的办法一般就是使用邻接矩阵的办法来表示图,但是对于稀疏图来说边的数目想对来说比较少的情况下,使用邻接矩阵的办法会比较浪费资源,所以这里采用邻接表 Githubhttps://github.com/mohuishou/algorithm/tree/master/Graph 代 2017-04-10 Go数据结构与算法 四、其他 go 算法 图 邻接表
最短路径算法-Dijkstra注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 算法描述 这个算法是通过为每个顶点 v 保留目前为止所找到的从 s 到 v 的最短路径来工作的。初始时,原点 s 的路径权重被赋为 0 (d[s] = 0)。若对于顶点 s 存在能直接到达的边(s,m),则把 d[m]设为 w(s, m),同时把所有其他(s 不能直接到达的)顶点的路径长 2017-04-09 Go数据结构与算法 四、其他 go 算法 华为软挑 图
华为软挑2017注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用 稍稍总结一下最近差不多几天的心路历程,虽然最后没有拿到名次,但是从最开始的连最短路径是什么都不知道,到现在的已经可以利用遗传算法+最小费用最大流算法求出一些可行的解,就短短的不到一周的时间,学习到了可以说之前一个学期也未必能够学习到的知识。 这两天会把最近学到的相关知识记录到博客当中 2017-04-08 算法 华为软挑