06 2018 档案
B+树
摘要:B+树是B树的变形,代码已通过内存泄漏测试和正确性测试。直接给代码吧。 对应的成员函数 不明白的,好好复习B树吧。 阅读全文
posted @ 2018-06-29 14:20 dalgleish 阅读(195) 评论(0) 推荐(0)
B树
摘要:插入原理参考《算法导论》,删除原理请参考以下链接:https://www.youtube.com/watch?v=fKubKYzwDl0 代码实现如下 声明一个B树类,随机生成对应关键字的数据data 对应的成员函数实现 Insert函数,原理来自《算法导论》 两个辅助函数 Search函数,查找某 阅读全文
posted @ 2018-06-27 09:39 dalgleish 阅读(253) 评论(0) 推荐(0)
不定长哈夫曼树
摘要:原理参考《算法导论》,我借用了stl中的deque类,这样方便构造书中说的有序队列Q。其次,本博客的所有代码都采用C和C++混编形式,所以建议使用VS2015及其以上版本编译代码。 代码如下 声明一个Huffman类以及对应的节点数据 对应的成员函数实现 Huffman_init成员函数,构建Huf 阅读全文
posted @ 2018-06-15 13:27 dalgleish 阅读(180) 评论(0) 推荐(0)
动态规划之01背包问题
摘要:在说01背包问题前,简单的说下部分背包的问题。 部分背包的问题,有N个可分割的物品,每个物品对应重量Wi, 价值Vi(i从1到N)。给定总重量C,如何保证最大价值? 01背包问题,和部分背包问题唯一不同的是,01背包问题要求物品i,要么全部拿走,要么不拿走。而对应的部分背包问题,则可以拿一小部分物品 阅读全文
posted @ 2018-06-14 16:25 dalgleish 阅读(773) 评论(0) 推荐(0)
贪心算法之活动规划
摘要:问题描述:有N个活动,活动i的开始时间为Si,结束时间为fi。那么如何在N个活动之间,找出活动时间不冲突的活动组合呢? 原理参考《算法导论》。 代码如下: 常规的activity_selector函数 贪心下的greedy_activity_selector函数 数据录入 Main函数 测试结果图( 阅读全文
posted @ 2018-06-11 14:06 dalgleish 阅读(305) 评论(0) 推荐(0)
动态规划之最优二叉树
摘要:原理来自于《算法导论》,其实和矩阵的动态规划基本一样,所以这里就不作阐述了。 直接上代码,通过构造了最优的root数组后,很容易再创建一个二叉树(这一小部分大家可以自己理解后试试)。 关于代码的说明,因为书上给出的是伪代码,数组并没有采用C语言格式,下标不是从0开始,所以算法和root数组我做了调整 阅读全文
posted @ 2018-06-04 15:26 dalgleish 阅读(3456) 评论(0) 推荐(0)
动态规划之最长公共子序列
摘要:原理请参考《算法导论》 定义常量 版本1,带辅助数组b 对应输出函数 版本2,不带辅助数组b 对应输出函数 最后,打印所有可能函数 Main函数 辅助函数 打印结果: 所有代码均经过测试,结果正确。 阅读全文
posted @ 2018-06-04 05:26 dalgleish 阅读(181) 评论(0) 推荐(0)