算法
wjwever1
这个作者很懒,什么都没留下…
展开
-
二分查找法
int binarySearch(vector &nums, int first, int last, int tar) { int mid = 0; while (first mid = first + (last - first) / 2; //(first + last) / 2 可能会溢出 if (tar == nums[mid]) { return mid; } els原创 2016-09-20 12:27:00 · 237 阅读 · 0 评论 -
排序算法时间效率测试
对快速排序,归并排序,希尔排序的时间效率进行了一个测试。 归并排序果然厉害,我的希尔排序写的估计有点问题,太慢。#include <iostream> #include <algorithm> #include <ctime> #include <fstream> using namespace std; //quick sort int partition(int *data, int firs原创 2016-11-02 11:35:12 · 740 阅读 · 0 评论 -
A 星算法总结
A 星算法总结A 星算法FPGA EDA工具VPR布线器所采用的布线算法,面试滴滴的时候听说他们的路径规模用的也是A 星算法,感觉这个算法还蛮厉害的,对这个算法进行一个总结。 文章http://www.tuicool.com/articles/MJrYz26 对这个算法用语言描述的很好,搬运下: A星寻路算法显然是用来寻路的,应用也很普遍,比如梦幻西游。。。算法的思路很简单,就是在bfs的原创 2016-10-31 22:48:00 · 905 阅读 · 0 评论 -
next_permutation实现原理
函数实现原理如下: 在当前序列中,从尾端向前寻找两个相邻元素,前一个记为*i,后一个记为*t,并且满足*i < *t。然后再从尾端寻找另一个元素*j,如果满足*i < *j,即将第i个元素与第j个元素对调,并将第t个元素之后(包括t)的所有元素颠倒排序,即求出下一个序列了。原创 2016-11-09 09:41:50 · 215 阅读 · 0 评论 -
快速排序
快速排序的原理是非常明显的,但是这个算法细节特别多。 快排主程序,基本上都是这样的: void quick_sort(vector &num, int first, int last) { if (first >= last) { return; } else { int index = partition(num, first, last); quick_sort(num,原创 2016-09-25 21:40:13 · 217 阅读 · 0 评论 -
文章标题
dijkstra 算法 单源最短路径算法 适用于有向图,无向图,图中不能出现负边 算法思想: 把源点到各点的距离初始化为无穷大 定义到源点的最短距离为0,把源点塞入一个优先队列中 每次都能从优先队列中取出一个最短距离,从优先队列中取出队头,如果队头的最短距离小于距离矩阵距离,那么更新距离矩阵,把该队头节点的扇出点放到优先队列中。已经算出最短距离的点,不再扩充,避免死循环。 算法特点:带优先队列的广原创 2017-05-12 20:30:08 · 160 阅读 · 0 评论