上一页 1 ··· 3 4 5 6 7 8 下一页
  2018年5月28日
摘要: 《算法导论》给出了详细的描述,这里归纳下。 算法原理:任意一条装配线中的装配站j的最快路径,都是来自于任意一条装配线中的装配站j-1。 采用算法导论中,给出的图以及数据,如下: 由于采用C语言数组,装配线下标是0或者1,装配站下表是0,1,2,3,4,5,上面的l1和l2数组分别翻译成0 1 0 0 阅读全文
posted @ 2018-05-28 04:48 dalgleish 阅读(661) 评论(0) 推荐(0) 编辑
  2018年5月26日
摘要: 《算法导论》描述了一个关于区间树的重叠搜索,这里简单描述下原理,然后给出代码。 区间树是建立在红黑树的基础上,额外维护了一个信息域。在《算法导论》中,已经给出了任何额外信息域的维护,是相似的证明。所以,建议不懂得,先试着实现一个基本的,带size域的红黑树(书上已经给出原理),然后再扩展到区间树。下 阅读全文
posted @ 2018-05-26 13:22 dalgleish 阅读(1357) 评论(0) 推荐(0) 编辑
  2018年5月22日
摘要: Treap树包含所有二叉树的性质,但是以一个随机的优先值排序。《算法导论》关于这个Treap树的原理和实现描述非常少,我就直接给代码吧,原理大家自己百度了。 首先定义的个类 关于各个成员实现 left_roate函数 right_rotate函数 tp_insert函数 tp_insert_fixu 阅读全文
posted @ 2018-05-22 12:07 dalgleish 阅读(181) 评论(0) 推荐(0) 编辑
  2018年5月12日
摘要: 算法原理请参考《算法导论》,简单描述下:就是所有节点(根节点除外)的最大深度和最小深度之间的差小于2。 代码实现,只贴出和红黑树不同的类成员函数实现,其余都是和红黑树一样。 类声明 和红黑树不同的类成员函数实现 avl_insert成员函数 avl_delete成员函数 avl_fixup成员函数, 阅读全文
posted @ 2018-05-12 16:21 dalgleish 阅读(154) 评论(0) 推荐(0) 编辑
  2018年5月5日
摘要: 原理请参考《算法导论》 定义一个红黑树类 相关成员函数的实现 left_rotate成员函数,实现某节点的左旋转 right_rotate成员函数,实现某节点的右旋转 rb_insert成员函数,将某个key值插入到红黑树中,并修正让其满足红黑树的性质 rb_insert_fixup成员函数,接上面 阅读全文
posted @ 2018-05-05 15:20 dalgleish 阅读(165) 评论(0) 推荐(0) 编辑
  2018年5月3日
摘要: 原理参考《算法导论》 注:代码设定,支持索引的位数最大是32位,当然可以修改让其支持64和32位的索引 首先定义一些常量(修改此处的常量,让其支持64位的索引) 然后定义一个基数树类 关于类成员实现 radix_mask成员负责根据所在树的层数,动态生成掩码。比如本例中使用18位的索引值,然后定义树 阅读全文
posted @ 2018-05-03 02:41 dalgleish 阅读(247) 评论(0) 推荐(0) 编辑
  2018年4月23日
摘要: 原理参考《算法导论》 一、除法散列函数 根据描述实现算法,先取对应种子 关键算法实现 二、乘法散列函数 根据算法描述实现(应用时,slot大小是2^p,此函数无论如何映射,不会超出slot大小) 三、全域散列 原理是:假设数组有n个元素,通过除法散列算法中的hash_mod_seed函数取得一个素数 阅读全文
posted @ 2018-04-23 05:46 dalgleish 阅读(3922) 评论(0) 推荐(0) 编辑
  2018年4月15日
摘要: 原理请参考《算法导论》 一、插入式排序算法实现: 二、递归实现分治,merge函数实现合并算法实现: 三、冒泡算法实现: 四、堆栈排序算法实现(实质上是数组和二叉树之间的映射): 定义数组: A[0]表示堆栈大小,即数组元素个数;所以数组中数据的下标是1开始到n 元素交换: 父子节点获取: 针对指定 阅读全文
posted @ 2018-04-15 13:45 dalgleish 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 算法原理请参考:https://www.zhihu.com/question/23531676 先定义一些通用的函数,比如创建空幻方,删除幻方,打印幻方。 创建幻方 删除幻方 打印幻方 一、奇数幻方算法实现: 辅助函数(实现算法) 主函数(负责打印) 二、偶数幻方算法实现: 辅助函数(算法实现) 主 阅读全文
posted @ 2018-04-15 09:40 dalgleish 阅读(752) 评论(0) 推荐(0) 编辑
  2018年4月14日
摘要: 寻找默认从1开始的N个素数 从给定的任何正整数iStart处起,寻找N个素数 寻找范围内iStart~iEnd的所有素数,并统计个数 所有代码均经过测试,结果正确。 阅读全文
posted @ 2018-04-14 16:00 dalgleish 阅读(197) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页