2018年11月17日
摘要: 程序来自于《加密与解密3》的第五章的PacMe.exe。书中并没有给出C语言实现的加密与解密代码,自己花了一些时间,把代码还原了,并且写了一个C语言的注册机。 加密原理:正如书中所说,此程序是生成一个11x16的迷宫,其中*表示不通,.表示通,起点为C,终点为X。所经过的路径的方向,每4个作为1字节 阅读全文
posted @ 2018-11-17 13:41 dalgleish 阅读(1651) 评论(0) 推荐(0)
  2018年9月2日
摘要: 从16位开始,不存在调色板,顶多存在一个RGBQUAD的掩码。 16位位图,我没有拿到对应的素材,但是根据官方文档的描述和代码验证后,我总结为下: 当biCompression为BI_RGB时,此时是RGB555格式,不存在调色板。 当biCompression为BI_BITFIELDS时,16位位 阅读全文
posted @ 2018-09-02 22:02 dalgleish 阅读(1378) 评论(0) 推荐(1)
摘要: 起始结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; //类型名,字符串“BM”, DWORD bfSize; //文件大小 WORD bfReserved1; //保留字 WORD bfReserved2; //保留字 DWORD bfOff 阅读全文
posted @ 2018-09-02 22:00 dalgleish 阅读(3604) 评论(0) 推荐(0)
摘要: 起始结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; //类型名,字符串“BM”, DWORD bfSize; //文件大小 WORD bfReserved1; //保留字 WORD bfReserved2; //保留字 DWORD bfOff 阅读全文
posted @ 2018-09-02 21:59 dalgleish 阅读(739) 评论(0) 推荐(0)
摘要: 起始结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; //类型名,字符串“BM”, DWORD bfSize; //文件大小 WORD bfReserved1; //保留字 WORD bfReserved2; //保留字 DWORD bfOff 阅读全文
posted @ 2018-09-02 21:27 dalgleish 阅读(2889) 评论(0) 推荐(0)
  2018年7月5日
摘要: 原理参考《算法导论》,仅给出代码。 声明一个mergeable_heap类 对应成员函数实现 heap_min函数,找出堆中最小结点 heap_max函数,找出堆中最大结点 heap_search函数,查找对应关键字k的结点 heap_union函数,两个堆的合并,原理来自于《算法导论》 两个对应的 阅读全文
posted @ 2018-07-05 10:07 dalgleish 阅读(207) 评论(0) 推荐(0)
  2018年6月29日
摘要: B+树是B树的变形,代码已通过内存泄漏测试和正确性测试。直接给代码吧。 对应的成员函数 不明白的,好好复习B树吧。 阅读全文
posted @ 2018-06-29 14:20 dalgleish 阅读(204) 评论(0) 推荐(0)
  2018年6月27日
摘要: 插入原理参考《算法导论》,删除原理请参考以下链接:https://www.youtube.com/watch?v=fKubKYzwDl0 代码实现如下 声明一个B树类,随机生成对应关键字的数据data 对应的成员函数实现 Insert函数,原理来自《算法导论》 两个辅助函数 Search函数,查找某 阅读全文
posted @ 2018-06-27 09:39 dalgleish 阅读(262) 评论(0) 推荐(0)
  2018年6月15日
摘要: 原理参考《算法导论》,我借用了stl中的deque类,这样方便构造书中说的有序队列Q。其次,本博客的所有代码都采用C和C++混编形式,所以建议使用VS2015及其以上版本编译代码。 代码如下 声明一个Huffman类以及对应的节点数据 对应的成员函数实现 Huffman_init成员函数,构建Huf 阅读全文
posted @ 2018-06-15 13:27 dalgleish 阅读(184) 评论(0) 推荐(0)
  2018年6月14日
摘要: 在说01背包问题前,简单的说下部分背包的问题。 部分背包的问题,有N个可分割的物品,每个物品对应重量Wi, 价值Vi(i从1到N)。给定总重量C,如何保证最大价值? 01背包问题,和部分背包问题唯一不同的是,01背包问题要求物品i,要么全部拿走,要么不拿走。而对应的部分背包问题,则可以拿一小部分物品 阅读全文
posted @ 2018-06-14 16:25 dalgleish 阅读(790) 评论(0) 推荐(0)