发新话题
打印

树,二叉树,森林等讨论专区

记得大二的时候作过哈夫曼的程序,当时做得晕忽忽的,现在又忘得差不多了

TOP

好!!

TOP

好!

TOP

好!

TOP

好!!!

TOP

很值得学习!
----现实生活中我们用真名说假话, ----虚拟世界里我们用假名说真话, ----什么时候我们能用真名说真话呢?

TOP

#include "stdlib.h" #include "math.h" #include "stdio.h" int agjdn(a,b,n,m) int n,m; double a[],b[]; { int *js,l,k,i,j,is,p,q; double d,t; js=malloc(n*sizeof(int)); l=1; for (k=0;k<=n-1;k++) { d=0.0; for (i=k;i<=n-1;i++) for (j=k;j<=n-1;j++) { t=fabs(a[i*n+j]); if (t>d) { d=t; js[k]=j; is=i;} } if (d+1.0==1.0) l=0; else { if (js[k]!=k) for (i=0;i<=n-1;i++) { p=i*n+k; q=i*n+js[k]; t=a[p]; a[p]=a[q]; a[q]=t; } if (is!=k) { for (j=k;j<=n-1;j++) { p=k*n+j; q=is*n+j; t=a[p]; a[p]=a[q]; a[q]=t; } for (j=0;j<=m-1;j++) { p=k*m+j; q=is*m+j; t=b[p]; b[p]=b[q]; b[q]=t; } } } if (l==0) { free(js); printf("fail\n"); return(0); } d=a[k*n+k]; for (j=k+1;j<=n-1;j++) { p=k*n+j; a[p]=a[p]/d;} for (j=0;j<=m-1;j++) { p=k*m+j; b[p]=b[p]/d;} for (j=k+1;j<=n-1;j++) for (i=0;i<=n-1;i++) { p=i*n+j; if (i!=k) a[p]=a[p]-a[i*n+k]*a[k*n+j]; } for (j=0;j<=m-1;j++) for (i=0;i<=n-1;i++) { p=i*m+j; if (i!=k) b[p]=b[p]-a[i*n+k]*b[k*m+j]; } } for (k=n-1;k>=0;k--) if (js[k]!=k) for (j=0;j<=m-1;j++) { p=k*m+j; q=js[k]*m+j; t=b[p]; b[p]=b[q]; b[q]=t; } free(js); return(1); }

TOP

上面这段程序怎么没注释呢
能能说明一下?

TOP

其实考研在这一方面,主要是概念还有互相的转换的方法
至于原代码在考试并不重要
因为你懂了原理之后,立刻就懂

TOP

求算法
单链表逆序输出的递归算法!

TOP

发新话题