
最短路径之Dijkstra算法
因为最近在用R语言,所以代码使用R语言完成。语言只是工具,算法才是灵魂。Floyd算法简单暴力,三个for循环搞定。但是相应是要付出代价的,时间复杂度为O(n^3)。今天学习的是一个O(n^2)的算法--经典Dijkstra(迪杰斯特拉)算法,这也是经典贪心算法的好例子。Dijkstra算法是一种典型的单源最短路径算法,用于计算一个节点到其他所有节点的...


605开发组算法周周练(二)
期限:3天;题目:1道;类型:基础、排序算法1、完成三种排序算法:冒泡排序、选择排序、插入排序2、研究并理解透各个算法特点 排序方法平均情况最好情况最坏情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定简单选择排序O(n^2) O(n^2)O(n^2)O(1)稳定直接插入排序O(n^2)O(n)O(n^2)O(1)稳定希尔排序O(nlogn)~O(n...

605开发组算法周周练(一)
2018-02-27 热身题 题目:2道;类型:基础1、输入一个正整数(int类型),逆序输出各位数字。思路:依次%10输出,直到剩余1位,并输出最后一位。#include

605算法周周练(零)
输入:预先不输入数据的组数-读到文件的结尾C语言while(scanf("%d%d",&a,&b)!=EOF){ preint("%d\n",a+b);}C++while(cin>>a>>b){ cout<

LintCode算法题整理(一)
1.A + B 问题:给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。int aplusb(int a, int b) { //采用异或运算^(不进位加法) //先进行异或,然后a&b获取进位,左移一位,直到没有进位 while(b!=0){ int c=a^b;//异或(不进位加法) int d=(a&b)<<1;//应进位的左移一位 a=c; b=d; ...