我正在为我参加的考试而学习,我正在查看 Knuth-Morris-Pratt 算法。考试的内容是失败表和 DFA 构造。我了解 DFA 构造,但我不太了解如何制作失败表。
如果我有一个模式“abababc”的例子,我如何从中构建一个失败表?解决办法是:
失败表:
0 1 2 3 4 5 6 7
0 0 0 1 2 3 4 0
但我怎么得到呢?没有代码只是对如何获得它的解释是必要的。
我正在编写自己的函数,malloc并free在C中编写作业.我需要利用C sbrk()包装器功能.根据我的理解sbrk(),程序的数据空间增加了作为参数传递的字节数,并指向程序中断的位置.
如果我有以下代码段:
#define BLOCK_SIZE 20
int x;
x = (int)sbrk(BLOCK_SIZE + 4);
我得到编译器错误warning: cast from pointer to integer of different size.为什么这样,无论如何我可以将指向的地址sbrk()转换为int?