Tag: 字典

C trie试图添加撇号

我正在尝试在C中编写一个trie来读取文件并将文件中的所有单词添加到trie中,并且它运行良好,但我不能让它接受撇号: typedef struct node { bool wordBool; struct node* next[27]; // 26 letters and one space for the apostrophe } node; node* base; int numWords = 0; bool load(const char* dictionary) { FILE* dictionaryf = fopen(dictionary, “r”); // the file to read base = malloc(sizeof(node)); node variable; node *currNode = &variable; int n = 0; […]

存储Minhash的结果

结果是固定数量的数组,比如python中的列表(所有长度相同)。 人们可以将它看作矩阵,所以在c中我会使用一个数组,其中每个单元格都指向另一个数组。 如何用Python做到这一点? 每个项目都是列表或其他内容的列表? 我想到了一本字典,但关键是微不足道的,1,2,……,M,所以我不确定这是否是这里的pythonic方式。 我对实施不感兴趣,我对我应该遵循哪种方法感兴趣,我应该选择哪种方式!

将无符号16位整数存储到文件的最有效方法

我正在使用字典最大大小为64000的字典压缩器。因此,我将我的条目存储为16位整数。 我正在做什么:要编码’a’,我得到它的ASCII值,97,然后将此数字转换为16位整数97的字符串表示。所以我最终编码’0000000001100001’为’a ‘,这显然不会在短期内节省太多空间。 我知道这个算法的更有效版本将从较小的整数大小开始(在我们需要更多的情况下存储的位数较少),但我想知道是否有更好的方法来 将我的整数’97’转换为固定长度的ASCII字符串,可以存储16位数据(97将是x位,46347也将是x位) 写入只能存储1和0的文件。 因为实际上,似乎我在文本文件中写了16个ascii字符,每个字符都是8位……所以这并不能真正帮助这个原因,是吗? 如果我能以任何方式更清楚,请告诉我。 我对这个网站很新。 谢谢! 编辑:就我所知,我如何存储我的字典完全取决于我。 我只知道我需要能够轻松地读回编码文件并从中获取整数。 另外,我只能包含我为该程序编写的stdio.h,stdlib.h,string.h和头文件。

如何在C中创建字典?

我正在用C语言编写一个微控制器,并且作为其一部分想要在7段显示器上显示某些字母。 每个字母都有一个相应的数字,使7段显示显示字母。 它没有真正的模式,因为数字只是通过将7段显示中的位加起来来显示字母所以如果我可以创建某种字典来实现这一点真的很好。 如果我正在使用C#或其他东西,我只需要制作一个字典,然后将字母作为键和数字添加为值,但据我所知,我不能在C中执行此操作。是否有其他方法可以执行此操作或执行此操作我应该写一个像int displayletter(char letter)这样的函数,它使用一堆if语句来返回正确的数字吗?