演算法源碼
Ⅰ 求LZW演算法源代碼!!
#include<iostream>
#include<cstdio>
#include<cstring>
#include<ctime>//用來計算壓縮的時間
using namespace std;
//定義常數
const int MAX = 1000003;//最大code數,是一個素數,求模是速度比較快
const int ascii = 256;  //ascii代碼的數量
const int ByteSize = 8; //8個位元組
struct Element//hash表中的元素
{
 int key;
 int code;
 Element *next;
}*table[MAX];//hash表
int hashfunction(int key)//hash函數
{
 return key%MAX;
}
void hashinit(void)//hash表初始化
{
 memset(table,0,sizeof(table));
}
void hashinsert(Element element)//hash表的插入
{
 int k = hashfunction(element.key);
 if(table[k]!=NULL)
 {
  Element *e=table[k];
  while(e->next!=NULL)
  {
   e=e->next;
  }
  e->next=new Element;
  e=e->next;
  e->key = element.key;
  e->code = element.code;
  e->next = NULL;
 }
 else
 {
  table[k]=new Element;
  table[k]->key = element.key;
  table[k]->code = element.code;
  table[k]->next = NULL;
 }
}
bool hashfind(int key,Element &element)//hash表的查找
{
 int k = hashfunction(key);
 if(table[k]!=NULL)
 {
  Element *e=table[k];
  while(e!=NULL)
  {
   if(e->key == key)
   {
    element.key = e->key;
    element.code = e->code;
    return true;
   }
   e=e->next;
  }
  return false;
 }
 else
 {
  return false;
 }
}
void compress(void)//壓縮程序
{
 //打開一個流供寫入
 FILE *fp;
 fp = fopen("result.dat", "wb");
 
 Element element;
 int used;
 char c;
 int pcode, k;
 
 for(int i=0;i<ascii;i++)
 {
  element.key = i;
  element.code = i;
  hashinsert(element);
 }
 used = ascii;
 
 c = getchar();
 pcode = c;
 while((c = getchar()) != EOF)
 {
  k = (pcode << ByteSize) + c;
  if(hashfind(k, element))
   pcode = element.code;
  else
  {
   //cout<<pcode<<' ';
   fwrite(&pcode, sizeof(pcode), 1, fp);
   element.code = used++;
   element.key = (pcode << ByteSize) | c;
   hashinsert(element);
   pcode = c;
  }
 }
 //cout<<pcode<<endl;
 fwrite(&pcode, sizeof(pcode), 1, fp);
 
}
int main(void)
{
 int t1,t2;
 
 //欲壓縮的文本文件
 //freopen("input.txt","r",stdin);
 freopen("book5.txt","r",stdin);
 
 t1=time(NULL);
 hashinit();
 compress();
 t2=time(NULL);
 
 cout<<"Compress complete! See result.dat."<<endl;
 cout<<endl<<"Total use "<<t2-t1<<" seconds."<<endl;
}
這本書上的源代碼好像不是C語言環境下可以直接運行的,還是得適當修改才行。
Ⅲ PHP演算法 求個源碼
你給的這個網站出問題了,你要什麼樣的下載站說清楚一下,我可以給你做一個,我們就是專門做網站的,簡單的不收費,要是太復雜了多少得給點兒辛苦費
Ⅳ 哪位高手有ElGamal演算法源碼

Ⅳ 求《數據結構》嚴尉敏版 c語言演算法源代碼
不好,學習數據結構最重要的就是自己動手實現演算法,這樣才能深入理解演算法的精髓,還是建議自己做,做的過程中有什麼問題可以及時提問。
Ⅵ 求BP神經網路演算法源碼
這里有C的實現,怎麼知道你郵箱
Ⅶ 哪位高手有elgamal演算法源碼
ElGamal方法分為密鑰生成、加密過程和解密過程進行描述。假設Alice和Bob分別為通信的雙方,則:
密鑰生成
通信發起一方的Alice按以下方法生成公鑰:
Alice通過生成元g和階q定義一個乘法循環群G;
Alice在集合R={0, 1, 2, ..., q-1}中隨機選擇一個整數x;
Alice根據群G的生成元和階生成群中的一個元素h:;
Alice將{G, q, g, h}作為公鑰發布,x作為私鑰妥善保存。
加密過程
通訊另一方的Bob在加密過程中通過公鑰{G, q, g, h}對明文m進行加密(其中1-3步可以事先完成。):
Bob在集合R={0, 1, 2, ..., q-1}中隨機選擇一個整數y;
Bob根據{G, q, g, h}生成群中的一個元素  ;
Bob根據  得到對稱密鑰;(由於Bob每次接收到消息後都會生成s,因此s也稱為臨時密鑰)
Bob將明文m轉換為群G中的一個元素  ;(如將特定信息進行編碼)
Bob計算  ;
Bob將  作為密文發送。
解密過程
Alice使用私鑰x對密文  進行解密,步驟為:
Alice計算  ;
Alice計算群中的元素  ,並將其還原為明文。(將編碼還原為信息)
下述等式保證了Alice計算出的編碼與Bob轉換的編碼相同:
Ⅷ c語言斐多那契演算法代碼
用數組的辦法編一下吧,方法很多了,記得好象一般的C語言書上都會有的題目:
#include "stdio.h"
main()
{int a[20]={1,1},i;
 for(i=2;i<20;i++)
 a[i]=a[i-1]+a[i-2];
 for(i=0;i<20;i++)
 {if(i%5==0) printf("\n");
  printf("%10d",a[i]);
 }
}
Ⅸ 求:利息演算法源碼
利息*利率*時間*80%就是拉
Ⅹ 演算法,源碼及實戰詳解 這本書怎麼樣
本書以Spark 1.4.1版本源碼為切入點,全面並且深入地解析Spark MLlib模塊,著力於探索分布式機器學習的底層實現。
本書循序漸進,首先解析MLlib的底層實現基礎:數據操作及矩陣向量計算操作,該部分是MLlib實現的基礎;
其次再對各個機器學習演算法的理論知識進行講解,並且解析機器學習演算法如何在MLlib中實現分布式計算;然後對MLlib源碼進行詳細的講解;
最後進行MLlib實例的講解。相信通過本書的學習,讀者可全面掌握Spark MLlib機器學習,能夠進行MLlib實戰、MLlib定製開發等。
