diff --git a/.gitignore b/.gitignore index 425b7de..aebb447 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ tree_link.py __pycache__/** !.gitignore +todo diff --git a/README.md b/README.md index cf6d8c6..cd7193e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Algorithm and data structures +# Algorithm and Data Structures >Notes and codes for learning algorithm and data structures :smiley: Some pictures and idead are from `<> @@ -11,40 +11,36 @@ Some scripts may have bugs or not be finished yet. # Notice Currently, Github can't render latex math formulas. -So,if you wannt to view the notes which contains latex math formulas and are in markdown format, you can visit [my blog](https://mbinary.coding.me) +So,if you wannt to view the notes which contain latex math formulas and are in markdown format, you can visit [my blog](https://mbinary.coding.me) -# index +# Index * [.](.) * [notes](./notes) * [alg-general.md](./notes/alg-general.md) * [hashTable.md](./notes/hashTable.md) - * [README.md](./notes/README.md) + * [red-black-tree.md](./notes/red-black-tree.md) * [sort.md](./notes/sort.md) * [tree.md](./notes/tree.md) - * [red-black-tree.md](./notes/red-black-tree.md) * [algorithm](./algorithm) * [8Astar.py](./algorithm/8Astar.py) * [cantor.cc](./algorithm/cantor.cc) - * [EIGHT.py](./algorithm/EIGHT.py) * [manacher.py](./algorithm/manacher.py) * [markov.py](./algorithm/markov.py) - * [README.md](./algorithm/README.md) * [sort](./algorithm/sort) * [sunday.py](./algorithm/sunday.py) * [dataStructure](./dataStructure) - * [allOone](./dataStructure/allOone) - * [redblack tree.py](./dataStructure/redBlackTree.py) - * [binaryHeap.py](./dataStructure/binaryHeap.py) - * [binaryIndexedTree.cc](./dataStructure/binaryIndexedTree.cc) - * [binaryTree.py](./dataStructure/binaryTree.py) + * [redBlackTree.py](./dataStructure/redBlackTree.py) * [hashTable.py](./dataStructure/hashTable.py) - * [huffman.cc](./dataStructure/huffman.cc) + * [splayTree.py](./dataStructure/splayTree.py) + * [allOone](./dataStructure/allOone) + * [binaryHeap.py](./dataStructure/binaryHeap.py) + * [binaryTree.py](./dataStructure/binaryTree.py) + * [graph](./dataStructure/graph) + * [huffman](./dataStructure/huffman) * [leftHeap.py](./dataStructure/leftHeap.py) * [loserTree.py](./dataStructure/loserTree.py) - * [map](./dataStructure/map) - * [README.md](./dataStructure/README.md) - * [segTree.cc](./dataStructure/segTree.cc) - * [splayTree.py](./dataStructure/splayTree.py) - * [stack](./dataStructure/stack) + * [map.cc](./dataStructure/map.cc) + * [polynomial.cpp](./dataStructure/polynomial.cpp) + * [polynomial.py](./dataStructure/polynomial.py) * [trie.py](./dataStructure/trie.py) * [winnerTree.py](./dataStructure/winnerTree.py) diff --git a/algorithm/8Astar.py b/algorithm/8Astar.py index d581e4e..db76c7a 100644 --- a/algorithm/8Astar.py +++ b/algorithm/8Astar.py @@ -102,11 +102,52 @@ def getPath(s,index): if ct is 0: return cur.path cur.move() +def info(): + print('input a 3x3 matrix in one line') + print('from left to right,from up to down') + print('such as 56831247x represent matrix as follow') + print('5 6 8\n3 1 2\n4 7 x') + print('then, if it has, I will print the path of moving x to reach state as follows') + print('1 2 3\n4 5 6\n7 8 x') + print('print q to quit') + +from random import shuffle +case = list('12345678x') +def genCase(): + tmp = case.copy() + shuffle(tmp) + print(f'Using random data: {tmp}') + index = -1 + for i,j in enumerate(tmp): + if j=='x': + index = i + break + tmp[index] = '9' + return tmp,index +def isValid(li): + for i in '123456789': + if not i in li: + print('Invalid Input') + return False + return True + +def run(): + while 1: + print('\n\n'+'-'*10+'Game Begins'+ '-'*10) + info() + s=input('input: ') + if s=='q' or s=='Q' or s=='quit': + break + index = s.find('x') + li = list(s) + if index != -1: + li[index] = '9' + if not isValid(li): + li, index = genCase() + if solvable(li): + print(''.join(getPath(li,index))) + else:print('unsolvable') + if __name__ == '__main__': - s=input() - index = s.find('x') - s =list(s) - s[index] = '9' - if solvable(s):print(''.join(getPath(s,index))) - else:print('unsolvable') + run() diff --git a/algorithm/EIGHT.py b/algorithm/EIGHT.py deleted file mode 100644 index 96df6cc..0000000 --- a/algorithm/EIGHT.py +++ /dev/null @@ -1,73 +0,0 @@ -''' mbinary -######################################################################### -# File : EIGHT.py -# Author: mbinary -# Mail: zhuheqin1@gmail.com -# Blog: https://mbinary.coding.me -# Github: https://github.com/mbinary -# Created Time: 2018-05-19 23:06 -# Description: -######################################################################### -''' - -from colectons import deque -isVisted = [0]*362880 -fac = [1,2,6,24,120,720,5040,40320] -lf = len(fac) -x= '9' -def cantor(s): - sum = 0 - ls = len(s) - for i in range(ls): - count = 0 - for j in range(i+1;ls): - if s[i] > s[j]: count +=1 - sum += count*fac[lf-i-1] - return sum - -que = deque() -class state: - def __init__(self,s,p,step=0,last=0): - self.x = p - self.s = list(s) - self.step = step - self.path = [] - self.last = last - def move(self): - dir = [-3:'u',1:'r',3:'d',-1:'l'] - if self.last in dir : - del dir[-self.last] - if self.x<3: - del dir[-3] - if self.x>5: - del dir[3] - if self.x%3 is 0: - del dir[-1] - if self.x%3 is 2: - del dir[1] - for i in dir.keys(): - s = list(self.s) - tmp = self.x + i - s[self.x] = s[tmp] - s[tmp] = x - if not isVisted[cantor(s)]: - new = state(s,tmp,self.step +1,i) - new.path = self.path + [dir[i]] - que.append(new) - -def getPath(s): - index = s.find('x') - s =list(s) - s[index] = '9' - que.append(state(s,index,0,0)) - while que != deque(): - cur = que.popleft() - ct = cantor(cur.s) - if ct is 362879: - return cur.path - isVisted[] = 1 - cur.move() - -if __name__ == '__main__': - s=input() - print(''.join(getPath(s))) diff --git a/algorithm/README.md b/algorithm/README.md deleted file mode 100644 index 7389c32..0000000 --- a/algorithm/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# 算法实现 -# 索引 - -* [.](.) - * [8Astar.py](./8Astar.py) - * [cantor.cc](./cantor.cc) - * [EIGHT.py](./EIGHT.py) - * [manacher.py](./manacher.py) - * [markov.py](./markov.py) - * [sort](./sort) - * [binaryTree.py](./sort/binaryTree.py) - * [heapSort.py](./sort/heapSort.py) - * [quickSort.py](./sort/quickSort.py) - * [radixSort.py](./sort/radixSort.py) - * [select.py](./sort/select.py) - * [shellSort.py](./sort/shellSort.py) - * [sunday.py](./sunday.py) - * [README.md](./README.md) diff --git a/algorithm/steganography_to_do.py b/algorithm/steganography_to_do.py deleted file mode 100644 index 8dcefab..0000000 --- a/algorithm/steganography_to_do.py +++ /dev/null @@ -1,81 +0,0 @@ -''' mbinary -######################################################################### -# File : steganography_to_do.py -# Author: mbinary -# Mail: zhuheqin1@gmail.com -# Blog: https://mbinary.coding.me -# Github: https://github.com/mbinary -# Created Time: 2018-07-06 15:57 -# Description: -######################################################################### -''' - -from PIL import Image -from skimage import color -import numpy as np -import matplotlib.pyplot as plt -import math -import argparse - - -parser = argparse.ArgumentParser() -parser.add_argument('picture') -parser.add_argument('-f','file') -parser.add_argument('-s','string') - -args = parser.parse_args() - -PIC = args.picture -FILE = args.file -STR = args.string - - -class steganography: - def __init__(self,picture): - self.pic = poicture - - def handlePixel(self,target,attach): - '''对一个像素进行隐写 ,attach是要处理的数值,允许在0~9''' - a,b,c = target - pa,pb,pc = attach - return a%10+pa,b%10+pb,c%10+pc - def d2n(self,n,base=16): - ''' num of base_n(n<36) to decimal''' - dic = {i:chr(i+ord('0')) for i in range(10)} - if base>10: - dic.update({i+10:chr(i+ord('A')) for i in range(26)}) - rst=[] - while n!=0: - i=int(n/base) - rst.append(dic[n-i*base]) - n=i - return ''.join(rst[::-1]) - def changeBody(self,path): - self.pic = path - def encryptPic(self,content,base =8): - '''将bytes内容content隐写到self.picture中 base can be different value, default 8''' - body = np .array (Image.open(self.pic)) - attach = np.array(content) - r,c, _ = body.shape - ar,ac,_ = attach.shape - - raise Exception('信息量太大,不能隐写在此图片中,换张更大的图片') - def encryptStr(self,content): - body = np.array (Image.open(self.pic)) - r,c,d = body.shape - btay = bytearray(content) - length = len(btay) - if length*8 > (r-1)*c:raise Exception('信息量太大,不能隐写在此图片中,换张更大的图片') - def getContent(self,file=None,s=None): - '''get the bytes , file is prior to str''' - byte = b'' - if not file: - if not s: - s = input('输入要隐写的信息') - byte = encode(STR,'utf-8') - else:byte = open(FILE,'wb').read() - return byte - -if __name__ =='__main__': - - PIC diff --git a/dataStructure/README.md b/dataStructure/README.md deleted file mode 100644 index f6dcf5a..0000000 --- a/dataStructure/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# 数据结构的实现 -# 索引 -* [.](.) - * [allOone](./allOone) - * [allOone.py](./allOone/allOone.py) - * [test.py](./allOone/test.py) - * [binaryHeap.py](./binaryHeap.py) - * [binaryIndexedTree.cc](./binaryIndexedTree.cc) - * [binaryTree.py](./binaryTree.py) - * [hashTable.py](./hashTable.py) - * [huffman.cc](./huffman.cc) - * [leftHeap.py](./leftHeap.py) - * [loserTree.py](./loserTree.py) - * [map](./map) - * [map.cc](./map/map.cc) - * [map.exe](./map/map.exe) - * [segTree.cc](./segTree.cc) - * [splayTree.py](./splayTree.py) - * [stack](./stack) - * [stack.cc](./stack/stack.cc) - * [stack.exe](./stack/stack.exe) - * [stack.o](./stack/stack.o) - * [trie.py](./trie.py) - * [winnerTree.py](./winnerTree.py) - * [README.md](./README.md) diff --git a/dataStructure/allOone/__pycache__/allOone.cpython-37.pyc b/dataStructure/allOone/__pycache__/allOone.cpython-37.pyc deleted file mode 100644 index 4e34468..0000000 Binary files a/dataStructure/allOone/__pycache__/allOone.cpython-37.pyc and /dev/null differ diff --git a/dataStructure/binaryIndexedTree.cc b/dataStructure/binaryIndexedTree.cc deleted file mode 100644 index ea71b10..0000000 --- a/dataStructure/binaryIndexedTree.cc +++ /dev/null @@ -1,58 +0,0 @@ -/* mbinary -######################################################################### -# File : binaryIndexedTree.cc -# Author: mbinary -# Mail: zhuheqin1@gmail.com -# Blog: https://mbinary.coding.me -# Github: https://github.com/mbinary -# Created Time: 2018-05-19 23:06 -# Description: -######################################################################### -*/ - -class bit -{ - int n; - int *p; -public: - bit(int *,int); - ~bit(); - int init(int,int,bool); - int getSum(int a,int b){return getSum(a)-getSum(b)}; - int getSum(int); - void update(int,int); -}; -bit::bit(int *a,int j) -{ - p=new int[j+1]; - n=j; - for (int i=0;i -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#define numDigit 10 -#define nameLength 50 -#define starNum 80 -using namespace std; - -void cat(string s) -{ - FILE* f=fopen(s.c_str(),"rb"); - cout<<"file content"< -void mapprint(map &f) -{ - for(class map::iterator i = f.begin();i!=f.end();++i) - cout<first<<") : "<second< -class node -{ - public: - ky key; - wt val; - bool visited; - node * left,*right; - node(const node &a){val = a.val;key= a.key;visited = a.visited;left= a.left;right=a.right;} - node(ky k=0,wt v=0):key(k),val(v),visited(false),left(NULL),right(NULL){}; - bool operator<(const node & a)const{return val>a.val;}; -}; -template -class huffman -{ -private: - node root; - string res; -public: - long total(){return root.val;} - map encode_map; - map decode_map; - huffman(map& mp); - void display(); - string encode(string,long &); - string decode(string,long&); - void preOrder(node*,string); -}; -template -huffman::huffman(map& mp) -{ - if(mp.empty()){ - cout<<"Error! No data!"< > hp; - for(typename map::iterator i=mp.begin();i!=mp.end();++i){ - hp.push( node(i->first,i->second)); - } - int n =hp.size(); - if(n==1){ - root = hp.top(); - return; - } - while(--n>=1){ - node *a = new node(hp.top()); - hp.pop(); - node *b = new node(hp.top()); - hp.pop(); - node * tmp = new node(0,a->val+b->val); - tmp->left = a,tmp->right = b; - hp.push(*tmp); - } - root = hp.top(); - preOrder(&root,string()); -} -template -void huffman::preOrder(node* nd,string s) -{ - if(nd->left == NULL){ - encode_map[nd->key] =s; - decode_map[s] = nd->key; - delete nd; - return ; - } - preOrder(nd->left,s+'0'); - preOrder(nd->right,s+'1'); - delete nd; -} -template -string huffman::decode(string zipfile_name,long &charNum) -{ - string uniFileName(string); - FILE * src = fopen(zipfile_name.c_str(),"rb"); - char file_name[nameLength]; - fgets(file_name,nameLength,src); - int ct=-1; - while(file_name[++ct]!='\n'); - int pos = zipfile_name.find('.'); - if(pos==string::npos)pos=zipfile_name.size(); - string name(zipfile_name.substr(0,pos)) ,suffix(file_name,file_name+ct),file(name+suffix); - file=uniFileName(file); - cout<<"extracting compressed file :"< -string huffman::encode(string file_name,long &charNum) -{ - charNum=0; - string uniFileName(string); - int pos =file_name.rfind('.'); - if(pos==string::npos)pos=file_name.size(); - string zipfile = file_name.substr(0,pos)+string(".zzip"); - zipfile = uniFileName(zipfile); - cout<<"generating zip file :"<::iterator i=decode_map.begin();i!=decode_map.end() ;++i ){ - data.append((i->first)); - data.append(" "); - data+=(i->second); - } - int data_size = data.size(); // calculate the size of the code_data - char sz[numDigit]; - itoa(data_size,sz,numDigit); - int ct=0; - for(;sz[ct];++ct)fputc(sz[ct],dst); - fputc('\n',dst); - fwrite(data.c_str(),data_size,1,dst); - int sum=0,digit=0,num; - string code8; - for(int i=0;i -void huffman::display() -{ - cout<<"the encoding map,huffman codes are as bellow:"<::iterator i=encode_map.begin();i!=encode_map.end() ;++i ) - cout<first<<"("<<(int)i->first<<"):"<second< &origin,vector &compressed) -{ - int name_length = file_name.size(); - FILE *src=fopen(file_name.c_str(),"rb"); - cout<<"opening "< mp; - while(!feof(src)){ - fread(&cur,sizeof(char),1,src); - if(mp.count(cur)){ - mp[cur]+=1; - } - else mp[cur]=1; - } - fclose(src); - huffman hf(mp); - long sz; - string s(hf.encode(file_name,sz)); - origin.push_back(hf.total()),compressed.push_back(sz); - cout<<"\ncontinue to uncompress? [Y/n]"<& v) -{ - int i=0,last=0; - for(;s[i];++i){ - if(isSep(s[i])){ - v.push_back(string(s+last,s+i)); - while(s[++i]&&isSep(s[i])); - last=i; - } - } - if(s[last])v.push_back(string(s+last,s+i)); -} -bool lenStr(string &a,string &b) -{ - return a.size() & names) -{ - vector originSize,compressedSize; - vector deltaTime; - double last; - vector indicator; - bool bl; - for(vector::iterator i=names.begin();i!=names.end();++i){ - last=GetTickCount(); - bl=handle_one(*i,originSize,compressedSize); - indicator.push_back(bl); - deltaTime.push_back(GetTickCount()-last); - } - cout<<"\ndealt file number "<::iterator p=max_element(names.begin(),names.end(),lenStr); - int len = p->size()+2; - for(int i =0;i names; - if(argv>1){ - for(int i=1;i #include -#include #include #include #include -#include +#include #include #include #include #include +#include #define numDigit 10 #define nameLength 50 #define starNum 80 @@ -53,7 +53,7 @@ string uniFileName(string file) while(true){ char s[3]; n+=1; - itoa(n,s,10); + snprintf(s,3,"%d",n); file=(name+"("+s+")"+suffix); FILE* f=fopen(file.c_str(),"rb"); if(!f)break; @@ -223,7 +223,7 @@ string huffman::encode(string file_name,long &charNum) } int data_size = data.size(); // calculate the size of the code_data char sz[numDigit]; - itoa(data_size,sz,numDigit); + snprintf(sz,numDigit,"%d",data_size); int ct=0; for(;sz[ct];++ct)fputc(sz[ct],dst); fputc('\n',dst); @@ -322,31 +322,32 @@ void go(vector & names) vector indicator; bool bl; for(vector::iterator i=names.begin();i!=names.end();++i){ - last=GetTickCount(); + struct timeval tv; + gettimeofday(&tv,NULL); + last=tv.tv_sec; bl=handle_one(*i,originSize,compressedSize); indicator.push_back(bl); - deltaTime.push_back(GetTickCount()-last); + gettimeofday(&tv,NULL); + deltaTime.push_back(tv.tv_sec-last); } - cout<<"\ndealt file number "<::iterator p=max_element(names.begin(),names.end(),lenStr); int len = p->size()+2; for(int i =0;i names; + string file; if(argv>1){ for(int i=1;i -#include -#include +#include +#include +#include +#include #include #include using namespace std; +#if defined(__linux__) + #define LINUX true +#elif defined(_WIN32) + #define LINUX false +#endif + + bool isZero(double a) { if((a<0.00001)&&-a<0.00001) @@ -295,7 +303,8 @@ void loop() menu(); } else if(op == 6){ - system("cls"); + if(LINUX) system("clear"); + else system("cls"); menu(); } else if(op == 10){ diff --git a/project/polynomial/polynomial.py b/dataStructure/polynomial.py similarity index 99% rename from project/polynomial/polynomial.py rename to dataStructure/polynomial.py index 5695117..b536694 100644 --- a/project/polynomial/polynomial.py +++ b/dataStructure/polynomial.py @@ -166,8 +166,5 @@ def menu(): print('10.menu') print('11.exit') -def go(): - menu() - if __name__ == '__main__': - go() + pass diff --git a/dataStructure/segTree.cc b/dataStructure/segTree.cc deleted file mode 100644 index c2b4ca1..0000000 --- a/dataStructure/segTree.cc +++ /dev/null @@ -1,55 +0,0 @@ -/* mbinary -######################################################################### -# File : segTree.cc -# Author: mbinary -# Mail: zhuheqin1@gmail.com -# Blog: https://mbinary.coding.me -# Github: https://github.com/mbinary -# Created Time: 2018-05-19 23:06 -# Description: -######################################################################### -*/ - -#include -template -bool operator <(type x,type y){return x -class segTree -{ - int size; - type *p; -public: - segTree(int n=1); - ~segTree(); - void update(int i,type x); - type getMin(int a,int b){return find(a,b,1,size,1);} - type find(int a,int b,int i,int j,int); -}; -template -segTree::segTree(int n):size(1) -{ - while(size -segTree::~segTree(){delete p;} -template -void segTree::update(int i,type x) -{ - i+=size-1; - p[i]=x; - while(i!=0){ - i/=2; - p[i]=p[i*2] -type segTree::find(int a,int b,int i , int j,int k) -{ - if(br ?l:r; -} diff --git a/dataStructure/stack/stack.cc b/dataStructure/stack/stack.cc deleted file mode 100644 index 9d310df..0000000 --- a/dataStructure/stack/stack.cc +++ /dev/null @@ -1,115 +0,0 @@ -/* mbinary -######################################################################### -# File : stack.cc -# Author: mbinary -# Mail: zhuheqin1@gmail.com -# Blog: https://mbinary.coding.me -# Github: https://github.com/mbinary -# Created Time: 2018-04-26 10:33 -# Description: -######################################################################### -*/ - -#include -#include -#include -#define SZ 50 -using namespace std; -template -class stack -{ - int capacity; - type *bottom,*top; - public: - stack(int n = SZ); - stack( stack &); - stack(int,type); - stack(vector &); - type pop(); - int cp(); - void push(type); - bool empty(); - type getTop(); -}; -template -stack::stack(int n):capacity(n) -{ - bottom = new type[capacity+1]; - top = bottom; -} - -template -stack::stack(int n,type x):capacity(n*2) -{ - bottom = new type[capacity+1]; - top = bottom; - for(int i = 0;i -stack::stack(vector &vc):capacity (vc.size()*2) -{ - bottom = new type[capacity+1]; - top = bottom; - for(int i = 0;i!=vc.size();++i){ - push(vc[i]); - } -} -template -stack::stack(stack &s):capacity(s.capacity) -{ - bottom = new type[capacity+1]; - top = bottom; - for(type *p= s.bottom;p!=s.top;)*(++top) = *(++p); -} -template -int stack::cp() -{ - return capacity; -} -template -bool stack::empty() -{ - return bottom == top; -} -template -type stack::getTop() -{ - return *top; -} -template -type stack::pop() -{ - if(bottom == top){ - printf("the stack is empty now\n"); - return 0; - }else{ - return *(top--); - } -} -template -void stack::push(type x) -{ - if(capacity == top-bottom){ - bottom = (type *)realloc(bottom,sizeof(type)*(2*capacity+1)); - top = bottom+capacity; - } - *(++top) = x; -} -int main() -{ - stack sc(5,'z'),scc(sc); - printf("stack copy\n"); - while(!scc.empty()){ - printf("%c\n",scc.pop()); - } - vector vc(50,2.3); - stack sd(vc); - sd.push(3.4); - printf("gettop%lf\n",sd.getTop()); - printf("vec copy\n"); - while(!sd.empty()){ - printf("%lf\n",sd.pop()); - } - printf("empty %d\ncapacity%d",sd.empty(),sd.cp()); - return 0; -} diff --git a/project/graph/graph.exe b/project/graph/graph.exe deleted file mode 100644 index a402668..0000000 Binary files a/project/graph/graph.exe and /dev/null differ diff --git a/project/huffman/huffman.aux b/project/huffman/huffman.aux deleted file mode 100644 index 6646bae..0000000 --- a/project/huffman/huffman.aux +++ /dev/null @@ -1,38 +0,0 @@ -\relax -\@writefile{toc}{\contentsline {section}{\numberline {1}需求分析}{2}} -\@writefile{toc}{\contentsline {paragraph}{1}{2}} -\@writefile{toc}{\contentsline {paragraph}{2}{2}} -\@writefile{toc}{\contentsline {paragraph}{3}{2}} -\@writefile{toc}{\contentsline {paragraph}{4}{2}} -\@writefile{toc}{\contentsline {paragraph}{5}{2}} -\@writefile{toc}{\contentsline {section}{\numberline {2}概要设计}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}结点node}{2}} -\@writefile{toc}{\contentsline {paragraph}{数据对象}{2}} -\@writefile{toc}{\contentsline {paragraph}{数据关系}{2}} -\@writefile{toc}{\contentsline {paragraph}{基本操作}{2}} -\@writefile{toc}{\contentsline {subparagraph}{node()}{2}} -\@writefile{toc}{\contentsline {subparagraph}{node( const node\& nd}{2}} -\@writefile{toc}{\contentsline {subparagraph}{operator<}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}huffman树}{3}} -\@writefile{toc}{\contentsline {paragraph}{数据对象}{3}} -\@writefile{toc}{\contentsline {paragraph}{数据关系}{3}} -\@writefile{toc}{\contentsline {paragraph}{基本操作}{3}} -\@writefile{toc}{\contentsline {subparagraph}{huffman( map)}{3}} -\@writefile{toc}{\contentsline {subparagraph}{encode(string)}{3}} -\@writefile{toc}{\contentsline {subparagraph}{decode(string)}{3}} -\@writefile{toc}{\contentsline {subparagraph}{preorder()}{3}} -\@writefile{toc}{\contentsline {subparagraph}{display}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {3}详细设计}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}编码,解码算法}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}输出进度条}{7}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}改变文件名}{7}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}统计信息}{7}} -\@writefile{toc}{\contentsline {section}{\numberline {4}调试分析}{8}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}编码信息的存储}{8}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}最后一个字节}{8}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}文件名的处理}{8}} -\@writefile{toc}{\contentsline {section}{\numberline {5}用户手册}{8}} -\@writefile{toc}{\contentsline {section}{\numberline {6}测试结果}{9}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}文本文件}{9}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}二进制文件1}{10}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}二进制文件2}{11}} diff --git a/project/huffman/huffman.exe b/project/huffman/huffman.exe deleted file mode 100644 index 29d76f1..0000000 Binary files a/project/huffman/huffman.exe and /dev/null differ diff --git a/project/huffman/huffman.log b/project/huffman/huffman.log deleted file mode 100644 index c07827d..0000000 --- a/project/huffman/huffman.log +++ /dev/null @@ -1,1537 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/W32TeX) (preloaded format=pdflatex 2017.10.3) 11 NOV 2017 10:04 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**./huffman.tex -(./huffman.tex -LaTeX2e <2017-04-15> -Babel <3.10> and hyphenation patterns for 84 language(s) loaded. -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/ctexart.cls -(d:/applicatons/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty -Package: expl3 2017/05/13 L3 programming layer (loader) - -(d:/applicatons/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex -Package: expl3 2017/05/13 L3 programming layer (code) -\c_max_int=\count79 -\l_tmpa_int=\count80 -\l_tmpb_int=\count81 -\g_tmpa_int=\count82 -\g_tmpb_int=\count83 -\g__prg_map_int=\count84 -\c_log_iow=\count85 -\l_iow_line_count_int=\count86 -\l__iow_line_target_int=\count87 -\l__iow_one_indent_int=\count88 -\l__iow_indent_int=\count89 -\c_zero_dim=\dimen102 -\c_max_dim=\dimen103 -\l_tmpa_dim=\dimen104 -\l_tmpb_dim=\dimen105 -\g_tmpa_dim=\dimen106 -\g_tmpb_dim=\dimen107 -\c_zero_skip=\skip41 -\c_max_skip=\skip42 -\l_tmpa_skip=\skip43 -\l_tmpb_skip=\skip44 -\g_tmpa_skip=\skip45 -\g_tmpb_skip=\skip46 -\c_zero_muskip=\muskip10 -\c_max_muskip=\muskip11 -\l_tmpa_muskip=\muskip12 -\l_tmpb_muskip=\muskip13 -\g_tmpa_muskip=\muskip14 -\g_tmpb_muskip=\muskip15 -\l_keys_choice_int=\count90 -\c__fp_leading_shift_int=\count91 -\c__fp_middle_shift_int=\count92 -\c__fp_trailing_shift_int=\count93 -\c__fp_big_leading_shift_int=\count94 -\c__fp_big_middle_shift_int=\count95 -\c__fp_big_trailing_shift_int=\count96 -\c__fp_Bigg_leading_shift_int=\count97 -\c__fp_Bigg_middle_shift_int=\count98 -\c__fp_Bigg_trailing_shift_int=\count99 -\c__fp_rand_size_int=\count100 -\c__fp_rand_four_int=\count101 -\c__fp_rand_eight_int=\count102 -\l__sort_length_int=\count103 -\l__sort_min_int=\count104 -\l__sort_top_int=\count105 -\l__sort_max_int=\count106 -\l__sort_true_max_int=\count107 -\l__sort_block_int=\count108 -\l__sort_begin_int=\count109 -\l__sort_end_int=\count110 -\l__sort_A_int=\count111 -\l__sort_B_int=\count112 -\l__sort_C_int=\count113 -\c_empty_box=\box26 -\l_tmpa_box=\box27 -\l_tmpb_box=\box28 -\g_tmpa_box=\box29 -\g_tmpb_box=\box30 -\l__box_top_dim=\dimen108 -\l__box_bottom_dim=\dimen109 -\l__box_left_dim=\dimen110 -\l__box_right_dim=\dimen111 -\l__box_top_new_dim=\dimen112 -\l__box_bottom_new_dim=\dimen113 -\l__box_left_new_dim=\dimen114 -\l__box_right_new_dim=\dimen115 -\l__box_internal_box=\box31 -\l__coffin_internal_box=\box32 -\l__coffin_internal_dim=\dimen116 -\l__coffin_offset_x_dim=\dimen117 -\l__coffin_offset_y_dim=\dimen118 -\l__coffin_x_dim=\dimen119 -\l__coffin_y_dim=\dimen120 -\l__coffin_x_prime_dim=\dimen121 -\l__coffin_y_prime_dim=\dimen122 -\c_empty_coffin=\box33 -\l__coffin_aligned_coffin=\box34 -\l__coffin_aligned_internal_coffin=\box35 -\l_tmpa_coffin=\box36 -\l_tmpb_coffin=\box37 -\l__coffin_display_coffin=\box38 -\l__coffin_display_coord_coffin=\box39 -\l__coffin_display_pole_coffin=\box40 -\l__coffin_display_offset_dim=\dimen123 -\l__coffin_display_x_dim=\dimen124 -\l__coffin_display_y_dim=\dimen125 -\l__coffin_bounding_shift_dim=\dimen126 -\l__coffin_left_corner_dim=\dimen127 -\l__coffin_right_corner_dim=\dimen128 -\l__coffin_bottom_corner_dim=\dimen129 -\l__coffin_top_corner_dim=\dimen130 -\l__coffin_scaled_total_height_dim=\dimen131 -\l__coffin_scaled_width_dim=\dimen132 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/l3kernel/l3pdfmode.def -File: l3pdfmode.def 2017/03/18 v L3 Experimental driver: PDF mode -\l__driver_color_stack_int=\count114 -\l__driver_tmp_box=\box41 -)) -Document Class: ctexart 2017/04/01 v2.4.9 Chinese adapter for class article (CT -EX) -(d:/applicatons/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty -Package: xparse 2017/05/13 L3 Experimental document command parser -\l__xparse_current_arg_int=\count115 -\g__xparse_grabber_int=\count116 -\l__xparse_m_args_int=\count117 -\l__xparse_mandatory_args_int=\count118 -\l__xparse_v_nesting_int=\count119 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty -Package: l3keys2e 2017/05/13 LaTeX2e option processing using LaTeX3 keys -) -\g__file_internal_ior=\read1 - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/ctexhook.sty -Package: ctexhook 2017/04/01 v2.4.9 Document and package hooks (CTEX) -) -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/ctexpatch.sty -Package: ctexpatch 2017/04/01 v2.4.9 Patching commands (CTEX) -) -(d:/applicatons/texlive/texmf-dist/tex/latex/base/fix-cm.sty -Package: fix-cm 2015/01/14 v1.1t fixes to LaTeX - -(d:/applicatons/texlive/texmf-dist/tex/latex/base/ts1enc.def -File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file -)) -(d:/applicatons/texlive/texmf-dist/tex/latex/ms/everysel.sty -Package: everysel 2011/10/28 v1.2 EverySelectfont Package (MS) -) -\l__ctex_tmp_int=\count120 -\l__ctex_tmp_box=\box42 -\l__ctex_tmp_dim=\dimen133 - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/config/ctexopts.cfg -File: ctexopts.cfg 2017/04/01 v2.4.9 Option configuration file (CTEX) -) -(d:/applicatons/texlive/texmf-dist/tex/latex/base/article.cls -Document Class: article 2014/09/29 v1.4h Standard LaTeX document class -(d:/applicatons/texlive/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count121 -\c@section=\count122 -\c@subsection=\count123 -\c@subsubsection=\count124 -\c@paragraph=\count125 -\c@subparagraph=\count126 -\c@figure=\count127 -\c@table=\count128 -\abovecaptionskip=\skip47 -\belowcaptionskip=\skip48 -\bibindent=\dimen134 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def -File: ctex-engine-pdftex.def 2017/04/01 v2.4.9 (pdf)LaTeX adapter (CTEX) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/CJKutf8.sty -Package: CJKutf8 2015/04/18 4.8.4 - -(d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch -) -(d:/applicatons/texlive/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2015/03/17 v1.2c Input encoding file -\inpenc@prehook=\toks14 -\inpenc@posthook=\toks15 - -(d:/applicatons/texlive/texmf-dist/tex/latex/base/utf8.def -File: utf8.def 2017/01/28 v1.1t UTF-8 support for inputenc -Now handling font encoding OML ... -... no UTF-8 mapping file for font encoding OML -Now handling font encoding T1 ... -... processing UTF-8 mapping file for font encoding T1 - -(d:/applicatons/texlive/texmf-dist/tex/latex/base/t1enc.dfu -File: t1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A0 (decimal 160) - defining Unicode char U+00A1 (decimal 161) - defining Unicode char U+00A3 (decimal 163) - defining Unicode char U+00AB (decimal 171) - defining Unicode char U+00AD (decimal 173) - defining Unicode char U+00BB (decimal 187) - defining Unicode char U+00BF (decimal 191) - defining Unicode char U+00C0 (decimal 192) - defining Unicode char U+00C1 (decimal 193) - defining Unicode char U+00C2 (decimal 194) - defining Unicode char U+00C3 (decimal 195) - defining Unicode char U+00C4 (decimal 196) - defining Unicode char U+00C5 (decimal 197) - defining Unicode char U+00C6 (decimal 198) - defining Unicode char U+00C7 (decimal 199) - defining Unicode char U+00C8 (decimal 200) - defining Unicode char U+00C9 (decimal 201) - defining Unicode char U+00CA (decimal 202) - defining Unicode char U+00CB (decimal 203) - defining Unicode char U+00CC (decimal 204) - defining Unicode char U+00CD (decimal 205) - defining Unicode char U+00CE (decimal 206) - defining Unicode char U+00CF (decimal 207) - defining Unicode char U+00D0 (decimal 208) - defining Unicode char U+00D1 (decimal 209) - defining Unicode char U+00D2 (decimal 210) - defining Unicode char U+00D3 (decimal 211) - defining Unicode char U+00D4 (decimal 212) - defining Unicode char U+00D5 (decimal 213) - defining Unicode char U+00D6 (decimal 214) - defining Unicode char U+00D8 (decimal 216) - defining Unicode char U+00D9 (decimal 217) - defining Unicode char U+00DA (decimal 218) - defining Unicode char U+00DB (decimal 219) - defining Unicode char U+00DC (decimal 220) - defining Unicode char U+00DD (decimal 221) - defining Unicode char U+00DE (decimal 222) - defining Unicode char U+00DF (decimal 223) - defining Unicode char U+00E0 (decimal 224) - defining Unicode char U+00E1 (decimal 225) - defining Unicode char U+00E2 (decimal 226) - defining Unicode char U+00E3 (decimal 227) - defining Unicode char U+00E4 (decimal 228) - defining Unicode char U+00E5 (decimal 229) - defining Unicode char U+00E6 (decimal 230) - defining Unicode char U+00E7 (decimal 231) - defining Unicode char U+00E8 (decimal 232) - defining Unicode char U+00E9 (decimal 233) - defining Unicode char U+00EA (decimal 234) - defining Unicode char U+00EB (decimal 235) - defining Unicode char U+00EC (decimal 236) - defining Unicode char U+00ED (decimal 237) - defining Unicode char U+00EE (decimal 238) - defining Unicode char U+00EF (decimal 239) - defining Unicode char U+00F0 (decimal 240) - defining Unicode char U+00F1 (decimal 241) - defining Unicode char U+00F2 (decimal 242) - defining Unicode char U+00F3 (decimal 243) - defining Unicode char U+00F4 (decimal 244) - defining Unicode char U+00F5 (decimal 245) - defining Unicode char U+00F6 (decimal 246) - defining Unicode char U+00F8 (decimal 248) - defining Unicode char U+00F9 (decimal 249) - defining Unicode char U+00FA (decimal 250) - defining Unicode char U+00FB (decimal 251) - defining Unicode char U+00FC (decimal 252) - defining Unicode char U+00FD (decimal 253) - defining Unicode char U+00FE (decimal 254) - defining Unicode char U+00FF (decimal 255) - defining Unicode char U+0100 (decimal 256) - defining Unicode char U+0101 (decimal 257) - defining Unicode char U+0102 (decimal 258) - defining Unicode char U+0103 (decimal 259) - defining Unicode char U+0104 (decimal 260) - defining Unicode char U+0105 (decimal 261) - defining Unicode char U+0106 (decimal 262) - defining Unicode char U+0107 (decimal 263) - defining Unicode char U+0108 (decimal 264) - defining Unicode char U+0109 (decimal 265) - defining Unicode char U+010A (decimal 266) - defining Unicode char U+010B (decimal 267) - defining Unicode char U+010C (decimal 268) - defining Unicode char U+010D (decimal 269) - defining Unicode char U+010E (decimal 270) - defining Unicode char U+010F (decimal 271) - defining Unicode char U+0110 (decimal 272) - defining Unicode char U+0111 (decimal 273) - defining Unicode char U+0112 (decimal 274) - defining Unicode char U+0113 (decimal 275) - defining Unicode char U+0114 (decimal 276) - defining Unicode char U+0115 (decimal 277) - defining Unicode char U+0116 (decimal 278) - defining Unicode char U+0117 (decimal 279) - defining Unicode char U+0118 (decimal 280) - defining Unicode char U+0119 (decimal 281) - defining Unicode char U+011A (decimal 282) - defining Unicode char U+011B (decimal 283) - defining Unicode char U+011C (decimal 284) - defining Unicode char U+011D (decimal 285) - defining Unicode char U+011E (decimal 286) - defining Unicode char U+011F (decimal 287) - defining Unicode char U+0120 (decimal 288) - defining Unicode char U+0121 (decimal 289) - defining Unicode char U+0122 (decimal 290) - defining Unicode char U+0123 (decimal 291) - defining Unicode char U+0124 (decimal 292) - defining Unicode char U+0125 (decimal 293) - defining Unicode char U+0128 (decimal 296) - defining Unicode char U+0129 (decimal 297) - defining Unicode char U+012A (decimal 298) - defining Unicode char U+012B (decimal 299) - defining Unicode char U+012C (decimal 300) - defining Unicode char U+012D (decimal 301) - defining Unicode char U+012E (decimal 302) - defining Unicode char U+012F (decimal 303) - defining Unicode char U+0130 (decimal 304) - defining Unicode char U+0131 (decimal 305) - defining Unicode char U+0132 (decimal 306) - defining Unicode char U+0133 (decimal 307) - defining Unicode char U+0134 (decimal 308) - defining Unicode char U+0135 (decimal 309) - defining Unicode char U+0136 (decimal 310) - defining Unicode char U+0137 (decimal 311) - defining Unicode char U+0139 (decimal 313) - defining Unicode char U+013A (decimal 314) - defining Unicode char U+013B (decimal 315) - defining Unicode char U+013C (decimal 316) - defining Unicode char U+013D (decimal 317) - defining Unicode char U+013E (decimal 318) - defining Unicode char U+0141 (decimal 321) - defining Unicode char U+0142 (decimal 322) - defining Unicode char U+0143 (decimal 323) - defining Unicode char U+0144 (decimal 324) - defining Unicode char U+0145 (decimal 325) - defining Unicode char U+0146 (decimal 326) - defining Unicode char U+0147 (decimal 327) - defining Unicode char U+0148 (decimal 328) - defining Unicode char U+014A (decimal 330) - defining Unicode char U+014B (decimal 331) - defining Unicode char U+014C (decimal 332) - defining Unicode char U+014D (decimal 333) - defining Unicode char U+014E (decimal 334) - defining Unicode char U+014F (decimal 335) - defining Unicode char U+0150 (decimal 336) - defining Unicode char U+0151 (decimal 337) - defining Unicode char U+0152 (decimal 338) - defining Unicode char U+0153 (decimal 339) - defining Unicode char U+0154 (decimal 340) - defining Unicode char U+0155 (decimal 341) - defining Unicode char U+0156 (decimal 342) - defining Unicode char U+0157 (decimal 343) - defining Unicode char U+0158 (decimal 344) - defining Unicode char U+0159 (decimal 345) - defining Unicode char U+015A (decimal 346) - defining Unicode char U+015B (decimal 347) - defining Unicode char U+015C (decimal 348) - defining Unicode char U+015D (decimal 349) - defining Unicode char U+015E (decimal 350) - defining Unicode char U+015F (decimal 351) - defining Unicode char U+0160 (decimal 352) - defining Unicode char U+0161 (decimal 353) - defining Unicode char U+0162 (decimal 354) - defining Unicode char U+0163 (decimal 355) - defining Unicode char U+0164 (decimal 356) - defining Unicode char U+0165 (decimal 357) - defining Unicode char U+0168 (decimal 360) - defining Unicode char U+0169 (decimal 361) - defining Unicode char U+016A (decimal 362) - defining Unicode char U+016B (decimal 363) - defining Unicode char U+016C (decimal 364) - defining Unicode char U+016D (decimal 365) - defining Unicode char U+016E (decimal 366) - defining Unicode char U+016F (decimal 367) - defining Unicode char U+0170 (decimal 368) - defining Unicode char U+0171 (decimal 369) - defining Unicode char U+0172 (decimal 370) - defining Unicode char U+0173 (decimal 371) - defining Unicode char U+0174 (decimal 372) - defining Unicode char U+0175 (decimal 373) - defining Unicode char U+0176 (decimal 374) - defining Unicode char U+0177 (decimal 375) - defining Unicode char U+0178 (decimal 376) - defining Unicode char U+0179 (decimal 377) - defining Unicode char U+017A (decimal 378) - defining Unicode char U+017B (decimal 379) - defining Unicode char U+017C (decimal 380) - defining Unicode char U+017D (decimal 381) - defining Unicode char U+017E (decimal 382) - defining Unicode char U+01CD (decimal 461) - defining Unicode char U+01CE (decimal 462) - defining Unicode char U+01CF (decimal 463) - defining Unicode char U+01D0 (decimal 464) - defining Unicode char U+01D1 (decimal 465) - defining Unicode char U+01D2 (decimal 466) - defining Unicode char U+01D3 (decimal 467) - defining Unicode char U+01D4 (decimal 468) - defining Unicode char U+01E2 (decimal 482) - defining Unicode char U+01E3 (decimal 483) - defining Unicode char U+01E6 (decimal 486) - defining Unicode char U+01E7 (decimal 487) - defining Unicode char U+01E8 (decimal 488) - defining Unicode char U+01E9 (decimal 489) - defining Unicode char U+01EA (decimal 490) - defining Unicode char U+01EB (decimal 491) - defining Unicode char U+01F0 (decimal 496) - defining Unicode char U+01F4 (decimal 500) - defining Unicode char U+01F5 (decimal 501) - defining Unicode char U+0218 (decimal 536) - defining Unicode char U+0219 (decimal 537) - defining Unicode char U+021A (decimal 538) - defining Unicode char U+021B (decimal 539) - defining Unicode char U+0232 (decimal 562) - defining Unicode char U+0233 (decimal 563) - defining Unicode char U+1E02 (decimal 7682) - defining Unicode char U+1E03 (decimal 7683) - defining Unicode char U+200C (decimal 8204) - defining Unicode char U+2010 (decimal 8208) - defining Unicode char U+2011 (decimal 8209) - defining Unicode char U+2012 (decimal 8210) - defining Unicode char U+2013 (decimal 8211) - defining Unicode char U+2014 (decimal 8212) - defining Unicode char U+2015 (decimal 8213) - defining Unicode char U+2018 (decimal 8216) - defining Unicode char U+2019 (decimal 8217) - defining Unicode char U+201A (decimal 8218) - defining Unicode char U+201C (decimal 8220) - defining Unicode char U+201D (decimal 8221) - defining Unicode char U+201E (decimal 8222) - defining Unicode char U+2030 (decimal 8240) - defining Unicode char U+2031 (decimal 8241) - defining Unicode char U+2039 (decimal 8249) - defining Unicode char U+203A (decimal 8250) - defining Unicode char U+2423 (decimal 9251) - defining Unicode char U+1E20 (decimal 7712) - defining Unicode char U+1E21 (decimal 7713) -) -Now handling font encoding OT1 ... -... processing UTF-8 mapping file for font encoding OT1 - -(d:/applicatons/texlive/texmf-dist/tex/latex/base/ot1enc.dfu -File: ot1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A0 (decimal 160) - defining Unicode char U+00A1 (decimal 161) - defining Unicode char U+00A3 (decimal 163) - defining Unicode char U+00AD (decimal 173) - defining Unicode char U+00B8 (decimal 184) - defining Unicode char U+00BF (decimal 191) - defining Unicode char U+00C5 (decimal 197) - defining Unicode char U+00C6 (decimal 198) - defining Unicode char U+00D8 (decimal 216) - defining Unicode char U+00DF (decimal 223) - defining Unicode char U+00E6 (decimal 230) - defining Unicode char U+00EC (decimal 236) - defining Unicode char U+00ED (decimal 237) - defining Unicode char U+00EE (decimal 238) - defining Unicode char U+00EF (decimal 239) - defining Unicode char U+00F8 (decimal 248) - defining Unicode char U+0131 (decimal 305) - defining Unicode char U+0141 (decimal 321) - defining Unicode char U+0142 (decimal 322) - defining Unicode char U+0152 (decimal 338) - defining Unicode char U+0153 (decimal 339) - defining Unicode char U+0174 (decimal 372) - defining Unicode char U+0175 (decimal 373) - defining Unicode char U+0176 (decimal 374) - defining Unicode char U+0177 (decimal 375) - defining Unicode char U+0218 (decimal 536) - defining Unicode char U+0219 (decimal 537) - defining Unicode char U+021A (decimal 538) - defining Unicode char U+021B (decimal 539) - defining Unicode char U+2013 (decimal 8211) - defining Unicode char U+2014 (decimal 8212) - defining Unicode char U+2018 (decimal 8216) - defining Unicode char U+2019 (decimal 8217) - defining Unicode char U+201C (decimal 8220) - defining Unicode char U+201D (decimal 8221) -) -Now handling font encoding OMS ... -... processing UTF-8 mapping file for font encoding OMS - -(d:/applicatons/texlive/texmf-dist/tex/latex/base/omsenc.dfu -File: omsenc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A7 (decimal 167) - defining Unicode char U+00B6 (decimal 182) - defining Unicode char U+00B7 (decimal 183) - defining Unicode char U+2020 (decimal 8224) - defining Unicode char U+2021 (decimal 8225) - defining Unicode char U+2022 (decimal 8226) -) -Now handling font encoding OMX ... -... no UTF-8 mapping file for font encoding OMX -Now handling font encoding U ... -... no UTF-8 mapping file for font encoding U -Now handling font encoding TS1 ... -... processing UTF-8 mapping file for font encoding TS1 - -(d:/applicatons/texlive/texmf-dist/tex/latex/base/ts1enc.dfu -File: ts1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A2 (decimal 162) - defining Unicode char U+00A3 (decimal 163) - defining Unicode char U+00A4 (decimal 164) - defining Unicode char U+00A5 (decimal 165) - defining Unicode char U+00A6 (decimal 166) - defining Unicode char U+00A7 (decimal 167) - defining Unicode char U+00A8 (decimal 168) - defining Unicode char U+00A9 (decimal 169) - defining Unicode char U+00AA (decimal 170) - defining Unicode char U+00AC (decimal 172) - defining Unicode char U+00AE (decimal 174) - defining Unicode char U+00AF (decimal 175) - defining Unicode char U+00B0 (decimal 176) - defining Unicode char U+00B1 (decimal 177) - defining Unicode char U+00B2 (decimal 178) - defining Unicode char U+00B3 (decimal 179) - defining Unicode char U+00B4 (decimal 180) - defining Unicode char U+00B5 (decimal 181) - defining Unicode char U+00B6 (decimal 182) - defining Unicode char U+00B7 (decimal 183) - defining Unicode char U+00B9 (decimal 185) - defining Unicode char U+00BA (decimal 186) - defining Unicode char U+00BC (decimal 188) - defining Unicode char U+00BD (decimal 189) - defining Unicode char U+00BE (decimal 190) - defining Unicode char U+00D7 (decimal 215) - defining Unicode char U+00F7 (decimal 247) - defining Unicode char U+0192 (decimal 402) - defining Unicode char U+02C7 (decimal 711) - defining Unicode char U+02D8 (decimal 728) - defining Unicode char U+02DD (decimal 733) - defining Unicode char U+0E3F (decimal 3647) - defining Unicode char U+2016 (decimal 8214) - defining Unicode char U+2020 (decimal 8224) - defining Unicode char U+2021 (decimal 8225) - defining Unicode char U+2022 (decimal 8226) - defining Unicode char U+2030 (decimal 8240) - defining Unicode char U+2031 (decimal 8241) - defining Unicode char U+203B (decimal 8251) - defining Unicode char U+203D (decimal 8253) - defining Unicode char U+2044 (decimal 8260) - defining Unicode char U+204E (decimal 8270) - defining Unicode char U+2052 (decimal 8274) - defining Unicode char U+20A1 (decimal 8353) - defining Unicode char U+20A4 (decimal 8356) - defining Unicode char U+20A6 (decimal 8358) - defining Unicode char U+20A9 (decimal 8361) - defining Unicode char U+20AB (decimal 8363) - defining Unicode char U+20AC (decimal 8364) - defining Unicode char U+20B1 (decimal 8369) - defining Unicode char U+2103 (decimal 8451) - defining Unicode char U+2116 (decimal 8470) - defining Unicode char U+2117 (decimal 8471) - defining Unicode char U+211E (decimal 8478) - defining Unicode char U+2120 (decimal 8480) - defining Unicode char U+2122 (decimal 8482) - defining Unicode char U+2126 (decimal 8486) - defining Unicode char U+2127 (decimal 8487) - defining Unicode char U+212E (decimal 8494) - defining Unicode char U+2190 (decimal 8592) - defining Unicode char U+2191 (decimal 8593) - defining Unicode char U+2192 (decimal 8594) - defining Unicode char U+2193 (decimal 8595) - defining Unicode char U+2329 (decimal 9001) - defining Unicode char U+232A (decimal 9002) - defining Unicode char U+2422 (decimal 9250) - defining Unicode char U+25E6 (decimal 9702) - defining Unicode char U+25EF (decimal 9711) - defining Unicode char U+266A (decimal 9834) -) - defining Unicode char U+00A9 (decimal 169) - defining Unicode char U+00AA (decimal 170) - defining Unicode char U+00AE (decimal 174) - defining Unicode char U+00BA (decimal 186) - defining Unicode char U+02C6 (decimal 710) - defining Unicode char U+02DC (decimal 732) - defining Unicode char U+200C (decimal 8204) - defining Unicode char U+2026 (decimal 8230) - defining Unicode char U+2122 (decimal 8482) - defining Unicode char U+2423 (decimal 9251) -)) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/CJK.sty -Package: CJK 2015/04/18 4.8.4 - -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/mule/MULEenc.sty -Package: MULEenc 2015/04/18 4.8.4 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/CJK.enc -File: CJK.enc 2015/04/18 4.8.4 -Now handling font encoding C00 ... -... no UTF-8 mapping file for font encoding C00 -Now handling font encoding C05 ... -... no UTF-8 mapping file for font encoding C05 -Now handling font encoding C09 ... -... no UTF-8 mapping file for font encoding C09 -Now handling font encoding C10 ... -... no UTF-8 mapping file for font encoding C10 -Now handling font encoding C20 ... -... no UTF-8 mapping file for font encoding C20 -Now handling font encoding C19 ... -... no UTF-8 mapping file for font encoding C19 -Now handling font encoding C40 ... -... no UTF-8 mapping file for font encoding C40 -Now handling font encoding C42 ... -... no UTF-8 mapping file for font encoding C42 -Now handling font encoding C43 ... -... no UTF-8 mapping file for font encoding C43 -Now handling font encoding C50 ... -... no UTF-8 mapping file for font encoding C50 -Now handling font encoding C52 ... -... no UTF-8 mapping file for font encoding C52 -Now handling font encoding C49 ... -... no UTF-8 mapping file for font encoding C49 -Now handling font encoding C60 ... -... no UTF-8 mapping file for font encoding C60 -Now handling font encoding C61 ... -... no UTF-8 mapping file for font encoding C61 -Now handling font encoding C63 ... -... no UTF-8 mapping file for font encoding C63 -Now handling font encoding C64 ... -... no UTF-8 mapping file for font encoding C64 -Now handling font encoding C65 ... -... no UTF-8 mapping file for font encoding C65 -Now handling font encoding C70 ... -... no UTF-8 mapping file for font encoding C70 -Now handling font encoding C31 ... -... no UTF-8 mapping file for font encoding C31 -Now handling font encoding C32 ... -... no UTF-8 mapping file for font encoding C32 -Now handling font encoding C33 ... -... no UTF-8 mapping file for font encoding C33 -Now handling font encoding C34 ... -... no UTF-8 mapping file for font encoding C34 -Now handling font encoding C35 ... -... no UTF-8 mapping file for font encoding C35 -Now handling font encoding C36 ... -... no UTF-8 mapping file for font encoding C36 -Now handling font encoding C37 ... -... no UTF-8 mapping file for font encoding C37 -Now handling font encoding C80 ... -... no UTF-8 mapping file for font encoding C80 -Now handling font encoding C81 ... -... no UTF-8 mapping file for font encoding C81 -Now handling font encoding C01 ... -... no UTF-8 mapping file for font encoding C01 -Now handling font encoding C11 ... -... no UTF-8 mapping file for font encoding C11 -Now handling font encoding C21 ... -... no UTF-8 mapping file for font encoding C21 -Now handling font encoding C41 ... -... no UTF-8 mapping file for font encoding C41 -Now handling font encoding C62 ... -... no UTF-8 mapping file for font encoding C62 -) -LaTeX Info: Redefining \selectfont on input line 755. -\CJK@indent=\box43 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2017/04/05 v2.0i Standard LaTeX package -)) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjkpunct/CJKpunct.sty -Package: CJKpunct 2016/05/14 4.8.4 -\CJKpunct@cnta=\count129 -\CJKpunct@cntb=\count130 -\CJKpunct@cntc=\count131 -\CJKpunct@cntd=\count132 -\CJKpunct@cnte=\count133 - defining Unicode char U+2018 (decimal 8216) - defining Unicode char U+2019 (decimal 8217) - defining Unicode char U+201C (decimal 8220) - defining Unicode char U+201D (decimal 8221) - defining Unicode char U+2014 (decimal 8212) - defining Unicode char U+2026 (decimal 8230) - -(d:/applicatons/texlive/texmf-dist/tex/latex/cjkpunct/CJKpunct.spa)) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/CJKspace.sty -Package: CJKspace 2015/04/18 3.8.0 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/ctexspa.def -File: ctexspa.def 2017/04/01 v2.4.9 Space info for CJKpunct (CTEX) -) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/CJKfntef.sty -Package: CJKfntef 2015/04/18 4.8.4 - -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/CJKulem.sty -Package: CJKulem 2015/04/18 4.8.4 - -(d:/applicatons/texlive/texmf-dist/tex/generic/ulem/ulem.sty -\UL@box=\box44 -\UL@hyphenbox=\box45 -\UL@skip=\skip49 -\UL@hook=\toks16 -\UL@height=\dimen135 -\UL@pe=\count134 -\UL@pixel=\dimen136 -\ULC@box=\box46 -Package: ulem 2012/05/18 -\ULdepth=\dimen137 -) -\UL@lastkern=\dimen138 -\CJK@skip=\skip50 -) -\CJK@fntefSkip=\skip51 -\CJK@nest=\count135 -\CJK@fntefDimen=\dimen139 -\CJK@underdotBox=\box47 -\CJK@ULbox=\box48 -\CJK@underanyskip=\dimen140 -) -\ccwd=\dimen141 -\l__ctex_ccglue_skip=\skip52 -) -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \ctexset with sig. '' on line 387. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTEXsetup with sig. '+o>{\TrimSpaces }m' on line 393. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTEXoptions with sig. '+o' on line 399. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTEXsetfont with sig. '' on line 417. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \ziju with sig. 'm' on line 489. -................................................. -\l__ctex_ziju_dim=\dimen142 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTEXindent with sig. '' on line 530. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTEXnoindent with sig. '' on line 536. -................................................. - -(d:/applicatons/texlive/texmf-dist/tex/latex/zhnumber/zhnumber.sty -Package: zhnumber 2016/05/14 v2.4 Typesetting numbers with Chinese glyphs -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhnumber with sig. '+o+m' on line 50. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhnumberwithoptions with sig. '+m+m' on line 57. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhnum with sig. '+o+m' on line 111. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhnumwithoptions with sig. '+m+m' on line 118. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhdig with sig. '+o+m' on line 297. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhdigwithoptions with sig. '+m+m' on line 304. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhdigits with sig. '+s+o+m' on line 318. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhdigitswithoptions with sig. '+m+m+m' on line 325. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhdate with sig. '+s+m' on line 384. -................................................. -\l__zhnum_scale_int=\count136 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhnumExtendScaleMap with sig. '>{\TrimSpaces }+o+m' on -. line 506. -................................................. -\l__zhnum_byte_min_int=\count137 -\l__zhnum_byte_max_int=\count138 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zhnumsetup with sig. '+m' on line 938. -................................................. - -(d:/applicatons/texlive/texmf-dist/tex/latex/zhnumber/zhnumber-utf8.cfg -File: zhnumber-utf8.cfg 2016/05/14 v2.4 Chinese numerals with UTF8 encoding -)) -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTEXnumber with sig. 'mm' on line 553. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTEXdigits with sig. 'mm' on line 555. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \ctex_assign_heading_name:nn with sig. 'm>{\SplitArgument -. {\c_one }{,}}+m' on line 686. -................................................. -\l__ctex_heading_skip=\skip53 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \partmark with sig. 'm' on line 717. -................................................. -................................................. -. LaTeX info: "xparse/redefine-command" -. -. Redefining command \refstepcounter with sig. 'm' on line 1208. -................................................. - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-ar -ticle.def -File: ctex-scheme-chinese-article.def 2017/04/01 v2.4.9 Chinese scheme for arti -cle (CTEX) - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg -File: ctex-name-utf8.cfg 2017/04/01 v2.4.9 Caption with encoding UTF8 (CTEX) -)) -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \zihao with sig. 'm' on line 1211. -................................................. - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/ctex-c5size.clo -File: ctex-c5size.clo 2017/04/01 v2.4.9 c5size option (CTEX) -) -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \CTeX with sig. '' on line 1315. -................................................. - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows. -def -File: ctex-fontset-windows.def 2017/04/01 v2.4.9 Windows fonts definition (CTEX -) - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsn -ew.def -File: ctex-fontset-windowsnew.def 2017/04/01 v2.4.9 Windows fonts definition fo -r Vista or later version (CTEX) - (d:/applicatons/texlive/texmf-dist/tex/generic/ctex/zhwindowsfonts.tex -File: zhwindowsfonts.tex 2017/04/01 v2.4.9 Windows font map loader for pdfTeX a -nd DVIPDFMx (CTEX) -{d:/applicatons/texlive/texmf-var/fonts/map/pdftex/updmap/pdftex.map}{UGBK.sfd} -{Unicode.sfd}) -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \songti with sig. '' on line 110. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \heiti with sig. '' on line 111. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \fangsong with sig. '' on line 112. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \kaishu with sig. '' on line 113. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \lishu with sig. '' on line 114. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \youyuan with sig. '' on line 115. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \yahei with sig. '' on line 116. -................................................. -))) -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/config/ctex.cfg -File: ctex.cfg 2017/04/01 v2.4.9 Configuration file (CTEX) -) -(d:/applicatons/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2016/11/05 v2.16a AMS math features -\@mathmargin=\skip54 - -For additional information on amsmath, use the `?' option. -(d:/applicatons/texlive/texmf-dist/tex/latex/amsmath/amstext.sty -Package: amstext 2000/06/29 v2.01 AMS text - -(d:/applicatons/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty -File: amsgen.sty 1999/11/30 v2.0 generic functions -\@emptytoks=\toks17 -\ex@=\dimen143 -)) -(d:/applicatons/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty -Package: amsbsy 1999/11/29 v1.2d Bold Symbols -\pmbraise@=\dimen144 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty -Package: amsopn 2016/03/08 v2.02 operator names -) -\inf@bad=\count139 -LaTeX Info: Redefining \frac on input line 213. -\uproot@=\count140 -\leftroot@=\count141 -LaTeX Info: Redefining \overline on input line 375. -\classnum@=\count142 -\DOTSCASE@=\count143 -LaTeX Info: Redefining \ldots on input line 472. -LaTeX Info: Redefining \dots on input line 475. -LaTeX Info: Redefining \cdots on input line 596. -\Mathstrutbox@=\box49 -\strutbox@=\box50 -\big@size=\dimen145 -LaTeX Font Info: Redeclaring font encoding OML on input line 712. -LaTeX Font Info: Redeclaring font encoding OMS on input line 713. -\macc@depth=\count144 -\c@MaxMatrixCols=\count145 -\dotsspace@=\muskip16 -\c@parentequation=\count146 -\dspbrk@lvl=\count147 -\tag@help=\toks18 -\row@=\count148 -\column@=\count149 -\maxfields@=\count150 -\andhelp@=\toks19 -\eqnshift@=\dimen146 -\alignsep@=\dimen147 -\tagshift@=\dimen148 -\tagwidth@=\dimen149 -\totwidth@=\dimen150 -\lineht@=\dimen151 -\@envbody=\toks20 -\multlinegap=\skip55 -\multlinetaggap=\skip56 -\mathdisplay@stack=\toks21 -LaTeX Info: Redefining \[ on input line 2817. -LaTeX Info: Redefining \] on input line 2818. -) -(d:/applicatons/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) - -(d:/applicatons/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks22 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2017/04/14 v1.1b Standard LaTeX Graphics (DPC,SPQR) - -(d:/applicatons/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) -(d:/applicatons/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: pdftex.def on input line 99. - -(d:/applicatons/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX - -(d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) -) -(d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) -) -\Gread@gobject=\count151 -)) -\Gin@req@height=\dimen152 -\Gin@req@width=\dimen153 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -Package: fancyhdr 2016/09/06 3.8 Extensive control of page headers and footers -\fancy@headwidth=\skip57 -\f@ncyO@elh=\skip58 -\f@ncyO@erh=\skip59 -\f@ncyO@olh=\skip60 -\f@ncyO@orh=\skip61 -\f@ncyO@elf=\skip62 -\f@ncyO@erf=\skip63 -\f@ncyO@olf=\skip64 -\f@ncyO@orf=\skip65 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/float/float.sty -Package: float 2001/11/08 v1.3d Float enhancements (AL) -\c@float@type=\count152 -\float@exts=\toks23 -\float@box=\box51 -\@float@everytoks=\toks24 -\@floatcapt=\box52 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/listings/listings.sty -\lst@mode=\count153 -\lst@gtempboxa=\box53 -\lst@token=\toks25 -\lst@length=\count154 -\lst@currlwidth=\dimen154 -\lst@column=\count155 -\lst@pos=\count156 -\lst@lostspace=\dimen155 -\lst@width=\dimen156 -\lst@newlines=\count157 -\lst@lineno=\count158 -\lst@maxwidth=\dimen157 - -(d:/applicatons/texlive/texmf-dist/tex/latex/listings/lstmisc.sty -File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) -\c@lstnumber=\count159 -\lst@skipnumbers=\count160 -\lst@framebox=\box54 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/listings/listings.cfg -File: listings.cfg 2015/06/04 1.6 listings configuration -)) -Package: listings 2015/06/04 1.6 (Carsten Heinz) - -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/utf8/UTF8.bdg -File: UTF8.bdg 2015/04/18 4.8.4 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/utf8/UTF8.enc -File: UTF8.enc 2015/04/18 4.8.4 -) -(d:/applicatons/texlive/texmf-dist/tex/latex/cjk/texinput/utf8/UTF8.chr -File: UTF8.chr 2015/04/18 4.8.4 -) -(./huffman.aux) -\openout1 = `huffman.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C00/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C05/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C09/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C10/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C20/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C19/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C40/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C42/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C43/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C50/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C52/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C49/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C60/mj/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C61/mj/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C63/mj/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C64/mj/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C65/mj/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C70/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C31/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C32/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C33/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C34/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C35/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C36/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C37/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C80/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C81/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C01/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C11/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C21/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C41/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. -LaTeX Font Info: Checking defaults for C62/song/m/n on input line 14. -LaTeX Font Info: ... okay on input line 14. - ABD: EverySelectfont initializing macros -LaTeX Info: Redefining \selectfont on input line 14. - -(d:/applicatons/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count161 -\scratchdimen=\dimen158 -\scratchbox=\box55 -\nofMPsegments=\count162 -\nofMParguments=\count163 -\everyMPshowfont=\toks26 -\MPscratchCnt=\count164 -\MPscratchDim=\dimen159 -\MPnumerator=\count165 -\makeMPintoPDFobject=\count166 -\everyMPtoPDFconversion=\toks27 -) (d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty -Package: pdftexcmds 2017/03/19 v0.25 Utility functions of pdfTeX for LuaTeX (HO -) - -(d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(d:/applicatons/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf - -(d:/applicatons/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) - -(d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty -Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) -)) -(d:/applicatons/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) - -(d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) - -(d:/applicatons/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -))) -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -38. -Package grfext Info: Graphics extension search list: -(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE -G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 456. - -(d:/applicatons/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) -\c@lstlisting=\count167 -LaTeX Font Info: Try loading font information for C70+rm on input line 15. - -(d:/applicatons/texlive/texmf-dist/tex/latex/ctex/fd/c70rm.fd -File: c70rm.fd 2017/04/01 v2.4.9 Chinese font definition (CTEX) -) (./huffman.toc - -LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <10.53937> not available -(Font) size <10.95> substituted on input line 8. - -Package CJKpunct Info: use punctuation spaces for family 'rm' with punctstyle ( -quanjiao) on input line 25. -) -\tf@toc=\write3 -\openout3 = `huffman.toc'. - - [1 - -] -LaTeX Font Info: Try loading font information for OMS+cmr on input line 35. - (d:/applicatons/texlive/texmf-dist/tex/latex/base/omscmr.fd -File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions -) -LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.53937> not available -(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 35. - -Underfull \hbox (badness 10000) in paragraph at lines 35--36 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 36--37 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 37--38 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 44--45 - - [] - - -Package Fancyhdr Warning: \headheight is too small (12.0pt): - Make it at least 12.64723pt. - We now make it that large for the rest of the document. - This may cause the page layout to be inconsistent, however. - -[2] -Underfull \hbox (badness 10000) in paragraph at lines 45--46 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 46--47 - - [] - - -Overfull \hbox (10.42503pt too wide) in paragraph at lines 48--49 - \OT1/cmr/bx/n/10.53937 huff-man( map)[] \C70/rm/m/n/10.53937/4f \C70/rm/m/n/ -10.53937/90 ^^R \C70/rm/m/n/10.53937/5b W \C70/rm/m/n/10.53937/7b & \C70/rm/m/n -/10.53937/76 \C70/rm/m/n/10.53937/98 \C70/rm/m/n/10.53937/73 \C70/rm/m/n/ -10.53937/4f \C70/rm/m/n/10.53937/60 o \C70/rm/m/n/10.53937/4e \OT1/cmr/m/n/1 -0.53937 map\C70/rm/m/n/10.53937/5f b ^^O|\C70/rm/m/n/10.53937/ff ^^L| \C70/rm/m -/n/10.53937/71 6 \C70/rm/m/n/10.53937/54 ^^N \C70/rm/m/n/10.53937/5e \C70/rm/ -m/n/10.53937/7a \OT1/cmr/m/n/10.53937 huffman\C70/rm/m/n/10.53937/68 ^^Q - [] - -(d:/applicatons/texlive/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2015/06/04 1.6 listings language file -) -(d:/applicatons/texlive/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2015/06/04 1.6 listings language file -) -(d:/applicatons/texlive/texmf-dist/tex/latex/listings/lstmisc.sty -File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) -) -LaTeX Font Info: Try loading font information for OML+cmr on input line 59. - -(d:/applicatons/texlive/texmf-dist/tex/latex/base/omlcmr.fd -File: omlcmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions -) -LaTeX Font Info: Font shape `OML/cmr/m/n' in size <10.53937> not available -(Font) Font shape `OML/cmm/m/it' tried instead on input line 59. - -Overfull \hbox (9.12634pt too wide) in paragraph at lines 60--61 -[][][][][][][][][][][][][][][][][][][][][][][][][][] - [] - -[3] -Overfull \hbox (249.42636pt too wide) in paragraph at lines 83--84 -[][][][][][][][][][][][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (192.5132pt too wide) in paragraph at lines 88--89 -[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] - [] - -[4] [5] -Overfull \hbox (40.74477pt too wide) in paragraph at lines 137--138 -[][][][][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (205.16057pt too wide) in paragraph at lines 145--146 -[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (110.3053pt too wide) in paragraph at lines 153--154 -[][][][][][][][][][][][][][][][][][][][][][][][][][][][][] - [] - -LaTeX Font Info: Font shape `OML/cmr/m/it' in size <10.53937> not available -(Font) Font shape `OML/cmm/m/it' tried instead on input line 159. -[6] -Overfull \hbox (3.61879pt too wide) in paragraph at lines 194--195 -[]\C70/rm/m/n/10.53937/62 ^^Q \C70/rm/m/n/10.53937/51 H \C70/rm/m/n/10.53937/8b - \C70/rm/m/n/10.53937/7b \C70/rm/m/n/10.53937/4e \C70/rm/m/n/10.53937/7f -^^V \C70/rm/m/n/10.53937/78 ^^A \C70/rm/m/n/10.53937/4f \C70/rm/m/n/10.53937/ -60 o \C70/rm/m/n/10.53937/76 \C70/rm/m/n/10.53937/59 ' \C70/rm/m/n/10.53937/5 -c ^^O|\C70/rm/m/n/10.53937/ff ^^L| \C70/rm/m/n/10.53937/71 6 \C70/rm/m/n/10.539 -37/54 ^^N \C70/rm/m/n/10.53937/5b X \C70/rm/m/n/10.53937/57 ( \C70/rm/m/n/10.53 -937/65 \C70/rm/m/n/10.53937/4e -|\C70/rm/m/n/10.53937/ff ^^L| \C70/rm/m/n/1 -0.53937/4e \C70/rm/m/n/10.53937/95 . \C70/rm/m/n/10.53937/50 < \C70/rm/m/n/10 -.53937/5b \C70/rm/m/n/10.53937/76 \C70/rm/m/n/10.53937/5f b ^^O\OT1/cmr/m/n -/10.53937 ,\C70/rm/m/n/10.53937/59 \OT1/cmr/m/n/10.53937 ''001 - [] - -[7] -LaTeX Font Info: Try loading font information for C70+zhfs on input line 226 -. - (d:/applicatons/texlive/texmf-dist/tex/latex/zhmetrics/c70zhfs.fd -File: c70zhfs.fd 2009/09/23 4.8.2 -) -Overfull \hbox (89.48152pt too wide) in paragraph at lines 226--226 -[]\OT1/cmtt/m/n/10.53937 the file \C70/zhfs/m/n/10.53937/52 ^^] \C70/zhfs/m/n/1 -0.53937/5f \C70/zhfs/m/n/10.53937/67 * \C70/zhfs/m/n/10.53937/65 9\OT1/cmtt/m -/n/10.53937 .zzip already exists! continue? [Y/n]:generating zip file :\C70/zh -fs/m/n/10.53937/52 ^^] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 226--226 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 226--226 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - -[8] -Overfull \hbox (97.64893pt too wide) in paragraph at lines 226--226 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 226--226 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 259--259 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 259--259 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - -[9] -Overfull \hbox (97.64893pt too wide) in paragraph at lines 259--259 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 259--259 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (20.18536pt too wide) in paragraph at lines 284--284 -[]\OT1/cmtt/m/n/10.53937 the file GitHubDesktopSetup.zzip already exists! conti -nue? [Y/n]:[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 284--284 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 284--284 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (31.25159pt too wide) in paragraph at lines 284--284 -[]\OT1/cmtt/m/n/10.53937 the file GitHubDesktopSetup(2).exe already exists! con -tinue? [Y/n]:[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 284--284 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 284--284 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - -[10] -Overfull \hbox (9.11914pt too wide) in paragraph at lines 284--284 -[]\OT1/cmtt/m/n/10.53937 GitHubDesktopSetup.exe 309610ms 81718.46KB/81718.46K -B :100.00%[] - [] - - -Overfull \hbox (89.48152pt too wide) in paragraph at lines 307--307 -[]\OT1/cmtt/m/n/10.53937 the file \C70/zhfs/m/n/10.53937/52 ^^] \C70/zhfs/m/n/1 -0.53937/5f \C70/zhfs/m/n/10.53937/67 * \C70/zhfs/m/n/10.53937/65 9\OT1/cmtt/m -/n/10.53937 .zzip already exists! continue? [Y/n]:generating zip file :\C70/zh -fs/m/n/10.53937/52 ^^] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 307--307 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 307--307 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 307--307 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - - -Overfull \hbox (97.64893pt too wide) in paragraph at lines 307--307 -[]\OT1/cmtt/m/n/10.53937 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@[] - [] - -[11] (./huffman.aux) - -LaTeX Font Warning: Size substitutions with differences -(Font) up to 0.41063pt have occurred. - - ) -Here is how much of TeX's memory you used: - 17118 strings out of 492995 - 306084 string characters out of 6133147 - 355254 words of memory out of 5000000 - 20089 multiletter control sequences out of 15000+600000 - 53017 words of font info for 196 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 42i,11n,60p,10435b,1886s stack positions out of 5000i,500n,10000p,200000b,80000s -< -c:/WINDOWS/fonts/simhei.ttf> -< -c:/WINDOWS/fonts/simhei.ttf> -Output written on huffman.pdf (11 pages, 591555 bytes). -PDF statistics: - 635 PDF objects out of 1000 (max. 8388607) - 422 compressed objects within 5 object streams - 0 named destinations out of 1000 (max. 500000) - 253 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/project/huffman/huffman.synctex.gz b/project/huffman/huffman.synctex.gz deleted file mode 100644 index 7ec89b4..0000000 Binary files a/project/huffman/huffman.synctex.gz and /dev/null differ diff --git a/project/navigation/__pycache__/directed.cpython-36.pyc b/project/navigation/__pycache__/directed.cpython-36.pyc deleted file mode 100644 index 22e48c0..0000000 Binary files a/project/navigation/__pycache__/directed.cpython-36.pyc and /dev/null differ diff --git a/project/navigation/directed.py b/project/navigation/directed.py deleted file mode 100644 index 11d356f..0000000 --- a/project/navigation/directed.py +++ /dev/null @@ -1,155 +0,0 @@ -''' mbinary -######################################################################### -# File : directed.py -# Author: mbinary -# Mail: zhuheqin1@gmail.com -# Blog: https://mbinary.coding.me -# Github: https://github.com/mbinary -# Created Time: 2018-04-25 22:28 -# Description: -######################################################################### -''' - -from collections import deque -class vertex: - def __init__(self,mark,val=None ,firstEdge = None): - self.mark = mark - self.val = val - self.firstEdge = firstEdge - self.isVisited = False - def __str__(self): - try: - int(self.mark) - return 'v'+str(self.mark) - except:return str(self.mark) - def __repr__(self): - li=[] - arc= self.firstEdge - while arc!=None: - li.append(arc) - arc= arc.outNextEdge - return str(self)+ ' to:'+str([str(i.inArrow) for i in li]) -class edge: - def __init__(self,outArrow,inArrow,outNextEdge = None,inNextEdge = None, weight = 1): - self.weight = weight - self.inNextEdge = inNextEdge - self.outNextEdge = outNextEdge - self.outArrow = outArrow - self.inArrow=inArrow - self.isVisited = False - def __str__(self): - return '--'+str(self.weight)+'-->' - def __repr__(self): - return str(self) -class graph: - def __init__(self): - self.vertexs = {} - self.edges = {} - def __getitem__(self,i): - return self.vertexs[i] - def __setitem__(selfi,x): - self.vertexs[i]= x - def __iter__(self): - return iter(self.vertexs.values()) - def __bool__(self): - return len(self.vertexs)!=0 - def addVertex(self,i): - if not (i,vertex) and i not in self.vertexs:self.vertexs[i]= vertex(i) - if isinstance(i,vertex) and i not in self.vertexs:self.vertexs[i.mark]= i - def isConnected(self,v,u): - v = self.__getVertex(v) - u = self.__getVertex(u) - arc= v.firstEdge - while arc!=None: - if arc.inArrow==u:return True - arc = arc.inNextEdge - return False - def __getVertex(self,v): - if not isinstance(v,vertex): - if v not in self.vertexs: - self.vertexs[v]=vertex(v) - return self.vertexs[v] - return v - def addEdge(self,v,u,weight = 1): - v = self.__getVertex(v) - u = self.__getVertex(u) - arc = v.firstEdge - while arc!=None: #examine that if v,u have been already connected - if arc.inArrow==u: return - arc= arc.outNextEdge - newEdge = edge(v,u,v.firstEdge,u.firstEdge,weight) - self.edges[(v.mark,u.mark)] = newEdge - v.firstEdge = newEdge - def delEdge(self,v,u): - if not isinstance(v,vertex):v= self.vertexs[v] - if not isinstance(u,vertex):u= self.vertexs[u] - self._unrelated(v,u) - del self.edges[(v.mark,u.mark)] - def _unrelated(self,v,u): - if v.firstEdge==None:return - if v.firstEdge.inArrow == u: - v.firstEdge =v.firstEdge.outNextEdge - else: - arc = v.firstEdge - while arc.outNextEdge!=None: - if arc.outNextEdge.inArrow ==u: - arc.outNextEdge = arc.outNextEdge.outNextEdge - break - def reVisit(self): - for i in self.vertexs: - self.vertexs[i].isVisited=False - for i in self.edges: - self.edges[i].isVisited=False - def __str__(self): - arcs= list(self.edges.keys()) - arcs=[str(i[0])+'--->'+str(i[1])+' weight:'+str(self.edges[i].weight) for i in arcs] - s= '\n'.join(arcs) - return s - def __repr__(self): - return str(self) - def notIn(self,v): - if (isinstance(v,vertex) and v.mark not in self.vertexs) or v not in self.vertexs: - return True - return False - def minPath(self,v,u): - '''dijstra''' - self.reVisit() - if self.notIn(v) or self.notIn(u): - return [],0 - v = self.__getVertex(v) - u = self.__getVertex(u) - if v.firstEdge==None:return [],0 - q=deque([v]) - last = {i : None for i in self} - distance={i : 1<<30 for i in self} - distance[v]=0 - while len(q)!=0: - cur= q.popleft() - cur.isVisited = True - arc = cur.firstEdge - while arc!=None: - to = arc.inArrow - if not to.isVisited: - q.append(to) - if distance [to] > distance[cur]+arc.weight: - last[to]=cur - distance[to] =distance[cur]+arc.weight - arc= arc.outNextEdge - cur = u - path=[] - while cur!=None and cur!=v: - path.append(cur.mark) - cur=last[cur] - if cur==None:return [], 0 - path.append(v.mark) - return path[::-1],distance[u] - def hasVertex(self,mark): - return mark in self.vertexs - def display(self): - print('vertexs') - for i in self.vertexs: - print(self.vertexs[i].__repr__()) - print('edges') - for i in self.edges: - arc=self.edges[i] - print(str(arc.outArrow)+str(arc)+str(arc.inArrow)) diff --git a/project/navigation/graph.py b/project/navigation/graph.py deleted file mode 100644 index f84fb05..0000000 --- a/project/navigation/graph.py +++ /dev/null @@ -1,237 +0,0 @@ -''' mbinary -######################################################################### -# File : graph.py -# Author: mbinary -# Mail: zhuheqin1@gmail.com -# Blog: https://mbinary.coding.me -# Github: https://github.com/mbinary -# Created Time: 2018-04-25 22:28 -# Description: -######################################################################### -''' - -from collections import deque -import directed -class vertex: - def __init__(self,mark,val=None): - self.mark = mark - self.val = val - self.edges = {} - self.isVisited = False - def __getitem__(self,adjVertexMark): - return self.edges[adjVertexMark] - def __delitem__(self,k): - del self.edges[k] - def __iter__(self): - return iter(self.edges.values()) - def __str__(self): - try: - int(self.mark) - return 'v'+str(self.mark) - except:return str(self.mark) - def __repr__(self): - return str(self) -class edge: - def __init__(self,adjVertexs, weight = 1): - '''adjVertexs:tuple(v.mark,u.mark)''' - self.weight = weight - self.adjVertexs = adjVertexs - self.isVisted = False - def __add__(self,x): - return self.weight +x - def __radd__(self,x): - return self+x - def __getitem__(self,k): - if k!=0 or k!=1:raise IndexError - return self.adjVertexs[k] - def __str__(self): - return '--'+str(self.weight)+'--' - def __repr__(self): - return str(self) - @property - def v(self): - return self.adjVertexs[0] - @property - def u(self): - return self.adjVertexs[1] -class graph: - def __init__(self): - self.vertexs = {} - self.edges = {} - def __getitem__(self,i): - return self.vertexs[i] - def __setitem__(selfi,x): - self.vertexs[i]= x - def __iter__(self): - return iter(self.vertexs) - def __bool__(self): - return len(self.vertexs)!=0 - def addVertex(self,v): - if not isinstance(v,vertex) and v not in self.vertexs:self.vertexs[v]= vertex(v) - if isinstance(v,vertex) and v not in self.vertexs:self.vertexs[v.mark]= v - - def __getVertex(self,v): - if not isinstance(v,vertex): - if v not in self.vertexs: - self.vertexs[v]=vertex(v) - return self.vertexs[v] - return v - def addEdge(self,v,u,weight = 1): - v = self.__getVertex(v) - u = self.__getVertex(u) - for arc in v: - if u in arc.adjVertexs:return #examine that if v,u have been already connected - vertexs = (v,u) - newEdge = edge (vertexs,weight) - self.edges[vertexs] = newEdge - v.edges[u] = newEdge - u.edges[v] = newEdge - def delEdge(self,v,u): - if not isinstance(v,vertex):v= self.vertexs[v] - if not isinstance(u,vertex):u= self.vertexs[u] - try: - del v[u] - del u[v] - except:print("error!"+str(v)+','+str(u)+' arent adjacent now') - del self.edges[(v,u)] - def reVisit(self): - for i in self.vertexs.values(): - i.isVisited = False - for i in self.edges.values(): - i.isVisited = False - def __str__(self): - arcs= list(self.edges.keys()) - arcs=[str(i[0])+str(self.edges[i])+str(i[1]) for i in arcs] - s= '\n'.join(arcs) - return s - def __repr__(self): - return str(self) - def minPath(self,v,u): - self.reVisit() - v=self.__getVertex(v) - u=self.__getVertex(u) - q=deque([v]) - last={i:None for i in self.vertexs.values()} - last[v] = 0 - ds={i:1<<30 for i in self.vertexs.values()} - ds[v]=0 - while len(q)!=0: - nd = q.popleft() - nd.isVisited=True - for edge in nd: - tgt=None - if edge.v==nd: - tgt = edge.u - else:tgt = edge.v - tmp=ds[nd]+edge - if ds[tgt] >tmp: - ds[tgt]=tmp - last[tgt] = nd - if not tgt.isVisited:q.append(tgt) - path=[] - cur = u - while cur !=None and cur.mark!=v.mark: - path.append(cur.mark) - cur = last[cur] - if cur==None:return [],-1 - path.append(v.mark) - return path[::-1],ds[u] - def hasCircle(self): - pass - def display(self): - print('vertexs') - for i in self.vertexs: - print(i,end=' ') - print('') - print('edges') - for i in self.edges: - arc=self.edges[i] - print(str(arc.v)+str(arc)+str(arc.u)) - -def loop(dic): - while True: - print('input vertexs to get the min distance, input \'exit\' to exit') - s=input().strip() - if s=='exit':break - s=s.split(' ') - s=[dic[i] if '0'<=i[0]<='9' else i for i in s] - a,b,c=s[0],s[1],None - path,d = g.minPath(a,b) - path2=None - if len(s)==3: - c=s[2] - path2,d2=g.minPath(b,c) - d+=d2 - if path==[] or path2==[] : - if len(s)==3: print(a+' can\'t reach '+c+' via '+b) - else: print(a+' can\'t reach '+b) - continue - if path2!=None:path+=path2[1:] - print('distance : ',d) - print('path','-->'.join(path)) - - -if __name__ =='__main__': - s=input('1. undireted\n2. directed\n') - flag=input('name vertex by 1. num(1-index) or 2. string? ').strip() - dic={} - g = graph() - if s=='2': g=directed.graph() - v,e=input('input vertex num & edge num: ').strip().split(' ') - v,e=int(v),int(e) - if flag=='1': - for i in range(v): - tmp=str(i+1) - dic[tmp]=tmp - g.addVertex(tmp) - else: - print('input vertex name line by line') - for i in range(v): - dic[str(i+1)]=input().strip() - g.addVertex(dic[str(i+1)]) - print('input edge info line by line') - for i in range(e): - li=input().strip().split(' ') - a,b,w=li[0],li[1],1 - if len(li)==3:w=int(li[2]) - a,b=dic[a],dic[b] - g.addEdge(a,b,w) - print('you\'ve build graph :') - g.display() - loop(dic) -''' -6 6 -1 2 5 -1 3 1 -2 6 1 -2 5 1 -4 5 2 -3 4 1 -1 5 -''' - -''' -6 10 -NewYork -LA -BeiJing -HeFei -SiChuan -Paris -2 1 -5 3 -6 1 -3 1 -4 4 -1 3 -2 1 -5 1 -2 4 -3 4 -SiChuan NewYork -Paris HeFei -V4<---V3<---V2<---V1 -3 -V4<---V3<---V2 -2 -''' diff --git a/project/navigation/lab4_朱河勤_PB16030899.zip b/project/navigation/lab4_朱河勤_PB16030899.zip deleted file mode 100644 index e2d40c1..0000000 Binary files a/project/navigation/lab4_朱河勤_PB16030899.zip and /dev/null differ diff --git a/project/polynomial/polynomial.exe b/project/polynomial/polynomial.exe deleted file mode 100644 index 9ca2c24..0000000 Binary files a/project/polynomial/polynomial.exe and /dev/null differ diff --git a/tree_link.py b/tree_link.py deleted file mode 100644 index b31637d..0000000 --- a/tree_link.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding: utf-8 -import os -import argparse - -#命令行输入参数处理 -parser = argparse.ArgumentParser() - -parser.add_argument('-p','--path',default='.') -parser.add_argument('-f','--fileinclude',default=False) -parser.add_argument('-d','--depth', type = int, default = 2) -#获取参数 -args = parser.parse_args() -FILE = args.fileinclude -PATH = args.path -DEPTH = args.depth - - -def mklink(path): - return '* [{name}]({path})'.format(name=os.path.basename(path),path=path) -def clean(paths): - ret = [] - for path in paths: - name = os.path.basename(path) - if not ( name.startswith('.') or name.startswith('__')): - ret.append(path) - return ret - -def tree(path='.',depth=2): - li = os.listdir(path) if os.path.isdir(path) else [path] - items = [os.path.join(path,i) for i in li if not i.startswith('.')] - items = clean(items) - if not FILE: items = [i for i in items if os.path.isdir(i)] - if depth==1: - return [mklink(path)] + [' '*4 + mklink(i) for i in items] - else: - uls = [tree(i,depth-1) for i in items] - return [mklink(path)] + [' '*4 + li for ul in uls for li in ul] - - -if __name__ =='__main__': - print('\n'.join(tree(PATH,DEPTH)))