码迷,mamicode.com
首页 > 其他好文 > 详细

对于字母映射表存储的编码复杂度对比。。

时间:2016-12-10 22:46:00      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:char   span   include   ios   编码   names   pac   复杂度   中间   

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <map>
using namespace std;
struct node{
    char a,b;
    node(char _a,char _b){
        this->a=_a;
        this->b=_b;
    }
};
vector<node> data;
map<char,char> m;
void VEC(){
    data.push_back(node(A,A));
    data.push_back(node(E,3));
    data.push_back(node(H,H));
    data.push_back(node(I,I));
    data.push_back(node(J,L));
    data.push_back(node(L,J));
    data.push_back(node(M,M));
    data.push_back(node(O,O));
    data.push_back(node(S,2));
    data.push_back(node(T,T));
    data.push_back(node(U,U));
    data.push_back(node(V,V));
    data.push_back(node(W,W));
    data.push_back(node(X,X));
    data.push_back(node(Y,Y));
    data.push_back(node(Z,5));
    data.push_back(node(1,1));
    data.push_back(node(2,S));
    data.push_back(node(3,E));
    data.push_back(node(5,Z));
    data.push_back(node(8,8));
}
void MAP(){
    m[A]=A;
    m[E]=3;
    m[H]=H;
    m[I]=I;
    m[J]=L;
    m[L]=J;
    m[M]=M;
    m[O]=O;
    m[S]=2;
    m[T]=T;
    m[U]=U;
    m[V]=V;
    m[W]=W;
    m[X]=X;
    m[Z]=5;
    m[1]=1;
    m[2]=S;
    m[3]=E;
    m[5]=Z;
    m[8]=8;
}
char A[]={A,b,c,d,3,f,g,H,I,L,k,J,M,
n,O,p,q,r,2,T,U,V,W,X,Y,5};
char B[]={1,S,E,0,Z,0,0,8,0};
bool isBig(char x){
    if(x>=A&&x<=Z)
        return true;
    return false;
}
bool isSmall(char x){
    if(x>=a&&x<=z)
        return true;
    return false;
}

bool isDigit(char x){
    if(x>=1&&x<=9)
        return true;
    return false;
}
char c;
const int maxn=100;
char s[maxn];
int main(){


    return 0;
}

应该可以看出来最后一个编码量最小。。但是对于中间不存在映射关系的元素我们可以用其他标志来特判没有。。

不要自己硬数。。。费眼费力啊。。这个题好像小写字母和0是非法的。。所以我们可以用来特判

但是最后一个存法会慢一些?线性的嘛。。

map和vector应该会快一些。。毕竟是红黑树和块状链表。。但是这个毕竟是数据量有点大的情况

数据量小的话我们尽量采用最后一种存储方式

对于字母映射表存储的编码复杂度对比。。

标签:char   span   include   ios   编码   names   pac   复杂度   中间   

原文地址:http://www.cnblogs.com/linkzijun/p/6158266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!