算法导论及相关
文章平均质量分 60
baimushan
曾经迷失的技术人员
展开
-
我的排序算法
复杂度为n2的算法/* 冒泡排序 * input int数组 length of 数组 * 输出 在int数组上原地排序 */void bubble(int a[], int n){ int i,j,temp; for (i = 0; i for ( j= n - 1; j > i; j-- ) { if (a[j] temp = a[j-1];原创 2010-12-30 10:44:00 · 260 阅读 · 0 评论 -
动态规划1——之工厂生产线问题
<br /><br />#include <iostream><br />#define LINELENGTH 6<br /> <br />int line_1[] = {7, 9, 3, 4, 8, 4} ;<br />int line_2[] = {8, 5, 6, 4, 5, 7} ;<br />int time_1[] = {2, 2, 1, 2, 2, 1} ;<br />int time_2[] = {4, 2, 3, 1, 3, 4} ;<br />int best_line_1[6] = {原创 2011-01-19 00:18:00 · 1167 阅读 · 0 评论 -
字符串匹配 KMP
<br /><br />#include<iostream><br />#define LENGTH 9<br /> <br />char data[]="acabaabaabcacaabc";<br />char comp[]="abaabcac";<br />int pre[8];<br /> <br />void Compute_Prefix_Function()<br />{<br /> int p=0;<br /> pre[0]=0;<br /> for(int i = 1;原创 2011-01-26 23:53:00 · 303 阅读 · 0 评论 -
动态规划背包问题自己的理解:
<br /> <br />01背包问题的最优子问题是:<br />f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}<br />已知前i-1件商品的最优化结果;那么在添加第i件商品时的最优化结果可以由上式表示。<br />多重背包 :转化为01问题<br />另一种好想好写的基本方法是转化为01背包求解:把第i种物品换成n[i]件01背包中的物品,则得到了物品数为Σn[i]的01背包问题,直接求解,复杂度仍然是O(V*Σn[i])。<br />但是我们期望将它转化为01背包原创 2011-03-05 14:57:00 · 717 阅读 · 0 评论 -
顺序排序
<br /><br />#include<iostream><br /> <br />int partion(int a[], int s, int e)<br />{<br />int key = a[s];<br />int temp ;<br />while (s < e) {<br />while ( s < e && a[e] >= key) e--;<br /><br />if ( s < e ) <br />a[s++] = a[e]; <br /><br />while ( s < e &原创 2011-03-13 22:07:00 · 301 阅读 · 0 评论 -
Dijkstra
<br /><br />Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。<br />其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。<br />初始时,S中仅含有源。设u是G的某一个顶点,把从源到u且中间只经过S中顶点的路称为从源到u的特殊路径,并用数组dist记录当前每个顶点所对应的最短特殊路径长度。Dijkstra算法每次从V-S中取出具有最短特殊路长度的顶点u原创 2011-05-30 20:31:00 · 351 阅读 · 0 评论 -
曾经遇到的一个面试题,快速排序用链表实现,算法和以前的相似,需要注意一些细节处理
typedef struct nodes{ int data; struct nodes * next; } node; void add_node(node *first,int data) { node * tmp; if (first != NULL){ tmp =(node *) malloc(sizeof(node)); if (tmp != NULL) { tm原创 2012-08-31 14:37:54 · 411 阅读 · 0 评论