随笔分类 - Java
摘要:##多重背包问题简介:whale: 有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用,每件耗费的空间是Ci ,价值是Wi 。求解将哪些物品装入背包可使这些物品的耗费的空间总和不超过背包容量,且价值总和最大。 问题特征:question: 不再像是01背包那样选或不选,而是每个选项可以选多
阅读全文
摘要:快速排序 ####三向切分适用于对存在大量重复元素的数组,而随机快速排序则避免了因为数组有序带来的对普通快速排序效率的降低。 1、简单快速排序(拆东墙补西墙) 取出数组最左边的元素作为temp,将比这个元素小的元素放在左边,比它大的放在右边,第一次排序可以将最左边的元素放在正确的位置。接下来以最左边
阅读全文
摘要:哈希表的核心: 1、使用散列函数将键转化为数组索引 2、碰撞处理,即处理两个键的散列值相同时的情况 分离链接法 基本原理和步骤: 1、初始化一个链表数组(即哈希表) 2、将键转化为数组索引: 将键key转化为哈希码(hashCode()),然后调用哈希函数(hash())转化为数组的索引 3、碰撞处
阅读全文

浙公网安备 33010602011771号