
算法
文章平均质量分 81
Diehard_Yin
New blogs contents are posted here: https://medium.com/@lisulimowicz
展开
-
Dijkstra算法与实现--进阶篇
1. 本文主要集中使用最小堆原创 2014-09-17 15:21:46 · 1066 阅读 · 0 评论 -
分治思想应用:归并排序
1.归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为: 1)划分子表 2)合并半子表 首先我们来讨论归并算法,归并算法将一系列数据放到一个向量中,索引范围为[first,last],这个序列由两个排好序的子表构成,以索引终点(转载 2014-09-08 18:30:19 · 619 阅读 · 0 评论 -
全源最短路径算法-Floyd
一、思路 求全源最短路径可以采用单源最短路径算法实现,如采用动态原创 2014-10-08 21:02:03 · 3548 阅读 · 0 评论 -
Dijkstra算法与实现--基础篇
一、Dijkstra 算法的介绍 Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),算法解决的是有向图中单个源点到其他顶点的最短路径问题。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,Dijkstra 算法可以用来找到两个城市之间的最短路径。二、图文解析 Dijkstra 算法 ok,经过上文有点繁杂的信息,你还并不对此算法了如指原创 2014-09-17 11:09:35 · 2070 阅读 · 0 评论 -
贪心算法之Prim最小生成树
满足贪心算法的条件是都满足原创 2014-09-26 23:58:54 · 1056 阅读 · 0 评论 -
算法导论之分治法
分治法:主要算法思想就是divide and conquer原创 2014-09-06 18:40:12 · 929 阅读 · 0 评论 -
树形分区设计采用C++实现排序
#include class BinaryTreeClass{public: int count; int from_score; int to_score; static int indexout; int index; BinaryTreeClass* left; BinaryTreeClass* right; BinaryTreeClass(int转载 2014-08-25 16:53:00 · 977 阅读 · 0 评论 -
插入排序
在冒泡排序、选择排序编写代码之后,楼主渐渐找到了coding的信心,熟能生巧,就像写词唱曲之前,都得先背诵大量的诗词,熟悉各路歌曲,才能走出自己的路线,有自己的杰作。好吧,来让楼主继续进行"社会主义初级阶段"的任务,这次是插入排序。一. 算法描述 插入排序:插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序。例如有一个长度为N的无序数组,进行N-1次的插入即能完成排转载 2014-09-09 17:04:00 · 648 阅读 · 0 评论 -
分支界定法 branch-and-bound 分析与实现
1. 介绍分支界定法之前需要了解一下广度优先搜索breadth-First-search(B)原创 2014-09-16 09:33:03 · 18394 阅读 · 2 评论 -
单源最短路径算法之Bellman-Ford算法
void Bellman_Ford( const int numOfVertex, /*节点数目*/ const int startVertex, /*源节点*/ int (map)[][6], /*有向图邻接矩阵*/ int原创 2014-09-27 12:56:41 · 1074 阅读 · 0 评论 -
堆排序及C++实现
#include const int MAXN = 11111;int n, a[MAXN], ans = 0;//以下两个是自定义校验函数,mincmp是小根堆所需要的,而maxcmp就是大根堆所需要的了,inline bool mincmp(const int &x, const int &y){ return x < y; }inline bool maxcmp(co原创 2014-09-05 15:08:44 · 758 阅读 · 0 评论 -
线性排序之:基数排序
基数排序, radix sorting, 也叫bin sort,原创 2014-09-10 15:54:29 · 711 阅读 · 0 评论 -
线性排序之:计数排序
counting sort适用于排列原创 2014-09-10 11:29:02 · 773 阅读 · 0 评论 -
分治思想的应用:C++实现快速排序和随机化的快速排序
如何随机排列数列?用这个 random_shuffle() 可以得到一个随即排序:先用数组构造一个 vector 容器,然后给 random_shuffle() 算法传递容易的首尾迭代器即可原创 2014-09-08 14:04:49 · 2446 阅读 · 0 评论